diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-af/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-am/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ar/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-as-rIN/strings.xml b/res/values-as-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-as-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ast-rES/strings.xml b/res/values-ast-rES/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ast-rES/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-az-rAZ/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-be/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
new file mode 100644
index 0000000..45dd1f7
--- /dev/null
+++ b/res/values-bg/strings.xml
@@ -0,0 +1,737 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Браузър</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Избор на файл за качване</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Качванията на файлове са деактивирани.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Нов раздел</string>
+  <string name="browser_tab_crash_snap">Упс!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Презареждане</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Нещо неочаквано се случи при показване на тази уеб страница. Моля, презаредете или отидете на друга страница.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Нов раздел „инкогнито“</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Най-посещавани</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Запазени страници</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Добавено към отметки.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Премахнато от отметки.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Влезте в <xliff:g id="hostname">%s1 </xliff:g> "<xliff:g id="realm"> %s2 </xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Име</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Парола</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Вход</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Запазване на отметка</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Отказ</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">Добре</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Достигнат е максималният брой URL</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Google Play магазин не е инсталиран на вашето устройство.</string>
+  <!-- Menu item -->
+  <string name="page_info">Данни за страницата</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Адрес:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Предупреждение относно защитата</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Този сертификат е невалиден.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Неизвестна грешка в сертификата.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Спира се\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Спри</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Опресняване</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Назад</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Напред</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Адрес</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Профил</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Добавяне към</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Нова папка</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Редактиране на папката</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Изтриване на папката</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Няма подпапки.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Начален екран</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Изберете папка\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Етикет</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Запазване в отметки</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Добави тази страница към отметки</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Премахване</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Редактиране на отметката</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Добавяне на пряк път</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Изтриване на отметка</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Премахване от отметки</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Премахване от история</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Задай като начална страница</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Добавено към отметки</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Отметката не можа да бъде запазена.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Началната страница е зададена.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Отметката трябва да има име.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Отметката трябва да има местоположение.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Този URL адрес е невалиден.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Този URL адрес не може да бъде добавен към отметки.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">от\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Да се изтрие ли отметката „<xliff:g id="BOOKMARK">%s</xliff:g>“?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Да се изтрие ли папката\"<xliff:g id="bookmark">%s </xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Отваряне на всички в нови раздели</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Изберете действие за текст</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Затваряне на другите раздели</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Отметки</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Отметка</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Изберете отметка</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">История</string>
+  <!-- Menu item -->
+  <string name="share_page">Споделяне</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Добави към началния екран</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Запазване за четене офлайн</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Запазва се\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Не можа да се запази за четене офлайн.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="count">%d </xliff:g> отметки</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Празна папка</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Отваряне</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Отваряне в нов раздел</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Отваряне в нов раздел на заден план</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Запазване на връзката</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Споделяне на връзката</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Копиране</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Копиране на URL адреса на връзката</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Запазване на изображението</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Преглед на изображението</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Задаване като тапет</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Набиране\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Добавяне на контакт</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Изпращане на имейл</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Карта</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Споделяне чрез</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Изчистване</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Замени</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Настройки</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Съдържание на страницата</string>
+  <string name="pref_content_title_summary">Настройки на уеб съдържанието</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Зареждане на изображенията</string>
+  <string name="pref_content_load_images_summary">Показване на изображенията в уеб страници</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Искачащи прозорци</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Активиране на JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Отваряне на заден план</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Отваряне на нови раздели зад текущия</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Задаване на начална страница</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Задаване на търсеща машина</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Избиране на търсеща машина</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Задаване на</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Текущата страница</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Празна страница</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Страницата по подразбиране</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Най-посещаваните сайтове</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Друго</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Общи</string>
+  <string name="pref_default_site_settings_title">Настройки по подразбиране</string>
+  <string name="pref_site_settings_title">Настройки на сайта</string>
+  <string name="pref_site_settings_info_panel">Информация за сигурността</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Автоматично попълване</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Енергоспестяващ режим</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Намаляване на консумацията на енергия на браузъра</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Нощен режим</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Инвертирай цветове</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Авт. попълване на формуляри</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Попълване на уеб формуляри с едно докосване</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d реклама</item>
+    <item quantity="other">%d реклами</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d трекер</item>
+    <item quantity="other">%d трекери</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">заплаха за злонамерен софтуер на %d</item>
+    <item quantity="other">заплахи за злонамерен софтуер на %d</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"Блокирани %s. "</item>
+    <item>"Блокирани %1$s и %2$s. "</item>
+    <item>"Блокирани %1$s, %2$s and %3$s. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Валиден SSL сертификат. Комуникацията е шифрована и идентификацията е проверена.</string>
+  <string name="pref_invalid_cert">Сайтът има невалиден SSL сертификат.</string>
+  <string name="pref_warning_cert">SSL сертификат на сайта има предупреждения.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Интерфейс</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Текст за автоматично попълване</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Задаване на текст за автоматично попълване в уеб формулярите</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Въведете текста, който искате да се попълва автоматично в уеб формулярите.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Пълно име:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">Имейл адрес:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Име на фирмата:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Първи ред на адреса:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Пощенски адрес, пощенска кутия, чрез</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Втори ред на адреса:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Апартамент, вход, блок, етаж и др.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Град/населено място:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Щат/провинция/регион:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Пощенски код:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Държава:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Телефон:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Невалиден телефонен номер.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Запазване</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Текстът за автоматично попълване е запазен.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Текстът за автоматично попълване е изтрит.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Изтриване</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Енергоспестяващият режим е активиран. Браузърът ще бъде рестартиран.</string>
+  <string name="powersave_dialog_off">Енергоспестяващият режим е деактивиран. Браузърът ще бъде рестартиран.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Браузърът може автоматично да попълва уеб формуляри като този. Искате ли да зададете текст за автоматично попълване?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Винаги можете да зададете текст за автоматично попълване от екрана „Браузър“ &gt; „Настройки“ &gt; „Общи“.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Деактивиране на автоматичното попълване</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Сигурност</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Поверителност и сигурност</string>
+  <string name="pref_privacy_security_title_summary">Настройки за защита и поверителност на браузъра</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Изберете елемент, който и да бъдат изчистени</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Изчисти избраните елементи</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Изчисти избраните елементи в списъка</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Да изчистя ли следните елементи?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Изчистване на кеша</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Изчистване на съдържанието и базите от данни от локалния кеш</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Изчистване на всички данни за „бисквитки“</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Изчистване на всички „бисквитки“ на браузъра</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Изчистване на навигационната история на браузъра</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Да се изтрие ли историята на сърфиране на браузъра?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Изчистване на данни за формуляри</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Изчистване на всички запазени данни за формуляри</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Изчистване на пароли</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Изчистване на всички запазени пароли</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Активиране на местоположение</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Изчистване на достъпа до местопол.</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Изчистване на достъпа на всички уебсайтове до местопол. ви</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Запомняне на пароли</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Запомняне на данни за формуляри</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Искане \"Не проследявай\"</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Приемане на „бисквитки“</string>
+  <string name="pref_security_allow_mic">Микрофон</string>
+  <string name="pref_security_allow_camera">Камера</string>
+  <string name="pref_security_web_refiner">Реклами</string>
+  <string name="pref_security_accept_third_party_cookies">Бисквитки от трета страна</string>
+  <string name="pref_security_ask_before_using">Попитай преди да използваш</string>
+  <string name="pref_security_allowed">Позволено</string>
+  <string name="pref_security_not_allowed">Забранено</string>
+  <string name="pref_security_remember">Запомни</string>
+  <string name="pref_security_on">Вкл.</string>
+  <string name="pref_security_off">Изкл.</string>
+  <string name="pref_website_title">Уебсайт</string>
+  <string name="pref_security_add">Добави</string>
+  <string name="pref_security_origin_name">Произход на сайта</string>
+  <string name="pref_security_access_is_allowed">достъп е разрешен</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Плъзнете плъзгача, за да настроите размера на шрифта за да зададете желания за четене комфортен размер.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Минимален размер на шрифта</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="FONT_SIZE">%d</xliff:g> т</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Промяна на мащаба на текст</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Принудит. активиране на мащаба</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Контрол на мащаба: Отхвърляне</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Негативен изглед на екрана</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Негативен изглед</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Черното става бяло и обратно</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Контраст</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Разширени</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Според настройките на сайта</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Разширени настройки за отделни уебсайтове</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Възстановяване на стандартните</string>
+  <string name="pref_extras_reset">Нулиране</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Възстановяване на стандартните настройки</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Да се възстановят ли стандартните стойности на настройките?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Отстраняване на грешки</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Текстово кодиране</string>
+  <string name="pref_edge_swipe_title">Ъглова навигация</string>
+  <string name="pref_edge_swipe_option_msg">Преместването от ръба ще:</string>
+  <string name="pref_temporal_edge_swipe">Придвижване през историята</string>
+  <string name="pref_spatial_edge_swipe">Промяна на раздела</string>
+  <string name="pref_disable_edge_swipe">Не прави нищо</string>
+  <string name="pref_edge_swipe_option_close">Избери по-късно</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Плъзнете от ръба за навигация</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Плъзнете от ръба за да сменяте между разделите</string>
+  <string name="pref_edge_swipe_disabled_toast">Изключване на плъзне от ръба</string>
+  <string name="pref_edge_swipe_unknown">Изберете поведение</string>
+  <string name="pref_edge_swipe_setup_desc">
+Плъзнете от ръба за да навигирате през историята. \nТази функция може да е в конфликт с някои уеб сайтове</string>
+  <string name="pref_edge_enable">Активирай</string>
+  <string name="pref_edge_disable">Деактивирай</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Цветна лента на състоянието</string>
+  <string name="pref_coloredsb_summary">Лентата на състоянието ще промени цвета си на базата на посетената страница</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Достъпност</string>
+  <string name="pref_accessibility_title_summary">Размер на текста и мащабиране</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">Предотвратяване други приложения да четат съдържанието на уеб изглед от това приложение</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Размер на текста</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Цял екран</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Използване на режима на цял екран за скриване на лентата на състоянието</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Предварително зареждане на резултати</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Никога</item>
+    <item>Само на Wi-Fi</item>
+    <item>Винаги</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Разрешаване на зареждането от браузъра на заден план на наистина точни резултати</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Предварително зареждане на уеб страница</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Разрешаване на браузъра да зарежда предв. на заден план свързани уеб страници</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Страницата, която се опитвате да видите, съдържа вече изпратени данни („POSTDATA“). Ако ги изпратите отново, всички действия, изпълнени от формуляра на страницата (като търсене или онлайн покупка), ще бъдат повторени.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Изчистване на историята</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Няма история на браузъра.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Добавяне на отметка</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Добавяне</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Търсете или въведете URL адрес</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Отидете</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Отметки и история</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Разрешаване</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Блокиране</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Достигнато е ограничението за раздели</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Не можете да отворите нов раздел, докато не затворите един.</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Изскачащият прозорец вече е отворен</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">В даден момент може да бъде отворен само един изскачащ прозорец.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Няма карта памет</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">Изисква се карта памет за изтеглянето на <xliff:g id="FILENAME">%s</xliff:g>.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">Не е налична кърта памет</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">Картата памет е заета. За да разрешите изтегляния, докоснете „Изключване на USB хранилището“ в известието.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Могат да се изтеглят само URL адреси от тип „http“ или „https“.</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Изтеглянето се стартира\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Търсене в мрежата</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Хранилището на браузъра е пълно</string>
+  <string name="webstorage_outofspace_notification_text">Докоснете, за да освободите място.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Изчистване на съхранени данни</string>
+  <string name="webstorage_private_data_title">Лични данни</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Да се изтрият ли всички данни, съхранени от този уебсайт?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Видеоклипът се зарежда...</string>
+  <string name="website_settings_add_origin">Нов сайт</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Изчистване на всичко</string>
+  <string name="website_settings_clear_all_dialog_message">Да се изтрият ли всички данни за уебсайтове и разрешения за местоположение?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Тапетът се задава...</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Няма отметки.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Други отметки</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Отметките на това устройство още не са свързани с профил в Google. Запазете ги, като ги добавите към профил. Изтрийте ги, ако не искате да ги синхронизирате.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Изтриване на отметките</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Споделяне</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Не се предлагат повече раздели</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Визуализация</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Локални</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Намери</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Десктоп версия</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Режим за четене</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Предварително зареждане на резултати</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Няма запазени страници.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Изтриване на запазената страница</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Преминаване онлайн</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Назад</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Преминаване напред</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Опресняване на страницата</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Спиране на зареждането на страницата</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Запазване на отметка към страницата</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Търсене</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Стартиране на гласово търсене</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Затваряне на раздела</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Отваряне на нов раздел</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Отваряне на нов раздел „инкогнито“</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Изчистване на въведеното</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Диспечер на страниците</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Страница в режим „инкогнито“</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Запазена страница</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Управление на разделите</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Предишна папка</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Изтрий уебсайта</string>
+  <string name="my_navigation_edit_label">Редактирай уебсайта</string>
+  <string name="my_navigation_add_label">Добави уебсайта</string>
+  <string name="my_navigation_add">Добави</string>
+  <string name="my_navigation_delete_msg">Да изтрия ли уебсайта?</string>
+  <string name="my_navigation_name">Заглавие</string>
+  <string name="my_navigation_address">Адрес</string>
+  <string name="website_needs_title">Уеб сайта трябва да има заглавие</string>
+  <string name="website_needs_url">Уеб сайт трябва да има URL</string>
+  <string name="my_navigation_cannot_save_url">Невалиден URL адрес</string>
+  <string name="my_navigation_duplicate_url">URL Адресът вече съществува</string>
+  <string name="my_navigation_page_title">Начало</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Моля, изберете как да се справя с мултимедиен файл</string>
+  <string name="video_save">Запиши</string>
+  <string name="video_play">Изпълни</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Изход</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">За</string>
+  <string name="download_estore_app">Google Play магазин не е инсталиран на вашето устройство.</string>
+  <string name="estore_url_warning">Неуспешно стартиране Estore, URL Адресът е твърде дълъг.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">Качване на DRM файллове не се поддържа.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Изход от браузър</string>
+  <string name="exit_browser_msg">Моля, изберете как да излезете от браузъра</string>
+  <string name="exit_minimize">Намали</string>
+  <string name="exit_quit">Изход</string>
+  <string name="browser_max_input_title">Достигнато е ограничението за максимален брой знаци</string>
+  <string name="browser_max_input">Достигнали сте максималният брои на символите <xliff:g id="MAXLIMIT">%s </xliff:g></string>
+  <string name="duplicated_folder_warning">Папката вече съществува</string>
+  <string name="overwrite_bookmark_msg">Любимото име или адрес вече съществува. Да го презапиша?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Невалиден път</string>
+  <string name="path_wrong">Грешен път</string>
+  <string name="pref_download_title">Настройки на път за изтегляне</string>
+  <string name="pref_download_path_setting_screen_title">Персонализиран път за изтегляне</string>
+  <string name="download_timeneeded">Време</string>
+  <string name="download_filesize">Размер</string>
+  <string name="download_filepath_label">Местоположение</string>
+  <string name="download_edit_filename_label">Име</string>
+  <string name="download_no_enough_memory">Недостатъчно памет за изтегляне</string>
+  <string name="download_settings_title">Настройките на изтегляне</string>
+  <string name="filename_empty_title">Изтегляния файл е празен</string>
+  <string name="filename_empty_msg">Името на изтегляния файл не може да бъде празно. Моля, въведете валидно име на файл.</string>
+  <string name="unknow_length">Неизвестен</string>
+  <string name="download_file_exist_msg">Файлът вече съществува. Моля, въведете ново име на файл.</string>
+  <string name="download_file_exist">Файлът вече съществува</string>
+  <string name="time_min">мин.</string>
+  <string name="download_path_unavailable_dlg_title">Директория за изтегляне е недостъпна</string>
+  <string name="download_path_unavailable_dlg_msg">Моля, променете директорията за изтегляне</string>
+  <string name="activity_not_found">Няма намерени резултати за справяне с това намерение: <xliff:g id="NOACTIVITY">%s </xliff:g></string>
+  <string name="download_name_hint">Име на файла</string>
+  <string name="download_size_hint">Размер</string>
+  <string name="download_eta_hint">Приблизително оставащо време</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Получаване на съобщение от: <xliff:g id="FROM">%s </xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Сертификат за сигурност</string>
+  <string name="ssl_certificate_is_valid">Този сертификат е валиден.</string>
+  <string name="version">Версия</string>
+  <string name="build_date">Дата на изграждане</string>
+  <string name="build_hash">Изграждане на хеш</string>
+  <string name="user_agent">Потребител</string>
+  <string name="help">Помощ</string>
+  <string name="feedback">Обратна връзка</string>
+  <string name="swe_legal">Правна информация</string>
+  <string name="swe_open_source_licenses">Лицензи за отворен код</string>
+  <string name="swe_eula">Лицензионно споразумение с потребителя</string>
+  <string name="swe_privacy_policy">Декларация за поверителност</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Управлявани от вашия администратор</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Моята навигация</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Запомни предпочитания</string>
+  <string name="geolocation_permissions_prompt_share_never">Забрани завинаги</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Разреши за 24 часа</string>
+  <string name="geolocation_permissions_prompt_share_forever">Разреши завинаги</string>
+</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-bn-rBD/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-br-rFR/strings.xml b/res/values-br-rFR/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-br-rFR/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
new file mode 100644
index 0000000..b87c148
--- /dev/null
+++ b/res/values-ca/strings.xml
@@ -0,0 +1,737 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Navegador</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Tria el fitxer per carregar</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Les càrregues estan deshabilitades.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nova pestanya</string>
+  <string name="browser_tab_crash_snap">Ups, alguna cosa no va bé!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Recarrega</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Alguna cosa inesperada ha passat mentre estaves veient aquesta pàgina web. Si us plau recarrega o vés a una altra pàgina.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Mode d\'incògnit</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Més visitat</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Desat</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Afegida als preferits.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Treta dels preferits.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Inicia la sessió <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Nom</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Contrasenya</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Inicia la sessió</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Desa</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Cancel·la</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">D\'ACORD</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Límit max d\'URL assolit</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Google Play Store no està present al teu dispositiu.</string>
+  <!-- Menu item -->
+  <string name="page_info">Info</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Adreça:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Avís de seguretat</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Aquest certificat no és vàlid.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Error de certificat desconegut.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">S\'està parant\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Para</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Actualitza</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Enrera</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Endavant</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Adreça</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Compte</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Afegeix a</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nova carpeta</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Edita carpeta</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Esborra carpeta</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">No hi ha subcarpetes.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Pantalla d\'inici</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Selecciona carpeta\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Etiqueta</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Desa</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Afegeix aquesta pàgina als preferits</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Treu</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Edita</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Afegeix una drecera</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Esborra</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Treu</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Treu</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Estableix com a inici</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Afegida als preferits</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">No s\'ha pogut desar als preferits.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Pàgina d\'inici establerta.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">El preferit ha de tenir un nom.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">El preferit ha de tenir una adreça.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Aquesta URL no és vàlida.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Aquesta URL no es pot afegir a preferits.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">de\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Vols esborrar el preferit \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Vols esborrar la carpeta \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Obre-les totes en pestanyes noves</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Trieu una acció pel text</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Tanca les altres pestanyes</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Preferits</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Preferit</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Tria un preferit</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Historial</string>
+  <!-- Menu item -->
+  <string name="share_page">Comparteix</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Afegeix com a inici</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Desa</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">S\'està desant\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">No s\'ha pogut desar per llegir fora de línia.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> preferits</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Carpeta buida</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Obre</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Obre en una nova pestanya</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Obre en una nova pestanya en segon pla</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Desa l\'enllaç</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Comparteix l\'enllaç</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Copia</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Copia l\'URL de l\'enllaç</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Desa la imatge</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Veure imatge</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Estableix com a fons de pantalla</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Marca\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Afegeix contacte</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Envia un correu</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Mapa</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Comparteix mitjançant</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Neteja</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Substitueix</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Configuració</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Configuració del contingut</string>
+  <string name="pref_content_title_summary">Configuració del contingut web</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Carrega les imatges</string>
+  <string name="pref_content_load_images_summary">Mostra les imatges a les pàgines web</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Finestres emergents</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Habilita JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Obre en segon pla</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Obre les noves pestanyes darrera la pestanya actual</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Pàgina d\'inici</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Motor de cerca</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Tria un motor de cerca</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Estableix a</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Pàgina actual</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Pàgina en blanc</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Pàgina predeterminada</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Llocs més visitats</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Altres</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">General</string>
+  <string name="pref_default_site_settings_title">Configuració per defecte del lloc</string>
+  <string name="pref_site_settings_title">Configuració del lloc</string>
+  <string name="pref_site_settings_info_panel">Informació de seguretat</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Emplenat automàtic</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Mode d\'estalvi d\'energia</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Redueix l\'ús d\'energia del navegador</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Mode nocturn</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Inverteix els colors</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Emplenat automàtic de formularis</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Emplena els formularis web amb un sol toc</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d anunci</item>
+    <item quantity="other">%d anuncis</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d rastrejador</item>
+    <item quantity="other">%d rastrejadors</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d amenaça de programa maliciós</item>
+    <item quantity="other">%d amenaces de programes maliciosos</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s bloquejat. "</item>
+    <item>"%1$s i %2$s bloquejats. "</item>
+    <item>"%1$s, %2$s i %3$s bloquejats. "</item>
+  </string-array>
+  <string name="pref_valid_cert">El certificat SSL és vàlid. La comunicació està xifrada i es verifica la identitat.</string>
+  <string name="pref_invalid_cert">El lloc té un certificat SSL invàlid.</string>
+  <string name="pref_warning_cert">El certificat SSL del lloc té advertències.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Interfície</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Emplenat automàtic</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Estableix l\'emplenat automàtic de text en els formularis web</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Escriu el text que vols utilitzar en l\'emplenat automàtic als formularis web.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Nom complet:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">Correu electrònic:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Nom de l\'empresa:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Adreça línia 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Adreça, Apartat de correus, A l\'atenció de</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Adreça línia 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Apartament, suite, unitat, edifici, pis, etc.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Ciutat/Poble:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Estat/Província/Regió:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Codi postal:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">País:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telèfon:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Número de telèfon invàlid.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Desa</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Text d\'emplenat automàtic desat.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Text d\'emplenat automàtic esborrat.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Esborra</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Mode economitzador activat. Es reiniciarà el Navegador.</string>
+  <string name="powersave_dialog_off">El mode d\'estalvi d\'energia està deshabilitat. El Navegador serà reiniciat.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">El navegador pot completar automàticament formularis web com aquest. Vols configurar el teu text d\'emplenat automàtic?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Sempre pots configurar el teu text d\'emplenat automàtic des del Navegador &gt; Configuració &gt; Emplenat automàtic.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Deshabilita l\'emplenat automàtic</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Seguretat</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Privacitat i seguretat</string>
+  <string name="pref_privacy_security_title_summary">Configuració de seguretat i privacitat del navegador</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Selecciona els elements que vols netejar</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Neteja els elements seleccionats</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Neteja els elements seleccionats de la llista</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Vols netejar els següents elements?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Memòria cau</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Neteja la memòria cau local de continguts i bases de dades</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Galetes i dades del lloc</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Neteja totes les galetes i dades dels llocs del navegador</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Neteja l\'historial de navegació del navegador</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Vols esborrar l\'historial de navegació del navegador?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Dades del formulari</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Neteja totes les dades de formulari desades</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Contrasenyes</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Neteja totes les contrasenyes desades</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Ubicació</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Accés a l\'ubicació</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Neteja els accesos a l\'ubicació per tots llocs web</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Recorda les contrasenyes</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Recorda les dades del formulari</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Demana \'No rastrejar\'</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Accepta les galetes</string>
+  <string name="pref_security_allow_mic">Micròfon</string>
+  <string name="pref_security_allow_camera">Càmera</string>
+  <string name="pref_security_web_refiner">Anuncis</string>
+  <string name="pref_security_accept_third_party_cookies">Galetes de tercers</string>
+  <string name="pref_security_ask_before_using">Pregunta abans d\'utilitzar</string>
+  <string name="pref_security_allowed">Permès</string>
+  <string name="pref_security_not_allowed">No permès</string>
+  <string name="pref_security_remember">Recorda</string>
+  <string name="pref_security_on">Activat</string>
+  <string name="pref_security_off">Desactivat</string>
+  <string name="pref_website_title">Lloc web</string>
+  <string name="pref_security_add">Afegeix</string>
+  <string name="pref_security_origin_name">Origen del lloc</string>
+  <string name="pref_security_access_is_allowed">es permet l\'accés</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Arrossega el control lliscant per ajustar la mida de la font amb la finalitat d\'establir la grandària desitjada per a una lectura còmoda.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Mida de lletra mínima</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Redimensionament del text</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Força l\'activació del zoom</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Ignora la sol·licitud de la web per controlar el comportament del zoom</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Renderitzat invertit de pantalla</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Renderitzat invertit</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">El negre esdevé blanc i viceversa</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Contrast</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Avançat</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Configuració específica per lloc web</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Configuració avançada per llocs web individuals</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Restableix als valors per defecte</string>
+  <string name="pref_extras_reset">Reestableix</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Reestableix la configuració per defecte</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Vols revertir la configuració als valors per defecte?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Depuració</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Codificació del text</string>
+  <string name="pref_edge_swipe_title">Navegació des de la vora</string>
+  <string name="pref_edge_swipe_option_msg">Lliscant des de la vora:</string>
+  <string name="pref_temporal_edge_swipe">Navega a través de l\'historial</string>
+  <string name="pref_spatial_edge_swipe">Canvia la pestanya</string>
+  <string name="pref_disable_edge_swipe">No facis res</string>
+  <string name="pref_edge_swipe_option_close">Tria més tard</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Llisca des de la vora per navegar</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Llisca des de la vora per canviar de pestanya</string>
+  <string name="pref_edge_swipe_disabled_toast">Lliscament des de la vora deshabilitat</string>
+  <string name="pref_edge_swipe_unknown">Tria el comportament</string>
+  <string name="pref_edge_swipe_setup_desc">
+Llisca des de la vora per navegar a través de l\'historial.\nAquesta característica podria entrar en conflicte amb llocs web amb accions basades en moviments en les vores</string>
+  <string name="pref_edge_enable">Habilita</string>
+  <string name="pref_edge_disable">Deshabilita</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Barra d\'estat colorejada</string>
+  <string name="pref_coloredsb_summary">La barra d\'estat canviarà de color basant-se en la pàgina visitada</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Accessibilitat</string>
+  <string name="pref_accessibility_title_summary">Mida del text i zoom</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">Bloqueja la vista</string>
+  <string name="pref_looklock_summary">Impedeix a altres aplicacions llegir contingut webview d\'aquesta aplicació</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Mida del text</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Immersiu</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Veure el navegador a pantalla completa</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Precàrrega de resultats de cerca</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Mai</item>
+    <item>Només amb Wi-Fi</item>
+    <item>Sempre</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Permet al navegador precarregar resultats de cerca en segon pla</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Precàrrega de la pàgina web</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Permet al navegador precarregar pàgines web enllaçades en segon pla</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">La pàgina que estàs tractant de veure conté dades que ja han estat enviades (\"POSTDATA\"). Si reenvies les dades, qualsevol acció del formulari duta a terme (per exemple, una cerca o compra en línia) es repetirà.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Neteja l\'historial</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">No hi ha historial al navegador.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Afegeix preferit</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Afegeix</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Cerca o escriu una URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Vés</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Preferits i historial web</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Permet</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Bloqueja</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">S\'ha arribat al límit de pestanyes</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">No es pot obrir una nova pestanya fins que no en tanquis alguna. Estàs avorrit\u003f</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Finestra emergent ja oberta</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Només es pot obrir una finestra emergent a la vegada.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">No hi ha targeta SD</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">Es necessita una targeta SD per poder descarregar <xliff:g id="filename">%s </xliff:g>.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">La targeta SD no està disponible</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">La targeta SD està ocupada. Per permetre les baixades, pica \'Apaga l\'emmagatzematge USB\' a la notificació.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Només es pot descarregar des d\'adreces \"http\" o \"https\".</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">S\'està iniciant la baixada\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Cerca al web</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Emmagatzematge del navegador ple</string>
+  <string name="webstorage_outofspace_notification_text">Pica per alliberar espai.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Emmagatzematge</string>
+  <string name="webstorage_private_data_title">Dades privades</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Vols esborrar totes les dades guardades d\'aquesta web?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">S\'està carregant el vídeo\u2026</string>
+  <string name="website_settings_add_origin">Nou lloc</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Neteja-ho tot</string>
+  <string name="website_settings_clear_all_dialog_message">Vols esborrar totes les dades de la web i els permisos de localització?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">S\'està establint el fons de pantalla\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">No hi ha preferits.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Altres preferits</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Els preferits en aquest dispositiu no estan associats encara amb un compte de Google. Desa els preferits afegint-los a un compte. O esborra aquests preferits si no vol sincronitzar-los.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Esborra els preferits</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Comparteix</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">No hi ha més pestanyes disponibles</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Vista prèvia</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Els meus preferits</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Cerca</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Mostra lloc d\'escriptori</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Mode lectura</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Resultats precarregats</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">No hi ha pàgines desades.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Esborra la pàgina desada</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Versió actual</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Torna</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Avança</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Actualitza la pàgina</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Atura la càrrega de la pàgina</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Afegeix als preferits</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Cerca</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Comença la cerca per veu</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Tanca la pestanya</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Obre una nova pestanya</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Obre una nova pestanya d\'incògnit</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Neteja les dades</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Administrador de pàgines</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Pàgina d\'incògnit</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Pàgina desada</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Administració de pestanyes</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Cap amunt</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Esborra el lloc web</string>
+  <string name="my_navigation_edit_label">Edita el lloc web</string>
+  <string name="my_navigation_add_label">Afegeix el lloc web</string>
+  <string name="my_navigation_add">Afegeix</string>
+  <string name="my_navigation_delete_msg">Vols esborrar el lloc web?</string>
+  <string name="my_navigation_name">Títol</string>
+  <string name="my_navigation_address">Adreça</string>
+  <string name="website_needs_title">El lloc web ha de tenir un títol</string>
+  <string name="website_needs_url">El lloc web ha de tenir una URL</string>
+  <string name="my_navigation_cannot_save_url">URL invàlida</string>
+  <string name="my_navigation_duplicate_url">La URL ja existeix</string>
+  <string name="my_navigation_page_title">Inici</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Si us plau, selecciona com gestionar el fitxer multimèdia</string>
+  <string name="video_save">Desa</string>
+  <string name="video_play">Reprodueix</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Surt</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Quant a</string>
+  <string name="download_estore_app">Estore no està present al teu dispositiu.</string>
+  <string name="estore_url_warning">Error al iniciar Estore, l\'URL és massa llarga.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">La pujada d\'arxius DRM no està suportada.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Surt del navegador</string>
+  <string name="exit_browser_msg">Si us plau, selecciona com desitges sortir del navegador</string>
+  <string name="exit_minimize">Minimitza</string>
+  <string name="exit_quit">Surt</string>
+  <string name="browser_max_input_title">S\'ha assolit el límit màxim de caràcters</string>
+  <string name="browser_max_input">La teva entrada ha assolit el límit màxim de <xliff:g id="MAXLIMIT">%s</xliff:g> caràcters</string>
+  <string name="duplicated_folder_warning">La carpeta ja existeix</string>
+  <string name="overwrite_bookmark_msg">El nom o adreça del preferit ja existeix. Vols sobreescriure\'l?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">La ruta és invàlida</string>
+  <string name="path_wrong">La ruta és incorrecta</string>
+  <string name="pref_download_title">Configuració de la ruta de descàrrega</string>
+  <string name="pref_download_path_setting_screen_title">Ruta personalitzada de la baixada</string>
+  <string name="download_timeneeded">Hora</string>
+  <string name="download_filesize">Mida</string>
+  <string name="download_filepath_label">Ruta</string>
+  <string name="download_edit_filename_label">Nom</string>
+  <string name="download_no_enough_memory">No hi ha prou memòria per descarregar</string>
+  <string name="download_settings_title">Configuració de baixades</string>
+  <string name="filename_empty_title">El nom del fitxer de la baixada està buit</string>
+  <string name="filename_empty_msg">El nom del fitxer de la baixada no pot estar buit. Si us plau introdueix un nom de fitxer vàlid.</string>
+  <string name="unknow_length">Desconegut</string>
+  <string name="download_file_exist_msg">El fitxer ja existeix. Si us plau introdueix un altre nom de fitxer.</string>
+  <string name="download_file_exist">El fitxer ja existeix</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">El directori de descàrrega no està disponible</string>
+  <string name="download_path_unavailable_dlg_msg">Si us plau modifca el directori de descàrrega</string>
+  <string name="activity_not_found">No s\'ha trobat cap activitat per gestionar aquesta tasca: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Nom del fitxer</string>
+  <string name="download_size_hint">Mida</string>
+  <string name="download_eta_hint">Temps restant</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">S\'ha rebut un missatge de: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Certificat de seguretat</string>
+  <string name="ssl_certificate_is_valid">Aquest certificat és vàlid.</string>
+  <string name="version">Versió</string>
+  <string name="build_date">Data d\'elaboració</string>
+  <string name="build_hash">Hash de compilació</string>
+  <string name="user_agent">Agent d\'usuari</string>
+  <string name="help">Ajuda</string>
+  <string name="feedback">Observacions</string>
+  <string name="swe_legal">Informació legal</string>
+  <string name="swe_open_source_licenses">Llicències de codi obert</string>
+  <string name="swe_eula">Acord de llicències d\'usuari final</string>
+  <string name="swe_privacy_policy">Política de privacitat</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Gestionat pel teu administrador</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">La meva navegació</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Recorda la preferència</string>
+  <string name="geolocation_permissions_prompt_share_never">Denega sempre</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Permet durant 24 hores</string>
+  <string name="geolocation_permissions_prompt_share_forever">Permet sempre</string>
+</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
new file mode 100644
index 0000000..563a5a7
--- /dev/null
+++ b/res/values-cs/strings.xml
@@ -0,0 +1,578 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Prohlížeč</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Zvolte soubor, který chcete nahrát</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Nahrávání souborů je deaktivováno.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nová karta</string>
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Nová anonymní karta</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Nejnavštěvovanější</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Uložené stránky</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Přidáno k záložkám.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Odebráno ze záložek.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Přihlásit se: <xliff:g id="hostname">%s1</xliff:g> <xliff:g id="realm">%s2</xliff:g></string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Jméno</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Heslo</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Přihlásit se</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Uložit záložku</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Zrušit</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <string name="page_info">Informace o stránce</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Adresa:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Upozornění zabezpečení</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Tento certifikát je neplatný.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Neznámá chyba certifikátu.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Zastavování…</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Zastavit</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Aktualizovat</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Zpět</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Vpřed</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Adresa</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Účet</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Přidat do složky</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nová složka</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Upravit složku</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Smazat složku</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Žádné podsložky.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Plocha</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Vyberte složku…</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Štítek</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Uložit do záložek</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Přidat stránku do záložek</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Odstranit</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Upravit záložku</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Přidat zástupce na plochu</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Smazat záložku</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Odebrat ze záložek</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Odstranit z historie</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Nastavit jako domovskou stránku</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Uloženo do záložek</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Záložku se nepodařilo uložit.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Domovská stránka byla nastavena.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Záložka musí mít název.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Záložka musí mít umístění.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Adresa URL je neplatná.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Adresu URL nelze přidat do záložek.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">od\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Smazat záložku <xliff:g id="bookmark">%s</xliff:g>?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Otevřít vše na nových kartách</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Zavřít ostatní karty</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Záložky</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Záložka</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Zvolte záložku</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Historie</string>
+  <!-- Menu item -->
+  <string name="share_page">Sdílet stránku</string>
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Uložit ke čtení offline</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Ukládání…</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Uložení ke čtení offline se nezdařilo.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount">Záložky: <xliff:g id="bookmark_count">%d</xliff:g></string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Prázdná složka</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Otevřít</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Otevřít na nové kartě</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Otevřít na nové kartě na pozadí</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Uložit odkaz</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Sdílet odkaz</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Kopírovat</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Kopírovat adresu URL odkazu</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Uložit obrázek</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Zobrazit obrázek</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Nastavit jako tapetu</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Volat…</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Přidat kontakt</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Odeslat e-mail</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Mapa</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Sdílet pomocí</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Vymazat</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Nahradit</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Nastavení</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Obsah stránky</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Načítání obrázků</string>
+  <string name="pref_content_load_images_summary">Zobrazovat na webových stránkách obrázky</string>
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Povolit JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Otevřít na pozadí</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Otevírat nové karty za aktuální kartou</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Nastavit domovskou stránku</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Nastavit vyhledávač</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Zvolte vyhledávač</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Nastavit na</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Aktuální stránka</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Prázdná stránka</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Výchozí stránka</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Nejnavštěvovanější weby</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Jiná</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Obecné</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Automatické vyplňování</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Automatické vyplňování formulářů</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Vyplňování webových formulářů jediným dotykem</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Text pro automatické vyplňování</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Nastavte text, který se má vyplňovat do webových formulářů</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Zadejte text, který chcete automaticky vyplňovat do webových formulářů.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Jméno a příjmení:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-mail:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Název společnosti:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">1. řádek adresy:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Adresa, č.p., P.O. box</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">2. řádek adresy:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Pokoj, apartmá, buňka, budova, podlaží apod.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Město/obec:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Stát, provincie nebo region</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">PSČ:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Země:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefon:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Neplatné telefonní číslo.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Uložit</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Text automatického vyplňování byl uložen.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Text automatického vyplňování byl smazán.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Smazat</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Podobné webové formuláře může prohlížeč vyplňovat automaticky. Chcete nastavit automatického vyplňování textu?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Automatického vyplňování můžete kdykoliv nastavit v nastavení „Prohlížeč“ \u2192 „Nastavení“ \u2192 „Obecné“.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Vypnout automatického vyplňování</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Ochrana soukromí a zabezpečení</string>
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Vymazat mezipaměť</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Vymazat všechen obsah a databáze uložené do místní mezipaměti</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Vymazat soubory cookie</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Vymazat všechny soubory cookie prohlížeče</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Vymazat historii navigace v prohlížeči</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Vymazat historii navigace v prohlížeči?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Vymazat data formulářů</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Vymazat všechna uložená data formulářů</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Vymazat hesla</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Vymazat všechna uložená hesla</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Povolit polohu</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Zrušit přístup k poloze</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Zrušit všem webovým stránkám přístup k poloze</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Zapamatovat hesla</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Zapamatovat data formulářů</string>
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Přijímat soubory cookie</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Minimální velikost písma</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g> b.</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Zvětšení/zmenšení textu</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Vynutit aktivaci přiblížení</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Přepsat požadavek webu na řízení funkce přiblížení</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Invertované vykreslování stránky</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Invertované vykreslování</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Z černé se stane bílá a naopak</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Kontrast</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Pokročilé</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Nastavení jednotlivých webových stránek</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Pokročilá nastavení pro jednotlivé webové stránky</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Obnovit výchozí</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Obnovit výchozí nastavení</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Vrátit nastavení na výchozí hodnoty?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Ladit</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Kódování textu</string>
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Usnadnění</string>
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Velikost textu</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Celá obrazovka</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Použít režim zobrazení na celou obrazovku</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Předběžné načítání výsledků vyhledávání</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Umožní prohlížeči předběžně načítat pravděpodobné výsledky vyhledávání na pozadí</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Předběžné načítání webstránek</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Povolit prohlížeči předběžně na pozadí načítat webové stránky z odkazů</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Stránka, kterou se pokoušíte zobrazit, obsahuje data, která již byla odeslána (POSTDATA). Pokud data odešlete znovu, jakákoli akce vykonaná pomocí formuláře na stránce se provede znovu (např. hledání či nákup online).</string>
+  <!-- Menu item -->
+  <string name="clear_history">Vymazat historii</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Žádná historie prohlížeče.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Přidat záložku</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Přidat</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Vyhledávání nebo zadání adresy URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Přejít</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Záložky a webová historie</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Povolit</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blokovat</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Bylo dosaženo maximálního počtu karet</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Novou kartu bude možné otevřít až poté, co některou stávající zavřete.</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Vyskakovací okno je již otevřené</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Otevřené může být vždy pouze jedno vyskakovací okno.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Žádná karta SD</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">Pro stáhnutí souboru <xliff:g id="filename">%s</xliff:g> je vyžadována karta SD.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">Karta SD není dostupná</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">Karta SD je zaneprázdněna. Chcete-li povolit stahování, dotkněte se v oznámení možnosti „Vypnout úložiště USB“.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Lze stahovat pouze adresy URL začínající „http“ nebo „https“.</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Zahájení stahování…</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Vyhledat na webu</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Paměť prohlížeče je plná</string>
+  <string name="webstorage_outofspace_notification_text">Dotykem uvolníte místo.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Úložiště</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Smazat veškerá data uložená tímto webem?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Načítání videa…</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Vymazat vše</string>
+  <string name="website_settings_clear_all_dialog_message">Smazat všechna data webových stránek a oprávnění přistupovat k informacím o poloze?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Nastavování tapety…</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Žádné záložky.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Jiné záložky</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Záložky v tomto zařízení zatím nejsou přidruženy k žádnému účtu Google. Pokud je chcete uložit, přidejte je do nějakého účtu. Pokud je s účtem synchronizovat nechcete, smažte je.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Smazat záložky</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Sdílet</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Žádné další karty nejsou k dispozici</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Náhled</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Mé oblíbené</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Verze webu pro PC</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Předběžné načítání výsledků</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Žádné uložené stránky.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Smazat uloženou stránku</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Přejít online</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Předchozí</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Další</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Obnovit stránku</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Přerušit načítání stránky</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Přidat stránku do záložek</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Vyhledat</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Spustit hlasové vyhledávání</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Zavřít kartu</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Otevřít novou kartu</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Otevřít novou anonymní kartu</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Vymazat vstup</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Správce stránek</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Anonymní stránka</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Uložená stránka</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Správa karet</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Předchozí složka</string>
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Zapamatovat předvolbu</string>
+</resources>
diff --git a/res/values-csb-rPL/strings.xml b/res/values-csb-rPL/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-csb-rPL/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-cy/strings.xml b/res/values-cy/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-cy/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-da/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
new file mode 100644
index 0000000..038c687
--- /dev/null
+++ b/res/values-de/strings.xml
@@ -0,0 +1,651 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Browser</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Datei zum Hochladen auswählen</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Uploads sind deaktiviert.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Neuer Tab</string>
+  <string name="browser_tab_crash_snap">Hoppla!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Neu laden</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">
+      Beim Anzeigen dieser Webseite ist etwas Unerwartetes aufgetreten.
+    Laden Sie sie erneut, oder gehen Sie zu einer anderen Seite.
+    </string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Inkognito-Modus</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Meistbesucht</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Gespeichert</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Zu Lesezeichen hinzugefügt.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Aus Lesezeichen entfernt.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Name</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Passwort</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Anmelden</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Speichern</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Abbrechen</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">URL-Limit erreicht</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Die Google Play Store-App ist nicht installiert.</string>
+  <!-- Menu item -->
+  <string name="page_info">Seiteninfo</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Adresse:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Sicherheitswarnung</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Dieses Zertifikat ist ungültig.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Unbekannter Zertifikatfehler.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Wird angehalten\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Anhalten</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Aktualisieren</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Zurück</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Weiter</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Adresse</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Benutzerkonto</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Hinzufügen zu</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Neuer Ordner</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Ordner bearbeiten</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Ordner löschen</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Keine Unterordner.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Startbildschirm</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Ordner wird ausgewählt\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Speichern</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Seite zu Favoriten hinzufügen</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Entfernen</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Bearbeiten</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Verknüpfung hinzufügen</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Löschen</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Entfernen</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Entfernen</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Als Startseite festlegen</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Gespeichert in Lesezeichen</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Favorit konnte nicht gespeichert werden.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Startseite festgelegt.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Das Lesezeichen muss über einen Namen verfügen.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Diese URL ist nicht gültig.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Diese URL kann nicht als Lesezeichen gespeichert werden.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Soll das Lesezeichen \"<xliff:g id="bookmark">%s</xliff:g>\" wirklich gelöscht werden?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Soll der Ordner \"<xliff:g id="bookmark">%s</xliff:g>\" wirklich gelöscht werden?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Alles in neuem Tabs öffnen</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Andere Tabs schließen</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Lesezeichen</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Lesezeichen</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Lesezeichen auswählen</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Verlauf</string>
+  <!-- Menu item -->
+  <string name="share_page">Teilen</string>
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Speichern</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Wird gespeichert\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> Lesezeichen</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Leerer Ordner</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Öffnen</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">In neuem Tab öffnen</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">In neuem Hintergrundtab öffnen</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Link speichern</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Link teilen</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Kopieren</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Link-URL kopieren</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Bild speichern</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Bild anzeigen</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Als Hintergrund festlegen</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Wird gewählt\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Kontakt hinzufügen</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">E-Mail senden</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Karte</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Teilen über</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Löschen</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Ersetzen</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Einstellungen</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Inhaltseinstellungen</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Bilder laden</string>
+  <string name="pref_content_load_images_summary">Bilder auf Webseiten anzeigen</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Pop-ups</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">JavaScript aktivieren</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Im Hintergrund öffnen</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Neue Tabs hinter dem aktuellen Tab öffnen</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Startseite</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Suchmaschine</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Suchmaschine auswählen</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Festlegen als</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Aktuelle Seite</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Leere Seite</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Standardseite</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Meistbesuchte Websites</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Andere</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Allgemein</string>
+  <string name="pref_site_settings_title">Seiteneinstellungen</string>
+  <string name="pref_site_settings_info_panel">Sicherheitsinformationen</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Energiesparmodus</string>
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Nachtmodus</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Farben invertieren</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d Anzeige</item>
+    <item quantity="other">%d Anzeigen</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d Tracker</item>
+    <item quantity="other">%d Tracker</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d Malwarebedrohung</item>
+    <item quantity="other">%d Malwarebedrohungen</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s blockiert."</item>
+    <item>"%1$s und %2$s blockiert."</item>
+    <item>"%1$s, %2$s und %3$s blockiert."</item>
+  </string-array>
+  <string name="pref_valid_cert">Gültiges SSL-Zertifikat. Kommunikation ist verschlüsselt und Identität überprüft.</string>
+  <string name="pref_invalid_cert">SSL-Zertifikat der Seite ist ungültig.</string>
+  <string name="pref_warning_cert">SSL-Zertifikat der Seite hat Warnungen.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Oberfläche</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Vollständiger Name:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-Mail:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Firma:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Adresszeile 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Anschrift, Postfach, c/o</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Adresszeile 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Appartement, Suite, Einheit, Gebäude, Etage, etc.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Stadt:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Staat/Provinz/Region:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">PLZ:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Land:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefon:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Ungültige Telefonnummer.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Speichern</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Löschen</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Stromsparmodus aktiviert. Browser wird neu gestartet.</string>
+  <string name="powersave_dialog_off">Stromsparmodus deaktiviert. Browser wird neu gestartet.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Der Browser kann Webformulare wie dieses automatisch komplettieren. Möchten Sie Ihre Texte für das automatische Ausfüllen einrichten?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Sicherheit</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Datenschutz &amp; Sicherheit</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Elemente zum Löschen auswählen</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Ausgewählte Elemente löschen</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Ausgewählte Elemente in der Liste löschen</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Folgende Elemente löschen?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Cache</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Lokal zwischengespeicherte Inhalte und Datenbanken löschen</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Cookies und Seitendaten</string>
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Formulardaten</string>
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Passwörter</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Alle gespeicherten Passwörter löschen</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Standort</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Standortzugriff</string>
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Passwörter speichern</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Formulardaten speichern</string>
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Cookies akzeptieren</string>
+  <string name="pref_security_allow_mic">Mikrofon</string>
+  <string name="pref_security_allow_camera">Kamera</string>
+  <string name="pref_security_web_refiner">Anzeigen</string>
+  <string name="pref_security_accept_third_party_cookies">Cookies von Drittanbietern</string>
+  <string name="pref_security_on">An</string>
+  <string name="pref_security_off">Aus</string>
+  <string name="pref_website_title">Webseite</string>
+  <string name="pref_security_add">Hinzufügen</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Minimale Schriftgröße</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g> pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Skalieren von Text</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Invertierte Darstellung</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Invertierte Darstellung</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Schwarz wird zu Weiß und umgekehrt</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Kontrast</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Erweitert</string>
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Auf Standard zurücksetzen</string>
+  <string name="pref_extras_reset">Zurücksetzen</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Standardeinstellungen wiederherstellen</string>
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Debuggen</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Textcodierung</string>
+  <string name="pref_temporal_edge_swipe">Navigieren Sie durch den Browserverlauf</string>
+  <string name="pref_spatial_edge_swipe">Tab wechseln</string>
+  <string name="pref_disable_edge_swipe">Nichts tun</string>
+  <string name="pref_edge_enable">Aktivieren</string>
+  <string name="pref_edge_disable">Deaktivieren</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Farbige Statusleiste</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Textgröße</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Vollbild</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Vorab laden von Suchergebnissen</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Nie</item>
+    <item>Nur über WLAN</item>
+    <item>Immer</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Erlaubt dem Browser, Suchergebnisse vorab im Hintergrund zu laden</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Vorab laden von Webseiten</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Erlaubt dem Browser, verlinkte Webseiten vorab im Hintergrund zu laden</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Die Seite, die Sie anzeigen möchten, enthält Daten, die bereits gesendet wurden (\"POST-DATEN\"). Wenn Sie die Daten erneut senden, wird jede Aktion (z. B. eine Suche oder ein Online-Kauf) wiederholt, die das Formular auf der Seite ausgeführt hat.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Verlauf löschen</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Kein Browserverlauf</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Lesezeichen hinzufügen</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Hinzufügen</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Suchen oder URL eingeben</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Los</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Lesezeichen und Webprotokoll</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Zulassen</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blockieren</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Tablimit erreicht</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Schließen Sie zum Öffnen eines neuen Tabs zunächst einen anderen Tab.</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Pop-up ist bereits geöffnet</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Es kann jeweils nur ein Pop-up-Fenster geöffnet werden.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Keine SD-Karte</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD-Karte nicht verfügbar</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Download wird gestartet\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Speicher</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="website_settings_add_origin">Neue Seite</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Alles löschen</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Keine Lesezeichen.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Weitere Lesezeichen</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Die Lesezeichen auf diesem Gerät sind noch nicht mit einem Google-Konto verknüpft. Speichern Sie diese Lesezeichen, indem Sie sie zu einem Konto hinzufügen. Falls Sie sie nicht synchronisieren möchten, löschen Sie diese Lesezeichen.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Lesezeichen löschen</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Teilen</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Es sind keine weiteren Tabs verfügbar.</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Vorschau</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Meine Lesezeichen</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Auf Seite suchen</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Desktop-Version</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Lesemodus</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Keine gespeicherten Seiten</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Gespeicherte Seite löschen</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Live-Version</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Zurück</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Weiter</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Seite aktualisieren</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Laden der Seite anhalten</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Seite als Lesezeichen speichern</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Suche</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Sprachsuche starten</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Tab schließen</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Neuen Tab öffnen</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Neuen Inkognito-Tab öffnen</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Eingabe löschen</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Inkognito-Seite</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Gespeicherte Seite</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Tab-Verwaltung</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Vorheriger Ordner</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Webseite löschen</string>
+  <string name="my_navigation_edit_label">Webseite bearbeiten</string>
+  <string name="my_navigation_add_label">Webseite hinzufügen</string>
+  <string name="my_navigation_add">Hinzufügen</string>
+  <string name="my_navigation_delete_msg">Webseite löschen?</string>
+  <string name="my_navigation_name">Titel</string>
+  <string name="my_navigation_address">Adresse</string>
+  <string name="website_needs_title">Webseite muss einen Titel haben</string>
+  <string name="website_needs_url">Webseite muss eine URL haben</string>
+  <string name="my_navigation_cannot_save_url">Ungültige URL</string>
+  <string name="my_navigation_duplicate_url">URL besteht bereits</string>
+  <string name="my_navigation_page_title">Startseite</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="video_save">Speichern</string>
+  <string name="video_play">Play</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Über</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_minimize">Minimieren</string>
+  <string name="exit_quit">Beenden</string>
+  <string name="duplicated_folder_warning">Ordner existiert bereits</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Ungültiger Pfad</string>
+  <string name="path_wrong">Falscher Pfad</string>
+  <string name="download_timeneeded">Dauer</string>
+  <string name="download_filesize">Größe</string>
+  <string name="download_filepath_label">Pfad</string>
+  <string name="download_edit_filename_label">Name</string>
+  <string name="download_no_enough_memory">Nicht genügend Arbeitsspeicher zum Download</string>
+  <string name="download_settings_title">Download-Einstellungen</string>
+  <string name="filename_empty_title">Dateiname ist leer</string>
+  <string name="filename_empty_msg">Der Dateiname darf nicht leer sein. Bitte geben Sie einen gültigen Dateinamen an.</string>
+  <string name="unknow_length">Unbekannt</string>
+  <string name="download_file_exist_msg">Datei existiert bereits. Bitte geben Sie einen neuen Dateinamen an.</string>
+  <string name="download_file_exist">Datei existiert bereits</string>
+  <string name="time_min">Min.</string>
+  <string name="download_path_unavailable_dlg_title">Downloadverzeichnis ist nicht verfügbar</string>
+  <string name="download_path_unavailable_dlg_msg">Bitte ändern Sie das Download-Verzeichnis</string>
+  <string name="download_name_hint">Dateiname</string>
+  <string name="download_size_hint">Größe</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Sicherheitszertifikat</string>
+  <string name="ssl_certificate_is_valid">Dieses Zertifikat ist gültig.</string>
+  <string name="version">Version</string>
+  <string name="build_date">Build-Datum</string>
+  <string name="build_hash">Build-Hash</string>
+  <string name="user_agent">User-Agent</string>
+  <string name="help">Hilfe</string>
+  <string name="swe_legal">Rechtliche Hinweise</string>
+  <string name="swe_open_source_licenses">Open-Source-Lizenzen</string>
+  <string name="swe_eula">Endbenutzer-Lizenzvertrag</string>
+  <string name="swe_privacy_policy">Datenschutzerklärung</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
new file mode 100644
index 0000000..674663d
--- /dev/null
+++ b/res/values-el/strings.xml
@@ -0,0 +1,444 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Internet</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Επιλογή αρχείου για μεταφόρτωση</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Η μεταφόρτωση αρχείων είναι απενεργοποιημένη.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Νέα καρτέλα</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Επαναφόρτωση</string>
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Ανώνυμη περιήγηση</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Κωδικός πρόσβασης</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Είσοδος</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Aποθήκευση</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Ακύρωση</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Το Google Play Store δεν υπάρχει στη συσκευή σας.</string>
+  <!-- Menu item -->
+  <string name="page_info">Πληροφορίες</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Διεύθυνση:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Προειδοποίηση ασφαλείας</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Αυτό το πιστοποιητικό δεν είναι έγκυρο.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Άγνωστο σφάλμα πιστοποιητικού.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Διακοπή\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Διακοπή</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Ανανέωση</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Πίσω</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Εμπρός</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Διεύθυνση</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Λογαριασμός</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Προσθήκη σε</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Νέος φάκελος</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Επεξεργασία φακέλου</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Διαγραφή φακέλου</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Δεν υπάρχουν υποφάκελοι.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Αρχική οθόνη</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Επιλέξτε φάκελο\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Ετικέτα</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Aποθήκευση</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Προσθήκη στους σελιδοδείκτες</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Κατάργηση</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Επεξεργασία</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Προσθήκη συντόμευσης</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Διαγραφή</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Κατάργηση</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Κατάργηση</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Ορισμός ως αρχική σελίδα</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Αποθηκεύτηκε στους σελιδοδείκτες.</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Δεν ήταν δυνατή η αποθήκευση του σελιδοδείκτη.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Ορίστηκε ως αρχική σελίδα.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Ο σελιδοδείκτης πρέπει να έχει ένα όνομα.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Ο σελιδοδείκτης πρέπει να έχει μια τοποθεσία.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Αυτή η διεύθυνση URL δεν είναι έγκυρη.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Η διεύθυνση URL δεν είναι δυνατό να προστεθεί στους σελιδοδείκτες.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">από\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Να διαγραφεί ο σελιδοδείκτης \"<xliff:g id="BOOKMARK">%s</xliff:g>\";</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Άνοιγμα όλων σε νέες καρτέλες</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Κλείσιμο των άλλων καρτελών</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Σελιδοδείκτες</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Σελιδοδείκτης</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Επιλέξτε σελιδοδείκτη</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Αυτόμ. συμπλήρωση φόρμας</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Συμπληρώστε φόρμες ιστού με ένα απλό άγγιγμα</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d διαφήμιση</item>
+    <item quantity="other">%d διαφημίσεις</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d ιχνηλάτης</item>
+    <item quantity="other">%d ιχνηλάτες</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d απειλή κακόβουλου λογισμικού</item>
+    <item quantity="other">%d απειλές κακόβουλου λογισμικού</item>
+  </plurals>
+  <string name="pref_valid_cert">Έγκυρο πιστοποιητικό SSL. Η επικοινωνία είναι κρυπτογραφημένη και η ταυτότητα έχει επαληθευτεί.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Διεπαφή</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Αυτόματη συμπλήρωση</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Ρύθμιση κειμένου για αυτόματη συμπλήρωση στις φόρμες ιστού</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Πληκτρολογήστε το κείμενο που θέλετε να συμπληρώνεται αυτόματα στις φόρμες ιστού.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Πλήρες όνομα:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">Ηλεκτρονικό ταχυδρομείο:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Επωνυμία εταιρείας:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Γραμμή διεύθυνσης 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Διεύθυνση, ταχυδρομική θυρίδα, υπόψη</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Γραμμή διεύθυνσης 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Διαμέρισμα, σουίτα, αριθμός, κτίριο, όροφος κ.ά.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Πόλη/Κωμόπολη:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Νομός/Επαρχία/Περιοχή:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Ταχυδρομικός κώδικας:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Χώρα:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Τηλέφωνο:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Μη έγκυρος αριθμός τηλεφώνου.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Αποθήκευση</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Το κείμενο αυτόματης συμπλήρωσης αποθηκεύτηκε.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Το κείμενο αυτόματης συμπλήρωσης διαγράφηκε.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Διαγραφή</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Ενεργοποιήθηκε η λειτουργία εξοικονόμησης ενέργειας. Γίνεται επανεκκίνηση του προγράμματος περιήγησης.</string>
+  <string name="powersave_dialog_off">Απενεργοποιήθηκε η λειτουργία εξοικονόμησης ενέργειας. Γίνεται επανεκκίνηση του προγράμματος περιήγησης.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Το πρόγραμμα περιήγησης μπορεί να συμπληρώσει αυτόματα φόρμες ιστού όπως αυτή. Θέλετε να ορίσετε το κείμενο αυτόματης συμπλήρωσης;</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Απενεργοποίηση αυτόματης συμπλήρωσης</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Ασφάλεια</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Απόρρητο &amp; ασφάλεια</string>
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Διαγραφή επιλεγμένων στοιχείων</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Διαγραφή επιλεγμένων στοιχείων στη λίστα</string>
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Τοποθεσία</string>
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-en-rAU/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-en-rGB/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-en-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-en-rPT/strings.xml b/res/values-en-rPT/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-en-rPT/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-eo/strings.xml b/res/values-eo/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-eo/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-es-rMX/strings.xml b/res/values-es-rMX/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-es-rMX/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-es-rUS/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-es/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-et-rEE/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..3adc81f
--- /dev/null
+++ b/res/values-eu-rES/strings.xml
@@ -0,0 +1,737 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Nabigatzailea</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Aukeratu fitxategia igotzeko</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Igoerak desgaituta daude.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Fitxa berria</string>
+  <string name="browser_tab_crash_snap">Ai ene!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Birkargatu</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Ustekabeko zerbait gertatu da web orrialdea bistaratzean. Birkargatu eta joan beste orri batetara.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Modu pribatua</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Bisitatuenak</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Gordeta</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Gogokoetara gehituta.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Gogokoetatik ezabatuta.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Eman izena hemen <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Izena</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Pasahitza</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Hasi saioa</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Gorde</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Utzi</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">Ados</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Gehieneko URL kopurua gainditu da</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Zure gailuan ez dago Google Play Store aplikazioa.</string>
+  <!-- Menu item -->
+  <string name="page_info">Info</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Helbidea:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Segurtasun oharra</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Ziurtagiri hau ez da baliozkoa.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Ziurtagiri errore ezezaguna.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Gelditzen\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Gelditu</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Freskatu</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Atzera</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Aurrera</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Helbidea</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Kontua</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Gehitu hona</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Karpeta berria</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Editatu karpeta</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Ezabatu karpeta</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Ez dago azpikarpetarik.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Hasiera-pantaila</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Aukeratu karpeta\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Etiketa</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Gorde</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Gehitu orrialde hau gogokoetara</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Kendu</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Editatu</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Gehitu lasterbidea</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Ezabatu</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Kendu</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Kendu</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Ezarri hasierako orri gisa</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Gogokoetara gehituta</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Ezin izan da gogokoa gorde.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Hasierako orria ezarri.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Gogokoak izen bat behar du.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Gogokoak kokapen bat behar du.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">URLa baliogabea da.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Ezin da URLa gogokoetara gehitu.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">nork\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Ezabatu \"<xliff:g id="bookmark">%s</xliff:g>\" gogokoa?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Ezabatu \"<xliff:g id="bookmark">%s</xliff:g>\" karpeta?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Ireki guztiak fitxa berrietan</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Aukeratu ekintza bat testuarentzat</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Itxi beste fitxak</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Gogokoak</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Gogokoa</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Aukeratu gogoko bat</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Historiala</string>
+  <!-- Menu item -->
+  <string name="share_page">Partekatu</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Gehitu hasiera orrira</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Gorde</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Gordetzen\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Ezin izan da gorde konexiorik gabe irakurtzeko.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g>\" gogokoak</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Karpeta hutsa</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Ireki</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Ireki fitxa berrian</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Ireki bigarren planoko fitxa berrian</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Gorde lotura</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Partekatu lotura</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Kopiatu</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Kopiatu estekaren URLa</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Gorde irudia</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Ikusi irudia</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Ezarri horma-paper gisa</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Markatu\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Gehitu kontaktua</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Bidali eposta</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Mapa</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Partekatu honen bitartez</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Garbitu</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Ordezkatu</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Ezarpenak</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Edukiaren ezarpenak</string>
+  <string name="pref_content_title_summary">Web edukiaren ezarpenak</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Kargatu irudiak</string>
+  <string name="pref_content_load_images_summary">Erakutsi irudiak webguneetan</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Laster leihoak</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Gaitu JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Ireki bigarren planoan</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Ireki fitxa berriak oraingoaren atzean</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Hasiera orria</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Bilatzailea</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Aukeratu bilatzaile bat</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Ezarri</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Uneko orrialdea</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Orrialde hutsa</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Orrialde lehenetsia</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Gehien bisitatutako guneak</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Beste bat</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Orokorra</string>
+  <string name="pref_default_site_settings_title">Lehenetsitako gune ezarpenak</string>
+  <string name="pref_site_settings_title">Gune ezarpenak</string>
+  <string name="pref_site_settings_info_panel">Segurtasun informazioa</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Osatze automatikoa</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Energia aurrezteko modua</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Gutxiagotu nabigatzailearen energia erabilera</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Gau modua</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Alderantzikatu koloreak</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Osatu formularioak automatikoki</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Bete web formularioak ukitu bakarrarekin</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">Iragarki %d</item>
+    <item quantity="other">%d iragarki</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">Jarraile %d</item>
+    <item quantity="other">%d jarraile</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">Malware mehatxu %d</item>
+    <item quantity="other">%d malware mehatxu</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s blokeatu da. "</item>
+    <item>"%1$s eta %2$s blokeatua. "</item>
+    <item>"%1$s, %2$s eta %3$s blokeatuta. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Baliozko SSL ziurtagiria. Komunikazioa zifratuta dago eta identitatea egiaztatu da.</string>
+  <string name="pref_invalid_cert">Guneak baliogabeko SSL ziurtagiri bat du.</string>
+  <string name="pref_warning_cert">Gunearen SSL ziurtagiriak abisuak ditu.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Interfazea</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Osatze automatikoa</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Konfiguratu web formularioak automatikoki osatzeko testua</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Konfiguratu web formularioak automatikoki osatzeko testua.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Izen osoa:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">Eposta:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Enpresaren izena:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Helbidearen 1. lerroa:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Kalea, posta kutxa</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Helbidearen 2. lerroa:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Apartamentua, pisua, blokea, eraikina, solairua, etab.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Hiria:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Estatua/probintzia/eskualdea:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Posta kodea:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Herrialdea:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefonoa:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Telefono zenbaki baliogabea.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Gorde</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Osatze automatikorako testua gorde da.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Osatze automatikorako testua ezabatu da.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Ezabatu</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Energia aurrezteko modua gaitu da. Nabigatzailea berrabiaraziko da.</string>
+  <string name="powersave_dialog_off">Energia aurrezteko modua ezgaitu da. Nabigatzailea berrabiaraziko da.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Nabigatzaileak honelako web formularioak automatikoki bete ditzake. Osatze automatikorako testua ezarri nahi duzu?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Beti konfigura dezakezu Automatikoki osatu aukera pantaila honetatik: Nabigatzailea &gt; Doikuntzak &gt; Osatze automatikoa.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Ezgaitu osatze automatikoa</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Segurtasuna</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Pribatutasuna eta segurtasuna</string>
+  <string name="pref_privacy_security_title_summary">Nabigatzailearen segurtasun eta pribatutasun ezarpenak</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Hautatu ezabatuko diren elementuak</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Ezabatu hautatutako elementuak</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Ezabatu zerrendatik hautatutako elementuak</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Honako elementuak ezabatu?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Cachea</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Ezabatu tokiko cacheko edukiak eta datu-baseak</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Cookieak eta gunearen datuak</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Ezabatu nabigatzailearen cookie eta guneen datu guztjiak</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Garbitu nabigatzailearen nabigazio historiala</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Ezabatu nabigatzailearen nabigazio historiala?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Formularioetako datuak</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Garbitu gordetako formularioen datu guztiak</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Pasahitzak</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Ezabatu gordetako pasahitz guztiak</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Kokalekua</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Kokapena atzitzea</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Garbitu kokalekura sarbidea webgune guztiei</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Gogoratu pasahitzak</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Gogoratu formularioetako datuak</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Ez jarraitzea eskatu</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Onartu cookieak</string>
+  <string name="pref_security_allow_mic">Mikrofonoa</string>
+  <string name="pref_security_allow_camera">Kamera</string>
+  <string name="pref_security_web_refiner">Iragarkiak</string>
+  <string name="pref_security_accept_third_party_cookies">Hirugarrengoen cookieak</string>
+  <string name="pref_security_ask_before_using">Galdetu erabili aurretik</string>
+  <string name="pref_security_allowed">Baimenduta</string>
+  <string name="pref_security_not_allowed">Ez baimenduta</string>
+  <string name="pref_security_remember">Gogoratu</string>
+  <string name="pref_security_on">Bai</string>
+  <string name="pref_security_off">Ez</string>
+  <string name="pref_website_title">Webgunea</string>
+  <string name="pref_security_add">Gehitu</string>
+  <string name="pref_security_origin_name">Gunearen iturria</string>
+  <string name="pref_security_access_is_allowed">sarbidea baimenduta</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Arrastatu graduatzailea letra-tamaina eroso irakurtzeko moduko tamainara doitzeko.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Gutxieneko letra tamaina</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Testuaren eskala</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Zooma gaitzera behartu</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Eragotzi webgune batek zooma aldatu ahal izatea</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Alderantzikatutako pantaila errendatzea</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Errendatze alderantzizkatua</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Beltza zuri bihurtuko da eta alderantziz</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Kontrastea</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Aurreratua</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Ezarpenak webguneko</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Banakako webguneetako ezarpen aurreratuak</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Leheneratu balio lehenetsietara</string>
+  <string name="pref_extras_reset">Leheneratu</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Berrezarri ezarpen lehenetsiak</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Leheneratu ezarpenak balio lehenetsietara?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Araztu</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Testu kodeketa</string>
+  <string name="pref_edge_swipe_title">Ertz nabigazioa</string>
+  <string name="pref_edge_swipe_option_msg">Ertzetik hatza pasatzean:</string>
+  <string name="pref_temporal_edge_swipe">Nabigatu historialean zehar</string>
+  <string name="pref_spatial_edge_swipe">Aldatu fitxa</string>
+  <string name="pref_disable_edge_swipe">Ez egin ezer</string>
+  <string name="pref_edge_swipe_option_close">Aukeratu geroago</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Pasatu hatza ertzetik nabigatzeko</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Pasatu hatza ertzetik fitxak aldatzeko</string>
+  <string name="pref_edge_swipe_disabled_toast">Ertzetik hatza pasatzea ezgaituta</string>
+  <string name="pref_edge_swipe_unknown">Hautatu portaera</string>
+  <string name="pref_edge_swipe_setup_desc">
+Pasatu hatza ertzetik historialaren zehar nabigatzeko.\nEzaugarri hau ertzean ekintzak burutzen dituzten webguneekin gatazkan egon daiteke</string>
+  <string name="pref_edge_enable">Gaitu</string>
+  <string name="pref_edge_disable">Desgaitu</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Kolereztatutako egoera barra</string>
+  <string name="pref_coloredsb_summary">Egoera barra kolorez aldatuko da bisitatutako webgunearen arabera</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Irisgarritasuna</string>
+  <string name="pref_accessibility_title_summary">Letra tamaina eta zooma</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">Blokeatu ikuspegia</string>
+  <string name="pref_looklock_summary">Eragotzi beste aplikazioei aplikazio honen webview edukiak irakurtzea</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Letra tamaina</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Pantaila osoa</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Nabigatzailea pantaila osora eraman</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Bilaketen aurrekarga</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Inoiz ez</item>
+    <item>Wi-Fi bidez besterik ez</item>
+    <item>Beti</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Baimendu nabigatzaileari bilaketaren emaitzak bigarren planoan aurrez kargatzea</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Webguneen aurrekarga</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Baimendu nabigatzaileari estekatutako web orrialdeak bigarren planoan aurrez kargatzea</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Ikusi nahian zabiltzan orriak dagoeneko bidalita dauden datuak dauzka (\"POSTDATA\"). Berriz bidaltzen badituzu, formularioak orrialdean egin duen edozein ekintza (adibidez, bilaketak edo online erosketak) errepikatuko du.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Garbitu historiala</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Ez dago nabigatzailearen historialik.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Gehitu gogokoa</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Gehitu</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Bilatu edo idatzi URL bat</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Joan</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Gogokoak eta web historiala</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Baimendu</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blokeatu</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Fitxa kopurua mugara iritsi da</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Ezin duzu fitxa bat ireki beste bat itxi arte. Aspertuta zaude\u003f</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Laster-leihoa irekita dago jada</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Aldi berean laster-leiho bakarra ireki daiteke.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">SD txartelik ez</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">\"<xliff:g id="filename">%s</xliff:g>\" deskargatzeko SD txartel bat behar da.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD txartela ez dago erabilgarri</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">SD txartela lanpetuta dago. Deskargak baimentzeko, sakatu \'Itzali USB biltegiratzea\' jakinarazpenean.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">\"http\" edo \"https\" motako URLak soilik deskargatu daitezke.</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Deskarga abiarazten\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Bilatu webean</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Nabigatzailearen biltegiratze lekua agortuta</string>
+  <string name="webstorage_outofspace_notification_text">Ukitu lekua egiteko.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Biltegiratzea</string>
+  <string name="webstorage_private_data_title">Datu pribatuak</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Ezabatu webgune honek biltegiratutako datu guztiak?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Bideoa kargatzen\u2026</string>
+  <string name="website_settings_add_origin">Gune berria</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Ezabatu dena</string>
+  <string name="website_settings_clear_all_dialog_message">Ezabatu webguneetako datu guztiak eta kokaleku baimen guztiak?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Pantaila atzealdea ezartzen\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Gogokorik ez.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Beste gogokoak</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Gailu honen gogokoak oraindik ez daude Google kontu bati lotuta. Laster-marka hauek gordetzeko batu itzazu kontu batera. Sinkronizatu nahi ez badituzu, ezabatu egin ditzakezu.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Ezabatu gogokoak</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Partekatu</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Ez dago fitxa gehiago eskuragarri</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Aurreikusi</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Nire gogokoak</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Bilatu</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Mahaigaineko gunea</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Irakurle modua</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Aurrekargatu emaitzak</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Ez dago gordetako orrialderik.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Ezabatu gordetako orrialdea</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Jatorrizkoa</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Itzuli</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Jo aurrera</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Eguneratu orrialdea</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Gelditu orrialdearen karga</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Gehitu gogokoetara</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Bilatu</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Hasi ahots bidezko bilaketa</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Itxi fitxa</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Ireki fitxa berria</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Ireki fitxa pribatu berria</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Garbitu sarrera</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Orri kudeatzailea</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Orrialde pribatua</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Orrialdea gorde da</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Fitxa kudeaketa</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Gora</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Ezabatu webgunea</string>
+  <string name="my_navigation_edit_label">Editatu webgunea</string>
+  <string name="my_navigation_add_label">Gehitu webgunea</string>
+  <string name="my_navigation_add">Gehitu</string>
+  <string name="my_navigation_delete_msg">Ezabatu webgunea?</string>
+  <string name="my_navigation_name">Izenburua</string>
+  <string name="my_navigation_address">Helbidea</string>
+  <string name="website_needs_title">Webguneak izenburu bat behar du</string>
+  <string name="website_needs_url">Webguneak URL bat behar du</string>
+  <string name="my_navigation_cannot_save_url">URL baliogabea</string>
+  <string name="my_navigation_duplicate_url">URLa badago aurretik</string>
+  <string name="my_navigation_page_title">Hasiera orria</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Aukeratu multimedia fitxategia nola kudeatu</string>
+  <string name="video_save">Gorde</string>
+  <string name="video_play">Erreproduzitu</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Irten</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Honi buruz</string>
+  <string name="download_estore_app">Zure gailuan ez dago Estore aplikazioa.</string>
+  <string name="estore_url_warning">Ezin izan da Estore abiatu, URLa luzeegia da.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">Ez dago DRM fitxategiak igotzeko euskarririk.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Irten nabigatzailetik</string>
+  <string name="exit_browser_msg">Hautatu nabigatzailetik irteteko modua</string>
+  <string name="exit_minimize">Ikonotu</string>
+  <string name="exit_quit">Irten</string>
+  <string name="browser_max_input_title">Gehieneko karaktere kopuruaren muga gainditu da</string>
+  <string name="browser_max_input">Zure sarrerak <xliff:g id="MAXLIMIT">%s</xliff:g> karaktereko muga gainditu du</string>
+  <string name="duplicated_folder_warning">Karpeta badago aurretik</string>
+  <string name="overwrite_bookmark_msg">Gogokoaren izena edo helbidea badago aurretik. Gainidatzi?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Bide-izen baliogabea</string>
+  <string name="path_wrong">Bide-izen okerra</string>
+  <string name="pref_download_title">Deskargarako bide-izenaren ezarpenak</string>
+  <string name="pref_download_path_setting_screen_title">Deskargarako bide-izen pertsonalizatua</string>
+  <string name="download_timeneeded">Ordua</string>
+  <string name="download_filesize">Tamaina</string>
+  <string name="download_filepath_label">Bidea</string>
+  <string name="download_edit_filename_label">Izena</string>
+  <string name="download_no_enough_memory">Ez dago memoria nahikoa deskargatzeko</string>
+  <string name="download_settings_title">Deskargaren ezarpenak</string>
+  <string name="filename_empty_title">Deskargaren fitxategi-izena hutsik dago</string>
+  <string name="filename_empty_msg">Deskargaren fitxategi-izena ezin da htsik egon. Sartu baliozko izen bat.</string>
+  <string name="unknow_length">Ezezaguna</string>
+  <string name="download_file_exist_msg">Fitxategia badago aurretik. Sartu fitxategi izen berri bat.</string>
+  <string name="download_file_exist">Fitxategia badago aurretik</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">Deskargarako direktorioa ez dago eskuragarri</string>
+  <string name="download_path_unavailable_dlg_msg">Aldati deskargarako direktorioa</string>
+  <string name="activity_not_found">Ez da xede hau tratatzeko aktibitaterik aurkitu: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Fitxategiaren izena</string>
+  <string name="download_size_hint">Tamaina</string>
+  <string name="download_eta_hint">Iritsiera</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Honen mezua jaso: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Segurtasun ziurtagiria</string>
+  <string name="ssl_certificate_is_valid">Ziurtagiri hau baliozkoa da.</string>
+  <string name="version">Bertsioa</string>
+  <string name="build_date">Konpilatze data</string>
+  <string name="build_hash">Konpilazio hasha</string>
+  <string name="user_agent">Erabiltzaile agentea</string>
+  <string name="help">Laguntza</string>
+  <string name="feedback">Iruzkinak</string>
+  <string name="swe_legal">Lege-informazioa</string>
+  <string name="swe_open_source_licenses">Lizentzia libreak</string>
+  <string name="swe_eula">Erabiltzailearen lizentzien akordioa</string>
+  <string name="swe_privacy_policy">Pribatutasun politika</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Zure administatzaileak kudeatuta</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Nire nabigazioa</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Gogoratu hobespena</string>
+  <string name="geolocation_permissions_prompt_share_never">Ukatu behin betiko</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Baimendu 24 orduz</string>
+  <string name="geolocation_permissions_prompt_share_forever">Baimendu behin betiko</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-fa/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
new file mode 100644
index 0000000..d16f519
--- /dev/null
+++ b/res/values-fi/strings.xml
@@ -0,0 +1,737 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Selain</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Valitse lähetettävä tiedosto</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Tiedostojen lähettäminen ei ole käytössä.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Uusi välilehti</string>
+  <string name="browser_tab_crash_snap">Voi räkä!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Lataa uudellleen</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Jotain meni vikaan tätä verkkosivua näytettävissä. Lataa sivu uudelleen tai siirry toiselle sivulle.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Uusi incognito-välilehti</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Useimmin avatut</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Tallennetut sivut</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Lisätty kirjanmerkkeihin</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Poistettu kirjanmerkeistä</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Kirjaudu sisään palveluun <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Nimi</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Salasana</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Kirjaudu sisään</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Tallenna kirjanmerkkeihin</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Peruuta</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Osoitteen enimmäismerkkimäärä saavutettu</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Google Play-kauppaa ei ole asennettu laitteeseen.</string>
+  <!-- Menu item -->
+  <string name="page_info">Sivun tiedot</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Osoite:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Suojausvaroitus</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Varmenne on virheellinen.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Tuntematon varmennevirhe.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Lopetetaan\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Lopeta</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Päivitä</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Edellinen</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Seuraava</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Osoite</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Tili</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Lisää kansioon</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Uusi kansio</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Muokkaa kansiota</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Poista kansio</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Ei alikansioita.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Etusivu</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Valitse kansio\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Tunniste</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Tallenna kirjanmerkkeihin</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Lisää sivu kirjanmerkkeihin</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Poista</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Muokkaa kirjanmerkkiä</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Lisää pikakuvake kotinäytölle</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Poista kirjanmerkki</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Poista kirjanmerkeistä</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Poista historiasta</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Aseta aloitussivuksi</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Tallennettu kirjanmerkkeihin.</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Kirjanmerkkiä ei voitu tallentaa.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Aloitussivu asetettu.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Kirjanmerkillä on oltava nimi.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Kirjanmerkillä on oltava sijainti.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Tämä osoite ei ole kelvollinen.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Tätä URL-osoitetta ei voi lisätä kirjanmerkkeihin.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">kohteesta\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Poistetaanko kirjanmerkki <xliff:g id="BOOKMARK">%s</xliff:g>?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Poista kansio \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Avaa kaikki uudessa välilehdessä</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Valitse tekstin toiminto</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Sulje muut välilehdet</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Kirjanmerkit</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Kirjanmerkki</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Valitse kirjanmerkki</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Historia</string>
+  <!-- Menu item -->
+  <string name="share_page">Jaa</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Lisää kotinäytölle</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Tallenna offline-tilassa luettavaksi</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Tallennetaan\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Ei voitu tallentaa offline-käyttöä varten.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="BOOKMARK_COUNT">%d</xliff:g> kirjanmerkkiä</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Tyhjä kansio</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Avaa</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Avaa uudessa välilehdessä</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Avaa uudessa välilehdessä taustalla</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Tallenna linkki</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Jaa linkki</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Kopioi</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Kopioi linkin URL-osoite</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Tallenna kuva</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Näytä kuva</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Aseta taustakuvaksi</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Soita\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Lisää yhteystieto</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Lähetä sähköpostia</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Kartta</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Jaa sovelluksessa</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Tyhjennä</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Korvaa</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Asetukset</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Sisällön asetukset</string>
+  <string name="pref_content_title_summary">Verkkosisällön asetukset</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Lataa kuvat</string>
+  <string name="pref_content_load_images_summary">Näytä verkkosivujen kuvat</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Pop-up-ikkunat</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Ota JavaScript käyttöön</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Avaa taustalla</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Avaa uudet välilehdet nykyisen taakse</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Aloitussivu</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Hakukone</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Valitse hakukone</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Aseta</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Nykyinen sivu</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Tyhjä sivu</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Oletussivu</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Useiten vieraillut sivut</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Muu</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Yleinen</string>
+  <string name="pref_default_site_settings_title">Sivun oletusasetukset</string>
+  <string name="pref_site_settings_title">Sivuston asetukset</string>
+  <string name="pref_site_settings_info_panel">Suojaustiedot</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Automaattinen täyttö</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Virransäästötila</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Vähennä selaimen virrankäyttöä</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Yötila</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Käänteiset värit</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Lomakkeen automaattinen täyttö</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Täytä verkkolomakkeita yhdellä kosketuksella</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d mainos</item>
+    <item quantity="other">%d mainosta</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d seurantapalvelin</item>
+    <item quantity="other">%d seurantapalvelinta</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d haittaohjelmauhka</item>
+    <item quantity="other">%d haittaohjelmauhkaa</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s estetty. "</item>
+    <item>"%1$s ja %2$s estetty. "</item>
+    <item>"%1$s, %2$s ja %3$s estetty. "</item>
+  </string-array>
+  <string name="pref_valid_cert">SSL-sertifikaatti on vahvistettu. Tietoliikenne on salattu ja henkilöllisyys on todennettu.</string>
+  <string name="pref_invalid_cert">Sivustolla on virheellinen SSL-sertifikaatti.</string>
+  <string name="pref_warning_cert">Sivuston SSL-sertifikaatissa on varoituksia.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Käyttöliittymä</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Automaattisen täytön teksti</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Määritä teksti, jonka haluat täyttää automaattisesti verkkolomakkeisiin.</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Kirjoita teksti, jonka haluat täyttää automaattisesti verkkolomakkeisiin.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Koko nimi:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">Sähköposti:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Yrityksen nimi:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Osoiterivi 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Katuosoite, postilokero, c/o</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Osoiterivi 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Asunto, rakennus, kerros jne.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Postitoimipaikka:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Maakunta/lääni:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Postinumero:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Maa:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Puhelin:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Virheellinen puhelinnumero.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Tallenna</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Automaattisen täytön teksti tallennettu.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Automaattisen täytön teksti poistettu.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Poista</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Virransäästötila otettu käyttöön. Selain käynnistetään uudelleen.</string>
+  <string name="powersave_dialog_off">Virransäästötila poistettu käytöstä. Selain käynnistetään uudelleen.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Selain voi täyttää automaattisesti tällaiset verkkolomakkeet. Haluatko määrittää automaattisen täytön tekstin?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Voit määrittää automaattisen täytön tekstin kohdassa Selain &gt; Asetukset &gt; Automaattinen täyttö.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Poista automaattinen täyttö käytöstä</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Turvallisuus</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Tietosuoja ja turvallisuus</string>
+  <string name="pref_privacy_security_title_summary">Selaimen suojaus- ja tietoturva-asetukset</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Valitse tyhjennettävät kohteet</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Tyhjennä valitut kohteet</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Tyhjennä valitut kohteet listasta</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Tyhjennä valitut kohteet?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Välimuisti</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Poista paikallisen välimuistin sisältö ja tietokannat</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Evästeet ja sivujen tiedot</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Poista selaimen kaikki evästeet ja sivun tiedot</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Tyhjennä selaimen selaushistoria</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Poistetaanko selaimen selaushistoria?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Lomaketiedot</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Poista kaikki tallennetut lomaketiedot</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Salasanat</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Poista kaikki tallennetut salasanat</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Sijainti</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Sijainnin käyttö</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Poista sijaintitietojen käyttöoikeus kaikilta sivustoilta</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Tallenna salasanat</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Tallenna lomaketiedot</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Lähetä \'Do Not Track\'-pyyntö</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Salli evästeet</string>
+  <string name="pref_security_allow_mic">Mikrofoni</string>
+  <string name="pref_security_allow_camera">Kamera</string>
+  <string name="pref_security_web_refiner">Mainokset</string>
+  <string name="pref_security_accept_third_party_cookies">Kolmannen osapuolen evästeet</string>
+  <string name="pref_security_ask_before_using">Kysy ennen käyttämistä</string>
+  <string name="pref_security_allowed">Sallittu</string>
+  <string name="pref_security_not_allowed">Ei sallittu</string>
+  <string name="pref_security_remember">Muista</string>
+  <string name="pref_security_on">Käytössä</string>
+  <string name="pref_security_off">Pois</string>
+  <string name="pref_website_title">Verkkosivusto</string>
+  <string name="pref_security_add">Lisää</string>
+  <string name="pref_security_origin_name">Sivuston alkuperä</string>
+  <string name="pref_security_access_is_allowed">käyttö sallitaan</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Vedä liukusäädintä säätääksesi fonttikokoa haluamaksesi.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Fontin vähimmäiskoko</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="FONT_SIZE">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Tekstin skaalaus</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Ota skaalaus käyttöön</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Ohita sivuston skaalauksenhallintapyyntö</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Käänteinen hahmonnus</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Käänteinen hahmonnus</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Mustasta tulee valkoista ja päinvastoin</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Kontrasti</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Lisäasetukset</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Sivustoasetukset</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Yksittäisten sivustojen lisäasetukset</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Palauta oletukseksi</string>
+  <string name="pref_extras_reset">Nollaa</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Palauta oletusasetukset</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Palautetaanko asetukset oletusarvoihin?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Debug</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Tekstin koodaus</string>
+  <string name="pref_edge_swipe_title">Reunanavigointi</string>
+  <string name="pref_edge_swipe_option_msg">Pyyhkäisemällä reunalta:</string>
+  <string name="pref_temporal_edge_swipe">Navigoidaan edelliselle/seuraavalle sivulle</string>
+  <string name="pref_spatial_edge_swipe">Vaihda välilehteä</string>
+  <string name="pref_disable_edge_swipe">Älä tee mitään</string>
+  <string name="pref_edge_swipe_option_close">Valitse myöhemmin</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Pyyhkäise reunalta navigoidaksesi</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Pyyhkäise reunalta vaihtaaksesi välilehteä</string>
+  <string name="pref_edge_swipe_disabled_toast">Reunasta pyykäisy poistettu käytöstä</string>
+  <string name="pref_edge_swipe_unknown">Valitse toiminta</string>
+  <string name="pref_edge_swipe_setup_desc">
+        Pyyhkäise reunasta navigoidaksesi seuraavalle/edelliselle sivulle.\nTämä ominaisuus voi olla ristiriidassa reunasta pyyhkäisyä käyttävien verkkosivujen kanssa</string>
+  <string name="pref_edge_enable">Ota käyttöön</string>
+  <string name="pref_edge_disable">Poista käytöstä</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Värillinen tilapalkki</string>
+  <string name="pref_coloredsb_summary">Tilapalkki vaihtaa väriä perustuen vierailtuun sivuun</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Esteettömyys</string>
+  <string name="pref_accessibility_title_summary">Tekstin koko ja zoomaus</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">Estä muita sovelluksia lukemasta webview-sisältöä tästä sovelluksesta</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Tekstin koko</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Koko ruutu</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Piilota tilapalkki käyttämällä koko ruudun tilaa.</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Hakutuloksen esilataus</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Ei koskaan</item>
+    <item>Vain Wi-Fi</item>
+    <item>Aina</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Anna selaimen esiladata luotettavat hakutulokset taustalla</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Verkkosivun esilataus</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Salli selaimen esiladata linkitetyt verkkosivut taustalla</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Sivu, jota yrität avata, sisältää jo lähetettyjä tietoja (POSTDATA). Jos lähetät tiedot uudelleen, sivulla olevan lomakkeen suorittama toimenpide (kuten haku tai verkko-ostos) toistetaan.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Tyhjennä historia</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Ei selaushistoriaa.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Lisää kirjanmerkki</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Lisää</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Kirjoita hakusanoja tai URL-osoite</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Siirry</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Kirjanmerkit ja verkkohistoria</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Salli</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Estä</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Välilehtien enimmäismäärä on saavutettu</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Ei voida avata uutta välilehteä ennenkuin suljet yhden. Onko sinulla tylsää\u003f</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Ponnahdusikkuna on jo auki</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Vain yksi ponnahdusikkuna voi olla auki kerrallaan.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Ei SD-korttia</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">Tiedoston <xliff:g id="FILENAME">%s</xliff:g> lataamiseen tarvitaan SD-kortti.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD-kortti ei käytettävissä</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">SD-kortti on varattu. Voit sallia lataukset valitsemalla ilmoituksessa Poista USB-tallennustila käytöstä.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Vain http- tai https-URL-osoitteista voi ladata</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Aloitetaan latausta\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Verkkohaku</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Selaimen tallennustila täynnä</string>
+  <string name="webstorage_outofspace_notification_text">Vapauta tilaa koskettamalla.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Tallennustila</string>
+  <string name="webstorage_private_data_title">Yksityiset tiedot</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Poistetaanko kaikki tämän sivuston tallentamat tiedot?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Ladataan videota\u2026</string>
+  <string name="website_settings_add_origin">Uusi sivusto</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Poista kaikki</string>
+  <string name="website_settings_clear_all_dialog_message">Poistetaanko kaikki sivuston tiedot ja sijaintien käyttöoikeudet?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Asetetaan taustakuvaa..\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Ei kirjanmerkkejä</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Muut kirjanmerkit</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Tämän laitteen kirjanmerkkejä ei ole vielä yhdistetty Google-tiliin. Tallenna kirjanmerkit lisäämällä ne tiliin. Poista kirjanmerkit, jos et halua synkronoida niitä.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Poista kirjanmerkit</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Jaa</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Välilehtiä ei ole enempää saatavilla</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Esikatselu</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Paikalliset kirjanmerkit</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Etsi</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Käytä sivuston tietokoneversiota</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Lukutila</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Esilatauksen tulokset</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Ei tallennettuja sivuja.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Poista tallennettu sivu</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Lataa sivu</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Edellinen sivu</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Seuraava sivu</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Päivitä sivu</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Keskeytä sivun lataus</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Lisää sivu kirjanmerkkeihin</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Haku</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Aloita puhehaku</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Sulje välilehti</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Avaa uusi välilehti</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Avaa uusi incognito-välilehti</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Tyhjennä teksti</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Sivujen hallinta</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Incognito-sivu</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Tallennettu sivu</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Välilehtien hallinta</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Edellinen kansio</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Poista sivusto</string>
+  <string name="my_navigation_edit_label">Muokkaa sivustoa</string>
+  <string name="my_navigation_add_label">Lisää sivusto</string>
+  <string name="my_navigation_add">Lisää</string>
+  <string name="my_navigation_delete_msg">Poista sivusto?</string>
+  <string name="my_navigation_name">Otsikko</string>
+  <string name="my_navigation_address">Osoite</string>
+  <string name="website_needs_title">Sivustolla on oltava otsikko</string>
+  <string name="website_needs_url">Sivustolla on oltava URL-osoite</string>
+  <string name="my_navigation_cannot_save_url">Virheellinen URL-osoite</string>
+  <string name="my_navigation_duplicate_url">URL-osoite on jo olemassa</string>
+  <string name="my_navigation_page_title">Kotisivu</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Valitse miten mediatiedostoa käsitellään</string>
+  <string name="video_save">Tallenna</string>
+  <string name="video_play">Toista</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Poistu</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Tietoja</string>
+  <string name="download_estore_app">Sovelluskauppaa ei ole asennettu laitteeseen.</string>
+  <string name="estore_url_warning">Sovelluskaupan käynnistys epäonnistui, URL-osoite on liian pitkä.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">DRM-tiedostojen lähettämistä ei tueta.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Poistu selaimesta</string>
+  <string name="exit_browser_msg">Valitse miten selaimesta poistutaan</string>
+  <string name="exit_minimize">Pienennä</string>
+  <string name="exit_quit">Poistu</string>
+  <string name="browser_max_input_title">Merkkien enimmäismäärä saavutettu</string>
+  <string name="browser_max_input"><xliff:g id="MAXLIMIT">%s</xliff:g> merkin enimmäismäärä saavutettu</string>
+  <string name="duplicated_folder_warning">Kansio on jo olemassa</string>
+  <string name="overwrite_bookmark_msg">Kirjanmerkin nimi tai osoite on jo olemassa. Haluatko korvata sen?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Virheellinen polku</string>
+  <string name="path_wrong">Väärä polku</string>
+  <string name="pref_download_title">Latauspolun asetukset</string>
+  <string name="pref_download_path_setting_screen_title">Mukautettu latauspolku</string>
+  <string name="download_timeneeded">Aika</string>
+  <string name="download_filesize">Koko</string>
+  <string name="download_filepath_label">Polku</string>
+  <string name="download_edit_filename_label">Nimi</string>
+  <string name="download_no_enough_memory">Muisti ei riitä lataukseen</string>
+  <string name="download_settings_title">Latausasetukset</string>
+  <string name="filename_empty_title">Latauksen tiedostonimi on tyhjä</string>
+  <string name="filename_empty_msg">Latauksen tiedostonimi ei voi olla tyhjä. Kirjoita kelvollinen tiedostonimi.</string>
+  <string name="unknow_length">Tuntematon</string>
+  <string name="download_file_exist_msg">Tiedosto on jo olemassa. Anna uusi tiedostonimi.</string>
+  <string name="download_file_exist">Tiedosto on jo olemassa</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">Lataushakemisto ei ole käytettävissä</string>
+  <string name="download_path_unavailable_dlg_msg">Muokkaa lataushakemistoa</string>
+  <string name="activity_not_found">Toimintoja tähän tarkoitukseen ei löydy: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Tiedostonimi</string>
+  <string name="download_size_hint">Koko</string>
+  <string name="download_eta_hint">ETA</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Vastaanota viesti lähettäjältä: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Suojausvarmenne</string>
+  <string name="ssl_certificate_is_valid">Varmenne on voimassa.</string>
+  <string name="version">Versio</string>
+  <string name="build_date">Luontipäivä</string>
+  <string name="build_hash">Luontitiiviste</string>
+  <string name="user_agent">User agent</string>
+  <string name="help">Apua</string>
+  <string name="feedback">Palaute</string>
+  <string name="swe_legal">Lakitiedot</string>
+  <string name="swe_open_source_licenses">Avoimen lähdekoodin lisenssit</string>
+  <string name="swe_eula">Loppukäyttäjän lisenssisopimus</string>
+  <string name="swe_privacy_policy">Tietosuojakäytäntö</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Järjestelmänvalvoja hallitsee näitä asetuksia</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Minun navigointini</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Muista valinta</string>
+  <string name="geolocation_permissions_prompt_share_never">Estä ikuisesti</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Salli 24 tuntia</string>
+  <string name="geolocation_permissions_prompt_share_forever">Salli ikuisesti</string>
+</resources>
diff --git a/res/values-fil-rPH/strings.xml b/res/values-fil-rPH/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-fil-rPH/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-fr-rCA/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-fr/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-frp-rIT/strings.xml b/res/values-frp-rIT/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-frp-rIT/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-fy-rNL/strings.xml b/res/values-fy-rNL/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-fy-rNL/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-gd-rGB/strings.xml b/res/values-gd-rGB/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-gd-rGB/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-gl-rES/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-gu-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-hi/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
new file mode 100644
index 0000000..36e5147
--- /dev/null
+++ b/res/values-hr/strings.xml
@@ -0,0 +1,740 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Preglednik</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Odaberite datoteku za prijenos</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Prijenosi datoteka su onemogućeni.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nova kartica</string>
+  <string name="browser_tab_crash_snap">Ups, greška!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Ponovno učitaj</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Nešto neočekivano se dogodilo prilikom prikaza ove web-stranice. Molimo ponovno učitajte ili idite na drugu stranicu.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Nova anonimna kartica</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Najposjećenije</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Spremljeno</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Dodano u favorite.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Uklonjeno iz favorita.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Prijavite se na <xliff:g id="HOSTNAME">%s1</xliff:g> "<xliff:g id="REALM">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Ime</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Lozinka</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Prijava</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Spremi</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Odustani</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">U redu</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Dosegnut max. broj URL-ova</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Trgovina Google Play nije prisutna na vašem uređaju.</string>
+  <!-- Menu item -->
+  <string name="page_info">Informacije o stranici</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Adresa:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Sigurnosno upozorenje</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Ovaj certifikat nije valjan.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Nepoznata pogreška certifikata.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Zaustavljanje\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Zaustavi</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Osvježi</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Natrag</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Proslijedi</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Adresa</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Račun</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Dodaj u</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nova mapa</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Uredi mapu</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Izbriši mapu</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Nema podmapa.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Početni zaslon</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Odaberi mapu\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Oznaka</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Spremi</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Dodaj ovu stranicu u favorite</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Ukloni</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Uredi</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Dodaj prečac</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Obriši</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Ukloni</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Ukloni</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Postavi kao početnu stranicu</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Dodano u favorite</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Nije bilo moguće spremiti oznaku.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Početna stranica postavljena.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Oznaka mora imati ime.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Oznaka mora imati lokaciju.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Ovaj URL nije valjan.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Ovaj se URL ne može spremiti kao oznaka.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">s lokacije </string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Izbrisati favorita \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Izbrisati mapu \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Otvori sve u novim karticama</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Odaberite radnju za tekst</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Zatvori ostale kartice</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Favoriti</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Favorit</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Odaberite favorit</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Povijest</string>
+  <!-- Menu item -->
+  <string name="share_page">Podijeli</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Dodaj na početnu</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Spremi za izvanmrežno čitanje</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Spremanje\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Spremanje za izvanmrežno čitanje nije uspjelo.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount">Br. oznaka: <xliff:g id="BOOKMARK_COUNT">%d</xliff:g></string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Prazna mapa</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Otvori</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Otvori u novoj kartici</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Otvori u novoj pozadinskoj kartici</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Spremi vezu</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Dijeli vezu</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Kopiraj</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Kopiraj URL veze</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Spremi sliku</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Prikaz slike</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Postavi kao pozadinsku sliku</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Biranje\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Dodaj kontakt</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Pošalji poruku e-pošte</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Karta</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Dijeli putem</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Očisti</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Zamijeni</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Postavke</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Postavke sadržaja</string>
+  <string name="pref_content_title_summary">Postavke web-sadržaja</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Učitaj slike</string>
+  <string name="pref_content_load_images_summary">Prikaži slike na web-stranicama</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Skočni prozori</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Omogući JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Otvori u pozadini</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Otvaranje nove kartice iza trenutačne</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Početna stranica</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Postavljanje tražilice</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Odaberite tražilicu</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Postavi na</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Trenutačna stranica</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Prazna stranica</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Zadana stranica</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Najposjećenije web-lokacije</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Drugo</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Općenito</string>
+  <string name="pref_default_site_settings_title">Postavke zadane stranice</string>
+  <string name="pref_site_settings_title">Postavke stranice</string>
+  <string name="pref_site_settings_info_panel">Sigurnosne informacije</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Automatsko popunjavanje</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Štednja baterije</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Smanji potrošnju energije preglednika</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Noćni način rada</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Preokreni boje</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Automatsko popunjavanje obrasca</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Ispunite web-obrasce jednim dodirom</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d oglas</item>
+    <item quantity="few">%d oglasa</item>
+    <item quantity="other">%d oglasa</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d sljedbenik</item>
+    <item quantity="few">%d sljedbenika</item>
+    <item quantity="other">%d sljedbenika</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d opasnost od zlonamjernog softwarea</item>
+    <item quantity="few">%d opasnosti od zlonamjernog softwarea</item>
+    <item quantity="other">%d opasnosti od zlonamjernog softwarea</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"Blokiran %s. "</item>
+    <item>"Blokirani %1$s i %2$s. "</item>
+    <item>"Blokirani %1$s, %2$s i %3$s. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Važeća SSL potvrda. Komunikacija je šifrirana i identitet je potvrđen.</string>
+  <string name="pref_invalid_cert">Stranica ima nevažeću SSL potvrdu.</string>
+  <string name="pref_warning_cert">SSL potvrda stranice ima upozorenja.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Sučelje</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Tekst automatskog ispunjavanja</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Postavljanje teksta za automatsko ispunjavanje web-obrazaca</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Upišite tekst kojim želite automatski ispuniti web-obrasce.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Puno ime:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-pošta:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Naziv tvrtke:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">1. red adrese:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Ulica, poštanski pretinac, na ruke</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">2. red adrese:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Stan, apartman, jedinica, zgrada, kat itd.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Grad/mjesto:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Država/pokrajina/regija:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Poštanski broj:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Zemlja:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefon:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Nevažeći broj telefona.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Spremi</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Tekst automatskog ispunjavanja spremljen.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Tekst automatskog ispunjavanja izbrisan.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Izbriši</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Štednja baterije omogućena. Preglednik će se ponovno pokrenuti.</string>
+  <string name="powersave_dialog_off">Štednja baterije onemogućena. Preglednik će se ponovno pokrenuti.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Preglednik automatski može dovršiti web-obrasce kao što je ovaj jedan. Želite li postaviti automatsko ispunjavanje teksta?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Uvijek možete postaviti tekst za automatsko ispunjavanje sa zaslona Preglednik &gt; Postavke &gt; Općenito.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Onemogući automatsko popunjavanje</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Sigurnost</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Privatnost i sigurnost</string>
+  <string name="pref_privacy_security_title_summary">Postavke sigurnosti i privatnosti preglednika</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Odaberite stavke za brisanje</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Obrišite odabrane stavke</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Obrišite označene stavke na popisu</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Obrisati sljedeće stavke?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Očisti predmemoriju</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Izbriši sadržaj i baze podataka spremljene u lokalnu predmemoriju</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Izbriši sve podatke o kolačićima</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Izbriši sve kolačiće iz preglednika</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Izbriši povijest navigacije u pregledniku</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Izbrisati povijest kretanja preglednika?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Izbriši podatke iz obrasca</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Brisanje svih spremljenih podataka za obrasce</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Izbriši lozinke</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Izbriši sve spremljene lozinke</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Omogući lokaciju</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Izbriši pristup lokaciji</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Izbriši pristup lokaciji za sve web-lokacije</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Zapamti lozinke</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Zapamti podatke o obrascu</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Zahtjevaj \'Bez praćenja\'</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Prihvati kolačiće</string>
+  <string name="pref_security_allow_mic">Mikrofon</string>
+  <string name="pref_security_allow_camera">Fotoaparat</string>
+  <string name="pref_security_web_refiner">Oglasi</string>
+  <string name="pref_security_accept_third_party_cookies">Kolačići treće strane</string>
+  <string name="pref_security_ask_before_using">Pitaj prije uporabe</string>
+  <string name="pref_security_allowed">Dopušteno</string>
+  <string name="pref_security_not_allowed">Nije dopušteno</string>
+  <string name="pref_security_remember">Zapamti</string>
+  <string name="pref_security_on">Uključen</string>
+  <string name="pref_security_off">Isključen</string>
+  <string name="pref_website_title">Web-stranica</string>
+  <string name="pref_security_add">Dodaj</string>
+  <string name="pref_security_origin_name">Podrijetlo Web-stranice</string>
+  <string name="pref_security_access_is_allowed">pristup je dozvoljen</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Povucite klizač da biste postavili odgovarajuću veličinu fonta za čitanje.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Najmanja veličina fonta</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="FONT_SIZE">%d</xliff:g> pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Skaliranje teksta</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Prisilno omogući zumiranje</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Poništi zahtjev za kontr. zum.</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Obrnuto renderiranje zaslona</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Obrnuto renderiranje</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Crno postaje bijelo i obrnuto</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Kontrast</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Napredno</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Postavke web-lokacije</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Napredne postavke za pojedinačne web-lokacije</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Ponovo postavi na zadano</string>
+  <string name="pref_extras_reset">Resetiraj</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Vrati na zadane postavke</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Vratiti postavke na zadane vrijednosti?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Otklanjanje pogrešaka</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Kodiranje teksta</string>
+  <string name="pref_edge_swipe_title">Rubna navigacija</string>
+  <string name="pref_edge_swipe_option_msg">Prijelaz prstom preko ruba će:</string>
+  <string name="pref_temporal_edge_swipe">Navigirati kroz povijest</string>
+  <string name="pref_spatial_edge_swipe">Promijeniti karticu</string>
+  <string name="pref_disable_edge_swipe">Ne čini ništa</string>
+  <string name="pref_edge_swipe_option_close">Odaberi kasnije</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Prijeđite prstom od ruba za navigaciju</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Prijeđite prstom od ruba za promjenu kartice</string>
+  <string name="pref_edge_swipe_disabled_toast">Prelazak prsta od ruba onemogućen</string>
+  <string name="pref_edge_swipe_unknown">Odaberite ponašanje</string>
+  <string name="pref_edge_swipe_setup_desc">
+        Prijeđite prstom od ruba za navigaciju kroz povijest.\nTa značajka može biti u sukobu sa web stranicama koje koriste akcije rubova</string>
+  <string name="pref_edge_enable">Uključi</string>
+  <string name="pref_edge_disable">Isključi</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Obojena statusna traka</string>
+  <string name="pref_coloredsb_summary">Statusna traka će promijeniti boju prema posjećenoj stranici</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Dostupnost</string>
+  <string name="pref_accessibility_title_summary">Veličina teksta i zumiranje</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">Spriječi druge aplikacije da čitaju sadržaj weba iz ove aplikacije</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Veličina teksta</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Puni zaslon</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Upotrijebite način punog zaslona da biste sakrili traku statusa</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Prethodno učitavanje rezultata pretraživanja</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Nikad</item>
+    <item>Samo na Wi-Fi-ju</item>
+    <item>Uvijek</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Dopusti pregledniku prethodno učitavanje vrlo pouzdanih rezultata u pozadini</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Predučitavanje web-stranice</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Dopustite pregledniku predučitavanje povezanih web-stranica u pozadini</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Stranica koju pokušavate prikazati sadrži podatke koji su već poslani (\"POSTDATA\"). Ako ponovo pošaljete podatke, ponovit će se svaka radnja koju je izvršio obrazac na stranici (poput pretraživanja ili online kupovine).</string>
+  <!-- Menu item -->
+  <string name="clear_history">Izbriši povijest</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Nema povijesti preglednika.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Dodavanje oznake</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Dodaj</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Pretraži ili upiši URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Idi</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Oznake i web-povijest</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Dopusti</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blokiraj</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Dostignuto je ograničenje kartica</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Nije moguće otvoriti novu karticu dok jednu ne zatvorite.</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Skočni je prozor već otvoren</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">U jednom određenom trenutku može biti otvoren samo jedan skočni prozor.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Nema SD kartice</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">Za preuzimanje <xliff:g id="FILENAME">%s</xliff:g> je potrebna SD kartica.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD kartica nije dostupna</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">SD kartica je zauzeta. Kako biste omogućili preuzimanja, dodirnite \"Isključi USB pohranu\" u obavijesti.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Mogu se preuzeti samo \"http\" ili \"https\" URL-ovi.</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Početak preuzimanja\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Pretraži web</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Pohrana preglednika puna</string>
+  <string name="webstorage_outofspace_notification_text">Dodirnite za oslobađanje prostora.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Izbriši spremljene podatke</string>
+  <string name="webstorage_private_data_title">Privatni podaci</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Izbrisati sve podatke pohranjene na ovoj web-lokaciji?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Učitavanje videozapisa…</string>
+  <string name="website_settings_add_origin">Nova stranica</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Izbriši sve</string>
+  <string name="website_settings_clear_all_dialog_message">Izbrisati sve podatke web-lokacije i dopuštenja lokacija?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Postavljanje pozadinske slike...</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Nema oznaka.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Druge oznake</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Oznake na ovom uređaju još nisu povezane s Google računom. Spremite te oznake dodavanjem na račun. Izbrišite ih ako ih ne želite sinkronizirati.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Izbriši oznake</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Dijeli</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Nema više rasp. kartica</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Pregled</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Lokalno</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Pronađi</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Prikaži klasičnu web-stranicu</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Način čitanja</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Prethodno učitavanje rezultata</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Nema spremljenih stranica.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Brisanje spremljene stranice</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Idi na prikaz uživo</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Idi natrag</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Idi naprijed</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Osvježi stranicu</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Prekini učitavanje stranice</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Označi stranicu</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Pretraži</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Pokreni glasovno pretraživanje</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Zatvori karticu</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Otvori novu karticu</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Otvori novu anonimnu karticu</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Jasan unos</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Upravitelj stranicama</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Anonimna stranica</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Spremljena stranica</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Upravljanje karticama</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Prethodna mapa</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Obriši web stranicu</string>
+  <string name="my_navigation_edit_label">Uredi web stranicu</string>
+  <string name="my_navigation_add_label">Dodaj web stranicu</string>
+  <string name="my_navigation_add">Dodaj</string>
+  <string name="my_navigation_delete_msg">Obrisati web stranicu?</string>
+  <string name="my_navigation_name">Naslov</string>
+  <string name="my_navigation_address">Adresa</string>
+  <string name="website_needs_title">Web stranica mora imati naslov</string>
+  <string name="website_needs_url">Web stranica mora imati URL</string>
+  <string name="my_navigation_cannot_save_url">Neispravan URL</string>
+  <string name="my_navigation_duplicate_url">URL već postoji</string>
+  <string name="my_navigation_page_title">Doma</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Odaberite kako će se postupati s multimedijskim datotekama</string>
+  <string name="video_save">Spremi</string>
+  <string name="video_play">Otvori</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Izlaz</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">O</string>
+  <string name="download_estore_app">Estore ne postoji na vašem uređaju.</string>
+  <string name="estore_url_warning">Pokretanje Estore aplikacije nije uspjelo, URL je predug.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">Upload DRM datoteka nije podržano.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Izlaz iz preglednika</string>
+  <string name="exit_browser_msg">Odaberite kako želite izaći iz preglednika</string>
+  <string name="exit_minimize">Minimiziranje</string>
+  <string name="exit_quit">Izlaz</string>
+  <string name="browser_max_input_title">Dostignut je maksimalan broj znakova</string>
+  <string name="browser_max_input">Unijeli ste maksimalno dopuštenih <xliff:g id="MAXLIMIT">%s</xliff:g> znakova</string>
+  <string name="duplicated_folder_warning">Mapa već postoji</string>
+  <string name="overwrite_bookmark_msg">Naziv favorita ili adrese već postoji. Zamijeniti ga?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Nevažeća putanja</string>
+  <string name="path_wrong">Pogrešna putanja</string>
+  <string name="pref_download_title">Postavke mjesta za preuzimanje</string>
+  <string name="pref_download_path_setting_screen_title">Prilagođeno mjesto preuzimanja</string>
+  <string name="download_timeneeded">Vrijeme</string>
+  <string name="download_filesize">Veličina</string>
+  <string name="download_filepath_label">Putanja</string>
+  <string name="download_edit_filename_label">Naziv</string>
+  <string name="download_no_enough_memory">Nema dovoljno prostora za preuzimanje</string>
+  <string name="download_settings_title">Postavke preuzimanja</string>
+  <string name="filename_empty_title">Naziv preuzete datoteke je prazan</string>
+  <string name="filename_empty_msg">Naziv preuzete datoteke ne smije biti prazan. Unesite važeći naziv datoteke.</string>
+  <string name="unknow_length">Nepoznato</string>
+  <string name="download_file_exist_msg">Datoteka već postoji. Unesite novi naziv datoteke.</string>
+  <string name="download_file_exist">Datoteka već postoji</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">Direktorij preuzimanja nije dostupan</string>
+  <string name="download_path_unavailable_dlg_msg">Molim izmijenite direktorij preuzimanja</string>
+  <string name="activity_not_found">Nije pronađena aktivnost za rukovanje ovom namjerom: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Naziv datoteke</string>
+  <string name="download_size_hint">Veličina</string>
+  <string name="download_eta_hint">ETA</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Primi poruku od: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Sigurnosni certifikat</string>
+  <string name="ssl_certificate_is_valid">Ovaj certifikat je valjan.</string>
+  <string name="version">Verzija</string>
+  <string name="build_date">Datum izdavanja</string>
+  <string name="build_hash">Hash izdavanja</string>
+  <string name="user_agent">Korisnički agent</string>
+  <string name="help">Pomoć</string>
+  <string name="feedback">Povratne informacije</string>
+  <string name="swe_legal">Pravne informacije</string>
+  <string name="swe_open_source_licenses">Licence otvorenog kôda</string>
+  <string name="swe_eula">Ugovor o licenci krajnjeg korisnika</string>
+  <string name="swe_privacy_policy">Pravila privatnosti</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Upravlja administrator</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Moja navigacija</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Zapamti postavke</string>
+  <string name="geolocation_permissions_prompt_share_never">Odbij zauvijek</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Dopusti na 24 sata</string>
+  <string name="geolocation_permissions_prompt_share_forever">Dopusti zauvijek</string>
+</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
new file mode 100644
index 0000000..3e1dfc2
--- /dev/null
+++ b/res/values-hu/strings.xml
@@ -0,0 +1,426 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Böngésző</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Válassza ki a feltöltendő fájlt</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Feltöltések letiltva.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Új fül</string>
+  <string name="browser_tab_crash_snap">Hoppá Snap!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Újratöltés</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Valami váratlan történt a weboldal megjelenítésénél. Kérjük, töltse újra, vagy menjen másik oldalra.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Inkognitó mód</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Leggyakrabban felkeresett</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Mentett</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Hozzáadva a kedvencekhez.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Törölve a kedvencekből.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Jelentkezzen be ide: <xliff:g id="HOSTNAME">%s1</xliff:g> "<xliff:g id="REALM">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Név</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Jelszó</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Bejelentkezés</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Mentés</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Elvet</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">Rendben</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <string name="page_info">Információ</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Cím:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Biztonsági figyelmeztetés</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">A tanúsítvány érvénytelen.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Ismeretlen tanúsítvány hiba.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Leállítás\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Leállítás</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Frissítés</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Vissza</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Előre</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Cím</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Fiók</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Hozzáadás</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Új mappa</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Mappa szerkesztése</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Mappa törlése</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Nincs almappa.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Kezdőképernyő</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Mappa kiválasztása\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Címke</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Mentés</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Oldal hozzáadása a kedvencekhez</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Eltávolítás</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Szerkesztés</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Parancsikon létrehozása</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Törlés</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Eltávolítás</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Eltávolítás</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Beállítás kezdőlapként</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Hozzáadva a kedvencekhez</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Nem lehet kedvencként menteni.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Kezdőlap beállítva.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">A kedvencnek rendelkeznie kell névvel.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">A kedvencnek rendelkeznie kell hellyel.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Ez az URL nem érvényes.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Ez az URL-cím nem adható hozzá a kedvencekhez.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">innen\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">\"<xliff:g id="bookmark">%s</xliff:g>\" kedvenc törlése?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">\"<xliff:g id="bookmark">%s</xliff:g>\" mappa törlése?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Mind megnyitása új fülön</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Válasszon egy műveletet a szöveghez</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Többi lap bezárása</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_site_settings_title">Oldalbeállítások</string>
+  <string name="pref_site_settings_info_panel">Biztonsági információk</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Automatikus kitöltés</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Energiatakarékos üzemmód</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Böngésző energiafelhasználásának csökkentése</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Éjszakai mód</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Színek invertálása</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Űrlap automatikus kitöltése</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Webes űrlapok kitöltése egyetlen érintéssel</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d reklám</item>
+    <item quantity="other">%d reklám</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d nyomkövető</item>
+    <item quantity="other">%d nyomkövető</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d rosszindulatú fenyegetés</item>
+    <item quantity="other">%d rosszindulatú fenyegetés</item>
+  </plurals>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-hy-rAM/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
new file mode 100644
index 0000000..6d4dd98
--- /dev/null
+++ b/res/values-in/strings.xml
@@ -0,0 +1,576 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Peramban</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Pilih berkas untuk diunggah</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Unggahan dinonaktifkan.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Tab baru</string>
+  <string name="browser_tab_crash_snap">Waduh!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Muat ulang</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Sesuatu yang tak terduga terjadi ketika menampilkan laman web ini. Silakan dimuat ulang atau beralih ke laman lain.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Modus inkognito</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Yang paling sering dikunjungi</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Disimpan</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Ditambahkan ke favorit.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Dihapus dari favorit.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Masuk ke <xliff:g id="hostname">%s1 </xliff:g> "<xliff:g id="realm"> %s2 </xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Nama</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Kata Sandi</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Masuk</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Simpan</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Batalkan</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Mencapai batas Maksimal URL</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Tidak ada Google Play Store pada perangkat Anda.</string>
+  <!-- Menu item -->
+  <string name="page_info">Info</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Alamat:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Peringatan keamanan</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Sertifikat ini tidak valid.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Galat sertifikat yang tidak diketahui.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Memberhentikan\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Hentikan</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Muat ulang</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Kembali</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Teruskan</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Alamat</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Akun</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Tambahkan ke</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Folder baru</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Edit folder</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Hapus folder</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Tidak ada subfolder.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Layar beranda</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Pilih folder\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Label</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Simpan</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Tambahkan laman ini ke favorit</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Hapus</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Edit</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Tambahkan pintasan</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Hapus</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Hapus</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Hapus</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Atur sebagai beranda</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Ditambahkan ke favorit</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Tidak dapat menyimpan favorit.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Set beranda warta.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Favorit harus memiliki nama.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Favorit harus memiliki lokasi.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">URL ini tidak valid.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">URL ini tidak dapat ditambahkan ke favorit.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">dari\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Hapus favorit \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Hapus folder \"<xliff:g id="bookmark">%s </xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Buka semua di tab baru</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Memilih tindakan untuk teks</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Menutup tab lainnya</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Favorit</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Favorit</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Pilih favorit</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Riwayat</string>
+  <!-- Menu item -->
+  <string name="share_page">Bagikan</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Tambahkan ke beranda</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Simpan</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Menyimpan\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Tidak dapat menyimpan bacaan putus jaring.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d </xliff:g> favorit</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Folder kosong</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Buka</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Buka di tab baru</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Buka di tab latar belakang baru</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Simpan tautan</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Bagikan tautan</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Salin</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Salin tautan URL</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Simpan Gambar</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Lihat gambar</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Atur sebagai gambar latar</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Dial\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Tambahkan kontak</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Kirim surel</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Peta</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Bagikan melalui</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Hapus</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Gantikan</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Pengaturan</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Pengaturan isi</string>
+  <string name="pref_content_title_summary">Pengaturan isi web</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Memuat gambar</string>
+  <string name="pref_content_load_images_summary">Tampilkan gambar pada laman web</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Munculan</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Aktifkan JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Buka di latar belakang</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Buka tab baru di belakang tab saat ini</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Laman beranda</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Mesin telusur</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Pilih mesin telusur</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Atur ke</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Laman saat ini</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Laman kosong</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Laman baku</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Situs yang paling sering dikunjungi</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Lainnya</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Umum</string>
+  <string name="pref_default_site_settings_title">Pengaturan situs baku</string>
+  <string name="pref_site_settings_title">Pengaturan situs</string>
+  <string name="pref_site_settings_info_panel">Informasi keamanan</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Isi otomatis</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Modus hemat energi</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Kurangi penggunaan daya peramban</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Modus malam hari</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Warna terbalik</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Mengisi formulir otomatis</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Bersihkan semua data formulir</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Kata Sandi</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Hapus semua kata sandi yang tersimpan</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Lokasi</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Akses lokasi</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Hapus akses lokasi pada semua situs web</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Ingat kata sandi</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Ingat data formulir</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Meminta \'Tidak melacak\'</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Terima cookie</string>
+  <string name="pref_security_allow_mic">Mikrofon</string>
+  <string name="pref_security_allow_camera">Kamera</string>
+  <string name="pref_security_web_refiner">Iklan</string>
+  <string name="pref_security_accept_third_party_cookies">Cookies pihak ketiga</string>
+  <string name="pref_security_ask_before_using">Tanyakan sebelum menggunakan</string>
+  <string name="pref_security_allowed">Izinkan</string>
+  <string name="pref_security_not_allowed">Tidak diizinkan</string>
+  <string name="pref_security_remember">Ingat</string>
+  <string name="pref_security_on">Menyala</string>
+  <string name="pref_security_off">Padam</string>
+  <string name="pref_website_title">Situs web</string>
+  <string name="pref_security_add">Tambahkan</string>
+  <string name="pref_security_origin_name">Asal situs</string>
+  <string name="pref_security_access_is_allowed">akses diperbolehkan</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Seret penggeser untuk menyesuaikan ukuran fon yang nyaman.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Ukuran fon minimum</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Penskalaan teks</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Kekuatan mengaktifkan zum</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Mengabaikan permintaan situs web untuk mengendalikan perilaku zum</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Sesuaian layar terbalik</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Sesuaian yang terbalik</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Hitam menjadi putih dan sebaliknya</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Kontras</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Lanjutan</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Setiap pengaturan situs</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Pengaturan lanjutan untuk masing-masing situs</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Atur kembali menjadi baku</string>
+  <string name="pref_extras_reset">Atur ulang</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Kembalikan ke pengaturan baku</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Pulihkan pengaturan untuk nilai baku?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Perbaikan galat fungsi</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Penyandian teks</string>
+  <string name="pref_edge_swipe_title">Navigasi tepi</string>
+  <string name="pref_edge_swipe_option_msg">Menggesekkan dari tepi akan:</string>
+  <string name="pref_temporal_edge_swipe">Navigasi sepanjang sejarah</string>
+  <string name="pref_spatial_edge_swipe">Ubah tab</string>
+  <string name="pref_disable_edge_swipe">Tidak melakukan apapun</string>
+  <string name="pref_edge_swipe_option_close">Pilih nanti</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Gesek dari tepi untuk menavigasi</string>
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Memuat video\u2026</string>
+  <string name="website_settings_add_origin">Situs baru</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Hapus semua</string>
+  <string name="website_settings_clear_all_dialog_message">Hapus semua situs data dan lokasi izin?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Mengatur gambar latar\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Tidak ada favorit.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Favorit lainnya</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Favorit pada perangkat ini tidak terkait dengan akun Google. Menyimpan markah buku ini dengan menambahkannya ke akun. Hapus markah buku ini jika Anda tidak ingin untuk sinkronisasi.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Hapus favorit</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Bagikan</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Tidak ada tab lain yang tersedia</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Pratinjau</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Favorit saya</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Telusuri</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Situs destop</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Modus pembaca</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Pramuat hasil</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Tiada laman tersimpan.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Hapus laman tersimpan</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Beralih ke versi aktual</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Kembali</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Maju</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Muat ulang laman</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Hentikan muat laman</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Tambahkan ke favorit</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Telusuri</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Mulai penelusuran suara</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Tutup tab</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Buka tab baru</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Buka di tab inkognito baru</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Hapus pemasukan</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Manajer laman</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Laman penyamaran</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Laman tersimpan</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Pengelolaan tab</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Naik</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Hapus situs web</string>
+  <string name="my_navigation_edit_label">Edit situs web</string>
+  <string name="my_navigation_add_label">Tambahkan situs web</string>
+  <string name="my_navigation_add">Tambahkan</string>
+  <string name="my_navigation_delete_msg">Hapus situs web?</string>
+  <string name="my_navigation_name">Judul</string>
+  <string name="my_navigation_address">Alamat</string>
+  <string name="website_needs_title">Situs harus memiliki sebuah judul</string>
+  <string name="website_needs_url">Situs web harus memiliki URL</string>
+  <string name="my_navigation_cannot_save_url">URL tidak valid</string>
+  <string name="my_navigation_duplicate_url">URL telah ada</string>
+  <string name="my_navigation_page_title">Beranda</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Silakan pilih cara menangani berkas media</string>
+  <string name="video_save">Simpan</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Dikelola oleh administrator</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Navigasi saya</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Mengingat preferensi</string>
+  <string name="geolocation_permissions_prompt_share_never">Menyangkal selamanya</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Izinkan selama 24 jam</string>
+  <string name="geolocation_permissions_prompt_share_forever">Izinkan selamanya</string>
+</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-is-rIS/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
new file mode 100644
index 0000000..5e60e99
--- /dev/null
+++ b/res/values-it/strings.xml
@@ -0,0 +1,737 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Browser</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Scegli file da caricare</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Caricamenti disabilitati.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nuova scheda</string>
+  <string name="browser_tab_crash_snap">Accidenti!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Ricarica</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">È successo qualcosa di inaspettato durante la visualizzazione di questa pagina Web. Ricarica o vai in un\'altra pagina.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Modalità incognito</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Più visitati</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Salvati</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Aggiunto ai preferiti.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Rimosso dai preferiti.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Accedi a <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Nome</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Password</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Accedi</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Salva</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Annulla</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Raggiunto il limite massimo di URL</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Google Play Store non è presente sul dispositivo.</string>
+  <!-- Menu item -->
+  <string name="page_info">Info</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Indirizzo:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Avviso di sicurezza</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Questo certificato non è valido.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Errore certificato sconosciuto.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Arresto\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Ferma</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Aggiorna</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Indietro</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Avanti</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Indirizzo</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Account</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Aggiungi a</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nuova cartella</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Modifica cartella</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Elimina cartella</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Nessuna sottocartella.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Schermata iniziale</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Seleziona cartella\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Etichetta</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Salva</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Aggiungi questa pagina ai preferiti</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Rimuovi</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Modifica</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Aggiungi collegamento</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Elimina</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Rimuovi</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Rimuovi</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Imposta come pagina iniziale</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Aggiunto ai preferiti</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Impossibile salvare preferito.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Pagina iniziale impostata.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Il preferito deve avere un nome.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Il preferito deve avere un indirizzo.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Quest\'URL non é valido.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Quest\'URL non può essere aggiunto ai preferiti.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">da\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Eliminare il preferito \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Eliminare la cartella \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Apri tutti in nuove schede</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Scegli un app</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Chiudi le altre schede</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Preferiti</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Preferito</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Scegli un preferito</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Cronologia</string>
+  <!-- Menu item -->
+  <string name="share_page">Condividi</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Aggiungi alla home</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Salva</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Salvo\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Salvataggio per lettura offline fallito.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> preferiti</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Cartella vuota</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Apri</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Apri in una scheda nuova</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Apri in secondo piano</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Salva link</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Condividi link</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Copia</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Copia URL link</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Salva immagine</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Visualizza immagine</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Imposta come sfondo</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Componi\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Aggiungi contatto</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Invia email</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Mappa</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Condividi tramite</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Elimina</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Sostituisci</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Impostazioni</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Impostazione contenuti</string>
+  <string name="pref_content_title_summary">Impostazioni contenuti web</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Carica immagini</string>
+  <string name="pref_content_load_images_summary">Mostra immagini nelle pagine web</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Pop up</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Attiva JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Apri in background</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Apri nuove schede dietro la scheda vista</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Pagina iniziale</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Motore di ricerca</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Scegli un motore di ricerca</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Imposta a</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Pagina attuale</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Pagina vuota</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Pagina predefinita</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Siti più visitati</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Altro</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Generali</string>
+  <string name="pref_default_site_settings_title">Impostazioni predefinite sito</string>
+  <string name="pref_site_settings_title">Impostazioni sito</string>
+  <string name="pref_site_settings_info_panel">Informazioni sicurezza</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Riempimento automatico</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Risparmio energetico</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Riduci consumo energetico del browser</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Modalità notturna</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Inverti i colori</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Compilazione automatica moduli</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Compila i moduli web con un solo tocco</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d annuncio</item>
+    <item quantity="other">%d annunci</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d tracker</item>
+    <item quantity="other">%d tracker</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d minaccia malware</item>
+    <item quantity="other">%d minacce malware</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"Bloccato %s. "</item>
+    <item>"Bloccati %1$s e %2$s. "</item>
+    <item>"Bloccati %1$s, %2$s e %3$s. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Certificato SSL valido. La comunicazione é criptata e l\'identità é verificata.</string>
+  <string name="pref_invalid_cert">Il sito ha un certificato SSL valido.</string>
+  <string name="pref_warning_cert">Il certificato SSL del sito ha problemi.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Interfaccia</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Riempimento automatico</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Configura il riempimento automatico delle caselle</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Digita il testo che vuoi che sia immesso nei form.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Nome completo:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">Email:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Nome azienda:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Riga indirizzo 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Indirizzo via, casella postale, c/o</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Riga indirizzo 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Appartamento, suite, unità, edificio, piano, ecc.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Città/Paese:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Stato/Provincia/Regione:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">CAP:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Paese:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefono:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Numero di telefono non valido.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Salva</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Testo riempimento automatico salvato.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Testo riempimento automatico eliminato.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Elimina</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Modalità risparmio energetico attivata. Browser sarà riavviato.</string>
+  <string name="powersave_dialog_off">Modalità risparmio energetico disattivata. Browser sarà riavviato.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Browser può compilare automaticamente form come questo. Vuoi configurare il testo di riempimento automatico?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Puoi sempre impostare il testo di riempimento automatico da Browser &gt; Impostazioni &gt; Riempimento automatico.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Disattiva riempimento automatico</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Sicurezza</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Privacy &amp; sicurezza</string>
+  <string name="pref_privacy_security_title_summary">Impostazioni sicurezza e privacy del browser</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">I seguenti elementi saranno eliminati</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Elimina elementi selezionati</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Elimina elementi selezionati nella lista</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Eliminare i seguenti elementi?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Cache</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Elimina i contenuti e database memorizzati nella cache locale</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Cookie e dati</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Elimina tutti i cookie e altri dati dei siti</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Elimina cronologia navigazione</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Eliminare la cronologia?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Dati moduli</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Cancella tutti i dati riempimento automatico</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Password</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Elimina tutte le password salvate</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Localizzazione</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Acesso localizzazione</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Revoca accesso localizzazione a tutti i siti</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Ricorda password</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Ricorda dati moduli</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Richiedi \'Non tenere traccia\'</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Accetta cookie</string>
+  <string name="pref_security_allow_mic">Microfono</string>
+  <string name="pref_security_allow_camera">Fotocamera</string>
+  <string name="pref_security_web_refiner">Ads</string>
+  <string name="pref_security_accept_third_party_cookies">Cookie di terze parti</string>
+  <string name="pref_security_ask_before_using">Chiedi prima di utilizzare</string>
+  <string name="pref_security_allowed">Consentito</string>
+  <string name="pref_security_not_allowed">Non consentito</string>
+  <string name="pref_security_remember">Ricorda</string>
+  <string name="pref_security_on">On</string>
+  <string name="pref_security_off">Off</string>
+  <string name="pref_website_title">Sito web</string>
+  <string name="pref_security_add">Aggiungi</string>
+  <string name="pref_security_origin_name">Origine sito</string>
+  <string name="pref_security_access_is_allowed">accesso consentito</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Trascina il cursore per impostare la dimensione desiderata per una lettura confortevole.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Dimensione minima font</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Scala testo</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Attiva zoom forzato</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Sovrascrivi la richiesta del sito di controllare lo zoom</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Inverti rendering dello schermo</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Rendering invertito</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Nero diventa bianco e viceversa</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Contrasto</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Avanzate</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Impostazioni per sito</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Impostazioni avanzate individuali per siti web</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Reimposta predefiniti</string>
+  <string name="pref_extras_reset">Reimposta</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Reimposta impostazioni predefinite</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Reimpostare i valori di default?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Debug</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Codifica testo</string>
+  <string name="pref_edge_swipe_title">Edge navigation</string>
+  <string name="pref_edge_swipe_option_msg">Scorrendo dal bordo:</string>
+  <string name="pref_temporal_edge_swipe">Naviga nella cronologia</string>
+  <string name="pref_spatial_edge_swipe">Cambia scheda</string>
+  <string name="pref_disable_edge_swipe">Non fare nulla</string>
+  <string name="pref_edge_swipe_option_close">Scegli dopo</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Scorri dal bordo per navigare</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Scorri dal bordo per cambiare schede</string>
+  <string name="pref_edge_swipe_disabled_toast">Scorrimento dal bordo disattivato</string>
+  <string name="pref_edge_swipe_unknown">Scegli comportamento</string>
+  <string name="pref_edge_swipe_setup_desc">
+Scorri dal bordo per navigare nella cronologia.\nQuesta funzione potrebbe andare in conflitto con siti web che hanno azioni basate sullo scorrimento dal bordo</string>
+  <string name="pref_edge_enable">Attiva</string>
+  <string name="pref_edge_disable">Disattiva</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Barra di stato colorata</string>
+  <string name="pref_coloredsb_summary">La barra di stato cambierà colore in base alla pagina visitata</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Accessibilità</string>
+  <string name="pref_accessibility_title_summary">Dimensione del testo e zoom</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">Impedisci alle altre app di leggere il contenuto della webview in quest\'app</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Dimensione testo</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Modalità immersiva</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Naviga a schermo intero</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Precaricamento risultati ricerca</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Mai</item>
+    <item>Solo su Wi-Fi</item>
+    <item>Sempre</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Consenti al browser di precaricare i risultati della ricerca in background</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Precaricamento pagine web</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Consenti al browser di precaricare i le pagine web in background</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">La pagina che vuoi visualizzare contiene dati che sono già stati inviati (\"POSTDATA\"). Se invii nuovamente i dati, tutte le azioni compiute (come ad esempio una ricerca o un pagamento online) saranno ripetute.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Pulisci cronologia</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Cronologia vuota.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Aggiungi ai preferiti</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Aggiungi</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Cerca o scrivi un URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Vai</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Preferiti e cronologia</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Consenti</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blocca</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Raggiunto il limite di tab</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Impossibile aprire una nuova scheda fino a quando non ne chiuderai almeno una. Sei annoiato\u003f</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Pop up già aperto</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Solo un pop-up può essere aperto alla volta.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Nessuna scheda SD</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">Per scaricare <xliff:g id="filename">%s</xliff:g> devi inserire una scheda SD.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">Scheda SD non disponibile</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">La scheda SD è occupata. Per scaricare, tocca \'Disattiva memoria USB\' nelle notifiche.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Download possibili solo da URL \"http\" o \"https\".</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Inizio download\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Cerca nel web</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Memoria browser piena</string>
+  <string name="webstorage_outofspace_notification_text">Tocca per liberare la memoria.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Archivio</string>
+  <string name="webstorage_private_data_title">Dati privati</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Eliminare tutti i dati memorizzati da questo sito?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Caricamento video\u2026</string>
+  <string name="website_settings_add_origin">Nuovo sito</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Cancella tutto</string>
+  <string name="website_settings_clear_all_dialog_message">Eliminare tutti i dati del sito e revocare accesso alla localizzazione?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Impostazione sfondo\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Nessun preferito.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Altri preferiti</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">I preferiti con questo dispositivo non sono associati ad un account Google. Per aggiungerli come segnalibri, aggiungili ad un account. Elimina questi preferiti se non vuoi sincronizzarli.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Elimina preferiti</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Condividi</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Tabs esaurite</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Anteprima</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">I miei preferiti</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Trova</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Sito desktop</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Modalità lettura</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Precarica risultati</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Nessuna pagina salvata.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Elimina pagine salvate</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Vedi online</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Indietro</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Avanti</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Ricarica pagina</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Interrompi caricamento pagina</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Aggiungi ai preferiti</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Cerca</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Avvia ricerca vocale</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Chiudi scheda</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Apri nuova scheda</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Apri nuova scheda incognito</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Elimina input</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Gestore pagine</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Modalità incognito</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Pagina salvata</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Gestione pagine</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Su</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Elimina sito</string>
+  <string name="my_navigation_edit_label">Modifica sito</string>
+  <string name="my_navigation_add_label">Aggiungi sito</string>
+  <string name="my_navigation_add">Aggiungi</string>
+  <string name="my_navigation_delete_msg">Eliminare sito?</string>
+  <string name="my_navigation_name">Titolo</string>
+  <string name="my_navigation_address">Indirizzo</string>
+  <string name="website_needs_title">Il sito deve avere un titolo</string>
+  <string name="website_needs_url">Il sito deve avere un URL</string>
+  <string name="my_navigation_cannot_save_url">URL non valido</string>
+  <string name="my_navigation_duplicate_url">URL già esistente</string>
+  <string name="my_navigation_page_title">Home</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Scegli come gestire il file multimediale</string>
+  <string name="video_save">Salva</string>
+  <string name="video_play">Riproduci</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Esci</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Info</string>
+  <string name="download_estore_app">Estore non è presente sul dispositivo.</string>
+  <string name="estore_url_warning">Impossibile avviare Estore, URL troppo lungo.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">Caricamento file DRM non supportato.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Esci dal browser</string>
+  <string name="exit_browser_msg">Scegli come uscire dal browser</string>
+  <string name="exit_minimize">Minimizza</string>
+  <string name="exit_quit">Chiudi</string>
+  <string name="browser_max_input_title">Raggiunto il limite di caratteri</string>
+  <string name="browser_max_input">Il tuo input ha superato il limite massimo di <xliff:g id="MAXLIMIT">%s</xliff:g> caratteri</string>
+  <string name="duplicated_folder_warning">Cartella già esistente</string>
+  <string name="overwrite_bookmark_msg">Nome o Url del preferito già esistente? Sovrascriverlo?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Percorso non valido</string>
+  <string name="path_wrong">Percorso errato</string>
+  <string name="pref_download_title">Impostazioni percorso download</string>
+  <string name="pref_download_path_setting_screen_title">Percorso download personalizzato</string>
+  <string name="download_timeneeded">Tempo</string>
+  <string name="download_filesize">Dimensione</string>
+  <string name="download_filepath_label">Percorso</string>
+  <string name="download_edit_filename_label">Nome</string>
+  <string name="download_no_enough_memory">Memoria insufficiente per il download</string>
+  <string name="download_settings_title">Impostazioni download</string>
+  <string name="filename_empty_title">Nome del download vuoto</string>
+  <string name="filename_empty_msg">Il nome del download non può essere vuoto. Inserisci un nome valido.</string>
+  <string name="unknow_length">Sconosciuta</string>
+  <string name="download_file_exist_msg">Il file esiste già. Inserisci un nuovo nome.</string>
+  <string name="download_file_exist">File già esistente</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">Cartella download non disponibile</string>
+  <string name="download_path_unavailable_dlg_msg">Modifica la cartella di download</string>
+  <string name="activity_not_found">Nessun\'activity trovata per gestire questo intent: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Nome file</string>
+  <string name="download_size_hint">Dimensione</string>
+  <string name="download_eta_hint">ETA</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Ricevuto messaggio da: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Certificato di sicurezza</string>
+  <string name="ssl_certificate_is_valid">Questo certificato è valido.</string>
+  <string name="version">Versione</string>
+  <string name="build_date">Data build</string>
+  <string name="build_hash">Hash build</string>
+  <string name="user_agent">User agent</string>
+  <string name="help">Guida</string>
+  <string name="feedback">Feedback</string>
+  <string name="swe_legal">Informazioni legali</string>
+  <string name="swe_open_source_licenses">Licenze open source</string>
+  <string name="swe_eula">Contratto di Licenza Utente Finale</string>
+  <string name="swe_privacy_policy">Info sulla privacy</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Gestito dall\'amministratore</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">La mia navigazione</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Ricorda preferenza</string>
+  <string name="geolocation_permissions_prompt_share_never">Nega sempre</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Consenti per 24 ore</string>
+  <string name="geolocation_permissions_prompt_share_forever">Consenti sempre</string>
+</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-iw/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ja/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ka-rGE/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-kk-rKZ/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-km-rKH/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-kn-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ko/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ku/strings.xml b/res/values-ku/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ku/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ky-rKG/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-lb/strings.xml b/res/values-lb/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-lb/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-lo-rLA/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-lt/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-lv/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-mk-rMK/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ml-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-mn-rMN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-mr-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ms-rMY/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-my-rMM/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-nb/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ne-rNP/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
new file mode 100644
index 0000000..7af57a1
--- /dev/null
+++ b/res/values-nl/strings.xml
@@ -0,0 +1,539 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Browser</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Bestandsuploads zijn uitgeschakeld.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nieuw tabblad</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Opnieuw laden</string>
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Meest bezocht</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Opgeslagen</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Toegevoegd aan bladwijzers.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Verwijderd uit bladwijzers.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Inloggen bij <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Naam</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Wachtwoord</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Inloggen</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Opslaan</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Annuleren</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Google Play Store is niet aanwezig op uw apparaat.</string>
+  <!-- Menu item -->
+  <string name="page_info">Pagina-informatie</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Adres:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Beveiligingsmelding</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Dit certificaat is ongeldig.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Onbekende certificaatfout.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Stoppen\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Stoppen</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Vernieuwen</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Terug</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Volgende</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Adres</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Account</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Toevoegen aan</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nieuwe map</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Map bewerken</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Map verwijderen</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Geen submappen.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Startscherm</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Label</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Opslaan</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Pagina toevoegen aan bladwijzers</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Verwijderen</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Snelkoppeling toevoegen</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Verwijderen</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Verwijderen</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Verwijderen</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Instellen als startpagina</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Toegevoegd aan bladwijzers</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Kan bladwijzer niet opslaan.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Bladwijzer moet een naam hebben.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">URL kan niet worden toegevoegd aan bladwijzers.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">van\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Bladwijzers</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> bladwijzers</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Startpagina</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Zoekmachine</string>
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Huidige pagina</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Lege pagina</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Standaardpagina</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Most visited sites</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Other</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Algemeen</string>
+  <string name="pref_site_settings_title">Site-instellingen</string>
+  <string name="pref_site_settings_info_panel">Beveiligingsinformatie</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Automatisch aanvullen</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Energiebesparende modus</string>
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Nachtmodus</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Kleuren omkeren</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Formulieren automatisch invullen</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Webformulieren invullen met één aanraking</string>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d tracker</item>
+    <item quantity="other">%d trackers</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s geblokkeerd. "</item>
+    <item>"%1$s en %2$s geblokkeerd. "</item>
+    <item>"%1$s, %2$s en %3$s geblokkeerd. "</item>
+  </string-array>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Interface</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Automatisch aanvullen</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Tekst instellen die automatisch in webformulieren kan worden ingevuld</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Typ de tekst die u automatisch in webformulieren wilt laten invullen.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Volledige naam:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-mail:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Bedrijfsnaam:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Adresregel 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Adres, postbus, t.a.v.</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Adresregel 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Appartement, suite, afdeling, gebouw, etage, enz.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Plaatsnaam:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Staat/provincie/regio:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Postcode:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Land:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefoon:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Ongeldig telefoonnummer.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Opslaan</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Tekst voor automatisch aanvullen opgeslagen.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Tekst voor automatisch aanvullen verwijderd.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Verwijderen</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Automatisch aanvullen uitschakelen</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Cookies accepteren</string>
+  <string name="pref_security_allow_mic">Microfoon</string>
+  <string name="pref_security_allow_camera">Camera</string>
+  <string name="pref_security_web_refiner">Advertenties</string>
+  <string name="pref_security_accept_third_party_cookies">Cookies van derden</string>
+  <string name="pref_security_allowed">Toegestaan</string>
+  <string name="pref_security_not_allowed">Niet toegestaan</string>
+  <string name="pref_security_remember">Onthouden</string>
+  <string name="pref_security_on">Aan</string>
+  <string name="pref_security_off">Uit</string>
+  <string name="pref_website_title">Website</string>
+  <string name="pref_security_add">Toevoegen</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Contrast</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Geavanceerd</string>
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Geavanceerde instellingen voor afzonderlijke websites</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Standaardwaarden</string>
+  <string name="pref_extras_reset">Opnieuw instellen</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Standaardinstellingen terugzetten</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Standaardwaarden van instellingen herstellen?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Foutopsporing</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Tekstcodering</string>
+  <string name="pref_disable_edge_swipe">Niets doen</string>
+  <string name="pref_edge_swipe_option_close">Later kiezen</string>
+  <string name="pref_edge_enable">Inschakelen</string>
+  <string name="pref_edge_disable">Uitschakelen</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Gekleurde statusbalk</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Toegankelijkheid</string>
+  <string name="pref_accessibility_title_summary">Tekstgrootte en zoomen</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Tekstgrootte</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Volledig scherm</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Zoekresultaten vooraf laden</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Nooit</item>
+    <item>Only on Wi-Fi</item>
+    <item>Altijd</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Webpagina vooraf laden</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Toestaan dat de browser gekoppelde webpagina\'s vooraf laadt op de achtergrond</string>
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <string name="clear_history">Geschiedenis wissen</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Geen browsergeschiedenis.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Toevoegen</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Zoek of typ de URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Ga</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Bladwijzers en webgeschiedenis</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Toestaan</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blokkeren</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Tabbladlimiet bereikt</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Kan geen nieuw tabblad openen totdat u er een sluit.</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Pop-up is al geopend.</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Er kan slechts één pop-upvenster tegelijk worden geopend.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Geen SD-kaart</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD-kaart niet beschikbaar</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Kan alleen URL\'s met \'http\' of \'https\' downloaden.</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Geen bladwijzers.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Andere bladwijzers</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Bladwijzers op dit apparaat zijn nog niet gekoppeld aan een Google-account. Sla deze bladwijzers op door ze toe te voegen aan een account. Verwijder deze bladwijzers als u ze niet wilt synchroniseren.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Bladwijzers verwijderen</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Mijn bladwijzers</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Toevoegen aan bladwijzers</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Incognitopagina</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Opgeslagen pagina</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Tabbladbeheer</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Website verwijderen</string>
+  <string name="my_navigation_edit_label">Website bewerken</string>
+  <string name="my_navigation_add_label">Website toevoegen</string>
+  <string name="my_navigation_add">Toevoegen</string>
+  <string name="my_navigation_delete_msg">Website verwijderen?</string>
+  <string name="my_navigation_name">Titel</string>
+  <string name="my_navigation_address">Adres</string>
+  <string name="website_needs_title">Website moet een titel hebben</string>
+  <string name="website_needs_url">Website moet een URL hebben</string>
+  <string name="my_navigation_cannot_save_url">Ongeldige URL</string>
+  <string name="my_navigation_duplicate_url">URL bestaat al</string>
+  <string name="my_navigation_page_title">Thuis</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="video_save">Opslaan</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Over</string>
+  <string name="download_estore_app">Estore is niet aanwezig op uw apparaat.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Browser afsluiten</string>
+  <string name="exit_minimize">Minimaliseren</string>
+  <string name="exit_quit">Afsluiten</string>
+  <string name="duplicated_folder_warning">Map bestaat al</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Ongeldig pad</string>
+  <string name="download_timeneeded">Tijd</string>
+  <string name="download_filesize">Grootte</string>
+  <string name="download_filepath_label">Pad</string>
+  <string name="download_edit_filename_label">Naam</string>
+  <string name="unknow_length">Onbekend</string>
+  <string name="download_file_exist">Bestand bestaat al</string>
+  <string name="time_min">min.</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Mijn items</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-oc-rFR/strings.xml b/res/values-oc-rFR/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-oc-rFR/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-or-rIN/strings.xml b/res/values-or-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-or-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-pa-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
new file mode 100644
index 0000000..082eca7
--- /dev/null
+++ b/res/values-pl/strings.xml
@@ -0,0 +1,383 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Przeglądarka</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Wybierz plik do wysłania</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Wysyłanie jest wyłączone.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nowa karta</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Przeładuj</string>
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Najczęściej odwiedzane</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Zapisano</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Dodano do ulubionych.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Usunięto z ulubionych.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Nazwa</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Hasło</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Zaloguj</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Zapisz</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Anuluj</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <string name="page_info">Informacje</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Adres:</string>
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Zatrzymywanie\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Zatrzymaj</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Odśwież</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Wróć</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Adres</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Konto</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Dodaj do</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nowy katalog</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Edytuj katalog</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Usuń katalog</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Brak podkatalogów.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Wybierz katalog\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Etykieta</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Zapisz</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Dodaj tę stronę do ulubionych</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Usuń</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Edytuj</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Dodaj skrót</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Usuń</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Usuń</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Usuń</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Ustaw jako stronę startową</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
new file mode 100644
index 0000000..d8e304f
--- /dev/null
+++ b/res/values-pt-rBR/strings.xml
@@ -0,0 +1,737 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Navegador</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Escolha o arquivo para envio</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Envios estão desativados.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nova aba</string>
+  <string name="browser_tab_crash_snap">Ops, Quebrou!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Recarregar</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Algo inesperado aconteceu ao exibir esta página. Por favor, recarregue ou vá para outra página.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Modo de navegação anônimo</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Mais visitados</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Salvo</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Adicionado aos favoritos.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Removido dos favoritos.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Fazer login em <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Nome</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Senha</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Entrar</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Salvar</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Cancelar</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Limite máximo do URL alcançado</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Play Store do Google não está presente no seu dispositivo.</string>
+  <!-- Menu item -->
+  <string name="page_info">Informações</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Endereço:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Aviso de segurança</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Este certificado é inválido.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Erro de certificado desconhecido.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Parando\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Parar</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Atualizar</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Voltar</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Avançar</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Endereço</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Conta</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Adicionar a</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nova pasta</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Editar a pasta</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Excluir pasta</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Sem subpastas.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Página Inicial</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Selecione uma pasta\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Rótulo</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Salvar</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Adicione esta página aos favoritos</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Remover</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Editar</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Adicionar atalho</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Apagar</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Remover</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Remover</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Definir como página inicial</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Adicionado aos favoritos</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Não foi possível salvar o favorito.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Página inicial definida.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">O favorito deve ter um nome.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">O favorito precisa ter um URL.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Esta URL não é válida.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Esta URL não pode ser adicionada aos favoritos.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">de\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Apagar o favorito \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Apagar a pasta \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Abrir todos em novas abas</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Escolha uma ação para texto</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Fechar as outras abas</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Favoritos</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Favorito</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Escolher um favorito</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Histórico</string>
+  <!-- Menu item -->
+  <string name="share_page">Compartilhar</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Adicionar à página inicial</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Salvar</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Salvando\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Não foi possível salvar para ler offline.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> favoritos</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Pasta vazia</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Abrir</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Abrir em nova aba</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Abrir uma nova aba anônima em segundo plano</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Salvar link</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Compartilhar link</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Copiar</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Copiar URL do link</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Salvar imagem</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Visualizar imagem</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Definir como papel de parede</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Discar\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Adicionar contato</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Enviar e-mail</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Mapa</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Compartilhar via</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Limpar</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Substituir</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Configurações</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Configurações de conteúdo</string>
+  <string name="pref_content_title_summary">Configurações de conteúdo web</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Carregar imagens</string>
+  <string name="pref_content_load_images_summary">Mostrar imagens nas páginas web</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Pop ups</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Ativar JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Abrir em segundo plano</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Abrir novas abas atrás da guia atual</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Página inicial</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Buscador</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Escolha um buscador</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Definir para</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Página atual</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Página em branco</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Página padrão</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Sites mais visitados</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Outro</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Geral</string>
+  <string name="pref_default_site_settings_title">Configurações padrão dos sites</string>
+  <string name="pref_site_settings_title">Configurações de site</string>
+  <string name="pref_site_settings_info_panel">Informações de segurança</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Preenchimento automático</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Modo de economia de energia</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Reduzir o consumo de energia do navegador</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Modo noturno</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Inverter cores</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Preench. autom. de formulários</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Preencher formulários da web com um único toque</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d anúncio</item>
+    <item quantity="other">%d anúncios</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d rastreador</item>
+    <item quantity="other">%d rastreadores</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d ameaça de malware</item>
+    <item quantity="other">%d ameaças de malware</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s bloqueado. "</item>
+    <item>"%1$s e %2$s bloqueados. "</item>
+    <item>"%1$s, %2$s e %3$s bloqueados. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Certificado SSL válido. A comunicação está criptogradada e a identidade foi verificada.</string>
+  <string name="pref_invalid_cert">O site tem um certificado SSL inválido.</string>
+  <string name="pref_warning_cert">O certificado SSL do site tem avisos.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Interface</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Preenchimento automático</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Configurar textos para preenchimento automático em formulários da web</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Insira o texto que deseja que seja preenchido automaticamente em formulários da web.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Nome completo:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-mail:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Nome da empresa:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Linha de endereço 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Endereço da rua, caixa postal, etc</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Linha de endereço 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Apartamento, suite, unidade, prédio, bloco, andar, etc.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Cidade:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Estado/província/região:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Código postal:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">País:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefone:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Número de telefone inválido.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Salvar</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Preenchimento automático do texto salvo.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Preenchimento automático do texto apagado.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Excluir</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Modo de economia de energia ativado. O navegador será reiniciado.</string>
+  <string name="powersave_dialog_off">Modo de economia de energia desativado. O navegador será reiniciado.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">O navegador pode completar automaticamente formulários da web como este. Quer configurar os seus textos para preenchimento automático?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Você pode sempre configurar os seus textos de preenchimento automático indo a Navegador &gt; Configurações &gt; Preenchimento automático.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Desativar o preenchimento automático</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Segurança</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Privacidade e segurança</string>
+  <string name="pref_privacy_security_title_summary">Configurações de segurança e privacidade do navegador</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Selecione os itens a serem apagados</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Apagar os itens selecionados</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Apagar os itens selecionados na lista</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Apagar os seguintes itens?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Cache</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Apagar os conteúdos e bases de dados armazenados localmente em cache</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Cookies e dados dos sites</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Apagar todos os cookies do navegador e dados dos sites</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Apagar o histórico de navegação</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Apagar o histórico de navegação?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Dados de formulário</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Apagar todos os dados de formulário salvos</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Senha</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Apagar todas as senhas salvas</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Localização</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Acesso à localização</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Apagar o acesso à localização para todos os sites</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Salvar senhas</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Salvar dados de formulário</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Solicitar \"Não Rastrear\"</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Aceitar cookies</string>
+  <string name="pref_security_allow_mic">Microfone</string>
+  <string name="pref_security_allow_camera">Câmera</string>
+  <string name="pref_security_web_refiner">Anúncios</string>
+  <string name="pref_security_accept_third_party_cookies">Cookies de terceiros</string>
+  <string name="pref_security_ask_before_using">Perguntar antes de usar</string>
+  <string name="pref_security_allowed">Permitido</string>
+  <string name="pref_security_not_allowed">Não permitido</string>
+  <string name="pref_security_remember">Lembrar</string>
+  <string name="pref_security_on">Ligado</string>
+  <string name="pref_security_off">Desligado</string>
+  <string name="pref_website_title">Web site</string>
+  <string name="pref_security_add">Adicionar</string>
+  <string name="pref_security_origin_name">Origem do site</string>
+  <string name="pref_security_access_is_allowed">o acesso é permitido</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Arraste o controle deslizante para ajustar o tamanho da fonte que ajusta ao tamanho desejado para uma leitura confortável.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Tamanho mínimo da fonte</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Escala do texto</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Forçar ativação do zoom</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Substitui o pedido de sites para controlarem o comportamento do zoom</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Processamento tela invertida</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Renderização invertida</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">O preto torna-se branco e vice-versa</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Contraste</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Avançado</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Configurações por site</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Configurações avançadas para sites individuais</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Redefinir para o padrão</string>
+  <string name="pref_extras_reset">Redefinir</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Restaurar para as configurações padrão</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Reverter as configurações para os valores padrões?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Depurar</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Codificação de texto</string>
+  <string name="pref_edge_swipe_title">Navegação de borda</string>
+  <string name="pref_edge_swipe_option_msg">Deslizar a partir da borda irá:</string>
+  <string name="pref_temporal_edge_swipe">Navegar pelo histórico</string>
+  <string name="pref_spatial_edge_swipe">Mudar de aba</string>
+  <string name="pref_disable_edge_swipe">Nada</string>
+  <string name="pref_edge_swipe_option_close">Escolher mais tarde</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Deslizar da borda para navegar</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Deslizar a partir da borda para mudar de aba</string>
+  <string name="pref_edge_swipe_disabled_toast">Deslizar a partir da borda está desativado</string>
+  <string name="pref_edge_swipe_unknown">Escolha o comportamento</string>
+  <string name="pref_edge_swipe_setup_desc">
+        Deslizar a partir da borda para navegar pelo histórico.\nEste recurso pode entrar em conflito com sites que usem ações baseadas em gestos a partir da borda</string>
+  <string name="pref_edge_enable">Ativar</string>
+  <string name="pref_edge_disable">Desativar</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Barra de status colorida</string>
+  <string name="pref_coloredsb_summary">A barra de estado irá mudar de cor com base na página visitada</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Acessibilidade</string>
+  <string name="pref_accessibility_title_summary">Tamanho do texto e zoom</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">Impedir que os outros apps leiam o conteúdo web deste app</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Tamanho do texto</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Imersivo</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Mudar o navegador para tela cheia</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Pré-carregar resultados da busca</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Nunca</item>
+    <item>Somente em Wi-Fi</item>
+    <item>Sempre</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Permite que o navegador pré-carregue os resultados da busca em segundo plano</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Pré-carregamento da página</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Permite que o navegador pré-carregue páginas em segundo plano</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">A página que você está tentando visualizar contém dados que já foram enviados (\"POSTDATA\"). Se você reenviar os dados, qualquer ação do formulário na página efetuada (por exemplo, uma pesquisa ou compra on-line) será repetida.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Limpar histórico</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Sem histórico de navegação.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Adicionar favorito</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Adicionar</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Procurar ou inserir URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Ir</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Favoritos e histórico da web</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Permitir</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Bloquear</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Limite de abas atingido</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Não é possível abrir uma nova aba até fechar alguma existente. Você está aborrecido\u003f</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Já existe um pop-up aberta</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Apenas um pop-up pode estar aberto por vez.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Nenhum cartão SD</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">É necessário um cartão SD para fazer o download de <xliff:g id="filename">%s</xliff:g>.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">Cartão SD indisponível</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">O cartão SD está ocupado. Para permitir o download, toque em \"Desativar armazenamento USB\" na notificação.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Só e possível fazer o download apartir de URLs \"http\" ou \"https\".</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Iniciando o download\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Pesquisar na web</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Armazenamento do navegador está cheio</string>
+  <string name="webstorage_outofspace_notification_text">Toque para liberar espaço.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Armazenamento</string>
+  <string name="webstorage_private_data_title">Dados privados</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Apagar todos os dados armazenados por este site?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Carregando vídeo\u2026</string>
+  <string name="website_settings_add_origin">Novo site</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Apagar tudo</string>
+  <string name="website_settings_clear_all_dialog_message">Apagar todos os dados e permissões de localização dos sites?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Definindo plano de fundo\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Sem favoritos.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Outros favoritos</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Os favoritos deste dispositivo ainda não estão associados a uma conta Google. Guarde estes marcadores adicionando-os a uma conta. Apague estes marcadores se não quiser sincronizá-los.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Apagar favoritos</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Compartilhar</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Não há mais abas disponíveis</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Visualizar</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Meus favoritos</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Procurar</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Versão desktop</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Modo leitura</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Pré-carregar resultados</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Não há páginas salvas.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Apagar página salva</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Ao vivo</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Voltar</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Avançar</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Atualizar página</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Parar o carregamento da página</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Adicionar aos favoritos</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Procurar</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Iniciar pesquisa por voz</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Fechar aba</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Abrir em nova aba</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Abrir em nova aba anônima</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Apagar entrada</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Gerenciador de páginas</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Página anônima</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Página salva</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Gerenciador de abas</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Acima</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Apagar site</string>
+  <string name="my_navigation_edit_label">Editar site</string>
+  <string name="my_navigation_add_label">Adicionar site</string>
+  <string name="my_navigation_add">Adicionar</string>
+  <string name="my_navigation_delete_msg">Apagar site?</string>
+  <string name="my_navigation_name">Título</string>
+  <string name="my_navigation_address">Endereço</string>
+  <string name="website_needs_title">O site deve ter um título</string>
+  <string name="website_needs_url">O site deve ter um URL</string>
+  <string name="my_navigation_cannot_save_url">URL inválido</string>
+  <string name="my_navigation_duplicate_url">O URL já existe</string>
+  <string name="my_navigation_page_title">Início</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Por favor, selecione como lidar com o arquivo multimédia</string>
+  <string name="video_save">Salvar</string>
+  <string name="video_play">Tocar</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Sair</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Sobre</string>
+  <string name="download_estore_app">Estore não está presente no seu dispositivo.</string>
+  <string name="estore_url_warning">Falha ao iniciar Estore, o URL é muito longo.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">O carregamento de arquivos DRM não é suportado.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Sair do navegador</string>
+  <string name="exit_browser_msg">Por favor, selecione como deseja sair do navegador</string>
+  <string name="exit_minimize">Minimizar</string>
+  <string name="exit_quit">Sair</string>
+  <string name="browser_max_input_title">Atingiu o limite para o número máximo de caracteres</string>
+  <string name="browser_max_input">A sua entrada atingiu o limite máximo de <xliff:g id="MAXLIMIT">%s</xliff:g> caracteres</string>
+  <string name="duplicated_folder_warning">A pasta já existe</string>
+  <string name="overwrite_bookmark_msg">Nome ou endereço do favorito já existe. Substituí-lo?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Caminho inválido</string>
+  <string name="path_wrong">Caminho errado</string>
+  <string name="pref_download_title">Configurações do local para download</string>
+  <string name="pref_download_path_setting_screen_title">Local de downloads personalizado</string>
+  <string name="download_timeneeded">Hora</string>
+  <string name="download_filesize">Tamanho</string>
+  <string name="download_filepath_label">Caminho</string>
+  <string name="download_edit_filename_label">Nome</string>
+  <string name="download_no_enough_memory">Memória insuficiente para realizar o download</string>
+  <string name="download_settings_title">Configurações de download</string>
+  <string name="filename_empty_title">O nome de arquivo está vazio</string>
+  <string name="filename_empty_msg">O nome de arquivo não pode ser vazio. Por favor insira um nome de arquivo válido.</string>
+  <string name="unknow_length">Desconhecido</string>
+  <string name="download_file_exist_msg">Arquivo já existe. Por favor, insira um novo nome de arquivo.</string>
+  <string name="download_file_exist">Arquivo já existe</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">O diretório não está disponível para realizar o download</string>
+  <string name="download_path_unavailable_dlg_msg">Por favor, altere o diretório de downloads</string>
+  <string name="activity_not_found">Nenhuma atividade encontrada para lidar com esta ação: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Nome do arquivo</string>
+  <string name="download_size_hint">Tamanho</string>
+  <string name="download_eta_hint">Tempo estimado</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Receber uma mensagem de: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Certificado de segurança</string>
+  <string name="ssl_certificate_is_valid">Este certificado é válido.</string>
+  <string name="version">Versão</string>
+  <string name="build_date">Data de compilação</string>
+  <string name="build_hash">Hash de compilação</string>
+  <string name="user_agent">Agente de usuário</string>
+  <string name="help">Ajuda</string>
+  <string name="feedback">Opinião</string>
+  <string name="swe_legal">Informações legais</string>
+  <string name="swe_open_source_licenses">Licenças de código aberto</string>
+  <string name="swe_eula">Contrato de Licenças de Utilizador Final</string>
+  <string name="swe_privacy_policy">Política de privacidade</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Gerenciado pelo administrador</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Minha navegação</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Lembrar preferência</string>
+  <string name="geolocation_permissions_prompt_share_never">Negar para sempre</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Permitir por 24 horas</string>
+  <string name="geolocation_permissions_prompt_share_forever">Permitir para sempre</string>
+</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..d50f6ed
--- /dev/null
+++ b/res/values-pt-rPT/strings.xml
@@ -0,0 +1,733 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Navegador</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Escolher ficheiro a carregar</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Os carregamentos de ficheiros estão desativados.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Novo separador</string>
+  <string name="browser_tab_crash_snap">Ups, Snap!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Recarregar</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Aconteceu algo inesperado ao mostrar esta página. Por favor atualize-a ou vá para outra página.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Novo separador de nav. anónima</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Os mais visitados</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Páginas guardadas</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Adicionado aos marcadores.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Removido dos marcadores.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Iniciar sessão em <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Nome</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Palavra-passe</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Iniciar sessão</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Guardar marcador</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Cancelar</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Limite máximo do URL alcançado</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">A Google Play Store não está presente no seu dispositivo.</string>
+  <!-- Menu item -->
+  <string name="page_info">Informações da página</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Endereço:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Aviso de segurança</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Este certificado é inválido.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Erro: certificado desconhecido.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">A interromper\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Parar</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Atualizar</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Voltar</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Avançar</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Endereço</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Conta</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Adicionar a</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nova pasta</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Editar pasta</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Eliminar pasta</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Sem pastas secundárias.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Ecrã principal</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Selecionar pasta\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Etiqueta</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Guardado nos marcadores</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Adicionar esta página aos marcadores</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Remover</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Editar marcador</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Adicionar atalho à página inicial</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Eliminar marcador</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Remover dos marcadores</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Remover do histórico</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Definir como página inicial</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Adicionada aos marcadores</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Não foi possível guardar o marcador.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Página inicial definida.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Os marcadores têm de ter um nome.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">O marcador tem de ter uma localização.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Este URL não é válido.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Este URL não pode ser adicionado aos marcadores.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">de\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Eliminar marcador \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Apagar a pasta \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Abrir tudo em separadores novos</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Escolha uma ação para texto</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Fechar os outros separadores</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Marcadores</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Marcador</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Escolher um marcador</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Histórico</string>
+  <!-- Menu item -->
+  <string name="share_page">Partilhar página</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Adicionar à página inicial</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Guardar para leitura offline</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">A guardar\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Não foi possível guardar para leitura offline.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> marcadores</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Pasta vazia</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Abrir</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Abrir num novo separador</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Abrir num novo separador em segundo plano</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Guardar ligação</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Partilhar ligação</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Copiar</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Copiar URL da ligação</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Guardar imagem</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Ver imagem</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Definir como imagem de fundo</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Marcar\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Adicionar contacto</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Enviar e-mail</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Mapa</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Partilhar através de</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Limpar</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Substituir</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Definições</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Definições de conteúdo</string>
+  <string name="pref_content_title_summary">Definições de conteúdo web</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Carregar imagens</string>
+  <string name="pref_content_load_images_summary">Apresentar imagens em páginas Web</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Pop-ups</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Ativar JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Abrir em segundo plano</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Abrir novos separadores atrás do atual</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Definir página inicial</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Definir motor de pesquisa</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Escolha um motor de pesquisa</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Definir para</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Página atual</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Página em branco</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Página predefinida</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Sites mais visitados</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Outra</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Gerais</string>
+  <string name="pref_default_site_settings_title">Definições padrão dos sites</string>
+  <string name="pref_site_settings_title">Definições do site</string>
+  <string name="pref_site_settings_info_panel">Informações de segurança</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Preenchimento automático</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Modo de poupança de energia</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Reduzir o consumo de energia do navegador</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Modo noturno</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Inverter cores</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Preench. autom. de formulários</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Preencher formulários Web com um único toque</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d anúncio</item>
+    <item quantity="other">%d anúncios</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d ameaça de malware</item>
+    <item quantity="other">%d ameaças de malware</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s bloqueada."</item>
+    <item>"%1$s e %2$s bloqueadas. "</item>
+    <item>"%1$s, %2$s e %3$s bloqueadas. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Certificado SSL válido. A comunicação é cifrada e a identidade é verificada.</string>
+  <string name="pref_invalid_cert">O site tem um certificado SSL inválido.</string>
+  <string name="pref_warning_cert">O certificado SSL do site tem avisos.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Interface</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Texto de preenchimento automático</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Configurar texto para preencher automaticamente formulários Web</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Introduza o texto pretendido para preencher automaticamente formulários Web.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Nome completo:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-mail:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Nome da empresa:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Linha de endereço 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Endereço, caixa postal, a/c</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Linha de endereço 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Apartamento, suite, unidade, edifício, piso, etc.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Localidade/Cidade:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Estado/Província/Região:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Código postal:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">País:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefone:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Número de telefone inválido.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Guardar</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Texto de preenchimento automático guardado.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Texto de preenchimento automático eliminado.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Eliminar</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Modo de poupança de energia ativado. O navegador será reiniciado.</string>
+  <string name="powersave_dialog_off">Modo de poupança de energia desativado. O navegador será reiniciado.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">O navegador pode preencher automaticamente formulários Web como este. Pretende configurar o texto de preenchimento automático?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Pode sempre configurar o texto de preenchimento automático indo a Navegador &gt; Definições &gt; Preenchimento automático.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Desativar preenchimento automático</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Segurança</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Privacidade e segurança</string>
+  <string name="pref_privacy_security_title_summary">Definições de segurança e privacidade do navegador</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Selecione os itens a serem limpos</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Apagar os itens selecionados</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Apagar os itens selecionados na lista</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Apagar os seguintes itens?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Limpar cache</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Limpar bases de dados e conteúdos colocados em cache localmente</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Limpar os cookies</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Limpar todos os cookies do navegador</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Limpar o histórico de navegação</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Limpar o histórico de navegação?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Limpar dados de formulário</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Limpar todos os dados de formulário guardados</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Limpar palavras-passe</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Limpar todas as palavras-passe guardadas</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Ativar localização</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Limpar acesso à localização</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Limpar acesso à localização para todos os Web sites</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Lembrar palavras-passe</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Lembrar dados de formulário</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Solicitar \"Não Rastrear\"</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Aceitar cookies</string>
+  <string name="pref_security_allow_mic">Microfone</string>
+  <string name="pref_security_allow_camera">Câmara</string>
+  <string name="pref_security_web_refiner">Anúncios</string>
+  <string name="pref_security_accept_third_party_cookies">Cookies de terceiros</string>
+  <string name="pref_security_ask_before_using">Perguntar antes de usar</string>
+  <string name="pref_security_allowed">Permitido</string>
+  <string name="pref_security_not_allowed">Não permitido</string>
+  <string name="pref_security_remember">Lembrar</string>
+  <string name="pref_security_on">Ativado</string>
+  <string name="pref_security_off">Desativado</string>
+  <string name="pref_website_title">Web site</string>
+  <string name="pref_security_add">Adicionar</string>
+  <string name="pref_security_origin_name">Origem do site</string>
+  <string name="pref_security_access_is_allowed">o acesso é permitido</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Arraste o controlo deslizante para ajustar o tamanho da fonte de forma a definir o tamanho desejado de leitura confortável.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Tamanho mín. do tipo de letra</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Escala do texto</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Forçar ativação do zoom</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Elim. ped. site p/ contr. zoom</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Apresentação invertida do ecrã</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Apresentação invertida</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">O preto fica branco e vice-versa</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Contraste</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Avançadas</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Definições de Web site</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Definições avançadas para Web sites individuais</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Repor as predefinições</string>
+  <string name="pref_extras_reset">Redefinir</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Restaurar as definições padrão</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Reverter as definições para os valores padrão?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Depuração</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Codificação do texto</string>
+  <string name="pref_edge_swipe_title">Navegação de borda</string>
+  <string name="pref_edge_swipe_option_msg">Deslizar a partir da borda irá:</string>
+  <string name="pref_temporal_edge_swipe">Navegar pelo histórico</string>
+  <string name="pref_spatial_edge_swipe">Mudar de separador</string>
+  <string name="pref_disable_edge_swipe">Fazer nada</string>
+  <string name="pref_edge_swipe_option_close">Escolher mais tarde</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Deslizar a partir da borda para navegar</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Deslizar a partir da borda para mudar de separadores</string>
+  <string name="pref_edge_swipe_disabled_toast">Deslize a partir da borda desativado</string>
+  <string name="pref_edge_swipe_unknown">Escolha o comportamento</string>
+  <string name="pref_edge_swipe_setup_desc">
+        Deslizar a partir da borda para navegar pelo histórico.\nEste recurso pode entrar em conflito com sites que usem ações baseadas em gestos a partir da borda</string>
+  <string name="pref_edge_enable">Ativar</string>
+  <string name="pref_edge_disable">Desativar</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Barra de estado colorida</string>
+  <string name="pref_coloredsb_summary">A barra de estado irá mudar de cor com base na página visitada</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Acessibilidade</string>
+  <string name="pref_accessibility_title_summary">Tamanho do texto e zoom</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">Impedir que outras aplicações leiam o conteúdo web desta aplicação</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Tamanho do texto</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Ecrã inteiro</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Utilizar o modo de ecrã inteiro para ocultar a barra de estado</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Pré carregamento dos resultados da pesquisa</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Nunca</item>
+    <item>Apenas em Wi-Fi</item>
+    <item>Sempre</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Permitir que o navegador pré carregue resultados de pesquisa em 2º plano</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Pré carregamento de páginas Web</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Permitir que o navegador pré carregue páginas Web associadas em segundo plano</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">A página que está a tentar visualizar contém dados que já foram enviados (\"POSTDATA\"). Se reenviar os dados, qualquer ação já tomada pelo formulário da página (como uma pesquisa ou compra on-line) será repetida.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Limpar histórico</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Sem histórico de navegação.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Adicionar marcador</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Adicionar</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Pesquisar ou escrever URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Ir</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Marcadores e histórico da Web</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Permitir</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Bloquear</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Limite de separadores atingido</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Não é possível abrir novo separador até fechar outro.</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Janela de pop-up já aberta</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Só pode abrir um pop-up de cada vez.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Sem cartão SD</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">É necessário um cartão SD para transferir <xliff:g id="filename">%s</xliff:g>.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">Cartão SD não disponível</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">O cartão SD está ocupado. Para permitir as transferências, selecione “Desativar unidade de armazenamento USB” na notificação.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Só pode transferir a partir de URLs \"http\" ou \"https\".</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">A iniciar a transferência\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Pesquisar na Web</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Espaço de armazenamento do navegador cheio</string>
+  <string name="webstorage_outofspace_notification_text">Toque para libertar espaço.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Limpar dados armazenados</string>
+  <string name="webstorage_private_data_title">Dados privados</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Eliminar todos os dados armazenados por este Web site?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">A carregar vídeo\u2026</string>
+  <string name="website_settings_add_origin">Novo site</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Limpar tudo</string>
+  <string name="website_settings_clear_all_dialog_message">Eliminar todos os dados do Web site e permissões de localização?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">A definir imagem de fundo\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Sem marcadores.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Outros marcadores</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Os marcadores neste aparelho ainda não estão associados a uma conta Google. Guarde estes marcadores, adicionando-os a uma conta ou elimine-os se não pretender sincronizá-los.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Eliminar marcadores</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Partilhar</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Atingiu o limite de separadores</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Pré-visualizar</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Local</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Procurar</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Pedir versão do site para computador</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Modo de leitura</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Pré carregar resultados</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Não há páginas guardadas.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Eliminar a página guardada</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Ao vivo</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Retroceder</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Avançar</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Atualizar página</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Parar o carregamento da página</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Adicionar página aos marcadores</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Pesquisar</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Iniciar pesquisa por voz</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Fechar separador</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Abrir novo separador</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Abrir novo separador de navegação anónima</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Limpar texto</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Gestor de páginas</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Página de navegação anónima</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Página guardada</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Gestão de separadores</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Pasta anterior</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Apagar site</string>
+  <string name="my_navigation_edit_label">Editar site</string>
+  <string name="my_navigation_add_label">Adicionar site</string>
+  <string name="my_navigation_add">Adicionar</string>
+  <string name="my_navigation_delete_msg">Apagar site?</string>
+  <string name="my_navigation_name">Título</string>
+  <string name="my_navigation_address">Endereço</string>
+  <string name="website_needs_title">O site deve ter um título</string>
+  <string name="website_needs_url">O site deve ter um URL</string>
+  <string name="my_navigation_cannot_save_url">URL inválido</string>
+  <string name="my_navigation_duplicate_url">O URL já existe</string>
+  <string name="my_navigation_page_title">Início</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Por favor, selecione como lidar com o arquivo multimédia</string>
+  <string name="video_save">Guardar</string>
+  <string name="video_play">Reproduzir</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Sair</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Sobre</string>
+  <string name="download_estore_app">A aplicação Estore não se encontra instalada no seu dispositivo.</string>
+  <string name="estore_url_warning">Falha ao iniciar Estore. O URL é muito longo.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">O carregamento de arquivos DRM não é suportado.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Sair do navegador</string>
+  <string name="exit_browser_msg">Por favor, selecione como deseja sair do navegador</string>
+  <string name="exit_minimize">Minimizar</string>
+  <string name="exit_quit">Sair</string>
+  <string name="browser_max_input_title">Atingiu o limite para o número máximo de caracteres</string>
+  <string name="browser_max_input">A sua introdução atingiu o limite máximo de <xliff:g id="MAXLIMIT">%s</xliff:g> caracteres</string>
+  <string name="duplicated_folder_warning">A pasta já existe</string>
+  <string name="overwrite_bookmark_msg">O nome ou endereço do marcador já existe. Substituir?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Caminho inválido</string>
+  <string name="path_wrong">Caminho errado</string>
+  <string name="pref_download_title">Definições do caminho para transferências</string>
+  <string name="pref_download_path_setting_screen_title">Caminho para transferências personalizado</string>
+  <string name="download_timeneeded">Hora</string>
+  <string name="download_filesize">Tamanho</string>
+  <string name="download_filepath_label">Caminho</string>
+  <string name="download_edit_filename_label">Nome</string>
+  <string name="download_no_enough_memory">Memória insuficiente para transferir</string>
+  <string name="download_settings_title">Definições de transferência</string>
+  <string name="filename_empty_title">O nome do ficheiro está vazio</string>
+  <string name="filename_empty_msg">O nome do ficheiro a transferir não pode estar vazio. Por favor, introduza um nome válido.</string>
+  <string name="unknow_length">Desconhecido</string>
+  <string name="download_file_exist_msg">O ficheiro já existe. Por favor, insira um novo nome para o ficheiro.</string>
+  <string name="download_file_exist">O ficheiro já existe</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">O diretório para as transferências não está disponível</string>
+  <string name="download_path_unavailable_dlg_msg">Por favor, altere o diretório para as transferências</string>
+  <string name="activity_not_found">Nenhuma atividade encontrada para lidar com esta intenção: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Nome do ficheiro</string>
+  <string name="download_size_hint">Tamanho</string>
+  <string name="download_eta_hint">ETA</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Receber uma mensagem de: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Certificado de segurança</string>
+  <string name="ssl_certificate_is_valid">Este certificado é válido.</string>
+  <string name="version">Versão</string>
+  <string name="build_date">Data de compilação</string>
+  <string name="build_hash">Hash de compilação</string>
+  <string name="user_agent">Agente de utilizador</string>
+  <string name="help">Ajuda</string>
+  <string name="feedback">Opinião</string>
+  <string name="swe_legal">Informações legais</string>
+  <string name="swe_open_source_licenses">Licenças de código aberto</string>
+  <string name="swe_eula">Contrato de Licenças de Utilizador Final</string>
+  <string name="swe_privacy_policy">Política de privacidade</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Gerido pelo seu administrador</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">A minha navegação</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Memorizar preferência</string>
+  <string name="geolocation_permissions_prompt_share_never">Negar para sempre</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Permitir por 24 horas</string>
+  <string name="geolocation_permissions_prompt_share_forever">Permitir para sempre</string>
+</resources>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-rm/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
new file mode 100644
index 0000000..8b0fc82
--- /dev/null
+++ b/res/values-ro/strings.xml
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Reîncărcare</string>
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
new file mode 100644
index 0000000..a235de4
--- /dev/null
+++ b/res/values-ru/strings.xml
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Сведения</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-si-rLK/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-sk/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
new file mode 100644
index 0000000..c7f4ec6
--- /dev/null
+++ b/res/values-sl/strings.xml
@@ -0,0 +1,743 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Brskalnik</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Izberite datoteko za prenos</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Prenosi so onemogočeni.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Nov zavihek</string>
+  <string name="browser_tab_crash_snap">O, joj!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Ponovno naloži</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Ob prikazu te spletne strani se je zgodilo nekaj nepričakovanega. Ponovno naložite stran ali pojdite na drugo.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Način brez beleženja zgodovine</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Najpogosteje obiskane</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Shranjeno</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Dodano med zaznamke.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Odstranjeno iz zaznamkov.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Vpišite se v <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Ime</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Geslo</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Vpis</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Shrani</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Prekliči</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">V REDU</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Dosežen je najdaljši možen URL</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Trgovina Play ni prisotna na vaši napravi.</string>
+  <!-- Menu item -->
+  <string name="page_info">Podatki</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Naslov:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Varnostno opozorilo</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">To potrdilo je neveljavno.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Neznana napaka potrdila.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Ustavljanje \u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Ustavi</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Osveži</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Nazaj</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Naprej</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Naslov</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Račun</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Dodaj med</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Nova mapa</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Uredi mapo</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Izbriši mapo</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Ni podmap.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Domači zaslon</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Izberite mapo \u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Oznaka</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Shrani</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Dodaj to stran med zaznamke</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Odstrani</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Uredi</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Dodaj bližnjico</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Izbriši</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Odstrani</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Odstrani</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Nast. kot domačo stran</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Dodano med zaznamke</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Zaznamka ni bilo mogoče shraniti.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Domača stran nastavljena.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Zaznamek mora imeti ime.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Zaznamek mora imeti naslov.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Ta URL ni veljaven.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Tega URL-ja ni mogoče dodati med zaznamke.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">od\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Izbriši zaznamek \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Izbriši mapo \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Odpri vse v novih zavihkih</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Izberite dejanje za besedilo</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Zapri druge zavihke</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Zaznamki</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Zaznamek</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Izberite zaznamek</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Zgodovina</string>
+  <!-- Menu item -->
+  <string name="share_page">Deli z drugimi</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Dodaj na domači zaslon</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Shrani</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Shranjevanje \u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Shranjevanje za branje brez povezave ni bilo mogoče.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> zaznamkov</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Prazna mapa</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Odpri</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Odpri v novem zavihku</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Odpri v novem zavihku v ozadju</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Shrani povezavo</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Deli povezavo z drugimi</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Kopiraj</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Kopiraj URL</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Shrani sliko</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Pokaži sliko</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Nastavi kot sliko ozadja</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Kliči \u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Dodaj stik</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Pošlji e-pošto</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Zemljevid</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Deli z drugimi preko</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Počisti</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Nadomesti</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Nastavitve</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Nastavitve vsebine</string>
+  <string name="pref_content_title_summary">Nastavitve spletne vsebine</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Naloži slike</string>
+  <string name="pref_content_load_images_summary">Prikaži slike na spletnih straneh</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Pojavna okna</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Omogoči JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Odpri v ozadju</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Odpri nove zavihke za trenutnim zavihkom</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Domača stran</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Iskalnik</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Izberite iskalnik</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Nastavi na</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Trenutna stran</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Prazna stran</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Privzeta stran</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Najpogosteje obiskane strani</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Drugo</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Splošno</string>
+  <string name="pref_default_site_settings_title">Privzete nastavitve strani</string>
+  <string name="pref_site_settings_title">Nastavitve strani</string>
+  <string name="pref_site_settings_info_panel">Varnostni podatki</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Samodejno izpolni</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Način varčevanja z energijo</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Zmanjšaj porabo energije brskalnika</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Nočni način</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Obrni barve</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Samodejno izpolnjevanje obrazcev</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Izpolnite spletne obrazce z enim dotikom</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d oglas</item>
+    <item quantity="two">%d oglasa</item>
+    <item quantity="few">%d oglasi</item>
+    <item quantity="other">%d oglasov</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d sledilec</item>
+    <item quantity="two">%d sledilca</item>
+    <item quantity="few">%d sledilci</item>
+    <item quantity="other">%d sledilcev</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d grožnja zlonamerne prog. opreme</item>
+    <item quantity="two">%d grožnji zlonamerne prog. opreme</item>
+    <item quantity="few">%d grožnje zlonamerne prog. opreme</item>
+    <item quantity="other">%d groženj zlonamerne prog. opreme</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s blokirana. "</item>
+    <item>"%1$s in %2$s blokirani. "</item>
+    <item>"%1$s, %2$s in %3$s blokirane. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Veljavno potrdilo SSL. Komunikacija je šifrirana in identiteta je potrjena.</string>
+  <string name="pref_invalid_cert">Stran ima neveljavno potrdilo SSL.</string>
+  <string name="pref_warning_cert">Potrdilo SSL strani ima opozorila.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Vmesnik</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Samodejno izpolni</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Nastavitev besedila za samodejno izpolnjevanje spletnih obrazcev</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Vnesite besedilo, ki ga želite uporabiti za samodejno izpolnjevanje spletnih obrazcev.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Polno ime:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-pošta:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Ime podjetja:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">1. vrstica naslova:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Naslov, poštni predal, poštno ležeče</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">2. vrstica naslova:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Stanovanje, apartma, enota, stavba, nadstropje ipd.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Mesto/Kraj:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Država/Pokrajina/Območje:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Poštna številka:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Država:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefonska številka:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Neveljavna telefonska številka.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Shrani</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Besedilo samodejnega izpolnjevanja shranjeno.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Besedilo samodejnega izpolnjevanja izbrisano.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Izbriši</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Način varčevanja z energijo omogočen. Brskalnik se bo ponovno zagnal.</string>
+  <string name="powersave_dialog_off">Način varčevanja z energijo onemogočen. Brskalnik se bo ponovno zagnal.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Brskalnik lahko samodejno izpolnjuje spletne obrazce, kot je ta. Želite nastaviti besedilo za samodejno izpolnjevanje?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Besedilo za samodejno izpolnjevanje lahko kadarkoli nastavite v Brskalnik &gt; Nastavitve &gt; Samodejno izpolni.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Onemogoči samodejno izpolnjevanje</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Varnost</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Zasebnost &amp; varnost</string>
+  <string name="pref_privacy_security_title_summary">Nastavitve varnosti in zasebnosti brskalnika</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Izberite predmete za čiščenje</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Počisti izbrane predmete</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Počisti izbrane predmete na seznamu</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Počisti naslednje predmete?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Predpomnilnik</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Počisti lokalno zajeto vsebino in podatkovne zbirke</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Piškotki in podatki strani</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Počisti vse piškotke in podatke strani</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Počisti zgodovino brskanja</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Izbriši zgodovino brskanja?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Podatki obrazcev</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Počisti vse shranjene podatke obrazcev</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Gesla</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Počisti vsa shranjena gesla</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Lokacija</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Dostop do lokacije</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Počisti dostop do lokacije za vse spletne strani</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Zapomni si gesla</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Zapomni si podatke obrazcev</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Zahtevaj \"Ne sledi\"</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Sprejmi piškotke</string>
+  <string name="pref_security_allow_mic">Mikrofon</string>
+  <string name="pref_security_allow_camera">Fotoaparat</string>
+  <string name="pref_security_web_refiner">Oglasi</string>
+  <string name="pref_security_accept_third_party_cookies">Piškotki tretjih oseb</string>
+  <string name="pref_security_ask_before_using">Vprašaj pred uporabo</string>
+  <string name="pref_security_allowed">Dovoljeno</string>
+  <string name="pref_security_not_allowed">Ni dovoljeno</string>
+  <string name="pref_security_remember">Zapomni si</string>
+  <string name="pref_security_on">Vklopljeno</string>
+  <string name="pref_security_off">Izklopljeno</string>
+  <string name="pref_website_title">Spletna stran</string>
+  <string name="pref_security_add">Dodaj</string>
+  <string name="pref_security_origin_name">Izvor strani</string>
+  <string name="pref_security_access_is_allowed">dostop je dovoljen</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Povlecite drsnik za prilagoditev velikosti besedila do želene udobne velikosti za branje.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Najmanjša velikost pisave</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g> točk</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Prilagajanje velikosti besedila</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Vsili povečavo</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Preglasi zahtevo spletne strani za nadzor vedenja povečave</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Obrnjen izris zaslona</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Obrnjen izris</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Črna postane bela in obratno</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Kontrast</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Napredno</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Nastavitve posamezne strani</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Napredne nastavitve za posamezne spletne strani</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Ponastavi na privzeto</string>
+  <string name="pref_extras_reset">Ponastavi</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Obnovi privzete nastavitve</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Povrni nastavitve na privzete vrednosti?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Razhroščevanje</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Kodiranje besedila</string>
+  <string name="pref_edge_swipe_title">Robno krmarjenje</string>
+  <string name="pref_edge_swipe_option_msg">Poteg iz roba bo:</string>
+  <string name="pref_temporal_edge_swipe">Krmari po zgodovini</string>
+  <string name="pref_spatial_edge_swipe">Spremeni zavihek</string>
+  <string name="pref_disable_edge_swipe">Ne naredi ničesar</string>
+  <string name="pref_edge_swipe_option_close">Izberi kasneje</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Potegnite od roba za krmarjenje</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Potegnite od roba za spremembo zavihka</string>
+  <string name="pref_edge_swipe_disabled_toast">Potegi od roba so onemogočeni</string>
+  <string name="pref_edge_swipe_unknown">Izberite vedenje</string>
+  <string name="pref_edge_swipe_setup_desc">
+        Potegnite od roba za krmarjenje po zgodovini\nTa značilnost je lahko v sporu z dejanji potegov od roba, ki jih uporabljajo spletne strani</string>
+  <string name="pref_edge_enable">Omogoči</string>
+  <string name="pref_edge_disable">Onemogoči</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Barvna vrstica stanja</string>
+  <string name="pref_coloredsb_summary">Vrstica stanja bo spremenila barvo glede na obiskano stran</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Dostopnost</string>
+  <string name="pref_accessibility_title_summary">Velikost pisave in povečava</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">Zaklepanje videza</string>
+  <string name="pref_looklock_summary">Prepreči drugim aplikacijam branje vsebine spletnega pogleda te aplikacije</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Velikost besedila</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Celozaslonsko</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Preklopi brskalnik v celozaslonski način</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Vnaprejšnje nalaganje iskalnih rezultatov</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Nikoli</item>
+    <item>Samo na omr. Wi-Fi</item>
+    <item>Vedno</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Dovoli brskalniku vnaprejšnje nalaganje iskalnih rezultatov v ozadju</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Vnaprejšnje nalaganje spletnih strani</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Dovoli brskalniku vnaprejšnje nalaganje spletnih strani v ozadju</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Stran, ki si jo želite ogledati, vsebuje podatke, ki so že bili poslani (\"POSTDATA\"). Če jih pošljete znova, bo vsako dejanje, ki jih je obrazec na strani izvedel (npr. iskanje ali spletni nakup), ponovljeno.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Počisti zgodovino</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Ni zgodovine brskanja.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Dodaj zaznamek</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Dodaj</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Poiščite ali vnesite URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Pojdi</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Priljubljene in spletna zgodovina</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Dovoli</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blokiraj</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Dosežena je omejitev zavihkov</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Novega zavihka ni mogoče odpreti, dokler enega ne zaprete. Se dolgočasite\u003f</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Pojavno okno je že odprto</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Naenkrat je lahko odprto samo eno pojavno okno.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Ni kartice SD</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">Za prenos <xliff:g id="filename">%s</xliff:g> je zahtevana kartica SD.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">Kartica SD ni na voljo</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">Kartica SD je zasedena. Da dovolite prenose, tapnite \'Izklopi pomnilniško napravo USB\' v obvestilu.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Prenašanje je mogoče samo iz URL-jev \"http\" ali \"https\".</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Začetek prenosa \u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Išči po spletu</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Pomnilnik brskalnika je poln</string>
+  <string name="webstorage_outofspace_notification_text">Tapnite za sprostitev prostora.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Pomnilnik</string>
+  <string name="webstorage_private_data_title">Zasebni podatki</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Izbriši vse podatke, ki jih je shranila ta spletna stran?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Nalaganje videoposnetka \u2026</string>
+  <string name="website_settings_add_origin">Nova stran</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Počisti vse</string>
+  <string name="website_settings_clear_all_dialog_message">Izbriši vse podatke spletne strani in dovoljenja za lokacijo?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Nastavljanje slike ozadja \u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Ni zaznamkov.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Drugi zaznamki</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Priljubljene na tej napravi še niso povezane z računom Google. Shranite te zaznamke, tako da jih dodate v račun. Izbrišite jih, če jih ne želite sinhronizirati.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Izbriši zaznamke</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Deli z drugimi</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Zavihki niso več na voljo</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Predogled</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Moji zaznamki</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Najdi</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Stran za namizje</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Način izrisa</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Vnaprej naloži rezultate</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Ni shranjenih strani.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Izbriši shranjeno stran</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Posodobi stran</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Pojdi nazaj</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Pojdi naprej</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Osveži stran</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Ustavi nalaganje strani</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Dodaj med zaznamke</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Išči</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Zaženi glasovno iskanje</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Zapri zavihek</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Odpri nov zavihek</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Odpri nov zavihek brez beleženja zgodovine</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Počisti vnos</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Upravljalnik strani</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Stran brez belež. zgodovine</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Shranjena stran</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Upravljanje z zavihki</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Gor</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Izbriši spletno stran</string>
+  <string name="my_navigation_edit_label">Uredi spletno stran</string>
+  <string name="my_navigation_add_label">Dodaj spletno stran</string>
+  <string name="my_navigation_add">Dodaj</string>
+  <string name="my_navigation_delete_msg">Izbriši spletno stran?</string>
+  <string name="my_navigation_name">Naziv</string>
+  <string name="my_navigation_address">Naslov</string>
+  <string name="website_needs_title">Spletna stran mora imeti naziv</string>
+  <string name="website_needs_url">Spletna stran mora imeti URL</string>
+  <string name="my_navigation_cannot_save_url">Neveljaven URL</string>
+  <string name="my_navigation_duplicate_url">URL že obstaja</string>
+  <string name="my_navigation_page_title">Domov</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Izberite način obravnavanja predstavne datoteke</string>
+  <string name="video_save">Shrani</string>
+  <string name="video_play">Predvajaj</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Izhod</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">O aplikaciji</string>
+  <string name="download_estore_app">E-trgovina ni prisotna na vaši napravi.</string>
+  <string name="estore_url_warning">Zagon e-trgovine je spodletel. URL je predolg.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">Prenašanje datotek DRM ni podprto.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Izhod iz brskalnika</string>
+  <string name="exit_browser_msg">Izberite način izhoda iz brskalnika</string>
+  <string name="exit_minimize">Skrči</string>
+  <string name="exit_quit">Izhod</string>
+  <string name="browser_max_input_title">Dosežena omejitev največjega števila znakov</string>
+  <string name="browser_max_input">Vaš vnos je dosegel omejitev največjega števila <xliff:g id="MAXLIMIT">%s-ih</xliff:g>znakov</string>
+  <string name="duplicated_folder_warning">Mapa že obstaja</string>
+  <string name="overwrite_bookmark_msg">Ime ali naslov priljubljene že obstaja. Prepiši jo?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Neveljavno mesto</string>
+  <string name="path_wrong">Napačno mesto</string>
+  <string name="pref_download_title">Nastavitve mesta za prenose</string>
+  <string name="pref_download_path_setting_screen_title">Mesto za prenose po meri</string>
+  <string name="download_timeneeded">Čas</string>
+  <string name="download_filesize">Velikost</string>
+  <string name="download_filepath_label">Mesto</string>
+  <string name="download_edit_filename_label">Ime</string>
+  <string name="download_no_enough_memory">Ni dovolj prostora za prenos</string>
+  <string name="download_settings_title">Nastavitve prenosov</string>
+  <string name="filename_empty_title">Ime prenesene datoteke je prazno</string>
+  <string name="filename_empty_msg">Ime datoteke za prenosne sme biti prazno. Vnesite veljavno ime.</string>
+  <string name="unknow_length">Neznano</string>
+  <string name="download_file_exist_msg">Datoteka že obstaja. Vnesite novo ime datoteke.</string>
+  <string name="download_file_exist">Datoteka že obstaja</string>
+  <string name="time_min">min</string>
+  <string name="download_path_unavailable_dlg_title">Mesto za prenose ni na voljo</string>
+  <string name="download_path_unavailable_dlg_msg">Spremenite mesto za prenose</string>
+  <string name="activity_not_found">Dejavnosti za obravnavo te namere ni bilo najdene: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Ime datoteke</string>
+  <string name="download_size_hint">Velikost</string>
+  <string name="download_eta_hint">Preostali čas</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Prejeto spodočilo od: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Varnostno potrdilo</string>
+  <string name="ssl_certificate_is_valid">To potrdilo je veljavno.</string>
+  <string name="version">Različica</string>
+  <string name="build_date">Datum izgradnje</string>
+  <string name="build_hash">Izgradi razpršilo</string>
+  <string name="user_agent">Uporabniški posrednik</string>
+  <string name="help">Pomoč</string>
+  <string name="feedback">Povratne informacije</string>
+  <string name="swe_legal">Pravne informacije</string>
+  <string name="swe_open_source_licenses">Odprtokodne licence</string>
+  <string name="swe_eula">Licenčna pogodba s končnim uporabnikom</string>
+  <string name="swe_privacy_policy">Pravilnik o zasebnosti</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Upravlja vaš skrbnik</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Moje krmarjenje</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Zapomni si nastavitev</string>
+  <string name="geolocation_permissions_prompt_share_never">Zavrni za vedno</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Dovoli za 24 ur</string>
+  <string name="geolocation_permissions_prompt_share_forever">Dovoli za vedno</string>
+</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-sq-rAL/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
new file mode 100644
index 0000000..4001513
--- /dev/null
+++ b/res/values-sr/strings.xml
@@ -0,0 +1,740 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Претраживач</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">Изабери фајл за отпремање</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">Отпремање је онемогућено.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Нови таб</string>
+  <string name="browser_tab_crash_snap">Упс, пукло је!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">Поново учитај</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">Нешто неочекивано сде догодило приликом приказа веб странице. Учитај поново или иди на другу страницу.</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Прикривени режим</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Најпосећеније</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Сачувано</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">Додато у омиљене.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">Уклоњено из омиљених.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Пријави се у <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Име</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Лозинка</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Пријави ме</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Сачувај</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Откажи</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">Потврди</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">Достигнут је максималан број URL адреса</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Google Play продавница не постоји у твом уређају.</string>
+  <!-- Menu item -->
+  <string name="page_info">Инфо</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Адреса:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Безбедносно упозорење</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Овај сертификат је неважећи.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">Непозната грешка сертификата.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">Заустављање\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Заустави</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Освежи</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Назад</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Напред</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Адреса</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Налог</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">Додај у</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Нови фолдер</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Уреди фолдер</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">Обриши фолдер</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">Нема подфолдера.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Почетни екран</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Изабери фолдер\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Ознака</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Сачувај</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">Додај ову страницу у омиљене</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Уклони</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Измени</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Додај пречицу</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Обриши</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Уклони</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Уклони</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">Постави као почетну страну</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Додато у омиљене</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">Није могуће сачувати омиљену.</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">Постављена почетна страна.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">Омиљена мора имати име.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">Омиљена мора имати локацију.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">Овај URL није важећи.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">Овај URL не може бити додат у омиљене.</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">од\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">Обриши омиљени \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">Обриши фолдер \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Отвори све у новим табовима</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">Изабери акцију за текст</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">Затвори друге табове</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Омиљени</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Омиљена</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Изабери омиљену</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Историја</string>
+  <!-- Menu item -->
+  <string name="share_page">Дели</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">Додај на почетну страницу</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">Сачувај</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">Чување\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">Није могуће сачувати за читање ван мреже.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> омиљених</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Празан фолдер</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Отвори</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Отвори у новој картици</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">Отвори у новој позадинској картици</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Сачувај везу</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Дели везу</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Копирај</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">Копирај URL адресу везе</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">Сачувај слику</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">Прикажи слику</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">Постави као тапет</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Позови\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Додај контакт</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Пошаљи Е-пошту</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">Мапа</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Дељење преко</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Брисање</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Замени</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Подешавања</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">Подешавање садржаја</string>
+  <string name="pref_content_title_summary">Подешавање веб садржаја</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">Учитај слике</string>
+  <string name="pref_content_load_images_summary">Прикажи слике на веб страницама</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">Искачуће поруке</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">Омогући JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">Отвори у позадини</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">Отварање нових картица иза тренутне картице</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">Почетна страна</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">Подешавање претраживача</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">Избор претраживача</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">Подеси на</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Тренутна страница</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Празна страница</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Подразумевана страница</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Најпосећенији сајтови</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Друго</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Општa</string>
+  <string name="pref_default_site_settings_title">Основно подешавање сајта</string>
+  <string name="pref_site_settings_title">Подешавање сајта</string>
+  <string name="pref_site_settings_info_panel">Информације о сигурности</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Аутоматско попуњавање</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Режим уштеде енергије</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">Смањује потрошњу енергије претраживача</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Ноћни режим</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">Замени боје</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">Аутоматско попуњавање обрасца</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">Попуни веб формулар једним додиром</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="one">%d оглас</item>
+    <item quantity="few">%d оглас</item>
+    <item quantity="other">%d огласи</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="one">%d трагач</item>
+    <item quantity="few">%d трагача</item>
+    <item quantity="other">%d трагачи</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="one">%d опасност од малвера</item>
+    <item quantity="few">%d опасност од малвера</item>
+    <item quantity="other">%d опасност од малвера</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"Блокиран %s. "</item>
+    <item>"Блокирани %1$s и %2$s. "</item>
+    <item>"Блокирани %1$s, %2$s и %3$s. "</item>
+  </string-array>
+  <string name="pref_valid_cert">Важећа SSL потврда. Комуникација је шифрована и идентитет је потврђен.</string>
+  <string name="pref_invalid_cert">Локација има неважећу SSL потврду.</string>
+  <string name="pref_warning_cert">SSL потврда локације има упозорења.</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">Интерфејс</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">Аутоматско попуњавање</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">Подеси текст за аутоматско попуњавање у веб формуларима</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">Укуцај текст који желиш за аутоматско попуњавање у формуларима.</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">Име и Презиме:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">Е-пошта:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Назив компаније:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Адресна линија 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Адреса, поштански фах</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Адресна линија 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Стан, апартман, јединица, зграда, спрат, итд.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">Град/Место:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Држава/Покрајина/Регион:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Поштански број:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Држава:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Телефон:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Неважећи број телефона.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Сачувај</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">Сачуван текст аутоматског попуњавања.</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">Обрисан текст аутоматског попуњавања.</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Обриши</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">Режим штедње батерије омогућен. Претраживач ће се рестартовати.</string>
+  <string name="powersave_dialog_off">Режим штедње батерије онемогућен. Претраживач ће се рестартовати.</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">Претраживач може аутоматски попунити формуларе као овај. Да ли желиш подесити текст за попуњавање?</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">Можеш увек подесити текст за попуњавање из Претраживач Поставке &gt; Аутоматско &gt; попуњавање.</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">Онемогући аутоматско попуњавање</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Заштита</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">Приватност &amp; сигурност</string>
+  <string name="pref_privacy_security_title_summary">Поставке безбедности и сигурности претраживача</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">Изабери ставке за брисање</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">Обриши изабране ставке</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">Обриши изабране ставке у листи</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">Обриши следеће ставке?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">Кеш</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">Брисање садржаја и база података из локалног кеша</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Колачићи и подаци странице</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">Брисање свих колачића и података сајта из прегледача</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">Брисање историје навигације у прегледачу</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">Желите ли да избришете историју навигације прегледача?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">Подаци обрасца</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">Брисање свих сачуваних података образаца</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">Лозинке</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">Брисање свих сачуваних лозинки</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">Локација</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">Приступ локацији</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">Брисање приступа локацији за све веб сајтове</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">Запамти лозинке</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">Запамти податке из обрасца</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">Затражи да \"Не прати\"</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">Прихвати колачиће</string>
+  <string name="pref_security_allow_mic">Микрофон</string>
+  <string name="pref_security_allow_camera">Камера</string>
+  <string name="pref_security_web_refiner">Огласи</string>
+  <string name="pref_security_accept_third_party_cookies">Колачићи треће стране</string>
+  <string name="pref_security_ask_before_using">Питај пре коришћења</string>
+  <string name="pref_security_allowed">Дозвољено</string>
+  <string name="pref_security_not_allowed">Није дозвољено</string>
+  <string name="pref_security_remember">Запамти</string>
+  <string name="pref_security_on">Укључено</string>
+  <string name="pref_security_off">Искључено</string>
+  <string name="pref_website_title">Веб локација</string>
+  <string name="pref_security_add">Додај</string>
+  <string name="pref_security_origin_name">Порекло сајта</string>
+  <string name="pref_security_access_is_allowed">приступ је дозвољен</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">Превуците клизач да бисте подесили одговарајућу величину фонта за читање.</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">Минимална величина фонта</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">Промена величине текста</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">Принудно омогући зум</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">Одбијање захтева веб сајта за контролу понашања зума</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">Приказивање екрана са замењеним бојама</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">Приказивање са замењеним бојама</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">Црно постаје бело и обратно</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">Контраст</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">Напредно</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">Подешавања веб сајта</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">Напредна подешавања за појединачне веб сајтове</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">Врати на подразумевано</string>
+  <string name="pref_extras_reset">Врати на подразумевано</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">Враћање подразумеваних подешавања</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">Желите ли да вратите подешавања на подразумеване вредности?</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">Отклањање грешака</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Кодирање текста</string>
+  <string name="pref_edge_swipe_title">Навигација од ивице</string>
+  <string name="pref_edge_swipe_option_msg">Повлачењем од ивице ће:</string>
+  <string name="pref_temporal_edge_swipe">Кретање кроз историју</string>
+  <string name="pref_spatial_edge_swipe">Промена таба</string>
+  <string name="pref_disable_edge_swipe">Не ради ништа</string>
+  <string name="pref_edge_swipe_option_close">Изабери касније</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">Превуци од ивице да би се кретао</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">Повуци од ивице да промениш картице</string>
+  <string name="pref_edge_swipe_disabled_toast">Повлачење од ивице је онемогућено</string>
+  <string name="pref_edge_swipe_unknown">Одабери понашање</string>
+  <string name="pref_edge_swipe_setup_desc">
+Превуци од ивице да се крећеш по историји.\nОво може бити у конфликту са веб сајтовима који користе акције засноване на повлачењу ивице</string>
+  <string name="pref_edge_enable">Омогући</string>
+  <string name="pref_edge_disable">Онемогући</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">Обојена статусна трака</string>
+  <string name="pref_coloredsb_summary">Статусна трака ће мењати боју на основу посећених страница</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Приступачност</string>
+  <string name="pref_accessibility_title_summary">Величина текста и зумирање</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">Спречи друге апликације да читају садржај веба из ове апликације</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Величина текста</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">Интерактивно</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">Пун екран претраживача</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">Учитавање резултата претраге унапред</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Никад</item>
+    <item>Само преко Wi-Fi</item>
+    <item>Увек</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">Дозволите да прегледач у позадини унапред учита резултате претраге</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">Учитавање веб-странице унапред</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">Дозволи да прегледач у позадини унапред учитава повезане веб-странице</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">Страница коју покушавате да видите садржи већ послате податке („POSTDATA“). Уколико их поново пошаљете, све радње које је образац на страници обавио (нпр. претрага или куповина на мрежи) биће поновљене.</string>
+  <!-- Menu item -->
+  <string name="clear_history">Обриши историју</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">Нема историје прегледача.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Додај омиљени</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Додај</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">Претражите или унесите URL адресу</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">Иди</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">Омиљени и веб-историја</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Дозволи</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Блокирај</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">Достигнуто је ограничење броја картица</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">Не можете да отворите нову картицу док једну не затворите.</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">Искачући прозор је већ отворен</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">Истовремено можете да отворите само један искачући прозор.</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">Нема SD картице</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">SD картица је потребна за преузимање <xliff:g id="filename">%s</xliff:g>.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD картица је недоступна</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">SD картица је заузета. Да бисте омогућили преузимања, у оквиру обавештења додирните Искључи USB складиште.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">Могуће је преузети само URL адресе које садрже „http“ или „https“.</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">Покретање преузимања\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">Претражи Веб</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">Складиште прегледача је пуно</string>
+  <string name="webstorage_outofspace_notification_text">Додирните да бисте ослободили простор.</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">Складиште</string>
+  <string name="webstorage_private_data_title">Приватни подаци</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">Желите ли да избришете све податке које је ускладиштио овај веб сајт?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">Учитавање видео снимка\u2026</string>
+  <string name="website_settings_add_origin">Нови сајт</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">Обриши све</string>
+  <string name="website_settings_clear_all_dialog_message">Желите ли да избришете све податке о веб сајтовима и дозволе за локације?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">Подешавање тапета\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Нема омиљених.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Други омиљени</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">Омиљени на овом уређају још увек нису повезани са Google налогом. Сачувајте oве омиљене тако што ћете их додати на налог. Избришите их уколико не желите да их синхронизујете.</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Избриши омиљене</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Дели</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">Нема више доступних картица</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Преглед</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">Моји омиљени</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Пронађи</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">Захтевај сајт за рачунар</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">Режим читања</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">Учитавање резултата унапред</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">Нема сачуваних страница.</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">Избриши сачувану страницу</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">Емитуј уживо</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Иди назад</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Иди напред</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">Освежи страницу</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">Заустави учитавање странице</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Обележи страницу</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Претражи</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">Започни гласовну претрагу</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Затвори картицу</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Отвори нову картицу</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">Отвори нову картицу без архивирања</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">Обриши унос</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">Менаџер страница</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">Страница без архивирања</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">Сачувана страница</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">Управљање картицама</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">Горе</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">Избриши веб-локацију</string>
+  <string name="my_navigation_edit_label">Уреди веб-локацију</string>
+  <string name="my_navigation_add_label">Додај веб-локацију</string>
+  <string name="my_navigation_add">Додај</string>
+  <string name="my_navigation_delete_msg">Желите ли да избришете веб-локацију?</string>
+  <string name="my_navigation_name">Назив</string>
+  <string name="my_navigation_address">Адреса</string>
+  <string name="website_needs_title">Веб-локација мора да има назив</string>
+  <string name="website_needs_url">Веб-локација мора да има URL адресу</string>
+  <string name="my_navigation_cannot_save_url">Неважећа URL адреса</string>
+  <string name="my_navigation_duplicate_url">URL адреса већ постоји</string>
+  <string name="my_navigation_page_title">Почетна</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">Изаберите како ће се поступати са мултимедијалним фајловима</string>
+  <string name="video_save">Сачувај</string>
+  <string name="video_play">Репродукуј</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">Изађи</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Више информација</string>
+  <string name="download_estore_app">Апликација Estore не постоји на уређају.</string>
+  <string name="estore_url_warning">Покретање Estore апликације није успело, URL адреса је предугачка.</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">Отпремање DRM фајлова није подржано.</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">Излаз из прегледача</string>
+  <string name="exit_browser_msg">Изаберите како желите да изађете из прегледача</string>
+  <string name="exit_minimize">Смањи</string>
+  <string name="exit_quit">Затвори</string>
+  <string name="browser_max_input_title">Достигнут је максималан број карактера</string>
+  <string name="browser_max_input">Унели сте максимално дозвољених <xliff:g id="MAXLIMIT">%s</xliff:g> карактера</string>
+  <string name="duplicated_folder_warning">Фолдер већ постоји</string>
+  <string name="overwrite_bookmark_msg">Већ постоји омиљени са истим именом или адресом. Желите ли да га замените?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">Неважећа путања</string>
+  <string name="path_wrong">Погрешна путања</string>
+  <string name="pref_download_title">Подешавања путање за преузимање</string>
+  <string name="pref_download_path_setting_screen_title">Прилагођена путања за преузимање</string>
+  <string name="download_timeneeded">Време</string>
+  <string name="download_filesize">Величина</string>
+  <string name="download_filepath_label">Путања</string>
+  <string name="download_edit_filename_label">Име</string>
+  <string name="download_no_enough_memory">Нема довољно простора у меморији за преузимање</string>
+  <string name="download_settings_title">Подешавања преузимања</string>
+  <string name="filename_empty_title">Име преузетоф фајла је празно</string>
+  <string name="filename_empty_msg">Име преузетог фајла не сме да буде празно. Унесите важеће име фајла.</string>
+  <string name="unknow_length">Непознат</string>
+  <string name="download_file_exist_msg">Фајл већ постоји. Унесите друго име фајла.</string>
+  <string name="download_file_exist">Фајл већ постоји</string>
+  <string name="time_min">мин</string>
+  <string name="download_path_unavailable_dlg_title">Директоријум за преузимање није доступан</string>
+  <string name="download_path_unavailable_dlg_msg">Промените директоријум за преузимање</string>
+  <string name="activity_not_found">Није пронађена активност за руковање овом намером <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">Име фајла</string>
+  <string name="download_size_hint">Величина</string>
+  <string name="download_eta_hint">ETA</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">Пријем поруке од: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">Безбедносни сертификат</string>
+  <string name="ssl_certificate_is_valid">Овај сертификат је важећи.</string>
+  <string name="version">Верзија</string>
+  <string name="build_date">Датум издања</string>
+  <string name="build_hash">Хаш издања</string>
+  <string name="user_agent">Кориснички агент</string>
+  <string name="help">Помоћ</string>
+  <string name="feedback">Повратне информације</string>
+  <string name="swe_legal">Правне информације</string>
+  <string name="swe_open_source_licenses">Лиценце отвореног кода</string>
+  <string name="swe_eula">Уговор о лиценци са крајњим корисником</string>
+  <string name="swe_privacy_policy">Политика приватности</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">Управљано од твог администратора</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">Моја навигација</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">Запамти подешавања</string>
+  <string name="geolocation_permissions_prompt_share_never">Одбиј заувек</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">Дозволи на 24 сата</string>
+  <string name="geolocation_permissions_prompt_share_forever">Дозволи заувек</string>
+</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
new file mode 100644
index 0000000..fbb1792
--- /dev/null
+++ b/res/values-sv/strings.xml
@@ -0,0 +1,472 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">Webbläsare</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">Ny flik</string>
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">Inkognito-läge</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">Mest besökt</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">Sparade</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">Logga in till <xliff:g id="hostname">%s1</xliff:g> "<xliff:g id="realm">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">Namn</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">Lösenord</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">Logga in</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">Spara</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">Avbryt</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">OK</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <string name="page_info">Info</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">Adress:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">Säkerhetsvarning</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">Certifikatet är ogiltigt.</string>
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">Stoppa</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">Uppdatera</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">Tillbaka</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">Framåt</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">Adress</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">Konto</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">Ny mapp</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">Redigera mapp</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">Hemskärm</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">Välj mapp\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">Etikett</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">Spara</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">Ta bort</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">Redigera</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">Lägg till genväg</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">Ta bort</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">Ta bort</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">Ta bort</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">Bokmärke sparat.</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">Öppna alla i nya flikar</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">Bokmärken</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">Bokmärke</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">Välj ett bokmärke</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">Historik</string>
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">Tom mapp</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">Öppna</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">Öppna i ny flik</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">Spara länk</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">Dela länk</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">Kopiera</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">Ring\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">Lägg till en kontakt</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">Skicka e-post</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">Dela via</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">Rensa</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">Ersätt</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">Inställningar</string>
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>Current page</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>Tom sida</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>Default page</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>Most visited sites</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>Andra</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">Generella</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">Fyll i automatiskt</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">Strömsparläge</string>
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">Nattläge</string>
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">E-post:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">Företagsnamn:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">Adressrad 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">Gatuadress, Box, c/o</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">Adressrad 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">Lägenhet, svit, enhet, byggnad, våning osv.</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">Stat/Provins/Region:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">Postnummer:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">Land:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">Telefon:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">Ogiltigt telefonnummer.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">Spara</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">Ta bort</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">Säkerhet</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <string name="pref_security_on">På</string>
+  <string name="pref_security_off">Av</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">Textkodning</string>
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">Tillgänglighet</string>
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">Textstorlek</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>Never</item>
+    <item>Only on Wi-Fi</item>
+    <item>Alltid</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <string name="clear_history">Rensa historik</string>
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">Lägg till favoriter</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">Lägg till</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">Tillåt</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">Blockera</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">Inga bokmärken.</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">Övriga bokmärken</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">Ta bort bokmärken</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">Dela</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">Förhandsgranska</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">Hitta</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">Tillbaka</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">Framåt</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">Lägg till favoriter</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">Sök</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">Stäng flik</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">Öppna ny flik</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_add">Lägg till</string>
+  <string name="my_navigation_page_title">Hem</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="video_save">Spara</string>
+  <string name="video_play">Spela</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">Om</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_minimize">Minimera</string>
+  <string name="exit_quit">Avsluta</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="download_timeneeded">Tid</string>
+  <string name="download_filesize">Storlek</string>
+  <string name="download_filepath_label">Sökväg</string>
+  <string name="download_edit_filename_label">Namn</string>
+  <string name="unknow_length">Okänd</string>
+  <string name="time_min">min</string>
+  <string name="download_name_hint">Filnamn</string>
+  <string name="download_size_hint">Storlek</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <string name="version">Version</string>
+  <string name="build_date">Byggdatum</string>
+  <string name="help">Hjälp</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-sw/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ta-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-te-rIN/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
new file mode 100644
index 0000000..6a8a65e
--- /dev/null
+++ b/res/values-th/strings.xml
@@ -0,0 +1,734 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">เบราว์เซอร์</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">เลือกไฟล์ที่จะอัปโหลด</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">การอัปโหลดไฟล์ถูกปิดใช้งาน</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">แท็บใหม่</string>
+  <string name="browser_tab_crash_snap">อ๊ะ !</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">โหลดใหม่</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">เกิดสิ่งที่ไม่คาดคิดขึ้นในการแสดงเว็บเพจนี้ โปรดโหลดใหม่ หรือไปที่หน้าอื่น</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">แท็บใหม่ที่ไม่ระบุตัวตน</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">เข้าชมบ่อยที่สุด</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">หน้าที่บันทึกไว้</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">เพิ่มไปยังรายการโปรดแล้ว</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">นำออกจากรายการโปรดแล้ว</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">ลงชื่อเข้าใช้ที่ <xliff:g id="HOSTNAME">%s1</xliff:g> "<xliff:g id="REALM">%s2</xliff:g>\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">ชื่อ</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">รหัสผ่าน</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">ลงชื่อเข้าใช้</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">บันทึก</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">ยกเลิก</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">ตกลง</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">URL ยาวเกินไป</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">ไม่พบเพล์สโตร์บนอุปกรณ์นี้</string>
+  <!-- Menu item -->
+  <string name="page_info">ข้อมูลหน้าเว็บ</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">ที่อยู่:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">คำเตือนเกี่ยวกับความปลอดภัย</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">ใบรับรองนี้ไม่ถูกต้อง</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">ข้อผิดพลาดใบรับรองที่ไม่รู้จัก</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">กำลังหยุด...</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">หยุด</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">รีเฟรช</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">ย้อนกลับ</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">ส่งต่อ</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">ที่อยู่</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">บัญชี</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">เพิ่มใน</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">โฟลเดอร์ใหม่</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">แก้ไขโฟลเดอร์</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">ลบโฟลเดอร์</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">ไม่มีโฟลเดอร์ย่อย</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">หน้าจอหลัก</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">โฟลเดอร์อื่น</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">ป้ายกำกับ</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">บันทึก</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">เพิ่มหน้านี้ในรายการโปรด</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">นำออก</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">แก้ไข</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">เพิ่มทางลัดไปหน้าแรก</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">ลบ</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">ลบออก</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">นำออกจากประวัติ</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">ตั้งเป็นหน้าแรก</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">บันทึกไว้ในรายการโปรดแล้ว</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">ไม่สามารถบันทึกรายการโปรด</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">ตั้งค่าหน้าแรกแล้ว</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">รายการโปรดต้องมีชื่อ</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">รายการโปรดต้องมีที่อยู่</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">URL นี้ไม่ถูกต้อง</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">ไม่สามารถเพิ่ม URL นี้ไปยังรายการโปรดได้</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">จาก\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">ต้องการลบรายการโปรด \"<xliff:g id="Bookmark">%s</xliff:g>\" หรือไม่?</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">ลบโฟลเดอร์ \"<xliff:g id="bookmark">%s</xliff:g>\"?</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">เปิดทั้งหมดในแท็บใหม่</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">เลือกการกระทำสำหรับข้อความ</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">ปิดแท็บอื่นๆ ทั้งหมด</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">รายการโปรด</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">รายการโปรด</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">เลือกรายการโปรด</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">ประวัติ</string>
+  <!-- Menu item -->
+  <string name="share_page">แบ่งปันหน้าเว็บ</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">เพิ่มไปยังหน้าหลัก</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">บันทึก</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">กำลังบันทึก\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">ไม่สามารถบันทึกไว้อ่านแบบออฟไลน์ได้</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="Bookmark_COUNT">%d</xliff:g> รายการโปรด</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">โฟลเดอร์ว่าง</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">เปิด</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">เปิดในแท็บใหม่</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">เปิดในแท็บพื้นหลังใหม่</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">บันทึกลิงก์</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">แบ่งปันลิงก์</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">คัดลอก</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">คัดลอก URL ของลิงก์</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">บันทึกภาพ</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">ดูภาพ</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">ตั้งเป็นวอลเปเปอร์</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">โทร\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">เพิ่มรายชื่อติดต่อ</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">ส่งอีเมล</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">แผนที่</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">แบ่งปันผ่าน</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">ล้าง</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">แทนที่</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">การตั้งค่า</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">ตั้งค่าเนื้อหาเว็บ</string>
+  <string name="pref_content_title_summary">ตั้งค่าเนื้อหาเว็บ</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">โหลดภาพ</string>
+  <string name="pref_content_load_images_summary">แสดงรูปภาพบนหน้าเว็บ</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">ป๊อบอัพ</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">เปิดการใช้งาน JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">เปิดในพื้นหลัง</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">เปิดแท็บใหม่หลังแท็บปัจจุบัน</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">ตั้งค่าหน้าแรก</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">ตั้งค่าเครื่องมือค้นหา</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">เลือกเครื่องมือค้นหา</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">ตั้งค่าเป็น</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>หน้าเว็บปัจจุบัน</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>หน้าว่าง</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>หน้าเว็บเริ่มต้น</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>ไซต์ที่เข้าชมบ่อยที่สุด</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>อื่นๆ</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">ทั่วไป</string>
+  <string name="pref_default_site_settings_title">ตั้งค่าไซต์เริ่มต้น</string>
+  <string name="pref_site_settings_title">ตั้งค่าไซต์</string>
+  <string name="pref_site_settings_info_panel">ข้อมูลความปลอดภัย</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">ป้อนอัตโนมัติ</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">รูปแบบประหยัดพลังงาน</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">ลดพลังงานที่ใช้</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">รูปแบบกลางคืน</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">กลับสี</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">การป้อนฟอร์มอัตโนมัติ</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">กรอกเว็บฟอร์มด้วยการแตะครั้งเดียว</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="other">%d โฆษณา</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="other">%d ผู้ติดตาม</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="other">%d มัลแวร์คุกความ</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"บล็อค %s "</item>
+    <item>"บล็อค %1$s และ %2$s "</item>
+    <item>"บล็อค %1$s, %2$s และ %3$s. "</item>
+  </string-array>
+  <string name="pref_valid_cert">ใบรับรอง SS ถูกต้อง การสื่อสารนี้ถูกเข้ารหัสและยืนยันตัวตนได้</string>
+  <string name="pref_invalid_cert">ไซต์นี้มีใบรับรอง SSL ทีไม่ถูกต้อง</string>
+  <string name="pref_warning_cert">ไซต์นี้มีคำเตือนเรื่องใบรับรอง SSL</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">ส่วนติดต่อผู้ใช้</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">ป้อนข้อความอัตโนมัติ</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">ตั้งค่าข้อความเพื่อป้อนอัตโนมัติในเว็บฟอร์ม</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">พิมพ์ข้อความที่คุณต้องการป้อนอัตโนมัติในเว็บฟอร์ม</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">ชื่อเต็ม:</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">อีเมล:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">ชื่อบริษัท:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">บรรทัดที่อยู่ 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">เลขที่ ตู้ป.ณ. ชื่อผู้รับ</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">บรรทัดที่อยู่ 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">อพาร์ทเมนท์ ห้องชุด ห้อง อาคาร ชั้น ฯลฯ</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">อำเภอ:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">รัฐ/จังหวัด/ภูมิภาค:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">รหัสไปรษณีย์:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">ประเทศ:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">โทรศัพท์:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">หมายเลขโทรศัพท์ไม่ถูกต้อง</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">บันทึก</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">บันทึกการป้อนข้อความอัตโนมัติแล้ว</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">ลบการป้อนข้อความอัตโนมัติแล้ว</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">ลบ</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">รูปแบบประหยัดพลังงานถูกเปิด เบราว์เซอร์จะถูกเริ่มต้นใหม่</string>
+  <string name="powersave_dialog_off">รูปแบบประหยัดพลังงานถูกปิด เบราว์เซอร์จะถูกเริ่มต้นใหม่</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">เบราว์เซอร์สามารถกรอกเว็บฟอร์มโดยอัตโนมัติได้เหมือนกับฟอร์มนี้ คุณต้องการตั้งค่าการป้อนข้อความอัตโนมัติหรือไม่</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">คุณสามารถตั้งค่าการป้อนข้อความอัตโนมัติจากหน้าจอเบราว์เซอร์ &gt; การตั้งค่า &gt; ทั่วไป ได้เสมอ</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">ปิดใช้งานการป้อนอัตโนมัติ</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">การรักษาความปลอดภัย</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">ข้อมูลส่วนบุคคลและความปลอดภัย</string>
+  <string name="pref_privacy_security_title_summary">ตั้งค่าความปลอดภัยและความเป็นส่วนตัว</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">สิ่งที่เลือกจะถูกล้าง</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">ลบสิ่งที่เลือก</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">ลบสิ่งที่เลือกในรายการ</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">ลบรายการเหล่านี้?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">ล้างแคช</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">ล้างเนื้อหาและฐานข้อมูลที่เก็บไว้ในเครื่อง</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">ล้างข้อมูลคุกกี้และข้อมูลไซต์ทั้งหมด</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">ล้างคุกกี้และข้อมูลไซต์ทั้งหมดของเบราว์เซอร์</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">ล้างประวัติการนำทางเบราว์เซอร์</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">ลบประวัติการนำทางในเบราว์เซอร์หรือไม่?</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">ข้อมูลฟอร์ม</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">ล้างข้อมูลในฟอร์มที่บันทึกไว้ทั้งหมด</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">รหัสผ่าน</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">ล้างรหัสผ่านที่บันทึกไว้ทั้งหมด</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">ตำแหน่ง</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">การเข้าถึงตำแหน่ง</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">ล้างการเข้าถึงตำแหน่งสำหรับทุกเว็บไซต์</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">จำรหัสผ่าน</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">จำข้อมูลในฟอร์ม</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">ต้องการใช้ \'ห้ามติดตาม\'</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">ยอมรับคุกกี้</string>
+  <string name="pref_security_allow_mic">ไมโครโฟน</string>
+  <string name="pref_security_allow_camera">กล้องถ่ายรูป</string>
+  <string name="pref_security_web_refiner">โฆษณา</string>
+  <string name="pref_security_accept_third_party_cookies">คุกกี้ของบุคคลที่สาม</string>
+  <string name="pref_security_ask_before_using">ถามก่อนใช้งาน</string>
+  <string name="pref_security_allowed">อนุญาต</string>
+  <string name="pref_security_not_allowed">ไม่อนุญาต</string>
+  <string name="pref_security_remember">จำไว้</string>
+  <string name="pref_security_on">เปิด</string>
+  <string name="pref_security_off">ปืด</string>
+  <string name="pref_website_title">เว็บไซต์</string>
+  <string name="pref_security_add">เพิ่ม</string>
+  <string name="pref_security_origin_name">จุดกำเนิดไซต์</string>
+  <string name="pref_security_access_is_allowed">อนุญาตการเข้าถึง</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">ลากแถบเลื่อนเพื่อกำหนดขนาดตัวอักษรให้อ่านง่าย</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">ขนาดอักษรเล็กสุด</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="FONT_SIZE">%d</xliff:g> pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">อัตราส่วนข้อความ</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">บังคับเปิดใช้งานการขยาย</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">แทนที่คำขอควบคุมการซูมของไซต์</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">การแสดงผลหน้าจอกลับสี</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">การแสดงผลกลับสี</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">สีดำกลายเป็นสีขาวและกลับกัน</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">ความเปรียบต่าง</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">ขั้นสูง</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">การตั้งค่าเว็บไซต์</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">การตั้งค่าขั้นสูงสำหรับเว็บไซต์แต่ละเว็บ</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">รีเซ็ตเป็นค่าเริ่มต้น</string>
+  <string name="pref_extras_reset">รีเซ็ต</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">คืนค่าเริ่มต้น</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">ย้อนกลับไปยังการตั้งค่าเริ่มต้นหรือไม่</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">แก้ไขข้อบกพร่อง</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">การเข้ารหัสข้อความ</string>
+  <string name="pref_edge_swipe_title">การนำทางโดยขอบ</string>
+  <string name="pref_edge_swipe_option_msg">ปัดจากขอบจะ:</string>
+  <string name="pref_temporal_edge_swipe">ย้อนกลับตามประวัติ</string>
+  <string name="pref_spatial_edge_swipe">เปลี่ยนแท็บ</string>
+  <string name="pref_disable_edge_swipe">ไม่ทำอะไร</string>
+  <string name="pref_edge_swipe_option_close">เลือกภายหลัง</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">ปัดจากขอบเพื่อนำทาง</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">ปัดจากขอบเพื่อเปลี่ยนแท็บ</string>
+  <string name="pref_edge_swipe_disabled_toast">ปัดจากขอบถูกปิดการใช้งาน</string>
+  <string name="pref_edge_swipe_unknown">เลือกกาทำงาน</string>
+  <string name="pref_edge_swipe_setup_desc">
+ปัดจากขอบเพื่อนำทางผ่านประวัติ\nความสามารถนี้อาจขัดแย้งกับเว็บไซต์ที่ใช้การนำทางผ่านขอบ</string>
+  <string name="pref_edge_enable">เปิดใช้งาน</string>
+  <string name="pref_edge_disable">ปิด</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">สีแถบสถานะ</string>
+  <string name="pref_coloredsb_summary">แถบสถานะจะเปลี่ยนสีตามที่หน้าเว็บนั้นได้กำหนดไว้</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">การเข้าถึง</string>
+  <string name="pref_accessibility_title_summary">ขนาดตัวอักษรและการขยาย</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">ป้องกันไม่ให้แอปอื่นอ่านเนื้อหาจากหน้าเว็บบนแอปนี้</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">ขนาดข้อความ</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">เต็มหน้าจอ</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">ทำให้เบราว์เซอร์เต็มจอ</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">โหลดผลการค้นหาล่วงหน้า</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>ไม่ต้องเลย</item>
+    <item>เมื่อใช้ Wi-Fi เท่านั้น</item>
+    <item>ทุกครั้ง</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">อนุญาตให้เบราว์เซอร์โหลดผลการค้นหาที่เชื่อถือได้สูงก่อนล่วงหน้าในเบื้องหลัง</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">โหลดหน้าเว็บล่วงหน้า</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">อนุญาตให้เบราว์เซอร์โหลดหน้าเว็บที่ลิงก์กันล่วงหน้าในพื้นหลัง</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">หน้าเว็บที่คุณพยายามดูมีข้อมูลที่ส่งไปแล้ว (\"POSTDATA\") หากคุณส่งข้อมูลซ้ำ การทำงานใดๆ ของแบบฟอร์มบนหน้าเว็บนั้น (เช่น การค้นหาหรือซื้อออนไลน์) จะถูกทำซ้ำ</string>
+  <!-- Menu item -->
+  <string name="clear_history">ล้างประวัติ</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">ไม่มีประวัติเบราว์เซอร์</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">เพิ่มรายการโปรด</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">เพิ่ม</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">ค้นหาหรือพิมพ์ URL</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">ไป</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">รายการโปรดและประวัติเว็บ</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">อนุญาต</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">บล็อค</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">แท็บถึงขีดจำกัดแล้ว</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">ไม่สามารถเปิดแท็บใหม่จนกว่าคุณจะปิดแท็บหนึ่งก่อน</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">ป๊อปอัปเปิดอยู่แล้ว</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">เปิดได้ครั้งละหนึ่งป๊อปอัปเท่านั้น</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">ไม่มีการ์ด SD</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">ต้องมีการ์ด SD เพื่อดาวน์โหลด <xliff:g id="FILENAME">%s</xliff:g></string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">การ์ด SD ใช้งานไม่ได้</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">การ์ด SD ถูกใช้งานอยู่ หากต้องการอนุญาตให้ดาวน์โหลด ให้แตะ \"ปิดที่จัดเก็บข้อมูล USB\" ในการแจ้งเตือน</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">ดาวน์โหลดได้เฉพาะ URL \"http\" หรือ \"https\"</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">เริ่มต้นดาวน์โหลด\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">ค้นหาเว็บ</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">พื้นที่จัดเก็บของเบราว์เซอร์เต็ม</string>
+  <string name="webstorage_outofspace_notification_text">แตะเพื่อเพิ่มพื้นที่ว่าง</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">ล้างข้อมูลที่เก็บไว้</string>
+  <string name="webstorage_private_data_title">ข้อมูลส่วนตัว</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">ลบข้อมูลทั้งหมดที่เก็บไว้โดยเว็บไซต์นี้หรือไม่?</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">กำลังโหลดวิดีโอ\u2026</string>
+  <string name="website_settings_add_origin">ไซต์ใหม่</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">ล้างทั้งหมด</string>
+  <string name="website_settings_clear_all_dialog_message">ลบข้อมูลเว็บไซต์และการอนุญาตให้เข้าถึงตำแหน่งทั้งหมดหรือไม่?</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">กำลังตั้งค่าวอลเปเปอร์\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">ไม่มีรายการโปรด</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">รายการโปรดอื่นๆ</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">รายการโปรดในอุปกรณ์นี้ยังไม่ได้เชื่อมโยงกับบัญชี Google บันทึกรายการโปรดเหล่านี้ด้วยการเพิ่มรายการโปรดลงในบัญชี ลบรายการโปรดเหล่านี้หากคุณไม่ต้องการซิงค์</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">ลบรายการโปรด</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">แบ่งปัน</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">ไม่สามารถใช้แท็บเพิ่มได้</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">แสดงตัวอย่าง</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">รายการโปรดของฉัน</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">ค้นหา</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">ขอหน้าเว็บแบบเดสก์ท็อป</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">รูปแบบผู้อ่าน</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">โหลดผลลัพธ์ล่วงหน้า</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">ไม่มีหน้าเว็บที่บันทึกไว้</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">ลบหน้าที่บันทึกไว้</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">ไปที่หน้าสด</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">ย้อนกลับ</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">ไปข้างหน้า</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">รีเฟรชหน้าเว็บ</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">หยุดโหลดหน้าเว็บ</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">เพิ่มไปยังรายการโปรด</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">ค้นหา</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">เริ่มต้นการค้นหาด้วยเสียง</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">ปิดแท็บ</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">เปิดแท็บใหม่</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">เปิดแท็บใหม่ที่ไม่ระบุตัวตน</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">ล้างการป้อนข้อมูล</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">ตัวจัดการหน้า</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">หน้าไม่ระบุตัวตน</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">หน้าที่บันทึกไว้</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">การจัดการแท็บ</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">ก่อนหน้า</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">ลบเว็บไซต์</string>
+  <string name="my_navigation_edit_label">แก้ไขเว็บไซต์</string>
+  <string name="my_navigation_add_label">เพิ่มเว็บไซต์</string>
+  <string name="my_navigation_add">เพิ่ม</string>
+  <string name="my_navigation_delete_msg">ลบเว็บไซต์?</string>
+  <string name="my_navigation_name">ชื่อเรื่อง</string>
+  <string name="my_navigation_address">ที่อยู่</string>
+  <string name="website_needs_title">เว็บไซต์ต้องมีชื่อเรื่อง</string>
+  <string name="website_needs_url">เว็บไซต์ต้องมี URL</string>
+  <string name="my_navigation_cannot_save_url">URL ไม่ถูกต้อง</string>
+  <string name="my_navigation_duplicate_url">มี URL นี้อยู่แล้ว</string>
+  <string name="my_navigation_page_title">หน้าแรก</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">กรุณาเลือกวิธีการเปิดไฟล์สื่อ</string>
+  <string name="video_save">บันทึก</string>
+  <string name="video_play">เล่น</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">ออก</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">เกี่ยวกับ</string>
+  <string name="download_estore_app">ไม่พบอีสโตร์บนอุปกรณ์นี้</string>
+  <string name="estore_url_warning">ไม่สามารถเปิดอีสโตร์ได้ URL ยาวเกินไป</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">ไม่สนับสนุนการอัปโหลดไฟล์ DRM</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">ออกจากเบราว์เซอร์</string>
+  <string name="exit_browser_msg">กรุณาเลือกวิธีการออกจากเบราว์เซอร์</string>
+  <string name="exit_minimize">ย่อขนาด</string>
+  <string name="exit_quit">ออก</string>
+  <string name="browser_max_input_title">ถึงจำนวนตัวอักษรสูงสุดแล้ว</string>
+  <string name="browser_max_input">คุณกรอกข้อมูลเกินกำหนด <xliff:g id="MAXLIMIT">%s</xliff:g> ตัวอักษร</string>
+  <string name="duplicated_folder_warning">มีโฟลเดอร์นี้อยู่แล้ว</string>
+  <string name="overwrite_bookmark_msg">มีชื่อหรือที่อยู่ของสิ่งที่ชอบนี้อยู่แล้ว เขียนทับไหม?</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">เส้นทางไม่ถูกต้อง</string>
+  <string name="path_wrong">เส้นทางไม่ถูกต้อง</string>
+  <string name="pref_download_title">ตั้งค่าพาธการดาวน์โหลด</string>
+  <string name="pref_download_path_setting_screen_title">พาธการดาวน์โหลดที่กำหนดเอง</string>
+  <string name="download_timeneeded">เวลา</string>
+  <string name="download_filesize">ขนาด</string>
+  <string name="download_filepath_label">เส้นทาง</string>
+  <string name="download_edit_filename_label">ชื่อ</string>
+  <string name="download_no_enough_memory">หน่วยความจำไม่เพียงพอสำหรับการดาวน์โหลด</string>
+  <string name="download_settings_title">ตั้งค่าการดาวน์โหลด</string>
+  <string name="filename_empty_title">ชื่อไฟล์ดาวน์โหลดว่างเปล่า</string>
+  <string name="filename_empty_msg">ชื่อไฟล์ดาวน์โหลดไม่สามารถเว้นว่างได้ กรุณากรอกชื่อไฟล์</string>
+  <string name="unknow_length">ไม่รู้จัก</string>
+  <string name="download_file_exist_msg">มีไฟล์นี้อยู่แล้ว กรุณากรอกชื่อใหม่</string>
+  <string name="download_file_exist">มีไฟล์นี้อยู่แล้ว</string>
+  <string name="time_min">นาที</string>
+  <string name="download_path_unavailable_dlg_title">ไม่สามารถใช้งานโฟลเดอร์ดาวน์โหลดได้</string>
+  <string name="download_path_unavailable_dlg_msg">กรุณาแก้ไขโฟลเดอร์ดาวน์โหลด</string>
+  <string name="activity_not_found">ไม่พบกิจกรรมที่จะเรียกใช้งาน: <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">ขนาดไฟล์</string>
+  <string name="download_size_hint">ขนาด</string>
+  <string name="download_eta_hint">เวลา</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">ได้รับข้อความจาก: <xliff:g id="FROM">%s</xliff:g>.</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">ใบรับรองความปลอดภัย</string>
+  <string name="ssl_certificate_is_valid">ใบรับรองนี้ถูกต้อง</string>
+  <string name="version">รุ่น</string>
+  <string name="build_date">วันที่สร้าง</string>
+  <string name="build_hash">วันที่เข้ารหัส</string>
+  <string name="user_agent">ตัวแทนผู้ใช้</string>
+  <string name="help">ช่วยเหลือ</string>
+  <string name="feedback">ความคิดเห็น</string>
+  <string name="swe_legal">ข้อมูลทางกฏหมาย</string>
+  <string name="swe_open_source_licenses">ใบอนุญาตโอเพนซอร์ส</string>
+  <string name="swe_eula">ข้อตกลงสิทธิ์ผู้ใช้งาน</string>
+  <string name="swe_privacy_policy">นโยบายความเป็นส่วนตัว</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">จัดการโดยผู้ดูแลระบบของคุณ</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">การนำทางของฉัน</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">จำการตั้งค่า</string>
+  <string name="geolocation_permissions_prompt_share_never">ปฏิเสธตลอดไป</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">อนุญาตสำหรับ 24 ชั่วโมง</string>
+  <string name="geolocation_permissions_prompt_share_forever">อนุญาตตลอดไป</string>
+</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-tr/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ug/strings.xml b/res/values-ug/strings.xml
new file mode 100644
index 0000000..697769c
--- /dev/null
+++ b/res/values-ug/strings.xml
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">تور كۆرگۈچ</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">يۈكلەيدىغان ھۆججەتنى تاللاڭ</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">ھۆججەت يۈكلەش چەكلەنگەن.</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">يېڭى بەتكۈچ</string>
+  <string name="browser_tab_crash_snap">ئەستا، چاتاق بولدى!</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">قايتا يۈكلەش</string>
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">يوشۇرۇن ھالەت</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">ئەڭ كۆپ زىيارەت</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">ساقلاندى</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">يىغقۇچقا قوشۇلدى.</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">يىغقۇچتىن چىقىرىۋېتىش.</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to"><xliff:g id="Hostname">%s1</xliff:g>"<xliff:g id="Realm">%s2</xliff:g>غا تىزىملىتىپ كىرىڭ\"</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">ئىسمى</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">پارول</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">تىزىمغا كىرىش</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">ساقلاش</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">ۋاز كېچىش</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">جەزىملەش</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">بەتكۈچ سانى چېكىگە يەتتى</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <string name="page_info">ئۇچۇرى</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">ئادرېس:</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">بىخەتەرلىك ئاگاھلاندۇرۇشى</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">بۇ گۇۋاھنامە ئىناۋەتسىز.</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">يوچۇن گۇۋاھنامە خاتالىقى.</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">توختىتىۋاتىدۇ\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">توختىتىش</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">يېڭىلاش</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">قايتىش</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">ئالدىغا</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">ئادرېس</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">ھېسابات</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">غا قوشۇش</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">يېڭى قىسقۇچ</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">قىسقۇچنى تەھرىرلەش</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">قىسقۇچنى ئۆچۈرۈش</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">تارماق قىسقۇچ يوق.</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">باش ئېكران</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">ماركا</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">ساقلاش</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">چىقىرىۋېتىش</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">تەھرىرلەش</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">قىسقا يول قوشۇش</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">ئۆچۈرۈش</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">چىقىرىۋېتىش</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">چىقىرىۋېتىش</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">باش بەت قىلىش</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">يىغقۇچقا قوشۇلدى</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">باش بەت تەڭشەك.</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">بۇ URL ئىناۋەتلىك ئەمەس.</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">مەنبەسى\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning"><xliff:g id="Bookmark">%s</xliff:g>يىغقۇچنى ئۆچۈرەمدۇ؟</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning"><xliff:g id="Bookmark">%s</xliff:g>ھۆججەت قىسقۇچنى ئۆچۈرەمدۇ؟</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">ھەممىنى يېڭى بەتكۈچتە ئېچىش</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">تېكىستكە ئېلىپ بېرىلىدىغان مەشغۇلاتنى تاللاڭ</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">باشقا بەتكۈچلەرنى تاقاش</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">يىغقۇچ</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">يىغقۇچ</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">تارىخ</string>
+  <!-- Menu item -->
+  <string name="share_page">ھەمبەھىر</string>
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">ساقلاش</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">ساقلاۋاتىدۇ\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">تورسىز ئوقۇش ئۈچۈن ساقلىيالمىدى.</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="Bookmark_COUNT">%d</xliff:g> يىغقۇچ</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">بوش قىسقۇچ</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">ئېچىش</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">يېڭى بەتكۈچتە ئېچىش</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">ئۇلانما ساقلاش</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">ئۇلانمىنى ھەمبەھىرلەش</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">كۆچۈرۈش</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">ئۇلانما تور ئادرېسىنى كۆچۈرۈش</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">سۈرەتنى ساقلاش</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">سۈرەتنى كۆرۈش</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">تام قەغەز تەڭشىكى</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">ئالاقىداشقا قوشۇش</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">ئېلخەت يوللاش</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">خەرىتە</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">بىلەن ھەمبەھىرلەش</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">تازىلاش</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">ئالماشتۇرۈش</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">تەڭشەكلەر</string>
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <string name="pref_content_load_images">سۈرەت يۈكلەش</string>
+  <string name="pref_content_load_images_summary">تور بەتتىكى سۈرەتنى كۆرسىتىش</string>
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <string name="pref_content_javascript">JavaScript نى قوزغىتىش</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">ئارقىدا ئېچىش</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">نۆۋەتتىكى بەتكۈچنىڭ كەينىدە يېڭى كۆزنەك ئېچىش</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">باش بەت</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">ئىزدەش ماتورى</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">ئىزدەش ماتورىدىن بىرنى تاللاڭ</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">تەڭشەك</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>نۆۋەتتىكى بەت</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>بوش بەت</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>كۆڭۈلدىكى بەت</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>دائىم زىيارەت قىلىدىغان تورتۇرالار</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>باشقا</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">ئادەتتىكى</string>
+  <string name="pref_default_site_settings_title">كۆڭۈلدىكى توربەت تەڭشىكى</string>
+  <string name="pref_site_settings_title">تور بېكەت تەڭشىكى</string>
+  <string name="pref_site_settings_info_panel">بىخەتەرلىك ئۇچۇرى</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">ئۆزلۈكىدىن تولدۇرۇش</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">كېچە ھالىتى</string>
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">ئېلخەت:</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">شىركەت ئىسمى:</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">ئادرېس قۇرى 1:</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">ئادرېس قۇرى 2:</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">شەھەر/بازار:</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">دۆلەت/شتات/ئۆلكە/رايون:</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">پوچتا نومۇر:</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">دۆلەت:</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">تېلېفون:</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">ئىناۋەتسىز تېلېفون نومۇرى.</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">غەملەك</string>
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <string name="pref_security_allow_camera">كامېرا</string>
+  <string name="pref_security_on">ئوچۇق</string>
+  <string name="pref_security_off">تاقاش</string>
+  <string name="pref_website_title">تور بېكەت</string>
+  <string name="pref_security_add">قوشۇش</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">تېكىست چوڭلىقى</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">ئاق-قارىلىقى</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">ئالىي</string>
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <string name="pref_extras_reset">ئەسلىگە قايتۇرۇش</string>
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">سازلاش</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">تېكست كودلىنىشى</string>
+  <string name="pref_edge_enable">قوزغىتىش</string>
+  <string name="pref_edge_disable">چەكلەش</string>
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">قوشۇمچە ئىقتىدار</string>
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">تېكىست چوڭلۇقى</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">ئىزدەش نەتىجىسىنى ئالدىن يۈكلەۋاتىدۇ</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>ھەرگىز</item>
+    <item>پەقەت Wi-Fi دىلا</item>
+    <item>ھەمىشە</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">تور بەتنى ئالدىن يۈكلەش</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <string name="clear_history">ئىزنا تازىلاش</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">توركۆرگۈچ تارىخى يوق.</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">يىغقۇچقا قوشۇش</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">قوشۇش</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">يۆتكىلىش</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">رۇخسەت قىلىش</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">توسۋېلىش</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">بەتكۈچ سانى چېكىگە يەتتى</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">SD كارتا يوق</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">SD كارتا بولسا ئاندىن \"<xliff:g id="FILENAME">%s</xliff:g> نى چۈشۈرەلەيدۇ.</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD كارتىنى ئىشلەتكىلى بولمايدۇ</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">SD كارتا ئالدىراش. چۈشۈرۈشكە يول قويۇش ئۈچۈن، ئۇقتۇرۇشتىن «USB ساقلىغۇچنى تاقا»نى تاللاڭ.</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">HTTP ۋە HTTPS تور ئادرېسلىرىدىنلا چۈشۈرەلەيدۇ.</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">چۈشۈرۈشنى باشلاۋاتىدۇ\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">تور بېكەت ئىزدەش</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">توركۆرگۈ ساقلىغۇچىسى توشتى</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">ساقلىغۇچ</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">بۇ تورتۇرا ساقلىغان ھەممە سانلىق مەلۇماتلارنى ئۆچۈرەمدۇ؟</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">سىن يۈكلەۋاتىدۇ\u2026</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">ھەممىنى تازىلاش</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">بەت ساقلاش</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">بەتكۈچ باشقۇرۇش</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_add">قوشۇش</string>
+  <string name="my_navigation_name">ماۋزۇ</string>
+  <string name="my_navigation_address">ئادرېس</string>
+  <string name="my_navigation_page_title">باش بەت</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="video_save">ساقلاش</string>
+  <string name="video_play">قويۇش</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">چېكىنىش</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">ھەققىدە</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_quit">چېكىنىش</string>
+  <string name="duplicated_folder_warning">ھۆججەت قىسقۇچ مەۋجۇت</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="download_timeneeded">ۋاقىت</string>
+  <string name="download_filesize">چوڭلۇقى</string>
+  <string name="download_filepath_label">يول</string>
+  <string name="download_edit_filename_label">ئىسمى</string>
+  <string name="unknow_length">يوچۇن</string>
+  <string name="download_file_exist">ھۆججەت مەۋجۇت</string>
+  <string name="time_min">مىنۇت</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">يولباشچى</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">مايىللىق تەڭشەكنى ئەستە تۇتۇڭ</string>
+</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-uk/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-ur-rPK/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-uz-rUZ/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-vi/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..a4c0708
--- /dev/null
+++ b/res/values-zh-rCN/strings.xml
@@ -0,0 +1,734 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <string name="application_name">浏览器</string>
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <string name="choose_upload">选择要上传的文件</string>
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <string name="uploads_disabled">上传已被禁用。</string>
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <string name="new_tab">新标签页</string>
+  <string name="browser_tab_crash_snap">啊哦，糟糕了！</string>
+  <!-- Crash tab button text -->
+  <string name="browser_tab_crash_reload">重新加载</string>
+  <!-- Crash tab View message -->
+  <string name="browser_tab_crash_message">在显示此标签页时遇到一些意外情况。请重新加载或跳转至其他页面。</string>
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <string name="new_incognito_tab">隐身模式</string>
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <string name="tab_most_visited">最多访问</string>
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <string name="tab_snapshots">已保存</string>
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <string name="added_to_bookmarks">已添加到收藏夹。</string>
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <string name="removed_from_bookmarks">已从收藏夹移除。</string>
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <string name="sign_in_to">登录到 <xliff:g id="hostname">%s1</xliff:g> “<xliff:g id="realm">%s2</xliff:g>”</string>
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <string name="username">用户名</string>
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <string name="password">密码</string>
+  <!-- The label on the "sign in" button -->
+  <string name="action">登录</string>
+  <!-- The name of the add bookmark page activity.-->
+  <string name="bookmarks_add_page">保存</string>
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <string name="cancel">取消</string>
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <string name="ok">确定</string>
+  <!-- Message to be displayed if url character limit exceeds -->
+  <string name="max_url_character_limit_msg">已达到最大网址长度限制</string>
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <string name="msg_no_google_play">Google Play 商店未安装在您的设备上。</string>
+  <!-- Menu item -->
+  <string name="page_info">信息</string>
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <string name="page_info_address">地址︰</string>
+  <!-- Title for an SSL error dialog  -->
+  <string name="security_warning">安全警告</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_invalid">此证书是无效的。</string>
+  <!-- Message in an SSL Error dialog -->
+  <string name="ssl_unknown">未知的证书错误。</string>
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <string name="stopping">正在停止\u2026</string>
+  <!-- Menu item to stop the current page from loading. -->
+  <string name="stop">停止</string>
+  <!-- Menu item to reload or refresh the current page. -->
+  <string name="reload">刷新</string>
+  <!-- Menu item to go back to the previous page -->
+  <string name="back">返回</string>
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <string name="forward">前进</string>
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <string name="location">地址</string>
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <string name="account">帐户</string>
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <string name="containing_folder">添加至</string>
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <string name="new_folder">新建文件夹</string>
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <string name="edit_folder">修改文件夹</string>
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <string name="delete_folder">删除文件夹</string>
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <string name="no_subfolders">没有子文件夹。</string>
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <string name="add_to_homescreen_menu_option">主屏幕</string>
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <string name="add_to_other_folder_menu_option">选择文件夹\u2026</string>
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <string name="name">标签</string>
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <string name="save_to_bookmarks">保存</string>
+  <!-- Title of the dialog to bookmark a page -->
+  <string name="bookmark_this_page">添加此页至收藏夹</string>
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <string name="remove">移除</string>
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <string name="edit_bookmark">编辑</string>
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <string name="create_shortcut_bookmark">添加快捷方式</string>
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <string name="remove_bookmark">删除</string>
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <string name="remove_from_bookmarks">移除</string>
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <string name="remove_history_item">移除</string>
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <string name="set_as_homepage">设置为主页</string>
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <string name="bookmark_saved">已添加到收藏夹</string>
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <string name="bookmark_not_saved">无法保存收藏。</string>
+  <!-- Toast confirming that the homepage has been set -->
+  <string name="homepage_set">主页已设置。</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <string name="bookmark_needs_title">收藏必须具有一个名称。</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <string name="bookmark_needs_url">收藏必须具有一个地址。</string>
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <string name="bookmark_url_not_valid">此网址不是有效的。</string>
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <string name="bookmark_cannot_save_url">此网址无法添加到收藏夹。</string>
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <string name="current_page">来自\u0020</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <string name="delete_bookmark_warning">删除收藏 “<xliff:g id="bookmark">%s</xliff:g>”？</string>
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <string name="delete_folder_warning">删除文件夹 “<xliff:g id="bookmark">%s</xliff:g>”？</string>
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <string name="open_all_in_new_window">全部在新标签页中打开</string>
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <string name="sendText">选择文本的操作</string>
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <string name="close_other_tabs">关闭其他标签页</string>
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <string name="bookmarks">收藏夹</string>
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <string name="shortcut_bookmark">收藏</string>
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <string name="shortcut_bookmark_title">选择一个收藏</string>
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <string name="history">历史</string>
+  <!-- Menu item -->
+  <string name="share_page">分享</string>
+  <!-- Menu item for saving link to homescreen -->
+  <string name="add_to_homescreen">添加到主屏幕</string>
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <string name="menu_save_snapshot">保存</string>
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <string name="saving_snapshot">正在保存\u2026</string>
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <string name="snapshot_failed">不能保存为离线阅读。</string>
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <string name="contextheader_folder_bookmarkcount"><xliff:g id="bookmark_count">%d</xliff:g> 个收藏夹</string>
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <string name="contextheader_folder_empty">空文件夹</string>
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <string name="contextmenu_openlink">打开</string>
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <string name="contextmenu_openlink_newwindow">在新标签页中打开</string>
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <string name="contextmenu_openlink_newwindow_background">在新的后台标签页中打开</string>
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <string name="contextmenu_savelink">保存链接</string>
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <string name="contextmenu_sharelink">分享链接</string>
+  <!-- Context Menu item -->
+  <string name="contextmenu_copy">复制</string>
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <string name="contextmenu_copylink">复制链接网址</string>
+  <!-- Context Menu item to save the image to external storage -->
+  <string name="contextmenu_download_image">保存图片</string>
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <string name="contextmenu_view_image">查看图片</string>
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <string name="contextmenu_set_wallpaper">设为壁纸</string>
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <string name="contextmenu_dial_dot">拨号\u2026</string>
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <string name="contextmenu_add_contact">添加联系人</string>
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <string name="contextmenu_send_mail">发送电子邮件</string>
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <string name="contextmenu_map">地图</string>
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <string name="choosertitle_sharevia">分享方式：</string>
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <string name="clear">清空</string>
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <string name="replace">替换</string>
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <string name="menu_preferences">设置</string>
+  <!-- Settings screen, section title -->
+  <string name="pref_content_title">内容设置</string>
+  <string name="pref_content_title_summary">网页内容设置</string>
+  <!-- Settings label -->
+  <string name="pref_content_load_images">载入图片</string>
+  <string name="pref_content_load_images_summary">在网页上显示图像</string>
+  <!-- Settings label -->
+  <string name="pref_security_allow_popups">弹出窗口</string>
+  <!-- Settings label -->
+  <string name="pref_content_javascript">启用 JavaScript</string>
+  <!-- Settings label -->
+  <string name="pref_content_open_in_background">在后台打开</string>
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <string name="pref_content_open_in_background_summary">在当前标签后方打开新标签页</string>
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <string name="pref_content_homepage">主页</string>
+  <!-- Settings label -->
+  <string name="pref_content_search_engine">搜索引擎</string>
+  <!-- Settings summary -->
+  <string name="pref_content_search_engine_summary">选择搜索引擎</string>
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <string name="pref_set_homepage_to">设置为</string>
+  <string-array name="pref_homepage_choices">
+    <!-- Setting choice to set the homepage to the current page [CHAR LIMIT=40] -->
+    <item>当前页</item>
+    <!-- Setting choice to set the homepage to a blank page [CHAR LIMIT=40] -->
+    <item>空白页</item>
+    <!-- Setting choice to set the homepage to the default page [CHAR LIMIT=40] -->
+    <item>默认页</item>
+    <!-- Setting choice to set the homepage to the "Most Visited" homepage feature, which is a list of most visited sites [CHAR LIMIT=40] -->
+    <item>最常访问的网站</item>
+    <!-- Setting choice to set the homepage to a user entered URL [CHAR LIMIT=40] -->
+    <item>其他</item>
+  </string-array>
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <string name="pref_general_title">常规</string>
+  <string name="pref_default_site_settings_title">默认站点设置</string>
+  <string name="pref_site_settings_title">站点设置</string>
+  <string name="pref_site_settings_info_panel">安全信息</string>
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <string name="pref_general_autofill_title">自动填充</string>
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <string name="pref_powersave_enabled">省电模式</string>
+  <!-- Settings summary for the powersave feature. -->
+  <string name="pref_powersave_enabled_summary">减少浏览器耗电</string>
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <string name="pref_nightmode_enabled">夜晚模式</string>
+  <!-- Settings summary for the night mode feature. -->
+  <string name="pref_nightmode_enabled_summary">反转颜色</string>
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_enabled">自动填充表格</string>
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_enabled_summary">一次触摸填充页面表格</string>
+  <plurals name="pref_web_refiner_advertisements">
+    <item quantity="other">%d 个广告</item>
+  </plurals>
+  <plurals name="pref_web_refiner_trackers">
+    <item quantity="other">%d 个追踪器</item>
+  </plurals>
+  <plurals name="pref_web_refiner_malware">
+    <item quantity="other">%d 个恶意软件威胁</item>
+  </plurals>
+  <string-array name="pref_web_refiner_message">
+    <item>"%s 已被阻止。"</item>
+    <item>"%1$s 和 %2$s 已被阻止。 "</item>
+    <item>"%1$s 、%2$s 和 %3$s 已被阻止。 "</item>
+  </string-array>
+  <string name="pref_valid_cert">有效的 SSL 证书。通讯已加密并且身份已验证。</string>
+  <string name="pref_invalid_cert">网站的 SSL 证书无效。</string>
+  <string name="pref_warning_cert">网站的 SSL 证书含有警告。</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_interface_title">界面</string>
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <string name="pref_autofill_profile_editor">自动填充</string>
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <string name="pref_autofill_profile_editor_summary">设置网页表格自动填充的文本</string>
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <string name="autofill_profile_editor_heading">键入您想在网页表格中自动填充的文本。</string>
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_name">全名︰</string>
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_email_address">邮件：</string>
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_company_name">公司名称︰</string>
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_1">地址行1：</string>
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_1_hint">街道地址、信箱号、转交人</string>
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_address_line_2">地址行2：</string>
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <string name="autofill_profile_editor_address_line_2_hint">公寓、套房、单元、大楼、楼层等。</string>
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_city">城/镇︰</string>
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_state">州/省/地区︰</string>
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_zip_code">邮政编码：</string>
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_country">国家：</string>
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number">电话：</string>
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <string name="autofill_profile_editor_phone_number_invalid">电话号码无效。</string>
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_save_profile">保存</string>
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_save">自动填充文本已保存。</string>
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <string name="autofill_profile_successful_delete">自动填充文本已删除。</string>
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <string name="autofill_profile_editor_delete_profile">删除</string>
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <string name="powersave_dialog_on">省电模式已启用。浏览器将重新启动。</string>
+  <string name="powersave_dialog_off">省电模式已禁用。浏览器将重新启动。</string>
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_message">此浏览器可以像这样自动填充网页表格。您想要设置您的自动填充文本吗？</string>
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <string name="autofill_setup_dialog_negative_toast">您总是可以从 浏览器 &gt; 设置 &gt; 自动填充 里设置您的自动填充文本。</string>
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <string name="disable_autofill">禁用自动填充</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_security_title">安全</string>
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <string name="pref_privacy_security_title">隐私 &amp; 安全</string>
+  <string name="pref_privacy_security_title_summary">浏览器安全和隐私设置</string>
+  <!-- Popup dialog -->
+  <string name="pref_select_items">选择要清除的项目</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_selected">清除选定项</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_selected_summary">清除此列表中已选择的项目</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_selected_dlg">清除以下项目？</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cache">缓存</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cache_summary">清除本地缓存的内容和数据库</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_cookies">Cookie 和站点数据</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_cookies_summary">清除所有的浏览器 Cookie 和站点数据</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_history_summary">清除浏览器导航历史</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_privacy_clear_history_dlg">删除浏览器导航历史？</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_form_data">表单数据</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_form_data_summary">清除所有已保存的表单数据</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_passwords">密码</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_passwords_summary">清除所有已保存的密码</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_enable_geolocation">位置</string>
+  <!-- Settings label -->
+  <string name="pref_privacy_clear_geolocation_access">位置访问</string>
+  <!-- Settings summary -->
+  <string name="pref_privacy_clear_geolocation_access_summary">清除所有网站的位置访问权限</string>
+  <!-- Settings label -->
+  <string name="pref_security_remember_passwords">记住密码</string>
+  <!-- Settings label -->
+  <string name="pref_security_save_form_data">记住表单数据</string>
+  <!-- Settings Label -->
+  <string name="pref_do_not_track">请求“不跟踪”（Do Not Track）</string>
+  <!-- Settings label -->
+  <string name="pref_security_accept_cookies">接受 Cookie</string>
+  <string name="pref_security_allow_mic">麦克风</string>
+  <string name="pref_security_allow_camera">相机</string>
+  <string name="pref_security_web_refiner">广告</string>
+  <string name="pref_security_accept_third_party_cookies">第三方 Cookie</string>
+  <string name="pref_security_ask_before_using">在使用之前询问</string>
+  <string name="pref_security_allowed">已允许</string>
+  <string name="pref_security_not_allowed">不允许</string>
+  <string name="pref_security_remember">记住</string>
+  <string name="pref_security_on">开</string>
+  <string name="pref_security_off">关</string>
+  <string name="pref_website_title">网站</string>
+  <string name="pref_security_add">添加</string>
+  <string name="pref_security_origin_name">网站来源</string>
+  <string name="pref_security_access_is_allowed">允许访问</string>
+  <!-- Settings text size options - displays sample font size in settings -->
+  <string name="pref_sample_font_size">拖动滑块以调整字体大小来设置所需的舒适阅读尺寸。</string>
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <string name="pref_min_font_size">最小字体尺寸</string>
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <string name="pref_min_font_size_value"><xliff:g id="font_size">%d</xliff:g>pt</string>
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <string name="pref_text_zoom">文本缩放</string>
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable">强制启用缩放</string>
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <string name="pref_force_userscalable_summary">覆盖网站的控制缩放行为的请求</string>
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_inverted_category">反色屏幕渲染</string>
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <string name="pref_inverted">反色渲染</string>
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <string name="pref_inverted_summary">黑白反转</string>
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <string name="pref_inverted_contrast">对比度</string>
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <string name="pref_extras_title">高级</string>
+  <!-- Settings label -->
+  <string name="pref_extras_website_settings">单个站点设置</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_website_settings_summary">单个网站的高级设置</string>
+  <!-- Settings label -->
+  <string name="pref_extras_reset_default">重置为默认设置</string>
+  <string name="pref_extras_reset">重置</string>
+  <!-- Settings summary -->
+  <string name="pref_extras_reset_default_summary">恢复默认设置</string>
+  <!-- Confirmation dialog message -->
+  <string name="pref_extras_reset_default_dlg">要将设置恢复为默认值吗？</string>
+  <!-- Title for a group of settings -->
+  <string name="pref_development_title">调试</string>
+  <!-- Settings screen, setting option name -->
+  <string name="pref_default_text_encoding">文本编码</string>
+  <string name="pref_edge_swipe_title">边缘导航</string>
+  <string name="pref_edge_swipe_option_msg">从边缘滑动将︰</string>
+  <string name="pref_temporal_edge_swipe">历史导航</string>
+  <string name="pref_spatial_edge_swipe">切换标签</string>
+  <string name="pref_disable_edge_swipe">不进行任何操作</string>
+  <string name="pref_edge_swipe_option_close">稍后选择</string>
+  <string name="pref_temporal_edge_swipe_enabled_toast">从边缘滑动以导航</string>
+  <string name="pref_spatial_edge_swipe_enabled_toast">从边缘滑动以切换标签</string>
+  <string name="pref_edge_swipe_disabled_toast">边缘滑动已被禁用</string>
+  <string name="pref_edge_swipe_unknown">选择行为</string>
+  <string name="pref_edge_swipe_setup_desc">
+　　从边缘滑动以进行历史导航。\n此功能可能会和网站自身基于边缘的导航功能冲突。</string>
+  <string name="pref_edge_enable">启用</string>
+  <string name="pref_edge_disable">禁用</string>
+  <!-- Colored statusbar -->
+  <string name="pref_coloredsb_title">彩色状态栏</string>
+  <string name="pref_coloredsb_summary">状态栏会基于访问的页更改颜色</string>
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <string name="pref_accessibility_title">辅助功能</string>
+  <string name="pref_accessibility_title_summary">文本大小和缩放</string>
+  <!-- LookLock -->
+  <string name="pref_looklock_title">LookLock</string>
+  <string name="pref_looklock_summary">防止其他应用从该应用读取网页视图内容</string>
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <string name="pref_font_size_category">文本大小</string>
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <string name="pref_lab_fullscreen">沉浸模式</string>
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <string name="pref_lab_fullscreen_summary">使浏览器全屏</string>
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <string name="pref_data_preload_title">搜索结果预加载</string>
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <string-array name="pref_temporal_choices">
+    <item>永不</item>
+    <item>仅 Wi-Fi</item>
+    <item>总是</item>
+  </string-array>
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <string name="pref_data_preload_summary">允许浏览器后台预读取搜索结果</string>
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <string name="pref_link_prefetch_title">网页预读</string>
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <string name="pref_link_prefetch_summary">允许浏览器后台预读取网页链接</string>
+  <!-- Dialog box message -->
+  <string name="browserFrameFormResubmitMessage">您想要查看的网页所包含的数据已经提交（“POSTDATA”）。如果您重新发送数据，将重复发送此网页上的内容 （如搜索或在线购买） 。</string>
+  <!-- Menu item -->
+  <string name="clear_history">清除历史</string>
+  <!-- Appears on History screen if no history is found -->
+  <string name="empty_history">没有浏览器历史记录。</string>
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <string name="add_new_bookmark">添加到收藏夹</string>
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <string name="add_bookmark_short">添加</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <string name="search_hint">搜索或输入网址</string>
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <string name="search_button_text">转到</string>
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <string name="search_settings_description">收藏夹和网页历史记录</string>
+  <!-- Label for a button to allow a particular popup window to open -->
+  <string name="allow">允许</string>
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <string name="block">屏蔽</string>
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_title">已达标签数量上限</string>
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <string name="too_many_windows_dialog_message">关闭一个标签页前您不能打开一个新标签页。您无聊吗\u003f</string>
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_title">弹出窗口已经打开</string>
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <string name="too_many_subwindows_dialog_message">一次只能打开一个弹出窗口。</string>
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <string name="download_no_sdcard_dlg_title" product="default">无 SD 卡</string>
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <string name="download_no_sdcard_dlg_msg" product="default">下载 <xliff:g id="filename">%s</xliff:g> 需要 SD 卡。</string>
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <string name="download_sdcard_busy_dlg_title" product="default">SD 卡不可用</string>
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <string name="download_sdcard_busy_dlg_msg" product="default">SD 卡正在忙碌。若要允许下载，请在通知栏点击“关闭 USB 存储”。</string>
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <string name="cannot_download">只能下载“HTTP”或“HTTPS”的网址。</string>
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <string name="download_pending">正在开始下载\u2026</string>
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <string name="search_the_web">搜索互联网</string>
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <string name="webstorage_outofspace_notification_title">浏览器存储已满</string>
+  <string name="webstorage_outofspace_notification_text">点击以释放空间。</string>
+  <!-- Used in the Browser Settings -->
+  <string name="webstorage_clear_data_title">存储</string>
+  <string name="webstorage_private_data_title">隐私数据</string>
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <string name="webstorage_clear_data_dialog_message">删除此网站保存的所有数据？</string>
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <string name="loading_video">正在加载视频\u2026</string>
+  <string name="website_settings_add_origin">新网站</string>
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <string name="website_settings_clear_all">清除所有</string>
+  <string name="website_settings_clear_all_dialog_message">删除所有网站数据和位置权限吗？</string>
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <string name="progress_dialog_setting_wallpaper">正在设置壁纸\u2026</string>
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <string name="empty_bookmarks_folder">没有收藏。</string>
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <string name="other_bookmarks">其他收藏夹</string>
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <string name="import_bookmarks_dialog_description">此设备上的收藏夹仍未与 Google 帐户相关联。将这些书签添加到账号中以保存它们。如果您不想同步这些书签，请删除它们。</string>
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <string name="import_bookmarks_dialog_remove">删除收藏夹</string>
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <string name="menu_share_url">分享</string>
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <string name="max_tabs_warning">没有更多可用标签</string>
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <string name="preview">预览</string>
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <string name="local_bookmarks">我的收藏</string>
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <string name="find_on_page">查找</string>
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <string name="ua_switcher_desktop">桌面网站</string>
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <string name="enable_reader_mode">阅读模式</string>
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <string name="permission_preload_label">预载入结果</string>
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <string name="empty_snapshots_folder">没有已保存的页面。</string>
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <string name="remove_snapshot">删除已保存的页面</string>
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <string name="snapshot_go_live">转至在线版</string>
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_back">返回</string>
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_forward">前进</string>
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_refresh">刷新页面</string>
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_stop">停止页面加载</string>
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_addbookmark">添加到收藏夹</string>
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_search">搜索</string>
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_voice">开始语音搜索</string>
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_closetab">关闭标签页</string>
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newtab">打开新标签页</string>
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_newincognitotab">打开新的隐身标签页</string>
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_clear">清除输入</string>
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_navscreen">页面管理器</string>
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_incognito">隐身页面</string>
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <string name="accessibility_state_frozen">已保存页面</string>
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <string name="accessibility_transition_navscreen">标签管理</string>
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <string name="accessibility_button_bookmarks_folder_up">向上</string>
+  <!--Add for Navigation Feature -->
+  <string name="my_navigation_delete_label">删除网站</string>
+  <string name="my_navigation_edit_label">编辑网站</string>
+  <string name="my_navigation_add_label">添加网站</string>
+  <string name="my_navigation_add">添加</string>
+  <string name="my_navigation_delete_msg">删除网站？</string>
+  <string name="my_navigation_name">标题</string>
+  <string name="my_navigation_address">地址</string>
+  <string name="website_needs_title">网站必须有一个标题</string>
+  <string name="website_needs_url">网站必须有一个网址</string>
+  <string name="my_navigation_cannot_save_url">无效的网址</string>
+  <string name="my_navigation_duplicate_url">网址已存在</string>
+  <string name="my_navigation_page_title">首页</string>
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <string name="http_video_msg">请选择如何处理媒体文件</string>
+  <string name="video_save">保存</string>
+  <string name="video_play">播放</string>
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <string name="exit">退出</string>
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <string name="about">关于</string>
+  <string name="download_estore_app">Estore 未安装在您的设备上。</string>
+  <string name="estore_url_warning">无法启动 Estore，网址太长。</string>
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <string name="drm_file_unsupported">不支持上传 DRM 文件。</string>
+  <!-- Add for exit prompt Feature -->
+  <string name="exit_browser_title">退出浏览器</string>
+  <string name="exit_browser_msg">请选择如何退出浏览器</string>
+  <string name="exit_minimize">最小化</string>
+  <string name="exit_quit">退出</string>
+  <string name="browser_max_input_title">已达到最大字符数限制</string>
+  <string name="browser_max_input">您输入的字符数已达到 <xliff:g id="MAXLIMIT">%s</xliff:g> 个字符的最大限制</string>
+  <string name="duplicated_folder_warning">文件夹已存在</string>
+  <string name="overwrite_bookmark_msg">收藏的名称或地址已存在。要覆盖它吗？</string>
+  <!-- Add for download save path setting Feature -->
+  <string name="invalid_path">无效路径</string>
+  <string name="path_wrong">错误的路径</string>
+  <string name="pref_download_title">下载路径设置</string>
+  <string name="pref_download_path_setting_screen_title">自定义下载路径</string>
+  <string name="download_timeneeded">时间</string>
+  <string name="download_filesize">大小</string>
+  <string name="download_filepath_label">路径</string>
+  <string name="download_edit_filename_label">名称</string>
+  <string name="download_no_enough_memory">内存不足，无法下载</string>
+  <string name="download_settings_title">下载设置</string>
+  <string name="filename_empty_title">下载文件名为空</string>
+  <string name="filename_empty_msg">下载文件名不能为空。请输入一个有效的文件名。</string>
+  <string name="unknow_length">未知</string>
+  <string name="download_file_exist_msg">文件已存在。请输入新的文件名。</string>
+  <string name="download_file_exist">文件已存在</string>
+  <string name="time_min">分钟</string>
+  <string name="download_path_unavailable_dlg_title">下载目录不可用</string>
+  <string name="download_path_unavailable_dlg_msg">请修改下载目录</string>
+  <string name="activity_not_found">没有活动可以处理该事件：<xliff:g id="NOACTIVITY">%s</xliff:g></string>
+  <string name="download_name_hint">文件名</string>
+  <string name="download_size_hint">大小</string>
+  <string name="download_eta_hint">剩余时间</string>
+  <!-- Toast message displayed when the full screen received message -->
+  <string name="received_message_full_screen">接收来自 <xliff:g id="FROM">%s</xliff:g> 的信息。</string>
+  <!-- Snapdragon Browser Additions -->
+  <string name="ssl_certificate">安全证书</string>
+  <string name="ssl_certificate_is_valid">此证书是有效的。</string>
+  <string name="version">版本</string>
+  <string name="build_date">编译日期</string>
+  <string name="build_hash">编译散列</string>
+  <string name="user_agent">用户代理</string>
+  <string name="help">帮助</string>
+  <string name="feedback">反馈</string>
+  <string name="swe_legal">法律信息</string>
+  <string name="swe_open_source_licenses">开源许可</string>
+  <string name="swe_eula">最终用户许可协议</string>
+  <string name="swe_privacy_policy">隐私政策</string>
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <string name="mdm_managed_alert">由您的管理员管理</string>
+  <!-- My Navigation - Favorites + History + Saved -->
+  <string name="mystuffs">我的导航</string>
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+  <string name="geolocation_permissions_prompt_remember">记住首选项</string>
+  <string name="geolocation_permissions_prompt_share_never">总是拒绝</string>
+  <string name="geolocation_permissions_prompt_share_for_limited_time">24 小时内允许</string>
+  <string name="geolocation_permissions_prompt_share_forever">总是允许</string>
+</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-zh-rHK/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-zh-rTW/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
new file mode 100644
index 0000000..37a5ccc
--- /dev/null
+++ b/res/values-zu/strings.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!-- Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<!DOCTYPE resources [
+<!ENTITY about SYSTEM "about.xml">
+]>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <!-- The name of the application. -->
+  <!-- Displayed with a file picker to choose a file to upload -->
+  <!-- Toast to show the user after they try to open the file picker but no apps on the
+         system can provide a file [CHAR-LIMIT=NONE]-->
+  <!-- Name of menu item of a new tab.  Also used in the title bar when displaying a new tab -->
+  <!-- Crash tab View title -->
+  <!-- Crash tab button text -->
+  <!-- Crash tab View message -->
+  <!-- Name of menu item of a new incognito tab.  Also used in the
+         title bar when displaying a new tab [CHAR LIMIT=30] -->
+  <!-- Name of tab containing the user's most visited websites, organized by number of visits -->
+  <!-- Name of tab containing the user's saved pages, organized by time created [CHAR LIMIT=20] -->
+  <!-- Toast shown when a history item's star is clicked, converting it to a bookmark -->
+  <!-- Toast shown when a history item's star is clicked off, removing its bookmark -->
+  <!-- Sign-in dialog -->
+  <!-- This is used as the title of a dialog which is used to sign in to a secure site.
+            "%s1"is replaced with the host and "%s2" with realm -->
+  <!-- Prompt for an input box that allows the user to enter their login name -->
+  <!-- Prompt for an input box that allows the user to enter their password -->
+  <!-- The label on the "sign in" button -->
+  <!-- The name of the add bookmark page activity.-->
+  <!-- Label for a cancel button.  It is used for multiple cancel buttons in different contexts -->
+  <!-- Label for a confirm button.  Used in multiple contexts. -->
+  <!-- Message to be displayed if url character limit exceeds -->
+  <!-- Message to be displayed when google play store does not exist on the device -->
+  <!-- Menu item -->
+  <!-- Page Info dialog strings -->
+  <!-- Noun.  The url for the current page. Displayed on the Page Info
+            screen. -->
+  <!-- Title for an SSL error dialog  -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Message in an SSL Error dialog -->
+  <!-- Toast informing the user that loading has stopped for the current page. -->
+  <!-- Menu item to stop the current page from loading. -->
+  <!-- Menu item to reload or refresh the current page. -->
+  <!-- Menu item to go back to the previous page -->
+  <!-- Menu item to go to the next page (only useful if the user has previously hit back.) -->
+  <!-- Field label in Bookmark dialog box: refers to URL of the page to bookmark -->
+  <!-- Field label in Bookmark dialog box: refers to the account to save the bookmark to -->
+  <!-- Field label in Bookmark dialog box: refers to the folder in which to save the bookmark -->
+  <!-- Default name for a new folder and label for a button that allows the user to create a new folder
+         in the add bookmark dialog -->
+  <!-- Context menu item to edit a folder [CHAR LIMIT=50] -->
+  <!-- Context menu item to delete a folder [CHAR LIMIT=50] -->
+  <!-- Label stating that the currently open folder has no subfolders
+         in the add bookmark dialog [CHAR-LIMIT=none]-->
+  <!-- Menu item to save the newly created bookmark to the home screen. [CHAR-LIMIT=30]-->
+  <!-- Menu item to open a picker to determine which folder to save a bookmark in. [CHAR-LIMIT=30]-->
+  <!-- Field label in Bookmark dialog box: title that the user wishes to use for the bookmark -->
+  <!-- Menu item that opens a dialog to save a bookmark for the current page [CHAR LIMIT=30] -->
+  <!-- Also used as title for AddBookmarkPage -->
+  <!-- Title of the dialog to bookmark a page -->
+  <!-- Option on bookmark dialog to remove the bookmark [CHAR LIMIT=30] -->
+  <!-- Menu item on the bookmarks page, to edit an existing bookmark -->
+  <!-- Context menu item to create a shortcut to the bookmark on the desktop [CHAR LIMIT=50] -->
+  <!-- Menu item to remove the currently highlighted bookmark-->
+  <!-- Context menu item to remove a history item from bookmarks -->
+  <!-- Menu item to remove the currently highlighted history entry from the list of previously visited sites -->
+  <!-- Context menu item for setting the bookmark/history item as the homepage -->
+  <!-- Toast informing the user that their action to save a bookmark has succeeded -->
+  <!-- Toast informing the user that their action to save a bookmark did not succeed -->
+  <!-- Toast confirming that the homepage has been set -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Name field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with empty Location field -->
+  <!-- Error that appears in the title of Bookmark dialog when user selects OK with invalid URL -->
+  <!-- Error that appears in the Bookmark dialog when user selects OK with a URL of a type we cannot bookmark -->
+  <!-- Summary text under the New Bookmark item on the Bookmarks screen.
+            Tells the user that if they select this item, it will bring up a
+            dialog to bookmark the page that the browser is currently viewing,
+            though it is not currently being displayed, since they are viewing
+            the bookmarks screen. -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+            the bookmark they selected for deletion -->
+  <!-- Confirmation dialog message confirming that the user wishes to delete
+               the folder they selected for deletion -->
+  <!-- Context menu item to open every bookmark in a folder in new tabs [CHAR LIMIT=50] -->
+  <!-- Displayed in title of chooser dialog for text sent to another app,e.g-send text via SMS or IM-->
+  <!-- Menu item to close all other tabs [CHAR LIMIT=40] -->
+  <!-- Menu item to open the bookmarks page and name of the Tab in the combo view -->
+  <!-- Secondary name for the Activity "BrowserBookmarksPage" -->
+  <!-- Title for the activity asking the user to select a bookmark [CHAR LIMIT=50] -->
+  <!-- Menu item to display the History of previously visited pages and the name of the combo view
+        Tab-->
+  <!-- Menu item -->
+  <!-- Menu item for saving link to homescreen -->
+  <!-- Menu item for saving a page for offline reading. This is a view-only snapshot of the page. [CHAR LIMIT=50] -->
+  <!-- Dialog message that is shown while saving a page for offline reading. [CHAR LIMIT=50] -->
+  <!-- Toast informing the user that saving the page for offline reading has failed. [CHAR LIMIT=50] -->
+  <!-- The number of bookmarks in a folder [CHAR LIMT=50] -->
+  <!-- No bookmarks in the folder [CHAR LIMIT=50] -->
+  <!-- Context Menu item open the currently selected link in the current
+            window.-->
+  <!-- Context Menu item to open the currently selected link in a new
+            window. -->
+  <!-- Context Menu item to open the currently selected link in a new
+         background window. [CHAR LIMIT=50] -->
+  <!-- Context Menu item to save the webpage referred to by this link to the
+            SD card (external storage) -->
+  <!-- Context Menu item to send the url of the selected link to someone else,
+            via Gmail or another app [CHAR LIMIT=50] -->
+  <!-- Context Menu item -->
+  <!-- Context Menu item to copy the url of the selected link to the
+            clipboard -->
+  <!-- Context Menu item to save the image to external storage -->
+  <!-- Context Menu item to view the image by itself in the browser -->
+  <!-- Context Menu item to set the image as the home screen wallpaper -->
+  <!-- Context Menu item to open the dialer app with the selected phone number
+            -->
+  <!-- Context Menu item to add the selected phone number to the address book.
+            -->
+  <!-- Context Menu item to send an email using the selected email address.-->
+  <!-- Context Menu item to show the currently selected address in the Maps
+            application -->
+  <!-- Title of the dialog used for selecting the application that should be
+            used for sharing a link (e.g. Gmail or another app). See also
+            contextmenu_sharelink above -->
+  <!-- Used as the title of dialogs in the Browser Settings confirming that
+            the user wants to clear (cache, history, or cookie data) -->
+  <!-- Part of a sentence that says "Replace <url of existing bookmark> with
+            <url of new bookmark>?" -->
+  <!-- Settings screen strings -->
+  <!-- Menu item to open the Settings screen -->
+  <!-- Settings screen, section title -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary [CHAR LIMIT=50]-->
+  <!-- Settings label [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings button label that to pick what to set the homepage to [CHAR LIMIT=40] -->
+  <!-- Settings screen & section title for "General settings". These include things like
+         configuring bookmark syncing to Google servers and form auto fill settings. [CHAR-LIMIT=32] -->
+  <!-- Settings category for autofill under general. [CHAR-LIMIT=50] -->
+  <!-- Checkbox setting for enabling/disabling power save mode feature -->
+  <!-- Settings summary for the powersave feature. -->
+  <!-- Checkbox setting for enabling/disabling night mode feature -->
+  <!-- Settings summary for the night mode feature. -->
+  <!-- Checkbox setting for enabling/disabling the form AutoFill feature [CHAR-LIMIT=32] -->
+  <!-- Settings summary for the form AutoFill feature. [CHAR-LIMIT=none] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Label for option that when clicked opens the AutoFill settings screen. Also used as the title of that AutoFill Settings screen. [CHAR-LIMIT=32] -->
+  <!-- Summary for the AutoFill Settings preference [CHAR-LIMIT=none] -->
+  <!-- Heading for the AutoFill profile editor to tell the user what AutoFill does and why they should fill out the profile. [CHAR-LIMIT=None] -->
+  <!-- String for the user's full name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's e-mail address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's company name in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the first line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the first line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the second line of the user's address in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to suggest to the user the kind of data to be used for the second line of the address. CHAR-LIMIT=64] -->
+  <!-- String for the user's city or town in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's state or province or region in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's zip code in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's country in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String for the user's phone number in the AutoFill profile editor. [CHAR-LIMIT=32] -->
+  <!-- String to display in an error tooltip to inform the user the phone number they provided is not valid. [CHAR-LIMIT=32] -->
+  <!-- Button text to save the AutoFill profile [CHAR-LIMIT=20] -->
+  <!-- Toast message displayed when the profile has been successfully saved [CHAR-LIMIT=none] -->
+  <!-- Toast message displayed when the profile has been successfully deleted [CHAR-LIMIT=none] -->
+  <!-- Button text to delete all the AutoFill profile data [CHAR-LIMIT=20] -->
+  <!-- Text on toast shown to the user when power save mode is enabled or disabled -->
+  <!-- Text on a dialog shown to the user when they are prompted to set up the autofill feature [CHAR-LIMIT=NONE] -->
+  <!-- Toast message displayed when the user decides to not set up autofill at this time. We want to remind them that they can configure
+         it through the Browser Settings menu. [CHAR-LIMIT=NONE] -->
+  <!-- Text on a checkbox in the "setup autofill" dialog which is shown to the user when they are prompted to set up the autofill feature.
+         The checkbox allows them to specify they would like to disable the feature altogether [CHAR-LIMIT=NONE] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Settings screen, section title [CHAR-LIMIT=50] -->
+  <!-- Popup dialog -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings label -->
+  <!-- Settings Label -->
+  <!-- Settings label -->
+  <!-- Settings text size options - displays sample font size in settings -->
+  <!-- Label for minimum font size [CHAR LIMIT=30] -->
+  <!-- Label for the current minimum font size value [CHAR LIMIT=6] -->
+  <!-- Label for text scaling (percent) [CHAR LIMIT=30] -->
+  <!-- Label for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Summary for whether or not to force-enable user scalablity (aka, zoom) [CHAR LIMIT=30] -->
+  <!-- Inverted screen category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the inverted screen feature. This causes the screen to render with inverted colors (black becomes white and vice versa) [CHAR LIMIT=40] -->
+  <!-- Summary for the inverted screen feature. [CHAR LIMIT=120] -->
+  <!-- Title for the inverted screen contrast. Change the contrast value from 1.0 to 3.0. [CHAR LIMIT=30] -->
+  <!-- Settings screen, section title [CHAR LIMIT=50] -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Settings label -->
+  <!-- Settings summary -->
+  <!-- Confirmation dialog message -->
+  <!-- Title for a group of settings -->
+  <!-- Settings screen, setting option name -->
+  <!-- Colored statusbar -->
+  <!-- Title for accessibility settings [CHAR LIMIT=25] -->
+  <!-- LookLock -->
+  <!-- Font size settings category under accessibility settings [CHAR LIMIT=50] -->
+  <!-- Title for the fullscreen lab feature [CHAR LIMIT=40] -->
+  <!-- Summary for the fullscreen lab feature [CHAR LIMIT=120] -->
+  <!-- Title for search preloading [CHAR LIMIT=40] -->
+  <!-- Search preloading options [CHAR LIMIT=20] -->
+  <!-- Link prefetching options [CHAR LIMIT=20] -->
+  <!-- Summary for search preloading [CHAR LIMIT=80] -->
+  <!-- Title for link prefetching [CHAR LIMIT=40] -->
+  <!-- Summary for link prefetching [CHAR LIMIT=80] -->
+  <!-- Dialog box message -->
+  <!-- Menu item -->
+  <!-- Appears on History screen if no history is found -->
+  <!-- Displayed at the top of the bookmarks page.  When clicked, it bookmarks the page the browser is currently showing -->
+  <!-- Verb placed in front of a screenshot of a web page that, when clicked,
+            will add that page to bookmarks -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the hint text shown in the Go To widget, before text is entered. -->
+  <!-- This string is for the browser "Go To" UI. -->
+  <!-- This is the button label in the "Go To" UI. -->
+  <!-- The string used to describe the browser as a searchable item within system search settings. -->
+  <!-- Label for a button to allow a particular popup window to open -->
+  <!-- Label for a button to disallow a particular popup from opening -->
+  <!-- Title for a dialog informing the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Message in a dialog telling the user that they cannot open any more
+            windows because the limit has been reached. -->
+  <!-- Title for a dialog informing the user that they cannot open a subwindow
+            because only one can be open at a time. -->
+  <!-- Message for a dialog informing the user that they cannot open a
+            subwindow because only one can be open at a time. -->
+  <!-- Download History UI strings -->
+  <!-- Dialog title [CHAR LIMIT=25] -->
+  <!-- Dialog title -->
+  <!-- Dialog message [CHAR LIMIT=NONE] -->
+  <!-- Dialog message -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything [CHAR LIMIT=25] -->
+  <!-- Title for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage [CHAR LIMIT=NONE] -->
+  <!-- Message for a dialog informing the user that the SD card used for
+            external storage is busy so they cannot download anything.  Informs
+            the user how to enable SD card storage -->
+  <!-- Toast for a download which cannot begin because the URL is not http or https -->
+  <!-- Message in the list of items which have received download requests
+            telling their status.  This message states that the download has not
+            yet begun -->
+  <!-- The description of the suggestion that lets the user search the web for the query currently
+         in the text field. -->
+  <!-- HTML5 dialogs -->
+  <!-- Used as a status bar notification when the browser is running out of space trying to allocate or increase the database quota for an HTML5 databae or application cache. -->
+  <!-- Used in the Browser Settings -->
+  <!-- Confirmation dialog when the user ask to clear all data for an origin -->
+  <!-- String shown in a progress view while a video is loading, before it starts playing -->
+  <!-- Label for the menu item in the website settings activity used to clear data stored by all websites -->
+  <!-- Text in the progress dialog when we are setting an image as the home screen wallpaper. -->
+  <!-- The string that is displayed when there are no bookmarks to display.
+         This is centered in the middle of the screen [CHAR LIMIT=NONE] -->
+  <!-- The folder name for the special "Other Bookmarks" folder created by Chrome [CHAR LIMIT=24] -->
+  <!-- Description for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=none] -->
+  <!-- Button allowing users to remove all of their existing bookmarks when setting up syncing with their bookmarks stored in Google Chrome [CHAR-LIMIT=64] -->
+  <!-- Url Selection Action Mode -->
+  <!-- Menu item to share URL selection [CHAR LIMIT=30] -->
+  <!-- Toast to inform the user that the maximum number of tabs has been
+         reached. [CHAR LIMIT=50] -->
+  <!-- Font size preview label in settings [CHAR LIMIT=30] -->
+  <!-- Name for the user's unsynced, local bookmarks [CHAR LIMIT=50] -->
+  <!-- allows the user to find on webpage [CHAR LIMIT=None] -->
+  <!-- Popup menu checkbox that allows the user to request the desktop version of a webpage [CHAR LIMIT=50] -->
+  <!-- Popup menu checkbox that loads the reader mode version of the current webpage -->
+  <!-- Preload permission label [CHAR LIMIT=40] -->
+  <!-- Empty text for the "saved pages" tab that is shown when no saved pages exist. [CHAR LIMIT=None] -->
+  <!-- Menu option to delete the currently selected saved page [CHAR LIMIT=50] -->
+  <!-- Popup menu option to load the live version of a saved page [CHAR LIMIT=20] -->
+  <!--  Accessibility content descriptions -->
+  <!-- Content description for back button [CHAR LIMIT=NONE] -->
+  <!-- Content description for forward button [CHAR LIMIT=NONE] -->
+  <!-- Content description for refresh button [CHAR LIMIT=NONE] -->
+  <!-- Content description for stop button [CHAR LIMIT=NONE] -->
+  <!-- Content description for add bookmark button [CHAR LIMIT=NONE] -->
+  <!-- Content description for search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for voice search button [CHAR LIMIT=NONE] -->
+  <!-- Content description for close tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for new incognito tab button [CHAR LIMIT=NONE] -->
+  <!-- Content description for clear button [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher button [CHAR LIMIT=NONE] -->
+  <!-- Content description for incognito state [CHAR LIMIT=NONE] -->
+  <!-- Content description for frozen state [CHAR LIMIT=NONE] -->
+  <!-- Content description for tab switcher transition [CHAR LIMIT=NONE] -->
+  <!-- Content description for navigating up in the bookmark folder hierarchy [CHAR LIMIT=NONE] -->
+  <!--Add for Navigation Feature -->
+  <!-- Add for Carrier Feature.Content description for AV save/play prompt dialog -->
+  <!-- Add for Carrier Feature.Content description for exit menu item -->
+  <!-- Add for Carrier Feature.Content description for about menu item -->
+  <!-- Add for Unsupport Uploading Drm Files Feature -->
+  <!-- Add for exit prompt Feature -->
+  <!-- Add for download save path setting Feature -->
+  <!-- Toast message displayed when the full screen received message -->
+  <!-- Snapdragon Browser Additions -->
+  <!-- Toast message displayed when user attempts to modify a setting disabled by the administrator -->
+  <!-- My Navigation - Favorites + History + Saved -->
+  <!-- Place holder for SWE engine strings added to
+         'chrome/android/java/strings/android_chrome_strings.grd'. Follow
+         chromium android grd naming convention. Follow exact mapping rules from
+         grd to xml. All grd strings maps to xml name in lowercase with 'IDS_'
+         prefix being stripped. For more info check out chromium's
+         UI-localization page. -->
+  <!-- Geolocation infobar promt-->
+</resources>
