">
+
+
+&brandShortName; prevented this page from loading in this way because the page has a content security policy that disallows it.">
+
+
+पà¥à¤·à¥à¤ à¤à¤¿à¤¸à¥ à¤à¤ª दà¥à¤à¤¨à¥ à¤à¥ à¤à¥à¤¶à¤¿à¤¶ à¤à¤° रहॠहà¥à¤ नहà¥à¤ दिà¤à¤¾à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हॠà¤à¥à¤¯à¥à¤à¤à¤¿ à¤à¤à¤à¤¡à¤¼à¤¾ सà¤à¤à¤¾à¤°à¤£ मà¥à¤ तà¥à¤°à¥à¤à¤¿ पाया à¤à¤¯à¤¾.
">
+
+
+
+
+
diff --git a/browser/chrome/overrides/settingsChange.dtd b/browser/chrome/overrides/settingsChange.dtd
new file mode 100644
index 00000000000..df8aa7f6a8e
--- /dev/null
+++ b/browser/chrome/overrides/settingsChange.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/browser/crashreporter/crashreporter-override.ini b/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 00000000000..86d60278021
--- /dev/null
+++ b/browser/crashreporter/crashreporter-override.ini
@@ -0,0 +1,8 @@
+; This Source Code Form is subject to the terms of the Mozilla Public
+; License, v. 2.0. If a copy of the MPL was not distributed with this
+; file, You can obtain one at http://mozilla.org/MPL/2.0/.
+; This file is in the UTF-8 encoding
+[Strings]
+; LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced with a string containing detailed information.
+CrashReporterProductErrorText2=Firefox मà¥à¤ समसà¥à¤¯à¤¾ थॠà¤à¤° à¤à¥à¤°à¥à¤¶ à¤à¤° à¤à¤¯à¤¾. हम à¤à¤ªà¤à¥ à¤à¥à¤¬ à¤à¤° विà¤à¤¡à¥ à¤à¥ वापस à¤à¤°à¤¨à¥ à¤à¥ à¤à¥à¤¶à¤¿à¤¶ à¤à¤°à¥à¤à¤à¥ à¤à¤¬ यह फिर à¤à¤°à¤à¤ हà¥à¤¤à¤¾ हà¥.\n\nदà¥à¤°à¥à¤à¤¾à¤à¥à¤¯ सॠà¤à¥à¤°à¥à¤¶ रिपà¥à¤°à¥à¤à¤° à¤à¤¿à¤¸à¥ à¤à¥à¤°à¥à¤¶ रिपà¥à¤°à¥à¤ à¤à¥ सà¥à¤ªà¥à¤°à¥à¤¦ à¤à¤°à¤¨à¥ मà¥à¤ ठसमरà¥à¤¥ था.\n\nविवरण: %s
+CrashReporterDescriptionText2=Firefox मà¥à¤ समसà¥à¤¯à¤¾ थॠà¤à¤° à¤à¥à¤°à¥à¤¶ à¤à¤° à¤à¤¯à¤¾. हम à¤à¤ªà¤à¥ à¤à¥à¤¬ à¤à¤° विà¤à¤¡à¥ à¤à¥ वापस à¤à¤°à¤¨à¥ à¤à¥ à¤à¥à¤¶à¤¿à¤¶ à¤à¤°à¥à¤à¤à¥ à¤à¤¬ यह à¤à¤°à¤à¤ हà¥à¤¤à¤¾ हà¥.\n\nसमसà¥à¤¯à¤¾ पता à¤à¤°à¤¨à¥ व फिà¤à¥à¤¸ à¤à¤°à¤¨à¥ à¤à¥ लिà¤, à¤à¤ª à¤à¤ à¤à¥à¤°à¥à¤¶ रिपà¥à¤°à¥à¤ à¤à¥à¤ सà¤à¤¤à¥ हà¥à¤.
diff --git a/browser/defines.inc b/browser/defines.inc
new file mode 100644
index 00000000000..32c8b2abee1
--- /dev/null
+++ b/browser/defines.inc
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR mozilla.org
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+
+# variable definition and use the format specified.
+
+#define MOZ_LANGPACK_CONTRIBUTORS Rajesh RanjanVaibhav Agarwal
+
+#unfilter emptyLines
diff --git a/browser/extensions/formautofill/formautofill.properties b/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 00000000000..14e110526fb
--- /dev/null
+++ b/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,149 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (saveAddressesMessage): %S is brandShortName. This string is used on the doorhanger to
+# notify users that addresses are saved.
+saveAddressesMessage = %S ठब पतॠसहà¥à¤à¤¤à¤¾ हॠताà¤à¤¿ à¤à¤ª पà¥à¤°à¤ªà¤¤à¥à¤° ठधिठतà¥à¤à¤¼à¥ सॠà¤à¤° सà¤à¥à¤.
+# LOCALIZATION NOTE (autofillOptionsLink, autofillOptionsLinkOSX): These strings are used in the doorhanger for
+# updating addresses. The link leads users to Form Autofill browser preferences.
+autofillOptionsLink = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤à¤ à¤à¤°à¤£ विà¤à¤²à¥à¤ª
+autofillOptionsLinkOSX = फ़à¥à¤°à¥à¤® सà¥à¤µà¤¤à¤ à¤à¤°à¤£ वरà¥à¤¯à¤¤à¤¾à¤à¤
+# LOCALIZATION NOTE (autofillSecurityOptionsLink, autofillSecurityOptionsLinkOSX): These strings are used
+# in the doorhanger for saving credit card info. The link leads users to Form Autofill browser preferences.
+autofillSecurityOptionsLink = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤: à¤à¤°à¤£ तथा सà¥à¤°à¤à¥à¤·à¤¾ विà¤à¤²à¥à¤ª
+autofillSecurityOptionsLinkOSX = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤: à¤à¤°à¤£ तथा सà¥à¤°à¤à¥à¤·à¤¾ वरà¥à¤¯à¤¤à¤¾à¤à¤
+# LOCALIZATION NOTE (changeAutofillOptions, changeAutofillOptionsOSX): These strings are used on the doorhanger
+# that notifies users that addresses are saved. The button leads users to Form Autofill browser preferences.
+changeAutofillOptions = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤: à¤à¤°à¤£ विà¤à¤²à¥à¤ªà¥à¤ à¤à¥ बदलà¥à¤
+changeAutofillOptionsOSX = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤: à¤à¤°à¤£ वरियताà¤à¤ à¤à¥ बदलà¥à¤
+changeAutofillOptionsAccessKey = C
+# LOCALIZATION NOTE (addressesSyncCheckbox): If Sync is enabled, this checkbox is displayed on the doorhanger
+# shown when saving addresses.
+addressesSyncCheckbox = सà¤à¤à¤²à¤¿à¤¤ à¤à¤ªà¤à¤°à¤£à¥à¤ à¤à¥ साथ पतॠसाà¤à¤¾ à¤à¤°à¥à¤
+# LOCALIZATION NOTE (creditCardsSyncCheckbox): If Sync is enabled and credit card sync is available,
+# this checkbox is displayed on the doorhanger shown when saving credit card.
+creditCardsSyncCheckbox = सà¤à¤à¤²à¤¿à¤¤ à¤à¤ªà¤à¤°à¤£à¥à¤ à¤à¥ साथ à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ साà¤à¤¾ à¤à¤°à¥à¤
+# LOCALIZATION NOTE (updateAddressMessage, updateAddressDescriptionLabel, createAddressLabel, updateAddressLabel):
+# Used on the doorhanger when an address change is detected.
+updateAddressMessage = à¤à¥à¤¯à¤¾ à¤à¤ª ठपनॠपतॠà¤à¥ à¤à¤¸ नयॠà¤à¤¾à¤¨à¤à¤¾à¤°à¥ à¤à¥ साथ ठदà¥à¤¯à¤¤à¤¨ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¥à¤à¤à¥?
+updateAddressDescriptionLabel = ठदà¥à¤¯à¤¤à¤¨ à¤à¤°à¤¨à¥ हà¥à¤¤à¥ पता:
+createAddressLabel = नया पता बनाà¤à¤
+createAddressAccessKey = C
+updateAddressLabel = पता नवà¥à¤¨à¥à¤à¥à¤¤ à¤à¤°à¥à¤
+updateAddressAccessKey = U
+# LOCALIZATION NOTE (saveCreditCardMessage, saveCreditCardDescriptionLabel, saveCreditCardLabel, cancelCreditCardLabel, neverSaveCreditCardLabel):
+# Used on the doorhanger when users submit payment with credit card.
+# LOCALIZATION NOTE (saveCreditCardMessage): %S is brandShortName.
+saveCreditCardMessage = à¤à¥à¤¯à¤¾ à¤à¤ª %S à¤à¥ यह à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ सहà¥à¤à¤¨à¤¾ à¤à¤¾à¤¹à¥à¤à¤à¥? (सà¥à¤°à¤à¥à¤·à¤¾ à¤à¥à¤¡ नहà¥à¤ सहà¥à¤à¤¾ à¤à¤¾à¤à¤à¤¾)
+saveCreditCardDescriptionLabel = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ à¤à¥ सहà¥à¤à¤¨à¥ हà¥à¤¤à¥:
+saveCreditCardLabel = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ सहà¥à¤à¥à¤
+saveCreditCardAccessKey = S
+cancelCreditCardLabel = मत सहà¥à¤à¥à¤â
+cancelCreditCardAccessKey = D
+neverSaveCreditCardLabel = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ à¤à¤à¥ नहà¥à¤ सहà¥à¤à¥à¤
+neverSaveCreditCardAccessKey = N
+# LOCALIZATION NOTE (updateCreditCardMessage, updateCreditCardDescriptionLabel, createCreditCardLabel, updateCreditCardLabel):
+# Used on the doorhanger when an credit card change is detected.
+updateCreditCardMessage = à¤à¥à¤¯à¤¾ à¤à¤ª à¤à¤¸ नà¤à¤ à¤à¤¾à¤¨à¤à¤¾à¤°à¥ à¤à¥ साथ ठपनॠà¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ à¤à¥ ठदà¥à¤¯à¤¤à¤¨ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¥à¤à¤à¥?
+updateCreditCardDescriptionLabel = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ ठदà¥à¤¯à¤¤à¤¨ à¤à¤°à¤¨à¥ हà¥à¤¤à¥:
+createCreditCardLabel = नया à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ बनाà¤à¤
+createCreditCardAccessKey = C
+updateCreditCardLabel = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ ठदà¥à¤¯à¤¤à¤¨ à¤à¤°à¥à¤
+updateCreditCardAccessKey = U
+# LOCALIZATION NOTE (openAutofillMessagePanel): Tooltip label for Form Autofill doorhanger icon on address bar.
+openAutofillMessagePanel = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤à¤ à¤à¤°à¤£ सà¤à¤¦à¥à¤¶ पà¤à¥à¤à¤¿à¤à¤¾ à¤à¥à¤²à¥à¤
+
+# LOCALIZATION NOTE (autocompleteFooterOption, autocompleteFooterOptionOSX): Used as a label for the button,
+# displayed at the bottom of the drop down suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOption = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤à¤ à¤à¤°à¤£ विà¤à¤²à¥à¤ª
+autocompleteFooterOptionOSX = फ़à¥à¤°à¥à¤® सà¥à¤µà¤¤à¤ à¤à¤°à¤£ वरà¥à¤¯à¤¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE ( (autocompleteFooterOptionShort, autocompleteFooterOptionOSXShort): Used as a label for the button,
+# displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOptionShort = ठधिठविà¤à¤²à¥à¤ª
+autocompleteFooterOptionOSXShort = पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤à¤¤à¤¾à¤à¤
+# LOCALIZATION NOTE (category.address, category.name, category.organization2, category.tel, category.email):
+# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill.
+category.address = पताâ
+category.name = नामâ
+category.organization2 = सà¤à¤¸à¥à¤¥à¤¾
+category.tel = फ़à¥à¤¨
+category.email = à¤-मà¥à¤²
+# LOCALIZATION NOTE (fieldNameSeparator): This is used as a separator between categories.
+fieldNameSeparator = ,\u0020
+# LOCALIZATION NOTE (phishingWarningMessage, phishingWarningMessage2): The warning
+# text that is displayed for informing users what categories are about to be filled.
+# "%S" will be replaced with a list generated from the pre-defined categories.
+# The text would be e.g. Also autofills organization, phone, email.
+phishingWarningMessage = %S à¤à¥ सà¥à¤µà¤¤: à¤à¤°à¤¤à¤¾ हà¥à¤
+phishingWarningMessage2 = %S सà¥à¤µà¤¤: à¤à¤°à¤¤à¤¾ हà¥
+# LOCALIZATION NOTE (insecureFieldWarningDescription): %S is brandShortName. This string is used in drop down
+# suggestion when users try to autofill credit card on an insecure website (without https).
+insecureFieldWarningDescription = %S नॠà¤à¤ ठसà¥à¤°à¤à¥à¤·à¤¿à¤¤ साà¤à¤ à¤à¤¾ पता लà¤à¤¾à¤¯à¤¾ हà¥. पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤: à¤à¤°à¤£ à¤à¥à¤ समय à¤à¥ लिठठà¤à¥à¤·à¤® à¤à¤° दिया à¤à¤¯à¤¾ हà¥
+
+# LOCALIZATION NOTE (clearFormBtnLabel2): Label for the button in the dropdown menu that used to clear the populated
+# form.
+clearFormBtnLabel2 = सà¥à¤µà¤¤: à¤à¤°à¤£ पà¥à¤°à¤ªà¤¤à¥à¤° मिà¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE (autofillAddressesCheckbox): Label for the checkbox that enables autofilling addresses.
+autofillAddressesCheckbox = पतॠसà¥à¤µà¤¤: à¤à¤°à¥à¤
+# LOCALIZATION NOTE (learnMoreLabel): Label for the link that leads users to the Form Autofill SUMO page.
+learnMoreLabel = à¤à¤° à¤à¤¾à¤¨à¥à¤
+# LOCALIZATION NOTE (savedAddressesBtnLabel): Label for the button that opens a dialog that shows the
+# list of saved addresses.
+savedAddressesBtnLabel = सहà¥à¤à¥ à¤à¤ पतà¥â¦
+# LOCALIZATION NOTE (autofillCreditCardsCheckbox): Label for the checkbox that enables autofilling credit cards.
+autofillCreditCardsCheckbox = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ सà¥à¤µà¤¤: à¤à¤°à¥à¤
+# LOCALIZATION NOTE (savedCreditCardsBtnLabel): Label for the button that opens a dialog that shows the list
+# of saved credit cards.
+savedCreditCardsBtnLabel = सहà¥à¤à¥ à¤à¤ à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡â¦
+
+# LOCALIZATION NOTE (manageAddressesTitle, manageCreditCardsTitle): The dialog title for the list of addresses or
+# credit cards in browser preferences.
+manageAddressesTitle = सहà¥à¤à¥ à¤à¤ पतà¥
+manageCreditCardsTitle = सहà¥à¤à¥ à¤à¤ à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡
+# LOCALIZATION NOTE (addressesListHeader, creditCardsListHeader): The header for the list of addresses or credit cards
+# in browser preferences.
+addressesListHeader = पतà¥
+creditCardsListHeader = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡
+showCreditCardsBtnLabel = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ दिà¤à¤¾à¤à¤
+hideCreditCardsBtnLabel = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ à¤à¤¿à¤ªà¤¾à¤à¤
+removeBtnLabel = हà¤à¤¾à¤à¤
+addBtnLabel = à¤à¥à¥à¥à¤â¦
+editBtnLabel = सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤â¦
+
+# LOCALIZATION NOTE (manageDialogsWidth): This strings sets the default width for windows used to manage addresses and
+# credit cards.
+manageDialogsWidth = 560px
+
+# LOCALIZATION NOTE (addNewAddressTitle, editAddressTitle): The dialog title for creating or editing addresses
+# in browser preferences.
+addNewAddressTitle = नया पता à¤à¥à¤¡à¤¼à¥à¤
+editAddressTitle = पता सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+givenName = पà¥à¤°à¤¥à¤® नाम
+additionalName = मधà¥à¤¯ नाम
+familyName = ठà¤à¤¤à¤¿à¤® नाम
+organization2 = सà¤à¤¸à¥à¤¥à¤¾
+streetAddress = à¤à¤²à¥ à¤à¤¾ पता
+city = शहर
+province = पà¥à¤°à¤¾à¤à¤¤
+state = राà¤à¥à¤¯
+postalCode = डाठà¤à¥à¤¡
+zip = à¤à¤¼à¤¿à¤ª à¤à¥à¤¡
+country = दà¥à¤¶ या à¤à¥à¤·à¥à¤¤à¥à¤°
+tel = फ़à¥à¤¨
+email = à¤à¤®à¥à¤²
+cancelBtnLabel = रदà¥à¤¦ à¤à¤°à¥à¤
+saveBtnLabel = सहà¥à¤à¥à¤
+countryWarningMessage = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤:à¤à¤°à¤£ फिलहाल à¤à¥à¤µà¤² US à¤à¥ पतà¥à¤ à¤à¥ लिठà¤à¤ªà¤²à¤¬à¥à¤§ हà¥
+
+countryWarningMessage2 = पà¥à¤°à¤ªà¤¤à¥à¤° सà¥à¤µà¤¤à¤ à¤à¤°à¤¨à¥ à¤à¥ सà¥à¤µà¤¿à¤§à¤¾ फिलहाल à¤à¥à¤µà¤² à¤à¥à¤ दà¥à¤¶à¥à¤ à¤à¥ लिठà¤à¤ªà¤²à¤¬à¥à¤§ हà¥.
+
+# LOCALIZATION NOTE (addNewCreditCardTitle, editCreditCardTitle): The dialog title for creating or editing
+# credit cards in browser preferences.
+addNewCreditCardTitle = नया à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ à¤à¥à¤¡à¤¼à¥
+editCreditCardTitle = à¤à¥à¤°à¥à¤¡à¤¿à¤ à¤à¤¾à¤°à¥à¤¡ सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+cardNumber = à¤à¤¾à¤°à¥à¤¡ नà¤à¤¬à¤°
+nameOnCard = à¤à¤¾à¤°à¥à¤¡ पर नाम
+cardExpires = समयसà¥à¤®à¤¾ समापà¥à¤¤à¤¿
diff --git a/browser/extensions/onboarding/onboarding.properties b/browser/extensions/onboarding/onboarding.properties
new file mode 100644
index 00000000000..0e061cf1258
--- /dev/null
+++ b/browser/extensions/onboarding/onboarding.properties
@@ -0,0 +1,126 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE(onboarding.overlay-title2): This string will be used in the overlay title.
+onboarding.overlay-title2=à¤à¤²à¤¿à¤ शà¥à¤°à¥ à¤à¤°à¥à¤
+onboarding.skip-tour-button-label=दà¥à¤°à¤¾ à¤à¥à¤¡à¤¼à¥à¤
+#LOCALIZATION NOTE(onboarding.button.learnMore): this string is used as a button label, displayed near the message, and shared across all the onboarding notifications.
+onboarding.button.learnMore=ठधिठà¤à¤¾à¤¨à¥à¤
+# LOCALIZATION NOTE(onboarding.overlay-icon-tooltip2): This string will be used
+# to show the tooltip alongside the notification icon in the overlay tour. %S is
+# brandShortName. The tooltip is designed to show in two lines. Please use \n to
+# do appropriate line breaking.
+onboarding.overlay-icon-tooltip2=%S मà¥à¤ नठहà¥à¤?\nà¤à¤à¤¯à¥ शà¥à¤°à¥ à¤à¤°à¥à¤.
+# LOCALIZATION NOTE(onboarding.overlay-icon-tooltip-updated2): %S is
+# brandShortName. The tooltip is designed to show in two lines. Please use \n to
+# do appropriate line breaking.
+onboarding.overlay-icon-tooltip-updated2=%S बिलà¤à¥à¤² नया हà¥.\nदà¥à¤à¤¿à¤¯à¥ à¤à¤ª à¤à¥à¤¯à¤¾ à¤à¤° सà¤à¤¤à¥ हà¥à¤!
+# LOCALIZATION NOTE(onboarding.overlay-close-button-tooltip): The overlay close button is an icon button. This tooltip would be shown when mousing hovering on the button.
+onboarding.overlay-close-button-tooltip=बà¤à¤¦ à¤à¤°à¥à¤
+onboarding.notification-icon-tooltip-updated=नया à¤à¥à¤¯à¤¾ हà¥, दà¥à¤à¥à¤!
+# LOCALIZATION NOTE(onboarding.notification-close-button-tooltip): The notification close button is an icon button. This tooltip would be shown when mousing hovering on the button.
+onboarding.notification-close-button-tooltip=निरसà¥à¤¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE(onboarding.complete): This string is used to describe an
+# onboarding tour item that is complete.
+onboarding.complete=पà¥à¤°à¥à¤£
+
+onboarding.tour-private-browsing=निà¤à¥ बà¥à¤°à¤¾à¤à¤à¤¼à¤¿à¤à¤
+onboarding.tour-private-browsing.title2=ठपनॠà¤à¤ª सॠबà¥à¤°à¤¾à¤à¤à¤¼ à¤à¤°à¥à¤.
+# LOCALIZATION NOTE(onboarding.tour-private-browsing.description3): This string will be used in the private-browsing tour description. %S is brandShortName.
+onboarding.tour-private-browsing.description3=à¤à¥à¤ निà¥à¥ रà¤à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤? à¤à¥à¤°à¥à¤à¤¿à¤à¤ सॠसà¥à¤°à¤à¥à¤·à¤¾ à¤à¥ साथ निà¥à¥ बà¥à¤°à¤¾à¤à¥à¤¿à¤à¤ à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¥à¤à¤¿à¤¯à¥. %S बà¥à¤°à¤¾à¤à¥à¤¿à¤à¤ à¤à¥ दà¥à¤°à¤¾à¤¨ à¤à¤¨à¤²à¤¾à¤à¤¨ à¤à¥à¤°à¥à¤à¤°à¥à¤¸ à¤à¥ रà¥à¤à¥à¤à¤¾ à¤à¤° सतà¥à¤° पà¥à¤°à¤¾ हà¥à¤¨à¥ पर à¤à¤¤à¤¿à¤¹à¤¾à¤¸ मà¥à¤ नहà¥à¤ डालà¥à¤à¤¾.
+onboarding.tour-private-browsing.button=निà¤à¥ बà¥à¤°à¤¾à¤à¤à¤¼à¤¿à¤à¤ मà¥à¤¨à¥ मà¥à¤ दिà¤à¤¾à¤à¤
+onboarding.notification.onboarding-tour-private-browsing.title=ठपनॠà¤à¤ª सॠबà¥à¤°à¤¾à¤à¤à¤¼ à¤à¤°à¥à¤.
+onboarding.notification.onboarding-tour-private-browsing.message2=ठपनॠà¤à¤ª तठहॠसिमित रà¤à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤? à¤à¥à¤°à¥à¤à¤¿à¤à¤ सà¥à¤°à¤à¥à¤·à¤¾ à¤à¥ साथ निà¤à¥ बà¥à¤°à¤¾à¤à¤à¤¼à¤¿à¤à¤ à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¥à¤.
+
+onboarding.tour-addons=सहयà¥à¤à¥à¤¤à¤¿à¤¯à¤¾à¤
+onboarding.tour-addons.title2=ठधिठà¤à¤¾à¤°à¥à¤¯ समà¥à¤ªà¤¾à¤¦à¤¿à¤¤ पायà¥à¤.
+# LOCALIZATION NOTE(onboarding.tour-addons.description2): This string will be used in the add-on tour description. %S is brandShortName
+onboarding.tour-addons.description2=à¤à¤¡-à¤à¤¨à¥à¤¸ à¤à¤ªà¤à¥ %S पर सà¥à¤µà¤¿à¤§à¤¾à¤à¤ à¤à¥à¤¡à¤¼à¤¨à¥ दà¥à¤¤à¥ हà¥à¤, à¤à¤¸à¤²à¤¿à¤ à¤à¤ªà¤à¤¾ बà¥à¤°à¤¾à¤à¤à¤¼à¤° à¤à¤ªà¤à¥ लिठबà¥à¤¹à¤¤à¤° à¤à¤¾à¤® à¤à¤°à¤¤à¤¾ हà¥. à¤à¥à¤®à¤¤à¥à¤ à¤à¥ तà¥à¤²à¤¨à¤¾ à¤à¤°à¥à¤, मà¥à¤¸à¤® à¤à¥ à¤à¤¾à¤¨à¤à¤¾à¤°à¥ लà¥à¤ या à¤à¤ ठनà¥à¤à¥à¤² विषयवसà¥à¤¤à¥ à¤à¥ साथ ठपनॠवà¥à¤¯à¤à¥à¤¤à¤¿à¤¤à¥à¤µ à¤à¥ वà¥à¤¯à¤à¥à¤¤ à¤à¤°à¥à¤.
+onboarding.tour-addons.button=मà¥à¤¨à¥ मà¥à¤ à¤à¤¡-à¤à¤¨ दिà¤à¤¾à¤¯à¥
+onboarding.notification.onboarding-tour-addons.title=ठधिठà¤à¤¾à¤°à¥à¤¯ समà¥à¤ªà¤¾à¤¦à¤¿à¤¤ पायà¥à¤.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-addons.message): This string will be used in the notification message for the add-ons tour. %S is brandShortName.
+onboarding.notification.onboarding-tour-addons.message=à¤à¤¡-à¤à¤¨ à¤à¥à¤à¥ à¤à¤ªà¥à¤ª हà¥à¤ à¤à¥ à¤à¤¿ à¤à¤ª %S मà¥à¤ à¤à¤ à¤à¤¾à¤® à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¥à¤¡à¤¼ सà¤à¤¤à¥ हà¥à¤ â à¤à¤¾à¤µà¥-à¤à¤¾à¤°à¥à¤¯ सà¥à¤à¥ à¤à¥ पà¥à¤°à¤¬à¤à¤§à¤¿à¤¤ à¤à¤°à¤¨à¥ सॠलà¥à¤à¤°, वà¥à¤¡à¤¿à¤¯à¥ डाà¤à¤¨à¤²à¥à¤¡ à¤à¤°à¤¨à¥, बà¥à¤°à¤¾à¤à¤à¤¼à¤° à¤à¥ à¤à¤µà¤¿ बदलनॠतà¤.
+
+onboarding.tour-customize=मनपसà¤à¤¦ बनाà¤à¤
+onboarding.tour-customize.title2=ठपनॠà¤à¤ªà¤à¤°à¤£ पà¤à¥à¤à¥ à¤à¥ पà¥à¤¨: वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤à¤°à¥.
+# LOCALIZATION NOTE(onboarding.tour-customize.description2): This string will be used in the customize tour description. %S is brandShortName
+onboarding.tour-customize.description2=à¤à¤ªà¤à¥ दà¥à¤µà¤¾à¤°à¤¾ सबसॠठधिठपà¥à¤°à¤¯à¥à¤ à¤à¤¿à¤ à¤à¤¾à¤¨à¥ वालॠसाधनà¥à¤ à¤à¥ ठपनॠठà¤à¤à¥à¤²à¤¾à¤à¥à¤° पर रà¤à¥à¤. ठपनॠà¤à¤¼à¤°à¥à¤°à¤¤ à¤à¥ मà¥à¤¤à¤¾à¤¬à¤¿à¤à¤¼ %S à¤à¥ à¤à¤à¤¼à¤¾à¤°à¤ªà¤à¥à¤à¥ à¤à¤° मà¥à¤¨à¥à¤¯à¥ à¤à¥à¤à¤à¥à¤, à¤à¥à¤¡à¤¼à¥, à¤à¤° पà¥à¤¨à¤ à¤à¥à¤°à¤® मà¥à¤ à¤à¤°à¥à¤. ठथवा à¤à¥à¤¬à¥à¤¡ बà¥à¤°à¤¾à¤à¤à¤¼à¤¿à¤à¤ à¤à¥ लिठठधिठà¤à¤à¤¹ बनानॠहà¥à¤¤à¥ सà¤à¤¨ विषयवसà¥à¤¤à¥ à¤à¥à¤¨à¥à¤.
+onboarding.tour-customize.button=मà¥à¤¨à¥ मà¥à¤ ठनà¥à¤à¥à¤²à¤¨ दिà¤à¤¾à¤à¤
+onboarding.notification.onboarding-tour-customize.title=ठपनॠà¤à¤ªà¤à¤°à¤£ पà¤à¥à¤à¥ à¤à¥ पà¥à¤¨: वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤à¤°à¥.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-customize.message): This string will be used in the notification message for Customize tour. %S is brandShortName.
+onboarding.notification.onboarding-tour-customize.message=à¤à¤ªà¤à¥ दà¥à¤µà¤¾à¤°à¤¾ सबसॠठधिठपà¥à¤°à¤¯à¥à¤ à¤à¤¿à¤ à¤à¤¾à¤¨à¥ वालॠसाधनà¥à¤ à¤à¥ ठपनॠà¤à¤à¤à¤²à¤¿à¤¯à¥à¤ पर रà¤à¥à¤. ठपनॠà¤à¤à¤¼à¤¾à¤°à¤ªà¤à¥à¤à¥ मà¥à¤ à¤à¤° विà¤à¤²à¥à¤ª à¤à¥à¤¡à¤¼à¥à¤. ठथवा %S दà¥à¤µà¤¾à¤°à¤¾ à¤à¤ªà¤à¥ वà¥à¤¯à¤à¥à¤¤à¤¿à¤¤à¥à¤µ à¤à¥ पà¥à¤°à¤¤à¤¿à¤¬à¤¿à¤à¤¬à¤¿à¤¤ à¤à¤°à¤¤à¥ à¤à¤ विषयवसà¥à¤¤à¥ à¤à¥à¤¨à¥à¤.
+
+onboarding.tour-default-browser=तयशà¥à¤¦à¤¾ बà¥à¤°à¤¾à¤à¤à¤¼à¤°
+# LOCALIZATION NOTE(onboarding.tour-default-browser.title2): This string will be used in the default browser tour title. %S is brandShortName
+onboarding.tour-default-browser.title2=%S à¤à¥ ठपना मनपसà¤à¤¦ बà¥à¤°à¤¾à¤à¤à¤¼à¤° बनाà¤à¤.
+# LOCALIZATION NOTE(onboarding.tour-default-browser.description2): This string will be used in the default browser tour description. %1$S is brandShortName
+onboarding.tour-default-browser.description2=%1$S पसà¤à¤¦ हà¥? à¤à¤¸à¥ ठपना डिफ़à¥à¤²à¥à¤ बà¥à¤°à¤¾à¤à¤à¤¼à¤° बनाà¤à¤. à¤à¤¿à¤¸à¥ ठनà¥à¤¯ à¤à¤ªà¥à¤²à¤¿à¤à¥à¤¶à¤¨ सॠà¤à¤ à¤à¤¡à¤¼à¥ à¤à¥à¤²à¥à¤, à¤à¤° %1$S वहाठà¤à¤ªà¤à¥ लिठहà¥à¤à¤¾.
+# LOCALIZATION NOTE(onboarding.tour-default-browser.button): Label for a button to open the OS default browser settings where it's not possible to set the default browser directly. (OSX, Linux, Windows 8 and higher)
+onboarding.tour-default-browser.button=डिफ़à¥à¤²à¥à¤ बà¥à¤°à¤¾à¤à¤à¤¼à¤° सà¥à¤à¤¿à¤à¤ à¤à¥à¤²à¥à¤
+# LOCALIZATION NOTE(onboarding.tour-default-browser.win7.button): Label for a button to directly set the default browser (Windows 7). %S is brandShortName
+onboarding.tour-default-browser.win7.button=%S à¤à¥ ठपना डिफ़à¥à¤²à¥à¤ बà¥à¤°à¤¾à¤à¤à¤¼à¤° बनाà¤à¤
+# LOCALIZATION NOTE(onboarding.tour-default-browser.is-default.message): Label displayed when Firefox is already set as default browser. followed on a new line by "tour-default-browser.is-default.2nd-message".
+onboarding.tour-default-browser.is-default.message=ठपनॠयह पा लिया हà¥à¤!
+# LOCALIZATION NOTE(onboarding.tour-default-browser.is-default.2nd-message): Label displayed when Firefox is already set as default browser. %S is brandShortName
+onboarding.tour-default-browser.is-default.2nd-message=%S पहलॠसॠहॠà¤à¤ªà¤à¤¾ डिफ़à¥à¤²à¥à¤ बà¥à¤°à¤¾à¤à¤à¤¼à¤° हà¥à¤.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-default-browser.title): This string will be used in the notification title for the default browser tour. %S is brandShortName.
+onboarding.notification.onboarding-tour-default-browser.title=%S à¤à¥ ठपना मनपसà¤à¤¦ बà¥à¤°à¤¾à¤à¤à¤¼à¤° बनाà¤à¤.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-default-browser.message): This string will be used in the notification message for the default browser tour. %1$S is brandShortName
+onboarding.notification.onboarding-tour-default-browser.message=%1$S सॠठधिà¤à¤¤à¤® à¤à¤¾à¤°à¥à¤¯ लà¥à¤¨à¥ à¤à¥ लिठà¤à¤¼à¥à¤¯à¤¾à¤¦à¤¾ à¤à¥à¤ नहà¥à¤ à¤à¤°à¤¨à¤¾ पड़ता. बस %1$S à¤à¥ ठपना डिफ़à¥à¤²à¥à¤ बà¥à¤°à¤¾à¤à¤à¤¼à¤° बनाà¤à¤ à¤à¤° सà¤à¤à¤¾à¤²à¤¨, ठनà¥à¤à¥à¤²à¤¨, à¤à¤° सà¥à¤°à¤à¥à¤·à¤¾ à¤à¥ सà¥à¤µà¤à¤¾à¤²à¤¿à¤¤ à¤à¤°à¥à¤.
+
+onboarding.tour-sync2=सिà¤à¤
+onboarding.tour-sync.title2=à¤à¤¹à¤¾à¤ à¤à¥à¤¡à¤¼à¤¾ था वहाठसॠपà¥à¤¨à¤¾à¤°à¤à¤ à¤à¤°à¥à¤.
+onboarding.tour-sync.description2=सिà¤à¤ बà¥à¤à¤®à¤¾à¤°à¥à¤, पासवरà¥à¤¡ à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤° à¤à¥ à¤à¤¸à¤¾à¤¨ à¤à¤°à¤¤à¤¾ हॠà¤à¤° à¤à¤ªà¤à¥ सà¤à¥ à¤à¤ªà¤à¤°à¤£à¥à¤ पर à¤à¥à¤¬ à¤à¥à¤²à¤¤à¤¾ हà¥. सिà¤à¤ à¤à¤ªà¤à¥ यह à¤à¥ नियà¤à¤¤à¥à¤°à¤¿à¤¤ à¤à¤°à¤¨à¥ दà¥à¤¤à¤¾ हॠà¤à¥ à¤à¤ª à¤à¤¿à¤¸ पà¥à¤°à¤à¤¾à¤° à¤à¥ à¤à¤¾à¤¨à¤à¤¾à¤°à¥à¤¯à¤¾à¤ साà¤à¤¾ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤, तथा à¤à¤¿à¤¸ पà¥à¤°à¤à¤¾à¤° à¤à¥ नहà¥à¤ à¤à¤¾à¤¹à¤¤à¥.
+onboarding.tour-sync.logged-in.title=सिà¤à¤ à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¤ª साà¤à¤¨-à¤à¤¨ à¤à¤° लियॠहà¥à¤!
+# LOCALIZATION NOTE(onboarding.tour-sync.logged-in.description): %1$S is brandShortName.
+onboarding.tour-sync.logged-in.description=सिà¤à¤ तà¤à¥ à¤à¤¾à¤® à¤à¤°à¤¤à¤¾ हॠà¤à¤¬ à¤à¤ª %1$S मà¥à¤ à¤à¤ सॠठधिठà¤à¤ªà¤à¤°à¤£à¥à¤ पर साà¤à¤¨ à¤à¤¨ à¤à¤°à¤¤à¥ हà¥. à¤à¤ मà¥à¤¬à¤¾à¤à¤² à¤à¤ªà¤à¤°à¤£ हà¥? à¤à¤¨à¤¸à¥à¤à¥à¤² à¤à¤°à¥à¤ %1$S à¤à¤ªà¥à¤ª à¤à¤° साà¤à¤¨ à¤à¤¨ à¤à¤°à¥à¤ ठपनॠपà¥à¤¸à¥à¤¤à¤à¤¿à¤¨à¥à¤¹, à¤à¤¤à¤¿à¤¹à¤¾à¤¸, à¤à¤° पासवरà¥à¤¡ à¤à¤¹à¥à¤ à¤à¥ पानॠà¤à¥ लिà¤.
+# LOCALIZATION NOTE(onboarding.tour-sync.form.title): This string is displayed
+# as a title and followed by onboarding.tour-sync.form.description.
+onboarding.tour-sync.form.title=Firefox à¤à¤¾à¤¤à¤¾ तà¥à¤¯à¤¾à¤° à¤à¤°à¥à¤
+# LOCALIZATION NOTE(onboarding.tour-sync.form.description): The description
+# continues after onboarding.tour-sync.form.title to create a complete sentence.
+# If it's not possible for your locale, you can translate this string as
+# "Continue to Firefox Sync" instead.
+onboarding.tour-sync.form.description=Firefox सिà¤à¤ à¤à¥ लिठà¤à¤¾à¤°à¥ रà¤à¥à¤
+onboarding.tour-sync.button=ठà¤à¤²à¤¾
+onboarding.tour-sync.connect-device.button=ठनà¥à¤¯ à¤à¤ªà¤à¤°à¤£ à¤à¥à¥à¥à¤
+onboarding.tour-sync.email-input.placeholder=à¤à¤®à¥à¤²
+onboarding.notification.onboarding-tour-sync.title=à¤à¤¹à¤¾à¤ à¤à¤ªà¤¨à¥ à¤à¥à¥à¤¾ था वहाठसॠà¤à¥à¤¨à¥.
+onboarding.notification.onboarding-tour-sync.message=ठà¤à¥ à¤à¥ à¤à¥à¤¦ à¤à¥ लिà¤à¤ à¤à¥à¤ रहॠहà¥à¤ सहà¥à¤à¤¨à¥ या à¥à¥à¤¨ पर पढनॠà¤à¥ लिà¤? à¤à¤¸à¥ à¤à¤¸à¤¾à¤¨ तरà¥à¤à¥ सॠà¤à¤°à¥à¤: सिà¤à¤ à¤à¤°à¥à¤ à¤à¤° दà¥à¤à¥à¤ ठपनॠसà¤à¥ à¤à¤ªà¤à¤°à¤£à¥à¤ पर पायà¥à¤ à¤à¤¨ à¤à¥à¤à¥à¤ à¤à¥ à¤à¤¿à¤¨à¥à¤¹à¥à¤ à¤à¤ªà¤¨à¥ यहाठसहà¥à¤à¤¾ हà¥.
+
+onboarding.tour-library=लाà¤à¤¬à¥à¤°à¥âरà¥
+onboarding.tour-library.title=à¤à¤¸à¥ à¤à¤ साथ रà¤à¥à¤.
+# LOCALIZATION NOTE (onboarding.tour-library.description2): This string will be used in the library tour description. %1$S is brandShortName
+onboarding.tour-library.description2=दà¥à¤à¥à¤ नयॠ%1$S लाà¤à¤¬à¥à¤°à¥à¤°à¥ à¤à¥ बदलॠहà¥à¤ à¤à¤ªà¤à¤°à¤£ पà¤à¥à¤à¥ मà¥à¤. लाà¤à¤¬à¥à¤°à¥à¤°à¥ %1$S मà¥à¤ à¤à¤ªà¤à¥ दà¥à¤µà¤¾à¤°à¤¾ दà¥à¤à¥ à¤à¤° सहà¥à¤à¥ à¤à¤¯à¥ à¤à¥à¤à¥à¤ â à¤à¤ªà¤à¥ बà¥à¤°à¤¾à¤à¥à¤¿à¤à¤ à¤à¤¤à¤¿à¤¹à¤¾à¤¸, पà¥à¤¸à¥à¤¤à¤à¤¿à¤¨à¥à¤¹, पà¥à¤à¥à¤ सà¥à¤à¥, à¤à¤° सिà¤à¤ à¤à¤¿à¤¯à¥ हà¥à¤ à¤à¥à¤¬à¥à¤ â à¤à¤ सà¥à¤µà¤¿à¤§à¤¾à¤à¤¨à¤ à¤à¤à¤¹ मà¥à¤ रà¤à¤¤à¤¾ हà¥.
+onboarding.tour-library.button2=लाà¤à¤¬à¥à¤°à¥à¤°à¥ मà¥à¤¨à¥à¤¯à¥ मà¥à¤ दà¥à¤à¥à¤
+onboarding.notification.onboarding-tour-library.title=à¤à¤¸à¥ à¤à¤ साथ रà¤à¥à¤.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-library.message): This string will be used in the notification message for the library tour. %S is brandShortName
+onboarding.notification.onboarding-tour-library.message=नया %S लाà¤à¤¬à¥à¤°à¥à¤°à¥ पà¥à¤°à¤®à¥à¤ à¤à¥à¤à¥à¤ à¤à¥ à¤à¤ सà¥à¤µà¤¿à¤§à¤¾à¤à¤¨à¤ à¤à¤à¤¹ मà¥à¤ रà¤à¤¤à¤¾ हॠà¤à¤¿à¤¨à¥à¤¹à¥à¤ à¤à¤ªà¤¨à¥ वà¥à¤¬ पर à¤à¥à¤à¤¾ हà¥.
+
+onboarding.tour-singlesearch=पता पà¤à¥à¤à¥
+onboarding.tour-singlesearch.title=à¤à¤¸à¥ तà¥à¤à¤¼à¥ सॠपà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤°à¥à¤.
+# LOCALIZATION NOTE(onboarding.tour-singlesearch.description): %S is brandShortName
+onboarding.tour-singlesearch.description=पता पà¤à¥à¤à¥ à¤à¤à¤°à¥à¤·à¤ नयॠ%S à¤à¤ªà¤à¤°à¤£ पà¤à¥à¤à¥ मà¥à¤ सबसॠशà¤à¥à¤¤à¤¿à¤¶à¤¾à¤²à¥ à¤à¤ªà¤à¤°à¤£ हॠसà¤à¤¤à¤¾ हà¥. à¤à¤¾à¤à¤ªà¤¿à¤à¤ पà¥à¤°à¤¾à¤°à¤à¤ à¤à¤°à¥à¤, à¤à¤° ठपनॠबà¥à¤°à¤¾à¤à¥à¤¿à¤à¤ à¤à¤µà¤ à¤à¥à¤ à¤à¤¤à¤¿à¤¹à¤¾à¤¸ पर à¤à¤§à¤¾à¤°à¤¿à¤¤ सà¥à¤à¤¾à¤µ दà¥à¤à¥à¤. à¤à¤ वà¥à¤¬ पतॠपर à¤à¤¾à¤à¤, समà¥à¤ªà¥à¤°à¥à¤£ वà¥à¤¬ पर à¤à¥à¤à¥à¤ ठपनॠडिफ़à¥à¤²à¥à¤ à¤à¥à¤ à¤à¤à¤à¤¨ à¤à¥ साथ, या सà¥à¤§à¥ à¤à¤¿à¤¸à¥ साà¤à¤ à¤à¥ ठपना पà¥à¤°à¤¶à¥à¤¨ à¤à¥à¤à¥à¤ à¤à¤à¤²-à¤à¥à¤²à¤¿à¤-à¤à¥à¤ à¤à¥ साथ.
+onboarding.tour-singlesearch.button=पता पà¤à¥à¤à¥ दिà¤à¤¾à¤à¤
+onboarding.notification.onboarding-tour-singlesearch.title=à¤à¤¸à¥ तà¥à¤à¤¼à¥ सॠपà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤°à¥à¤.
+onboarding.notification.onboarding-tour-singlesearch.message=à¤à¤à¥à¤à¥à¤¤ पता पà¤à¥à¤à¥ ठà¤à¥à¤²à¤¾ साधन हॠà¤à¤¿à¤¸à¤à¥ à¤à¤¼à¤°à¥à¤°à¤¤ à¤à¤ªà¤à¥ वà¥à¤¬ पर ठपना रासà¥à¤¤à¤¾ à¤à¥à¤à¤¨à¥ à¤à¥ लिठहà¥à¤à¥.
+
+onboarding.tour-performance=पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨
+onboarding.tour-performance.title=सरà¥à¤µà¤¶à¥à¤°à¥à¤·à¥à¤ à¤à¥ साथ बà¥à¤°à¤¾à¤à¤à¤¼ à¤à¤°à¥à¤.
+# LOCALIZATION NOTE(onboarding.tour-performance.description): %1$S is brandShortName.
+onboarding.tour-performance.description=यह à¤à¤ बिलà¥à¤à¥à¤² नया %1$S हà¥, à¤à¥ तà¥à¤µà¥à¤° पà¥à¤·à¥à¤ लà¥à¤¡ à¤à¤°à¤¨à¥, सà¥à¤à¤® सà¥à¤à¥à¤°à¥à¤²à¤¿à¤à¤, à¤à¤° ठधिठठनà¥à¤à¥à¤°à¤¿à¤¯à¤¾à¤¶à¥à¤² à¤à¥à¤¬ सà¥à¤µà¤¿à¤à¤¿à¤à¤ à¤à¥ लिठबनाया à¤à¤¯à¤¾ हà¥. यॠपà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ à¤à¤¨à¥à¤¨à¤¯à¤¨ à¤à¤ à¤à¤§à¥à¤¨à¤¿à¤, सहठठà¤à¤¿à¤à¤²à¥à¤ªà¤¨à¤¾ à¤à¥ साथ यà¥à¤à¥à¤¤ हà¥. बà¥à¤°à¤¾à¤à¤à¤¼à¤¿à¤à¤ पà¥à¤°à¤¾à¤°à¤à¤ à¤à¤°à¥à¤ à¤à¤° à¤à¤¼à¥à¤¦ ठनà¥à¤à¤µ à¤à¤°à¥à¤: ठब तठà¤à¤¾ सरà¥à¤µà¥à¤¤à¥à¤¤à¤® %1$S.
+onboarding.notification.onboarding-tour-performance.title=सरà¥à¤µà¤¶à¥à¤°à¥à¤·à¥à¤ à¤à¥ साथ बà¥à¤°à¤¾à¤à¤à¤¼ à¤à¤°à¥à¤.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-performance.message): %S is brandShortName.
+onboarding.notification.onboarding-tour-performance.message=ठपनॠà¤à¤ª à¤à¥ शà¥à¤à¥à¤°à¤¤à¤®, ठतिसà¥à¤à¤®, सबसॠà¤à¤°à¥à¤¸à¥à¤®à¤à¤¦ %S à¤à¥ लिठतà¥à¤¯à¤¾à¤° à¤à¥à¤à¤¿à¤.
+
+# LOCALIZATION NOTE (onboarding.tour-screenshots): "Screenshots" is the name of the Firefox Screenshots feature and should not be localized.
+onboarding.tour-screenshots=सà¥à¤à¥à¤°à¥à¤¨à¤¶à¥à¤
+onboarding.tour-screenshots.title=बà¥à¤¹à¤¤à¤° सà¥à¤à¥à¤°à¥à¤¨à¤¶à¥à¤ लà¥à¤.
+# LOCALIZATION NOTE(onboarding.tour-screenshots.description): %S is brandShortName.
+onboarding.tour-screenshots.description=सà¥à¤à¥à¤°à¥à¤¨à¤¶à¥à¤ लà¥à¤, सहà¥à¤à¥à¤ à¤à¤° साà¤à¤¾ à¤à¤°à¥à¤ â बिना %S à¤à¥à¤¡à¤¼à¥. à¤à¤ à¤à¥à¤·à¥à¤¤à¥à¤° या पà¥à¤°à¥ पà¥à¤·à¥à¤ à¤à¥ à¤à¥à¤°à¤®à¤£ à¤à¤°à¤¤à¥ हà¥à¤ à¤à¤¼à¥à¤¦ à¤à¤°à¥à¤. फिर à¤à¤¸à¤¾à¤¨ पहà¥à¤à¤ à¤à¤° सहà¤à¤¾à¤à¤¨ à¤à¥ लिठवà¥à¤¬ पर सहà¥à¤à¥à¤.
+# LOCALIZATION NOTE (onboarding.tour-screenshots.button): "Screenshots" is the name of the Firefox Screenshots feature and should not be localized.
+onboarding.tour-screenshots.button=सà¥à¤à¥à¤°à¥à¤¨à¤¶à¥à¤ वà¥à¤¬à¤¸à¤¾à¤à¤ à¤à¥à¤²à¥à¤
+onboarding.notification.onboarding-tour-screenshots.title=बà¥à¤¹à¤¤à¤° सà¥à¤à¥à¤°à¥à¤¨à¤¶à¥à¤ लà¥à¤.
+# LOCALIZATION NOTE(onboarding.notification.onboarding-tour-screenshots.message): %S is brandShortName.
+onboarding.notification.onboarding-tour-screenshots.message=सà¥à¤à¥à¤°à¥à¤¨à¤¶à¥à¤ लà¥à¤, सहà¥à¤à¥à¤ à¤à¤° साà¤à¤¾ à¤à¤°à¥à¤ â बिना %S à¤à¥à¤¡à¤¼à¥.
diff --git a/browser/extensions/webcompat-reporter/webcompat.properties b/browser/extensions/webcompat-reporter/webcompat.properties
new file mode 100644
index 00000000000..8eac0f0055a
--- /dev/null
+++ b/browser/extensions/webcompat-reporter/webcompat.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=साà¤à¤ समसà¥à¤¯à¤¾ à¤à¥ रिपà¥à¤°à¥à¤ à¤à¤°à¥à¤â¦
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=à¤à¤ साà¤à¤ ठनà¥à¤à¥à¤²à¤¤à¤¾ समसà¥à¤¯à¤¾ à¤à¥ रिपà¥à¤°à¥à¤ à¤à¤°à¥à¤
diff --git a/browser/firefox-l10n.js b/browser/firefox-l10n.js
new file mode 100644
index 00000000000..b410ad9aef4
--- /dev/null
+++ b/browser/firefox-l10n.js
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#filter substitution
+
diff --git a/browser/installer/custom.properties b/browser/installer/custom.properties
new file mode 100644
index 00000000000..cca2a7c3af3
--- /dev/null
+++ b/browser/installer/custom.properties
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+REG_APP_DESC=$BrandShortName delivers safe, easy web browsing. A familiar user interface, enhanced security features including protection from online identity theft, and integrated search let you get the most out of the web.
+CONTEXT_OPTIONS=$BrandShortName &Options
+CONTEXT_SAFE_MODE=$BrandShortName &Safe Mode
+OPTIONS_PAGE_TITLE=Setup Type
+OPTIONS_PAGE_SUBTITLE=Choose setup options
+SHORTCUTS_PAGE_TITLE=लà¤à¥ पथ वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤à¤°à¥à¤\u0020
+SHORTCUTS_PAGE_SUBTITLE=Create Program Icons
+COMPONENTS_PAGE_TITLE=Set Up Optional Components
+COMPONENTS_PAGE_SUBTITLE=Optional Recommended Components
+OPTIONAL_COMPONENTS_DESC=The Maintenance Service will allow you to update $BrandShortName silently in the background.
+MAINTENANCE_SERVICE_CHECKBOX_DESC=Install &Maintenance Service
+SUMMARY_PAGE_TITLE=साराà¤à¤¶
+SUMMARY_PAGE_SUBTITLE=Ready to start installing $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName निमà¥à¤¨ सà¥à¤¥à¤¾à¤¨ पर सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾à¤à¤à¤¾:
+SUMMARY_REBOOT_REQUIRED_INSTALL=A restart of your computer may be required to complete the installation.
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=A restart of your computer may be required to complete the uninstall.
+SUMMARY_TAKE_DEFAULTS=U&se $BrandShortName as my default web browser
+SUMMARY_INSTALL_CLICK=Click Install to continue.
+SUMMARY_UPGRADE_CLICK=Click Upgrade to continue.
+SURVEY_TEXT=&Tell us what you thought of $BrandShortName
+LAUNCH_TEXT=&Launch $BrandShortName now
+CREATE_ICONS_DESC=Create icons for $BrandShortName:
+ICONS_DESKTOP=On my &Desktop
+ICONS_STARTMENU=In my &Start Menu Programs folder
+ICONS_QUICKLAUNCH=In my &Quick Launch bar
+WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName must be closed to proceed with the installation.\n\nPlease close $BrandShortName to continue.
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName must be closed to proceed with the uninstall.\n\nPlease close $BrandShortName to continue.
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName is already running.\n\nPlease close $BrandShortName prior to launching the version you have just installed.
+WARN_WRITE_ACCESS=You don't have access to write to the installation directory.\n\nClick OK to select a different directory.
+WARN_DISK_SPACE=You don't have sufficient disk space to install to this location.\n\nClick OK to select a different location.
+WARN_MIN_SUPPORTED_OSVER_MSG=à¤à¥à¤·à¤®à¤¾ à¤à¤°à¥à¤, $BrandShortName सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ नहà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥. $BrandShortName à¤à¥ à¤à¤¸ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ ${MinSupportedVer} या नवà¥à¤¨à¤¤à¤® à¤à¥ à¤à¤°à¥à¤°à¤¤ हà¥. ठतिरिà¤à¥à¤¤ सà¥à¤à¤¨à¤¾ à¤à¥ लिठà¤à¥à¤ªà¤¯à¤¾ OK बà¤à¤¨ दबाà¤à¤.
+WARN_MIN_SUPPORTED_CPU_MSG=à¤à¥à¤·à¤®à¤¾ à¤à¤°à¥à¤, $BrandShortName सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ नहà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥. $BrandShortName à¤à¥ à¤à¤¸ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ ${MinSupportedCPU} सहयà¥à¤ à¤à¥ साथ à¤à¤ सà¤à¤¸à¤¾à¤§à¤ à¤à¥ à¤à¤°à¥à¤°à¤¤ हà¥. ठतिरिà¤à¥à¤¤ सà¥à¤à¤¨à¤¾ à¤à¥ लिठà¤à¥à¤ªà¤¯à¤¾ OK बà¤à¤¨ दबाà¤à¤.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=à¤à¥à¤·à¤®à¤¾ à¤à¤°à¥à¤, $BrandShortName सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ नहà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥. $BrandShortName à¤à¥ à¤à¤¸ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ ${MinSupportedVer} या नवà¥à¤¨à¤¤à¤® à¤à¤° ${MinSupportedCPU} सहयà¥à¤ à¤à¥ साथ à¤à¤ सà¤à¤¸à¤¾à¤§à¤ à¤à¥ à¤à¤°à¥à¤°à¤¤ हà¥. ठतिरिà¤à¥à¤¤ सà¥à¤à¤¨à¤¾ à¤à¥ लिठà¤à¥à¤ªà¤¯à¤¾ OK बà¤à¤¨ दबाà¤à¤.
+WARN_RESTART_REQUIRED_UNINSTALL=Your computer must be restarted to complete a previous uninstall of $BrandShortName. Do you want to reboot now?
+WARN_RESTART_REQUIRED_UPGRADE=Your computer must be restarted to complete a previous upgrade of $BrandShortName. Do you want to reboot now?
+ERROR_CREATE_DIRECTORY_PREFIX=Error creating directory:
+ERROR_CREATE_DIRECTORY_SUFFIX=Click Cancel to stop the installation or\nRetry to try again.
+
+UN_CONFIRM_PAGE_TITLE=Uninstall $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=ठपनॠà¤à¤à¤ªà¥à¤¯à¥à¤à¤° सॠ$BrandFullName निà¤à¤¾à¤²à¥à¤.
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName will be uninstalled from the following location:
+UN_CONFIRM_CLICK=Click Uninstall to continue.
+
+BANNER_CHECK_EXISTING=Checking existing installationâ¦
+
+STATUS_INSTALL_APP=Installing $BrandShortNameâ¦
+STATUS_INSTALL_LANG=Installing Language Files (${AB_CD})â¦
+STATUS_UNINSTALL_MAIN=Uninstalling $BrandShortNameâ¦
+STATUS_CLEANUP=A Little Housekeepingâ¦
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=Choose the type of setup you prefer, then click Next.
+# One line
+OPTION_STANDARD_DESC=$BrandShortName will be installed with the most common options.
+OPTION_STANDARD_RADIO=&Standard
+# Two lines
+OPTION_CUSTOM_DESC=You may choose individual options to be installed. Recommended for experienced users.
+OPTION_CUSTOM_RADIO=&Custom
+
+# LOCALIZATION NOTE:
+# The following text replaces the Install button text on the summary page.
+# Verify that the access key for InstallBtn (in override.properties) and
+# UPGRADE_BUTTON is not already used by SUMMARY_TAKE_DEFAULTS.
+UPGRADE_BUTTON=ठपडà¥à¤
diff --git a/browser/installer/mui.properties b/browser/installer/mui.properties
new file mode 100644
index 00000000000..38236521ec8
--- /dev/null
+++ b/browser/installer/mui.properties
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# To make the l10n tinderboxen see changes to this file you can change a value
+# name by adding - to the end of the name followed by chars (e.g. Branding-2).
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+MUI_TEXT_WELCOME_INFO_TITLE=Welcome to the $BrandFullNameDA Setup Wizard
+MUI_TEXT_WELCOME_INFO_TEXT=This wizard will guide you through the installation of $BrandFullNameDA.\n\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=ठवयव à¤à¥à¤¨à¥à¤
+MUI_TEXT_COMPONENTS_SUBTITLE=Choose which features of $BrandFullNameDA you want to install.
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Description
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=ठपनॠमाà¤à¤¸ à¤à¥ à¤à¤ ठवयव à¤à¥ à¤à¤ªà¤° à¤à¤¸à¤à¥ वरà¥à¤£à¤¨ à¤à¥ दà¥à¤à¤¨à¥ à¤à¥ लिठवà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤à¤°à¥à¤.
+MUI_TEXT_DIRECTORY_TITLE=Choose Install Location
+MUI_TEXT_DIRECTORY_SUBTITLE=Choose the folder in which to install $BrandFullNameDA.
+MUI_TEXT_INSTALLING_TITLE=सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¨ à¤à¤¾à¤°à¥
+MUI_TEXT_INSTALLING_SUBTITLE=Please wait while $BrandFullNameDA is being installed.
+MUI_TEXT_FINISH_TITLE=Installation Complete
+MUI_TEXT_FINISH_SUBTITLE=Setup was completed successfully.
+MUI_TEXT_ABORT_TITLE=Installation Aborted
+MUI_TEXT_ABORT_SUBTITLE=Setup was not completed successfully.
+MUI_BUTTONTEXT_FINISH=&Finish
+MUI_TEXT_FINISH_INFO_TITLE=Completing the $BrandFullNameDA Setup Wizard
+MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA has been installed on your computer.\n\nClick Finish to close this wizard.
+MUI_TEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the installation of $BrandFullNameDA. Do you want to reboot now?
+MUI_TEXT_FINISH_REBOOTNOW=Reboot now
+MUI_TEXT_FINISH_REBOOTLATER=I want to manually reboot later
+MUI_TEXT_STARTMENU_TITLE=Choose Start Menu Folder
+MUI_TEXT_STARTMENU_SUBTITLE=Choose a Start Menu folder for the $BrandFullNameDA shortcuts.
+MUI_INNERTEXT_STARTMENU_TOP=Select the Start Menu folder in which you would like to create the program's shortcuts. You can also enter a name to create a new folder.
+MUI_TEXT_ABORTWARNING=Are you sure you want to quit $BrandFullName Setup?
+MUI_UNTEXT_WELCOME_INFO_TITLE=Welcome to the $BrandFullNameDA Uninstall Wizard
+MUI_UNTEXT_WELCOME_INFO_TEXT=This wizard will guide you through the uninstallation of $BrandFullNameDA.\n\nBefore starting the uninstallation, make sure $BrandFullNameDA is not running.\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=Uninstall $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=ठपनॠà¤à¤à¤ªà¥à¤¯à¥à¤à¤° सॠ$BrandFullNameDA निà¤à¤¾à¤²à¥à¤.
+MUI_UNTEXT_UNINSTALLING_TITLE=Uninstalling
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=Please wait while $BrandFullNameDA is being uninstalled.
+MUI_UNTEXT_FINISH_TITLE=Uninstallation Complete
+MUI_UNTEXT_FINISH_SUBTITLE=Uninstall was completed successfully.
+MUI_UNTEXT_ABORT_TITLE=Uninstallation Aborted
+MUI_UNTEXT_ABORT_SUBTITLE=Uninstall was not completed successfully.
+MUI_UNTEXT_FINISH_INFO_TITLE=Completing the $BrandFullNameDA Uninstall Wizard
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA has been uninstalled from your computer.\n\nClick Finish to close this wizard.
+MUI_UNTEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the uninstallation of $BrandFullNameDA. Do you want to reboot now?
+MUI_UNTEXT_ABORTWARNING=à¤à¥à¤¯à¤¾ à¤à¤ª $BrandFullName à¤à¥ ठसà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¨ सॠबाहर निà¤à¤²à¤¨à¥ à¤à¥ लिठनिशà¥à¤à¤¿à¤¤ हà¥à¤?
diff --git a/browser/installer/nsisstrings.properties b/browser/installer/nsisstrings.properties
new file mode 100644
index 00000000000..79b3917ae67
--- /dev/null
+++ b/browser/installer/nsisstrings.properties
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+INSTALLER_WIN_CAPTION=$BrandShortName सà¥à¤¥à¤¾à¤ªà¤¨à¤à¤°à¥à¤¤à¤¾
+
+# The \n in the next two strings can be moved or deleted as needed to make
+# the string fit in the 3 lines of space available.
+STUB_CLEANUP_PAVEOVER_HEADER=$BrandShortName पहलॠसॠसà¥à¤¥à¤¾à¤ªà¤¨à¤à¤°à¥à¤¤à¤¾ हà¥à¤.\nà¤à¤²à¤¿à¤ à¤à¤¸à¥ ठदà¥à¤¯à¤¤à¤¨ à¤à¤°à¥à¤.
+STUB_CLEANUP_REINSTALL_HEADER=$BrandShortName पहलॠसॠसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ हà¥à¤.\nà¤à¤²à¤¿à¤ à¤à¤ªà¤à¥ नठपà¥à¤°à¤¤à¤¿ दिलाà¤à¤.
+STUB_CLEANUP_PAVEOVER_BUTTON=ठदà¥à¤¯à¤¤à¤¨
+STUB_CLEANUP_REINSTALL_BUTTON=पà¥à¤¨à¤-&सà¥à¤¥à¤¾à¤ªà¤¨
+STUB_CLEANUP_CHECKBOX_LABEL=&à¤à¤·à¥à¤à¤¤à¤® पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ à¤à¥ लिठमà¥à¤² सà¥à¤à¤¿à¤à¤ पà¥à¤¨à¤°à¥à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¥à¤ à¤à¤° पà¥à¤°à¤¾à¤¨à¥ à¤à¤¡-à¤à¤¨ हà¤à¤¾ दà¥à¤
+
+STUB_INSTALLING_LABEL2=ठब सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ रहा हà¥â¦
+STUB_BLURB_FIRST1=ठब तठà¤à¤¾ सबसॠतà¥à¤à¤¼, सबसॠठनà¥à¤à¥à¤°à¤¿à¤¯à¤¾à¤¶à¥à¤² $BrandShortName
+STUB_BLURB_SECOND1=ठधिठतà¥à¤à¤¼ पà¥à¤·à¥à¤ लà¥à¤¡à¤¿à¤à¤ à¤à¤° à¤à¥à¤¬ सà¥à¤µà¤¿à¤à¤¿à¤à¤
+STUB_BLURB_THIRD1=शà¤à¥à¤¤à¤¿à¤¶à¤¾à¤²à¥ निà¤à¥ बà¥à¤°à¤¾à¤à¤à¤¼à¤¿à¤à¤
+STUB_BLURB_FOOTER2=लà¥à¤à¥à¤ à¤à¥ लिठनिरà¥à¤®à¤¿à¤¤, लाठà¤à¥ लिठनहà¥à¤
+
+WARN_MIN_SUPPORTED_OSVER_MSG=à¤à¥à¤·à¤®à¤¾ à¤à¤°à¥à¤, $BrandShortName सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ नहà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥. $BrandShortName à¤à¥ à¤à¤¸ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ ${MinSupportedVer} या नवà¥à¤¨à¤¤à¤® à¤à¥ à¤à¤°à¥à¤°à¤¤ हà¥. ठतिरिà¤à¥à¤¤ सà¥à¤à¤¨à¤¾ à¤à¥ लिठà¤à¥à¤ªà¤¯à¤¾ OK बà¤à¤¨ दबाà¤à¤.
+WARN_MIN_SUPPORTED_CPU_MSG=à¤à¥à¤·à¤®à¤¾ à¤à¤°à¥à¤, $BrandShortName सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ नहà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥. $BrandShortName à¤à¥ à¤à¤¸ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ ${MinSupportedCPU} सहयà¥à¤ à¤à¥ साथ à¤à¤ सà¤à¤¸à¤¾à¤§à¤ à¤à¥ à¤à¤°à¥à¤°à¤¤ हà¥. ठतिरिà¤à¥à¤¤ सà¥à¤à¤¨à¤¾ à¤à¥ लिठà¤à¥à¤ªà¤¯à¤¾ OK बà¤à¤¨ दबाà¤à¤.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=à¤à¥à¤·à¤®à¤¾ à¤à¤°à¥à¤, $BrandShortName सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ नहà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥. $BrandShortName à¤à¥ à¤à¤¸ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ ${MinSupportedVer} या नवà¥à¤¨à¤¤à¤® à¤à¤° ${MinSupportedCPU} सहयà¥à¤ à¤à¥ साथ à¤à¤ सà¤à¤¸à¤¾à¤§à¤ à¤à¥ à¤à¤°à¥à¤°à¤¤ हà¥. ठतिरिà¤à¥à¤¤ सà¥à¤à¤¨à¤¾ à¤à¥ लिठà¤à¥à¤ªà¤¯à¤¾ OK बà¤à¤¨ दबाà¤à¤.
+WARN_WRITE_ACCESS_QUIT=à¤à¤ªà¤à¥ पास सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ डिरà¥à¤à¥à¤à¤°à¥ मà¥à¤ लिà¤à¤¨à¥ à¤à¥ लिठपहà¥à¤à¤ नहà¥à¤ हà¥
+WARN_DISK_SPACE_QUIT=सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¤ªà¤à¥ पास परà¥à¤¯à¤¾à¤ªà¥à¤¤ मà¥à¤®à¥à¤°à¥ नहॠहà¥à¤.
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName पहलॠसॠà¤à¤² रहा हà¥.\n\nà¤à¤ªà¤à¥ दà¥à¤µà¤¾à¤°à¤¾ हालिया सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ लà¥à¤¨à¥à¤ हà¥à¤¨à¥ à¤à¥ पहलॠà¤à¥à¤ªà¤¯à¤¾ $BrandShortName बà¤à¤¦ à¤à¤°à¥à¤.
+
+ERROR_DOWNLOAD_CONT=हाà¤. à¤à¤¿à¤¸à¥ à¤à¤¾à¤°à¤£à¤µà¤¶ हम $BrandShortName सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ नहà¥à¤ à¤à¤° सà¤à¥.\nपà¥à¤¨à¤ शà¥à¤°à¥ à¤à¤°à¤¨à¥ à¤à¥ लिठठà¥à¤ à¤à¥à¤¨à¥à¤.
+
+STUB_CANCEL_PROMPT_BUTTON_CONTINUE=$BrandShortName सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¥à¤
+STUB_CANCEL_PROMPT_BUTTON_EXIT=रदà¥à¤¦ à¤à¤°à¥à¤
+
+VERSION_32BIT=32-बिठ$BrandShortName
+VERSION_64BIT=64-बिठ$BrandShortName
diff --git a/browser/installer/override.properties b/browser/installer/override.properties
new file mode 100644
index 00000000000..aeadd0889db
--- /dev/null
+++ b/browser/installer/override.properties
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+# Strings that require a space at the end should be enclosed with double
+# quotes and the double quotes will be removed. To add quotes to the beginning
+# and end of a strong enclose the add and additional double quote to the
+# beginning and end of the string (e.g. ""This will include quotes"").
+
+SetupCaption=$BrandFullName Setup
+UninstallCaption=$BrandFullName Uninstall
+BackBtn=< &Back
+NextBtn=&Next >
+AcceptBtn=I &accept the terms in the License Agreement
+DontAcceptBtn=I &do not accept the terms in the License Agreement
+InstallBtn=&Install
+UninstallBtn=&Uninstall
+CancelBtn=Cancel
+CloseBtn=&Close
+BrowseBtn=B&rowseâ¦
+ShowDetailsBtn=Show &details
+ClickNext=à¤à¤¾à¤°à¥ रà¤à¤¨à¥ à¤à¥ लिठठà¤à¤²à¤¾ दबाà¤à¤.
+ClickInstall=सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¨ पà¥à¤°à¤¾à¤°à¤à¤ à¤à¤°à¤¨à¥ à¤à¥ लिठसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¤¨à¤¾ दबाà¤à¤.
+ClickUninstall=ठसà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¨ पà¥à¤°à¤¾à¤°à¤à¤ à¤à¤°à¤¨à¥ à¤à¥ लिठठसà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¨ दबाà¤à¤.
+Completed=Completed
+LicenseTextRB=à¤à¥à¤ªà¤¯à¤¾ $BrandFullNameDA सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¤¨à¥ सॠपहलॠठनà¥à¤à¥à¤à¤ªà¥à¤¤à¤¿ à¤à¤¼à¤°à¤¾à¤° à¤à¥ समà¥à¤à¥à¤·à¤¾ à¤à¤°à¥à¤. यदि à¤à¤ªà¤à¥ à¤à¤¼à¤°à¤¾à¤° à¤à¥ सà¤à¥ शरà¥à¤¤à¥à¤ सà¥à¤µà¥à¤à¤¾à¤° हà¥à¤, तॠनà¥à¤à¥ दिया à¤à¤¯à¤¾ पहला विà¤à¤²à¥à¤ª à¤à¥à¤¨à¥à¤. $_CLICK
+ComponentsText=Check the components you want to install and uncheck the components you don't want to install. $_CLICK
+ComponentsSubText2_NoInstTypes=ठवयवà¥à¤ à¤à¥ सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¥à¤¨à¥à¤:\u0020
+DirText=Setup will install $BrandFullNameDA in the following folder. To install in a different folder, click Browse and select another folder. $_CLICK
+DirSubText=à¤à¤à¤¤à¤µà¥à¤¯ फ़à¥à¤²à¥à¤¡à¤°
+DirBrowseText=Select the folder to install $BrandFullNameDA in:
+SpaceAvailable="सà¥à¤¥à¤¾à¤¨ à¤à¤ªà¤²à¤¬à¥à¤§: "
+SpaceRequired="Space required: "
+UninstallingText=$BrandFullNameDA will be uninstalled from the following folder. $_CLICK
+UninstallingSubText=Uninstalling from:
+FileError=Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Abort to stop the installation,\r\nRetry to try again, or\r\nIgnore to skip this file.
+FileError_NoIgnore=लà¥à¤à¤¨ हà¥à¤¤à¥ फ़ाà¤à¤² à¤à¥à¤²à¤¨à¥ मà¥à¤ तà¥à¤°à¥à¤à¤¿: \r\n\r\n$0\r\n\r\nफिर सॠà¤à¥à¤¶à¤¿à¤¶ à¤à¤°à¤¨à¥ à¤à¥ लिठपà¥à¤¨à¤ पà¥à¤°à¤¯à¤¾à¤¶ दबाà¤à¤, या\r\nसà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¨ रà¥à¤à¤¨à¥ à¤à¥ लिठरदà¥à¤¦ à¤à¤°à¥à¤.
+CantWrite="Can't write: "
+CopyFailed=पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ विफल
+CopyTo="Copy to "
+Registering="Registering: "
+Unregistering="Unregistering: "
+SymbolNotFound="Could not find symbol: "
+CouldNotLoad="Could not load: "
+CreateFolder="Create folder: "
+CreateShortcut="शà¥à¤°à¥à¤à¤à¤ बनाà¤à¤: "
+CreatedUninstaller="Created uninstaller: "
+Delete="Delete file: "
+DeleteOnReboot="रिबà¥à¤ पर हà¤à¤¾à¤à¤:"
+ErrorCreatingShortcut="Error creating shortcut: "
+ErrorCreating="Error creating: "
+ErrorDecompressing=Error decompressing data! Corrupted installer?
+ErrorRegistering=Error registering DLL
+ExecShell="ExecShell: "
+Exec="Execute: "
+Extract="Extract: "
+ErrorWriting="Extract: error writing to file "
+InvalidOpcode=Installer corrupted: invalid opcode
+NoOLE="No OLE for: "
+OutputFolder="Output folder: "
+RemoveFolder="फ़à¥à¤²à¥à¤¡à¤° निà¤à¤¾à¤²à¥à¤:"
+RenameOnReboot="Rename on reboot: "
+Rename="Rename: "
+Skipped="Skipped: "
+CopyDetails=Copy Details To Clipboard
+LogInstall=Log install process
+Byte=B
+Kilo=K
+Mega=M
+Giga=G
diff --git a/browser/pdfviewer/chrome.properties b/browser/pdfviewer/chrome.properties
new file mode 100644
index 00000000000..47d7ca2d4b4
--- /dev/null
+++ b/browser/pdfviewer/chrome.properties
@@ -0,0 +1,19 @@
+# Copyright 2012 Mozilla Foundation
+#
+# 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.
+
+# Chrome notification bar messages and buttons
+unsupported_feature=PDF दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ सहॠदिठनहà¥à¤ सà¤à¤¤à¤¾ हà¥.
+unsupported_feature_forms=à¤à¤¸ PDF दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ मà¥à¤ फ़à¥à¤°à¥à¤® हà¥à¤. फ़à¥à¤°à¥à¤® à¤à¥à¤·à¥à¤¤à¥à¤° à¤à¤°à¤¨à¥ à¤à¥ सà¥à¤µà¤¿à¤§à¤¾ समरà¥à¤¥à¤¿à¤¤ नहà¥à¤ हà¥.
+open_with_different_viewer=\u0020à¤à¤¿à¤¨à¥à¤¨ पà¥à¤°à¤¦à¤°à¥à¤¶à¤ à¤à¥ साथ à¤à¥à¤²à¥à¤
+open_with_different_viewer.accessKey=o
diff --git a/browser/pdfviewer/viewer.properties b/browser/pdfviewer/viewer.properties
new file mode 100644
index 00000000000..cfb45d2c968
--- /dev/null
+++ b/browser/pdfviewer/viewer.properties
@@ -0,0 +1,201 @@
+# Copyright 2012 Mozilla Foundation
+#
+# 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.
+
+# Main toolbar buttons (tooltips and alt text for images)
+previous.title=पिà¤à¤²à¤¾ पà¥à¤·à¥à¤
+previous_label=पिà¤à¤²à¤¾
+next.title=ठà¤à¤²à¤¾ पà¥à¤·à¥à¤
+next_label=à¤à¤à¥
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=पà¥à¤·à¥à¤ :
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages={{pagesCount}} à¤à¤¾
+# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
+# will be replaced by a number representing the currently visible page,
+# respectively a number representing the total number of pages in the document.
+page_of_pages=({{pageNumber}} of {{pagesCount}})
+
+zoom_out.title=\u0020à¤à¥à¤à¤¾ à¤à¤°à¥à¤
+zoom_out_label=\u0020à¤à¥à¤à¤¾ à¤à¤°à¥à¤
+zoom_in.title=बड़ा à¤à¤°à¥à¤
+zoom_in_label=बड़ा à¤à¤°à¥à¤
+zoom.title=बड़ा-à¤à¥à¤à¤¾ à¤à¤°à¥à¤
+presentation_mode.title=पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿ ठवसà¥à¤¥à¤¾ मà¥à¤ à¤à¤¾à¤à¤
+presentation_mode_label=\u0020पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿ ठवसà¥à¤¥à¤¾
+open_file.title=फ़ाà¤à¤² à¤à¥à¤²à¥à¤
+open_file_label=\u0020à¤à¥à¤²à¥à¤
+print.title=à¤à¤¾à¤ªà¥à¤
+print_label=\u0020à¤à¤¾à¤ªà¥à¤
+download.title=डाà¤à¤¨à¤²à¥à¤¡
+download_label=डाà¤à¤¨à¤²à¥à¤¡
+bookmark.title=मà¥à¤à¥à¤¦à¤¾ दà¥à¤¶à¥à¤¯ (नठविà¤à¤¡à¥ मà¥à¤ नà¤à¤¼à¤² लà¥à¤ या à¤à¥à¤²à¥à¤)
+bookmark_label=\u0020मà¥à¤à¥à¤¦à¤¾ दà¥à¤¶à¥à¤¯
+
+# Secondary toolbar and context menu
+tools.title=à¤à¤à¤¼à¤¾à¤°
+tools_label=à¤à¤à¤¼à¤¾à¤°
+first_page.title=पà¥à¤°à¤¥à¤® पà¥à¤·à¥à¤ पर à¤à¤¾à¤à¤
+first_page.label=\u0020पà¥à¤°à¤¥à¤® पà¥à¤·à¥à¤ पर à¤à¤¾à¤à¤
+first_page_label=पà¥à¤°à¤¥à¤® पà¥à¤·à¥à¤ पर à¤à¤¾à¤à¤
+last_page.title=ठà¤à¤¤à¤¿à¤® पà¥à¤·à¥à¤ पर à¤à¤¾à¤à¤
+last_page.label=\u0020ठà¤à¤¤à¤¿à¤® पà¥à¤·à¥à¤ पर à¤à¤¾à¤à¤
+last_page_label=\u0020ठà¤à¤¤à¤¿à¤® पà¥à¤·à¥à¤ पर à¤à¤¾à¤à¤
+page_rotate_cw.title=à¤à¤¡à¤¼à¥ à¤à¥ दिशा मà¥à¤ à¤à¥à¤®à¤¾à¤à¤
+page_rotate_cw.label=à¤à¤¡à¤¼à¥ à¤à¥ दिशा मà¥à¤ à¤à¥à¤®à¤¾à¤à¤
+page_rotate_cw_label=à¤à¤¡à¤¼à¥ à¤à¥ दिशा मà¥à¤ à¤à¥à¤®à¤¾à¤à¤
+page_rotate_ccw.title=à¤à¤¡à¤¼à¥ à¤à¥ दिशा सॠà¤à¤²à¥à¤à¤¾ à¤à¥à¤®à¤¾à¤à¤
+page_rotate_ccw.label=à¤à¤¡à¤¼à¥ à¤à¥ दिशा सॠà¤à¤²à¥à¤à¤¾ à¤à¥à¤®à¤¾à¤à¤
+page_rotate_ccw_label=\u0020à¤à¤¡à¤¼à¥ à¤à¥ दिशा सॠà¤à¤²à¥à¤à¤¾ à¤à¥à¤®à¤¾à¤à¤
+
+cursor_text_select_tool.title=पाठà¤à¤¯à¤¨ à¤à¤ªà¤à¤°à¤£ सà¤à¥à¤·à¤® à¤à¤°à¥à¤
+cursor_text_select_tool_label=पाठà¤à¤¯à¤¨ à¤à¤ªà¤à¤°à¤£
+cursor_hand_tool.title=हसà¥à¤¤ à¤à¤ªà¤à¤°à¤£ सà¤à¥à¤·à¤® à¤à¤°à¥à¤
+cursor_hand_tool_label=हसà¥à¤¤ à¤à¤ªà¤à¤°à¤£
+
+# Document properties dialog box
+document_properties.title=दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ विशà¥à¤·à¤¤à¤¾...
+document_properties_label=दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ विशà¥à¤·à¤¤à¤¾...
+document_properties_file_name=फ़ाà¤à¤² नाम:
+document_properties_file_size=फाà¤à¤² à¤à¤à¤¾à¤°à¤
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
+document_properties_title=शà¥à¤°à¥à¤·à¤:
+document_properties_author=लà¥à¤à¤à¤
+document_properties_subject=विषय:
+document_properties_keywords=à¤à¥à¤à¤à¥-शबà¥à¤¦:
+document_properties_creation_date=निरà¥à¤®à¤¾à¤£ दिनाà¤à¤:
+document_properties_modification_date=सà¤à¤¶à¥à¤§à¤¨ दिनाà¤à¤:
+# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
+# will be replaced by the creation/modification date, and time, of the PDF file.
+document_properties_date_string={{date}}, {{time}}
+document_properties_creator=निरà¥à¤®à¤¾à¤¤à¤¾:
+document_properties_producer=PDF à¤à¤¤à¥à¤ªà¤¾à¤¦à¤:
+document_properties_version=PDF सà¤à¤¸à¥à¤à¤°à¤£:
+document_properties_page_count=पà¥à¤·à¥à¤ à¤à¤¿à¤¨à¤¤à¥:
+document_properties_page_size=पà¥à¤·à¥à¤ à¤à¤à¤¾à¤°:
+document_properties_page_size_unit_inches=à¤à¤à¤
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=पà¥à¤°à¥à¤à¥à¤°à¥à¤
+document_properties_page_size_orientation_landscape=लà¥à¤à¤¡à¤¸à¥à¤à¥à¤ª
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=लà¥à¤à¤°
+document_properties_page_size_name_legal=लà¥à¤à¤²
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} Ã {{height}} {{unit}} ({{orientation}})
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} Ã {{height}} {{unit}} ({{name}}, {{orientation}})
+document_properties_close=बà¤à¤¦ à¤à¤°à¥à¤
+
+print_progress_message=à¤à¤ªà¤¾à¤ à¤à¥ लिठदसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ à¤à¥ तà¥à¤¯à¤¾à¤° à¤à¤¿à¤¯à¤¾ à¤à¤¾ रहा हà¥...
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=रदà¥à¤¦ à¤à¤°à¥à¤
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=\u0020सà¥à¤²à¤¾à¤à¤¡à¤° à¤à¥à¤à¤² à¤à¤°à¥à¤
+toggle_sidebar_notification.title=साà¤à¤¡à¤¬à¤¾à¤° à¤à¥à¤à¤² à¤à¤°à¥à¤ (दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ मà¥à¤ रà¥à¤ªà¤°à¥à¤à¤¾ शामिल हà¥/attachments)
+toggle_sidebar_label=सà¥à¤²à¤¾à¤à¤¡à¤° à¤à¥à¤à¤² à¤à¤°à¥à¤
+document_outline.title=दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ à¤à¥ रà¥à¤ªà¤°à¥à¤à¤¾ दिà¤à¤¾à¤à¤ (सारॠवसà¥à¤¤à¥à¤à¤ à¤à¥ फलनॠठथवा समà¥à¤à¤¨à¥ à¤à¥ लिठदॠबार à¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤)
+document_outline_label=दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ à¤à¤à¤à¤²à¤¾à¤à¤¨
+attachments.title=सà¤à¤²à¤à¥à¤¨à¤ दिà¤à¤¾à¤¯à¥à¤
+attachments_label=सà¤à¤²à¤à¥à¤¨à¤
+thumbs.title=लà¤à¥à¤à¤µà¤¿à¤¯à¤¾à¤ दिà¤à¤¾à¤à¤
+thumbs_label=लà¤à¥ à¤à¤µà¤¿
+findbar.title=\u0020दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ मà¥à¤ ढà¥à¤à¤¢à¤¼à¥à¤
+findbar_label=ढà¥à¤à¤¢à¥à¤
+
+# Thumbnails panel item (tooltip and alt text for images)
+# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
+# number.
+thumb_page_title=पà¥à¤·à¥à¤ {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=पà¥à¤·à¥à¤ {{page}} à¤à¥ लà¤à¥-à¤à¤µà¤¿
+
+# Find panel button title and messages
+find_input.title=ढà¥à¤à¤¢à¥à¤
+find_input.placeholder=दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ मà¥à¤ à¤à¥à¤à¥à¤...
+find_previous.title=वाà¤à¥à¤¯à¤¾à¤à¤¶ à¤à¥ पिà¤à¤²à¥ à¤à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿ ढà¥à¤à¤¢à¤¼à¥à¤
+find_previous_label=पिà¤à¤²à¤¾
+find_next.title=वाà¤à¥à¤¯à¤¾à¤à¤¶ à¤à¥ ठà¤à¤²à¥ à¤à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿ ढà¥à¤à¤¢à¤¼à¥à¤
+find_next_label=à¤à¤à¥
+find_highlight=\u0020सà¤à¥ à¤à¤²à¥à¤à¤¿à¤¤ à¤à¤°à¥à¤
+find_match_case_label=मिलान सà¥à¤¥à¤¿à¤¤à¤¿
+find_reached_top=पà¥à¤·à¥à¤ à¤à¥ à¤à¤ªà¤° पहà¥à¤à¤ à¤à¤¯à¤¾, नà¥à¤à¥ सॠà¤à¤¾à¤°à¥ रà¤à¥à¤
+find_reached_bottom=पà¥à¤·à¥à¤ à¤à¥ नà¥à¤à¥ मà¥à¤ à¤à¤¾ पहà¥à¤à¤à¤¾, à¤à¤ªà¤° सॠà¤à¤¾à¤°à¥
+find_not_found=वाà¤à¥à¤¯à¤¾à¤à¤¶ नहà¥à¤ मिला
+
+# Error panel labels
+error_more_info=ठधिठसà¥à¤à¤¨à¤¾
+error_less_info=à¤à¤® सà¥à¤à¤¨à¤¾
+error_close=बà¤à¤¦ à¤à¤°à¥à¤
+# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
+# replaced by the PDF.JS version and build ID.
+error_version_info=PDF.js v{{version}} (build: {{build}})
+# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
+# english string describing the error.
+error_message=\u0020सà¤à¤¦à¥à¤¶: {{message}}
+# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
+# trace.
+error_stack=सà¥à¤à¥à¤: {{stack}}
+# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
+error_file=फ़ाà¤à¤²: {{file}}
+# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
+error_line=पà¤à¤à¥à¤¤à¤¿: {{line}}
+rendering_error=पà¥à¤·à¥à¤ रà¥à¤à¤¡à¤°à¤¿à¤à¤ à¤à¥ दà¥à¤°à¤¾à¤¨ तà¥à¤°à¥à¤à¤¿ à¤à¤.
+
+# Predefined zoom values
+page_scale_width=\u0020पà¥à¤·à¥à¤ à¤à¥à¤¡à¤¼à¤¾à¤
+page_scale_fit=पà¥à¤·à¥à¤ फिà¤
+page_scale_auto=सà¥à¤µà¤à¤¾à¤²à¤¿à¤¤ à¤à¥à¤®
+page_scale_actual=वासà¥à¤¤à¤µà¤¿à¤ à¤à¤à¤¾à¤°
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}}%
+
+# Loading indicator messages
+loading_error_indicator=तà¥à¤°à¥à¤à¤¿
+loading_error=PDF लà¥à¤¡ à¤à¤°à¤¤à¥ समय à¤à¤ तà¥à¤°à¥à¤à¤¿ हà¥à¤.
+invalid_file_error=ठमानà¥à¤¯ या à¤à¥à¤°à¤·à¥à¤ PDF फ़ाà¤à¤².
+missing_file_error=\u0020ठनà¥à¤ªà¤¸à¥à¤¥à¤¿à¤¤ PDF फ़ाà¤à¤².
+unexpected_response_error=ठपà¥à¤°à¤¤à¥à¤¯à¤¾à¤¶à¤¿à¤¤ सरà¥à¤µà¤° पà¥à¤°à¤¤à¤¿à¤à¥à¤°à¤¿à¤¯à¤¾.
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with an annotation type from a list defined in
+# the PDF spec (32000-1:2008 Table 169 â Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+text_annotation_type.alt=\u0020[{{type}} Annotation]
+password_label=à¤à¤¸ PDF फ़ाà¤à¤² à¤à¥ à¤à¥à¤²à¤¨à¥ à¤à¥ लिठà¤à¥à¤ªà¤¯à¤¾ à¤à¥à¤à¤¶à¤¬à¥à¤¦ à¤à¤°à¥à¤.
+password_invalid=ठवà¥à¤§ à¤à¥à¤à¤¶à¤¬à¥à¤¦, à¤à¥à¤ªà¤¯à¤¾ फिर à¤à¥à¤¶à¤¿à¤¶ à¤à¤°à¥à¤.
+password_ok=OK
+password_cancel=रदà¥à¤¦ à¤à¤°à¥à¤
+
+printing_not_supported=à¤à¥à¤¤à¤¾à¤µà¤¨à¥: à¤à¤¸ बà¥à¤°à¤¾à¤à¤à¤¼à¤° पर à¤à¤ªà¤¾à¤ पà¥à¤°à¥ तरह सॠसमरà¥à¤¥à¤¿à¤¤ नहà¥à¤ हà¥.
+printing_not_ready=à¤à¥à¤¤à¤¾à¤µà¤¨à¥: PDF à¤à¤ªà¤¾à¤ à¤à¥ लिठपà¥à¤°à¥ तरह सॠलà¥à¤¡ नहà¥à¤ हà¥.
+web_fonts_disabled=वà¥à¤¬ फà¥à¤¨à¥à¤à¥à¤¸ निषà¥à¤à¥à¤°à¤¿à¤¯ हà¥à¤: ठà¤à¤¤à¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ PDF फà¥à¤¨à¥à¤à¤¸ à¤à¥ à¤à¤ªà¤¯à¥à¤ मà¥à¤ ठसमरà¥à¤¥.
+document_colors_not_allowed=PDF दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ à¤à¤¨à¤à¥ ठपनॠरà¤à¤ à¤à¥ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¤¨à¥ à¤à¥ लिठठनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहà¥à¤ हà¥: "पà¥à¤·à¥à¤ à¥à¤ à¤à¥ à¤à¤¨à¤à¥ ठपनॠरà¤à¤ à¤à¥ à¤à¥à¤¨à¤¨à¥ à¤à¥ लिठसà¥à¤µà¥à¤à¥à¤¤à¤¿ दà¥à¤" à¤à¤¿ वह à¤à¤¸ बà¥à¤°à¤¾à¤à¤à¤¼à¤° मà¥à¤ निषà¥à¤à¥à¤°à¤¿à¤¯ हà¥.
diff --git a/browser/profile/bookmarks.inc b/browser/profile/bookmarks.inc
new file mode 100644
index 00000000000..387c13fc4e4
--- /dev/null
+++ b/browser/profile/bookmarks.inc
@@ -0,0 +1,151 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#filter emptyLines
+
+# LOCALIZATION NOTE: The 'en-US' strings in the URLs will be replaced with
+
+# your locale code, and link to your translated pages as soon as they're
+
+# live.
+
+
+#define bookmarks_title बà¥à¤à¤®à¤¾à¤°à¥à¤
+
+
+#define bookmarks_heading बà¥à¤à¤®à¤¾à¤°à¥à¤
+
+
+#define bookmarks_toolbarfolder बà¥à¤à¤®à¤¾à¤°à¥à¤à¥à¤¸ à¤à¥à¤²à¤¬à¤¾à¤° फ़à¥à¤²à¥à¤¡à¤°
+
+
+#define bookmarks_toolbarfolder_description à¤à¤¸ फ़à¥à¤²à¥à¤¡à¤° मà¥à¤ पà¥à¤¸à¥à¤¤à¤à¤¿à¤¹à¥à¤¨ à¤à¥à¤¡à¤¼à¥à¤ ताà¤à¤¿ वह à¤à¤à¤¾à¤° पà¤à¥à¤à¥ पर पà¥à¤°à¤¦à¤°à¥à¤¶à¤¿à¤¤ हà¥à¤.
+
+
+# LOCALIZATION NOTE (getting_started):
+
+
+# link title for https://www.mozilla.org/en-US/firefox/central/
+
+
+#define getting_started शà¥à¤°à¥ à¤à¤°à¤¨à¤¾
+
+
+# LOCALIZATION NOTE (firefox_heading):
+
+
+# Firefox links folder name
+
+
+#define firefox_heading Mozilla Firefox
+
+
+# LOCALIZATION NOTE (firefox_help):
+
+
+# link title for https://www.mozilla.org/en-US/firefox/help/
+
+
+#define firefox_help मदद à¤à¤° à¤à¥à¤¯à¥à¤à¥à¤°à¤¿à¤¯à¤²
+
+
+# LOCALIZATION NOTE (firefox_customize):
+
+
+# link title for https://www.mozilla.org/en-US/firefox/customize/
+
+
+#define firefox_customize Firefox मनपसà¤à¤¦ बनाà¤à¤
+
+
+# LOCALIZATION NOTE (firefox_community):
+
+
+# link title for https://www.mozilla.org/en-US/contribute/
+
+
+#define firefox_community शामिल हà¥à¤
+
+
+# LOCALIZATION NOTE (firefox_about):
+
+
+# link title for https://www.mozilla.org/en-US/about/
+
+
+#define firefox_about हमारा परिà¤à¤¯
+
+
+# LOCALIZATION NOTE (nightly_heading):
+
+
+# Firefox Nightly links folder name
+
+
+#define nightly_heading Firefox Nightly à¤à¥ साधन
+
+
+# LOCALIZATION NOTE (nightly_blog):
+
+
+# Nightly builds only, link title for https://blog.nightly.mozilla.org/
+
+
+#define nightly_blog Firefox Nightly à¤à¥ बà¥à¤²à¥à¤
+
+
+# LOCALIZATION NOTE (bugzilla):
+
+
+# Nightly builds only, link title for https://bugzilla.mozilla.org/
+
+
+#define bugzilla Mozilla दà¥à¤· सà¤à¤µà¤¾à¤¦à¤¦à¤¾à¤¤à¤¾\u0020
+
+
+# LOCALIZATION NOTE (mdn):
+
+
+# Nightly builds only, link title for https://developer.mozilla.org/
+
+
+#define mdn Mozilla डà¥à¤µà¤²à¤ªà¤° नà¥à¤à¤µà¤°à¥à¤
+
+
+# LOCALIZATION NOTE (nightly_tester_tools):
+
+
+# Nightly builds only, link title for https://addons.mozilla.org/en-US/firefox/addon/nightly-tester-tools/
+
+
+#define nightly_tester_tools Nightly परà¥à¤à¥à¤·à¤ à¤à¤ªà¤à¤°à¤£
+
+
+# LOCALIZATION NOTE (crashes):
+
+
+# Nightly builds only, link title for about:crashes
+
+
+#define crashes à¤à¤ªà¤à¥ सà¤à¥ à¤à¥à¤°à¥à¤¶
+
+
+# LOCALIZATION NOTE (irc):
+
+
+# Nightly builds only, link title for ircs://irc.mozilla.org/nightly
+
+
+#define irc Nightly à¤à¥ बारॠमॠबातà¤à¥à¤¤ IRC पर
+
+
+# LOCALIZATION NOTE (planet):
+
+
+# Nightly builds only, link title for https://planet.mozilla.org/
+
+
+#define planet पà¥à¤²à¤¾à¤¨à¥à¤ Mozilla
+
+
+#unfilter emptyLines
diff --git a/browser/updater/updater.ini b/browser/updater/updater.ini
new file mode 100644
index 00000000000..750a5ccd99e
--- /dev/null
+++ b/browser/updater/updater.ini
@@ -0,0 +1,9 @@
+; This Source Code Form is subject to the terms of the Mozilla Public
+; License, v. 2.0. If a copy of the MPL was not distributed with this
+; file, You can obtain one at http://mozilla.org/MPL/2.0/.
+; This file is in the UTF-8 encoding
+; All strings must be less than 600 chars.
+[Strings]
+TitleText=%MOZ_APP_DISPLAYNAME% ठदà¥à¤¯à¤¤à¤¨
+InfoText=%MOZ_APP_DISPLAYNAME% ठदà¥à¤¯à¤¤à¤¨ सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤° रहा हॠà¤à¤° à¤à¥à¤ सà¥à¤à¥à¤à¤¡ मà¥à¤ à¤à¤°à¤à¤ हà¥à¤à¤¾â¦
+MozillaMaintenanceDescription=मà¥à¤à¤¼à¤¿à¤²à¤¾ रà¤à¤°à¤à¤¾à¤µ सà¥à¤µà¤¾ सà¥à¤¨à¤¿à¤¶à¥à¤à¤¿à¤¤ à¤à¤°à¤¤à¤¾ हॠà¤à¤¿ à¤à¤ª ठपनॠà¤à¤à¤ªà¥à¤¯à¥à¤à¤° पर मà¥à¤à¤¼à¤¿à¤²à¤¾ फ़ायरफ़à¥à¤à¥à¤¸ à¤à¥ नवà¥à¤¨à¤¤à¤® à¤à¤° सबसॠसà¥à¤°à¤à¥à¤·à¤¿à¤¤ सà¤à¤¸à¥à¤à¤°à¤£ हà¥à¥¤ फ़ायरफ़à¥à¤à¥à¤¸ तारà¥à¤ à¤à¥ धà¥à¤¯à¤¾à¤¨ मà¥à¤ रà¤à¤¤à¥ हà¥à¤ à¤à¤ªà¤à¥ à¤à¤¨à¤²à¤¾à¤à¤¨ सà¥à¤°à¤à¥à¤·à¤¾ à¤à¥ लिठबहà¥à¤¤ महतà¥à¤µà¤ªà¥à¤°à¥à¤£ हà¥, à¤à¤° मà¥à¤à¤¼à¤¿à¤²à¤¾ पà¥à¤°à¤à¥à¤° ठनà¥à¤¶à¤à¤¸à¤¾ à¤à¤°à¤¤à¤¾ हॠà¤à¤¿ à¤à¤ª à¤à¤¸ सà¥à¤µà¤¾ सà¤à¥à¤·à¤® रà¤à¥à¤à¥¤
diff --git a/calendar/chrome/calendar/calendar-alarms.properties b/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 00000000000..6e15888475c
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-alarms.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® पà¥à¤°à¤¾à¤°à¤à¤ हà¥à¤¨à¥ à¤à¤¾ समय
+reminderTitleAtStartTask=à¤à¤¾à¤°à¥à¤¯ पà¥à¤°à¤¾à¤°à¤à¤ हà¥à¤¨à¥ à¤à¤¾ समय
+reminderTitleAtEndEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® à¤à¤¼à¤¤à¥à¤® हà¥à¤¨à¥ à¤à¤¾ समय
+reminderTitleAtEndTask=à¤à¤¾à¤°à¥à¤¯ समापà¥à¤¤ हà¥à¤¤à¥ समय
+
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of unit*
+reminderSnoozeOkA11y=%1$S à¤à¥ लियॠà¤à¤à¤à¤¾à¤ सà¥à¤®à¤°à¤£à¤ªà¤¤à¥à¤°
+
+reminderCustomOriginBeginBeforeEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® पà¥à¤°à¤¾à¤°à¤à¤ हà¥à¤¨à¥ à¤à¥ पहलà¥
+reminderCustomOriginBeginAfterEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® पà¥à¤°à¤¾à¤°à¤à¤ हà¥à¤¨à¥ à¤à¥ बाद
+reminderCustomOriginEndBeforeEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® समापà¥à¤¤ हà¥à¤¨à¥ à¤à¥ पहलà¥
+reminderCustomOriginEndAfterEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® समापà¥à¤¤ हà¥à¤¨à¥ à¤à¥ बाद
+reminderCustomOriginBeginBeforeTask=à¤à¤¾à¤°à¥à¤¯ पà¥à¤°à¤¾à¤°à¤à¤ हà¥à¤¨à¥ सॠपहलà¥
+reminderCustomOriginBeginAfterTask=à¤à¤¾à¤°à¥à¤¯ पà¥à¤°à¤¾à¤°à¤à¤ हà¥à¤¨à¥ à¤à¥ बाद
+reminderCustomOriginEndBeforeTask=à¤à¤¾à¤°à¥à¤¯ समापà¥à¤¤ हà¥à¤¨à¥ सॠपहलà¥
+reminderCustomOriginEndAfterTask=à¤à¤¾à¤°à¥à¤¯ समापà¥à¤¤ हà¥à¤¨à¥ à¤à¥ बाद
+
+reminderErrorMaxCountReachedEvent=à¤à¤¯à¤¨à¤¿à¤¤ à¤à¥à¤²à¤à¤¡à¤° à¤à¥ पास à¤à¤ सà¥à¤®à¤¾ हॠà¤à¥ à¤à¥ #1 हर à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® à¤à¥ लिठà¤à¤ सà¥à¤®à¤°à¤£à¤ªà¤¤à¥à¤° हà¥.;à¤à¤¯à¤¨à¤¿à¤¤ à¤à¥à¤²à¤à¤¡à¤° à¤à¥ पास à¤à¤ सà¥à¤®à¤¾ हॠà¤à¥ à¤à¥ #1 हर à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® à¤à¥ लिठà¤à¤ सà¥à¤®à¤°à¤£à¤ªà¤¤à¥à¤° हà¥.
+reminderErrorMaxCountReachedTask=à¤à¤¯à¤¨à¤¿à¤¤ à¤à¥à¤²à¤à¤¡à¤° à¤à¥ पास à¤à¤ सà¥à¤®à¤¾ हॠà¤à¥ à¤à¥ #1 हर à¤à¤¾à¤°à¥à¤¯ à¤à¥ लिठà¤à¤ सà¥à¤®à¤°à¤£à¤ªà¤¤à¥à¤° हà¥.;à¤à¤¯à¤¨à¤¿à¤¤ à¤à¥à¤²à¤à¤¡à¤° à¤à¥ पास à¤à¤ सà¥à¤®à¤¾ हॠà¤à¥ à¤à¥ #1 हर à¤à¤¾à¤°à¥à¤¯ à¤à¥ लिठà¤à¤ सà¥à¤®à¤°à¤£à¤ªà¤¤à¥à¤° हà¥.
diff --git a/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 00000000000..6f38e9b1e5a
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+event.attendee.role.required = à¤à¤µà¤¶à¥à¤¯à¤ पà¥à¤°à¤¤à¤¿à¤à¤¾à¤à¥
+event.attendee.role.optional = वà¥à¤à¤²à¥à¤ªà¤¿à¤ सहà¤à¤¾à¤à¥
+event.attendee.role.nonparticipant = à¤à¥à¤°-सहà¤à¤¾à¤à¥
+event.attendee.role.chair = à¤à¥à¤°à¥à¤¸à¥
+event.attendee.role.unknown = ठà¤à¥à¤à¤¾à¤¤ पà¥à¤°à¤¤à¤¿à¤à¤¾à¤à¥ (%1$S)
+
+event.attendee.usertype.individual = वà¥à¤¯à¤à¥à¤¤à¤¿
+event.attendee.usertype.group = समà¥à¤¹
+event.attendee.usertype.resource = सà¤à¤¸à¤¾à¤§à¤¨
+event.attendee.usertype.room = à¤à¤®à¤°à¤¾
+event.attendee.usertype.unknown = ठà¤à¥à¤à¤¾à¤¤ à¤à¤¼à¤¿à¤¸à¥à¤® (%1$S)
diff --git a/calendar/chrome/calendar/calendar-event-dialog.dtd b/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 00000000000..c623d6a70d6
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,418 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-event-dialog.properties b/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 00000000000..7ad1c7c31a1
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.properties
@@ -0,0 +1,444 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=पà¥à¤°à¤¤à¥à¤¯à¥à¤ दिन ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ #1 दिन
+repeatDetailsRuleDaily4=पà¥à¤°à¤¤à¥à¤¯à¥à¤ सापà¥à¤¤à¤¾à¤¹à¤¿à¤ दिन
+
+# LOCALIZATION NOTE (weeklyNthOnNounclass...)
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday (one or more)
+# #2 - week interval
+# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday
+weeklyNthOnNounclass1=पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S;पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 सापà¥à¤¤à¤¾à¤¹ पर %1$S
+weeklyNthOnNounclass2=पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S;पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 सापà¥à¤¤à¤¾à¤¹ पर %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=पà¥à¤°à¤¤à¥à¤¯à¥à¤ सापà¥à¤¤à¤¾à¤¹;पà¥à¤°à¤¤à¥à¤¯à¥à¤ #1 सापà¥à¤¤à¤¾à¤¹
+
+# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'):
+# Week days names and week days noun classes (feminine/masculine grammatical
+# gender) for languages that need different localization when weekdays nouns
+# have different noun classes (genders).
+# For every weekday, in 'repeatDetailsDay...Nounclass' strings write:
+# "nounclass1" for languages with grammatical genders -> MASCULINE gender;
+# for languages with noun classes -> a noun class;
+# for languages without noun classes or grammatical gender.
+#
+# "nounclass2" for languages with grammatical genders -> FEMININE gender;
+# for languages with noun classes -> a different noun class.
+#
+# "nounclass3", "nounclass4" and so on for languages that need more than two
+# noun classes for weekdays. In this case add corresponding
+# rule string with "Nounclass..." suffix and ordinal string
+# "repeatOrdinalxNounclass..."
+# Will be used rule strings with "Nounclass..." suffix corresponding to the
+# following strings if there is a weekday in the rule string.
+repeatDetailsDay1=रविवार
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=सà¥à¤®à¤µà¤¾à¤°
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=मà¤à¤à¤²à¤µà¤¾à¤°
+repeatDetailsDay4=बà¥à¤§à¤µà¤¾à¤°
+repeatDetailsDay5=à¤à¤°à¥à¤µà¤¾à¤°
+repeatDetailsDay6=शà¥à¤à¥à¤°à¤µà¤¾à¤°
+repeatDetailsDay7=शनिवार
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=à¤à¤°
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+# (ordinal and weekday of every element in the list follow the order
+# and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+monthlyRuleNthOfEveryNounclass1=%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ माह ;%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 माह
+monthlyRuleNthOfEveryNounclass2=%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ माह ;%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2माह
+
+# LOCALIZATION NOTE (ordinalWeekdayOrder):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# This string allows to change the order of the elements "ordinal" and
+# "weekday" (or to insert a word between them) for the argument %1$S of the
+# string monthlyRuleNthOfEveryNounclass...
+# Without changing this string, the order is that one required from most
+# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months").
+# %1$S - ordinal with article
+# %2$S - weekday noun
+# e.g. "'the first' 'Monday'"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+ordinalWeekdayOrder=%1$S %2$S
+
+# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of single weekdays and/or weekdays with ordinal, article and
+# noun class/gender when rule contains also specific day in the month
+# #2 - interval
+# e.g. "every Monday, Tuesday and the second Sunday of every month"
+monthlyEveryOfEveryNounclass1=पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ महà¥à¤¨à¥ ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 महà¥à¤¨à¥
+monthlyEveryOfEveryNounclass2=पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ महà¥à¤¨à¥ ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 महà¥à¤¨à¥
+
+# LOCALIZATION NOTE (monthlyDaysOfNth_day):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas;
+# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th"
+monthlyDaysOfNth_day=दिन %1$S ; दिनॠ%1$S
+
+# LOCALIZATION NOTE (monthlyDaysOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
+# of month, possibly followed by an ordinal symbol, separated with commas;
+# #2 - monthly interval
+# e.g. "days 3, 6, 9 and 12 of every 3 months"
+monthlyDaysOfNth=%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ माह ;%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 माह
+
+# LOCALIZATION NOTE (monthlyLastDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "the last day of every 3 months"
+monthlyLastDayOfNth=महà¥à¤¨à¥ à¤à¤¾ à¤à¤à¤¼à¤°à¥ दिन ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ #1 महà¥à¤¨à¥ à¤à¤¾ à¤à¤à¤¼à¤°à¥ दिन
+
+# LOCALIZATION NOTE (monthlyEveryDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# #2 - month interval
+# e.g. "every day of the month every 4 months"
+monthlyEveryDayOfNth=पà¥à¤°à¤¤à¥à¤¯à¥à¤ माह à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ दिन ;पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 माह माह à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ दिन
+
+# LOCALIZATION NOTE (repeatOrdinal...Nounclass...):
+# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays
+# considered in 'repeatDetailsDayxNounclass' strings. For languages that need
+# localization according to genders or noun classes.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for
+# languages with more than two noun classes for weekdays. In this case
+# must be added corresponding rule strings with 'Nounclass...' suffix and
+# corresponding values "nounclass..." must be written in
+# 'repeatDetailsDayxNounclass' strings.
+repeatOrdinal1Nounclass1=पहला
+repeatOrdinal2Nounclass1=दà¥à¤¸à¤°à¤¾
+repeatOrdinal3Nounclass1=तà¥à¤¸à¤°à¤¾
+repeatOrdinal4Nounclass1=à¤à¥à¤¥à¤¾
+repeatOrdinal5Nounclass1=पाà¤à¤à¤µà¤¾à¤
+repeatOrdinal-1Nounclass1=ठà¤à¤¤à¤¿à¤®
+repeatOrdinal1Nounclass2=पहला
+repeatOrdinal2Nounclass2=दà¥à¤¸à¤°à¤¾
+repeatOrdinal3Nounclass2=तà¥à¤¸à¤°à¤¾
+repeatOrdinal4Nounclass2=à¤à¥à¤¥à¤¾
+repeatOrdinal5Nounclass2=पाà¤à¤à¤µà¤¾à¤
+repeatOrdinal-1Nounclass2=ठà¤à¤¤à¤¿à¤®
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month name
+# %2$S - day of month possibly followed by an ordinal symbol (depending on the string
+# dayOrdinalSymbol in dateFormat.properties)
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+# "every 2 years on December 8th"
+yearlyNthOn=पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S %2$S ;पà¥à¤°à¤¤à¥à¤¯à¥à¤ #3 साल मॠ%1$S %2$S à¤à¥
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=%1$S %2$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ %3$S ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ #4 वरà¥à¤· मॠ%1$S %2$S à¤à¥ %3$S à¤à¥
+yearlyNthOnNthOfNounclass2=%1$S %2$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ %3$S ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ #4 वरà¥à¤· मॠ%1$S %2$S à¤à¥ %3$S à¤à¥
+
+# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday
+# %2$S - month
+# #3 - yearly interval
+# e.g. "every Thursday of March"
+# e.g "every 3 years on every Thursday of March"
+yearlyOnEveryNthOfNthNounclass1=पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ %2$S ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ #3 वरà¥à¤· मॠपà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ %2$S à¤à¥
+yearlyOnEveryNthOfNthNounclass2=पà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ %2$S ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ #3 वरà¥à¤· मॠपà¥à¤°à¤¤à¥à¤¯à¥à¤ %1$S à¤à¥ %2$S à¤à¥
+
+#LOCALIZATION NOTE (yearlyEveryDayOf):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# This string describes part of a yearly rule which includes every day of a month.
+# %1$S - month
+# #2 - yearly interval
+# e.g. "every day of December"
+# e.g. "every 3 years every day of December"
+yearlyEveryDayOf=%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ दिन ; पà¥à¤°à¤¤à¥à¤¯à¥à¤ #2 वरà¥à¤· मॠ%1$S à¤à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤ दिन\u0020
+
+repeatDetailsMonth1=à¤à¤¨à¤µà¤°à¥
+repeatDetailsMonth2=फ़रवरà¥
+repeatDetailsMonth3=मारà¥à¤
+repeatDetailsMonth4=ठपà¥à¤°à¥à¤²
+repeatDetailsMonth5=मà¤
+repeatDetailsMonth6=à¤à¥à¤¨
+repeatDetailsMonth7=à¤à¥à¤²à¤¾à¤
+repeatDetailsMonth8=ठà¤à¤¸à¥à¤¤
+repeatDetailsMonth9=सितमà¥à¤¬à¤°
+repeatDetailsMonth10=ठà¤à¥à¤à¥à¤¬à¤°
+repeatDetailsMonth11=नवमà¥à¤¬à¤°
+repeatDetailsMonth12=दिसबà¤à¤°
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# from 5:00 PM to 6:00 PM"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times
+# from 5:00 PM to 6:00 PM"
+repeatCount=%1$S निरà¥à¤®à¤¿à¤¤\nठसरदार %2$S à¤à¥ लियॠ#5 बार\n%3$S सॠ%4$S तà¤.;%1$S निरà¥à¤®à¤¿à¤¤\nठसरदार %2$S à¤à¥ लियॠ#5 बार\n%3$S सॠ%4$S तà¤.
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times"
+repeatCountAllDay=%1$S निरà¥à¤®à¤¿à¤¤\n#3 बार पà¥à¤°à¤à¤¾à¤µà¤¶à¤¾à¤²à¥ %2$S à¤à¥ लियà¥.; %1$S निरà¥à¤®à¤¿à¤¤\n#3 बार पà¥à¤°à¤à¤¾à¤µà¤¶à¤¾à¤²à¥ %2$S à¤à¥ लियà¥.
+
+# LOCALIZATION NOTE (repeatDetailsUntil):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# %4$S - event start time (e.g. hh:mm (PM/AM))
+# %5$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with weeklyNthOn:
+# "Occurs every 2 weeks on Sunday and Friday
+# effective 1/1/2009 until 1/1/2010
+# from 5:00 PM to 6:00 PM"
+repeatDetailsUntil=à¤à¤à¤¿à¤¤ %1$S\nपà¥à¤°à¤à¤¾à¤µà¤¶à¤¾à¤²à¥ %2$S परà¥à¤¯à¤¤ %3$S\n%4$S सॠ%5$S तà¤.
+
+# LOCALIZATION NOTE (repeatDetailsUntilAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009 until 1/1/2010"
+repeatDetailsUntilAllDay=à¤à¤à¤¿à¤¤ %1$S\nपà¥à¤°à¤à¤¾à¤µà¤¶à¤¾à¤²à¥ %2$S परà¥à¤¯à¤¤ %3$S.
+
+# LOCALIZATION NOTE (repeatDetailsInfinite):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with monthlyDaysOfNth:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009
+# from 5:00 PM to 6:00 PM"
+repeatDetailsInfinite=à¤à¤à¤¿à¤¤ हà¥à¤ %1$S\nपà¥à¤°à¤à¤¾à¤µà¤¶à¤¾à¤²à¥ %2$S\n%3$S सॠ%4$S तà¤
+
+# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009"
+repeatDetailsInfiniteAllDay=à¤à¤à¤¿à¤¤ हà¥à¤ %1$S\nपà¥à¤°à¤à¤¾à¤µà¤¶à¤¾à¤²à¥ %2$S.
+
+# LOCALIZATION NOTE (monthlyLastDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the
+# string "the last day" of the month.
+# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months"
+monthlyLastDay=à¤à¤à¤°à¥ दिन
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the repeat details area if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplex=विवरण à¤à¥ लिठयहाठà¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (ruleTooComplexSummary):
+# This string is shown in the event summary dialog if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplexSummary=पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ विवरण ठà¤à¥à¤à¤¾à¤¤
+
+# differences between the dialog for an Event or a Task
+newEvent=नया à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤®
+newTask=नया à¤à¤¾à¤°à¥à¤¯
+itemMenuLabelEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤®
+itemMenuAccesskeyEvent2=T
+itemMenuLabelTask=à¤à¤¾à¤°à¥à¤¯
+itemMenuAccesskeyTask2=T
+
+emailSubjectReply=à¤à¤µà¤¾à¤¬: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=à¤à¥à¤ªà¤¯à¤¾ लिà¤à¤ सà¥à¤¥à¤¾à¤¨ à¤à¤¾ विसà¥à¤¤à¥à¤¤ विवरण दà¥à¤
+enterLinkLocation=वà¥à¤¬ पà¥à¤·à¥à¤ या दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ सà¥à¤¥à¤¾à¤¨ पà¥à¤°à¤µà¤¿à¤·à¥à¤ à¤à¤°à¥à¤
+
+summaryDueTaskLabel=शà¥à¤· :
+
+# Attach File Dialog
+attachViaFilelink=%1$S फाà¤à¤² à¤à¤¾ à¤à¤¸à¥à¤¤à¥à¤®à¤¾à¤² à¤à¤°à¤¤à¥ हà¥à¤
+selectAFile=à¤à¥à¤ªà¤¯à¤¾ सà¤à¤²à¤à¥à¤¨ à¤à¤°à¤¨à¥ à¤à¥ लिठफाà¤à¤²à¥à¤ à¤à¤¾ à¤à¤¯à¤¨ à¤à¤°à¥à¤â
+removeCalendarsTitle=सà¤à¤²à¤à¥à¤¨à¤ हà¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=à¤à¥à¤¯à¤¾ à¤à¤ª सà¤à¤®à¥à¤ #1 सà¤à¤²à¤à¥à¤¨à¤ हà¤à¤¾à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤?; à¤à¥à¤¯à¤¾ à¤à¤ª सà¤à¤®à¥à¤ #1 सà¤à¤²à¤à¥à¤¨à¤ हà¤à¤¾à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤?
+
+# Recurrence Dialog Widget Order
+# LOCALIZATION NOTE: You can change the order of below params
+# Edit recurrence window -> Recurrence pattern -> Repeat monthly
+# %1$S - ordinal with article, %2$S - weekday
+# e.g. "the First Saturday"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+monthlyOrder=%1$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - day of month, %2$S - of, %3$S - month
+# e.g. "6 [of] September"
+# If you don't need %2$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder=%1$S %3$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - ordinal with article, %2$S - weekday, %3$S - of, %4$S - month
+# e.g. "the First Saturday of September"
+# If you don't need %3$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder2=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (pluralForWeekdays):
+# This string allows to set the use of weekdays nouns in plural form for
+# languages that need them in sentences like "every Monday" or "every Sunday
+# of March" etc.
+# Rule strings involved by this setting are:
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+# In your local write:
+# "true" if sentences like those above need weekday in plural form;
+# "false" if sentences like those above don't need weekday in plural form;
+pluralForWeekdays=à¤à¤²à¤¤
+
+# LOCALIZATION NOTE (repeatDetailsDayxxxPlural):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# Weekdays in plural form used inside sentences like "every Monday" or
+# "every Sunday of May" etc. for languages that need them.
+# These plurals will be used inside the following rule strings only if string
+# 'pluralForWeekdays' (see above) is set to "true":
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+repeatDetailsDay1Plural=रविवार
+repeatDetailsDay2Plural=सà¥à¤®à¤µà¤¾à¤°
+repeatDetailsDay3Plural=मà¤à¤à¤²à¤µà¤¾à¤°
+repeatDetailsDay4Plural=बà¥à¤§à¤µà¤¾à¤°
+repeatDetailsDay5Plural=à¤à¤°à¥à¤µà¤¾à¤°
+repeatDetailsDay6Plural=शà¥à¤à¥à¤°à¤µà¤¾à¤°
+repeatDetailsDay7Plural=शनिवार
+
+# LOCALIZATION NOTE (eventRecurrenceForeverLabel):
+# Edit/New Event dialog -> datepicker that sets the until date.
+# For recurring rules that repeat forever, this labels appears in the
+# datepicker, below the minimonth, as an option for the until date.
+eventRecurrenceForeverLabel=सदà¥à¤µ
+
+# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
+# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
+# The label on the monthly daypicker's last button that allows to select
+# the last day of the month inside a BYMONTHDAY rule.
+eventRecurrenceMonthlyLastDayLabel=ठà¤à¤¤à¤¿à¤® दिन
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S नॠà¤à¤®à¤à¤¤à¥à¤°à¤£ सà¥à¤µà¥à¤à¤¾à¤° à¤à¤° लिया हà¥, परà¤à¤¤à¥ à¤à¤ विपरà¥à¤¤ पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µ बनाया हà¥:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S नॠà¤à¤®à¤à¤¤à¥à¤°à¤£ ठसà¥à¤µà¥à¤à¤¾à¤° à¤à¤° दिया हà¥, परà¤à¤¤à¥ à¤à¤ विपरà¥à¤¤ पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µ बनाया हà¥:
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S नॠà¤à¤®à¤à¤¤à¥à¤°à¤£ पà¥à¤°à¤¤à¥à¤¯à¤¾à¤¯à¥à¤à¥à¤¤ à¤à¤° दिया हà¥, परà¤à¤¤à¥ à¤à¤ पà¥à¤°à¤¤à¤¿ पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µ à¤à¥à¤à¤¾ हà¥:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S नॠहिसà¥à¤¸à¤¾ लà¥à¤¨à¥ à¤à¤¾ निरà¥à¤£à¤¯ तॠनहà¥à¤ लिया हà¥,परà¤à¤¤à¥ à¤à¤ पà¥à¤°à¤¤à¤¿ पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µ à¤à¥à¤à¤¾ हà¥:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S नॠà¤à¥à¤µà¤² ठसà¥à¤¥à¤¾à¤¯à¥ तà¥à¤° सॠà¤à¤®à¤à¤¤à¥à¤°à¤£ सà¥à¤µà¥à¤à¤¾à¤° à¤à¤¿à¤¯à¤¾ हà¥, परà¤à¤¤à¥ à¤à¤ पà¥à¤°à¤¤à¤¿ पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µ à¤à¥à¤à¤¾ हà¥:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=यह à¤à¤ पà¥à¤°à¤¤à¤¿ पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µ हॠà¤à¤¸ à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® à¤à¥ पिà¤à¤²à¥ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ लिà¤.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=à¤à¤ªà¤¨à¥ पà¥à¤°à¤¤à¥à¤¯à¥à¤¤à¥à¤¤à¤° à¤à¥ रदà¥à¤¦ à¤à¤¿à¤¯à¤¾ à¤à¤¬ à¤à¤®à¤à¤¤à¥à¤°à¤£ à¤à¥à¤ रहॠथà¥\u0020
diff --git a/calendar/chrome/calendar/calendar-extract.properties b/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 00000000000..789a4ca95ac
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,260 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet
+# pattern. You can and should add language specific variants.
+#
+# There are two different ways to find a start time text in email:
+# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it
+# 2) it matches until.* pattern and has start.prefix or start.suffix next to it
+# Similar inverse logic applies to end times.
+# These rules enable using prefix and suffix values with only start.* or only until.*
+# patterns localized for some languages and thus not having to repeat the same
+# values in both.
+#
+# Patterns are partially space-insensitive.
+# "deadline is" pattern will find both "deadlineis" and "deadline is"
+# but "deadlineis" won't find "deadline is" or "deadline is".
+# Therefore you should include all spaces that are valid within a pattern.
+
+# LOCALIZATION NOTE (start.prefix):
+# datetimes with these in front are extracted as start times
+# can be a list of values, separate variants by |
+start.prefix =
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+
+# LOCALIZATION NOTE (end.suffix):
+# datetimes followed by these are extracted as end times
+# can be a list of values, separate variants by |
+end.suffix =
+
+# LOCALIZATION NOTE (no.datetime.prefix):
+# datetimes with these in front won't be used
+# specify full words here
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = à¤à¤
+
+from.tomorrow = à¤à¤²
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow =
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+# should not have "#1" as this would match any single number in email to a time
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = दà¥à¤ªà¤¹à¤°
+until.noon =
+
+# LOCALIZATION NOTE (from.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should not have "#1" as this would match any single number in email to a time
+
+# LOCALIZATION NOTE (until.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+
+# LOCALIZATION NOTE (until.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =
+
+# LOCALIZATION NOTE (from.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+
+# LOCALIZATION NOTE (until.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.pm =
+
+# LOCALIZATION NOTE (from.half.hour.before):
+# denotes times 30 minutes before next full hour
+from.half.hour.before = à¤à¤§à¥ à¤à¤à¤à¥ पहलॠ#1
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before =
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes =
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.am =
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.pm =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+until.monthname.day =
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+from.month.day = #2/#1
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+until.month.day =
+
+# LOCALIZATION NOTE (from.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+until.year.month.day =
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day =
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 à¤à¤à¤à¤¾ |#1 à¤à¤à¤à¥
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 दिन
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = à¤à¤¨à¤µà¤°à¥ | à¤à¥à¤¨ | à¤à¥à¤¨.
+month.2 = फरवरॠ| फà¥à¤¬ | फà¥à¤¬.
+month.5 = मà¤
+
+# LOCALIZATION NOTE (from.weekday.*):
+# used to derive start date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (from.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+
+# LOCALIZATION NOTE (until.weekday.*):
+# used to derive end date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (until.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+until.weekday.0 =
+until.weekday.1 =
+until.weekday.2 =
+until.weekday.3 =
+until.weekday.4 =
+until.weekday.5 =
+until.weekday.6 =
+
+# LOCALIZATION NOTE (number.*):
+# used within other patterns to understand dates where day of month isn't written with digits
+# can be a list of values, separate variants by |
+number.0 = शà¥à¤¨à¥à¤¯
+number.1 = à¤à¤ | पहला
+number.2 = दॠ| दà¥à¤¸à¤°à¤¾
+number.3 = तà¥à¤¨ | तà¥à¤¸à¤°à¤¾
+number.4 = à¤à¤¾à¤° | à¤à¥à¤¥à¤¾
+number.5 = पà¤à¥à¤ | पाà¤à¤à¤µà¤¾
+number.6 = à¤à¤¹ | à¤à¤à¤¾
+number.7 = सात | सातवा
+number.8 = à¤à¤ | à¤à¤ वा
+number.9 = नॠ| नà¥à¤µà¤¾
+number.10 = दस | दसवा
+number.11 = à¤à¥à¤¯à¤¾à¤°à¤¹ | à¤à¥à¤¯à¤¾à¤°à¤µà¤¾à¤
+number.12 = बारा | बरवा
+number.13 = तà¥à¤°à¤¹ | तà¥à¤°à¤µà¤¾
+number.14 = à¤à¥à¤¦à¤¾ | à¤à¥à¤¦à¤µà¤¾
+number.15 = पà¤à¤¦à¥à¤°à¤¹ | पà¤à¤¦à¤°à¤µà¤¾
+number.16 = सà¥à¤²à¤¹ | सà¥à¤²à¥à¤µà¤¾
+number.17 = सतरा | सतरवा
+number.18 = ठठारह | ठठरवा
+number.19 = à¤à¤¨à¥à¤¨à¥à¤¸ | à¤à¤¨à¥à¤¨à¥à¤¸à¤µà¤¾à¤
+number.20 = बà¥à¤¸ | बà¥à¤¸à¤µà¤¾à¤
+number.21 = à¤à¤à¥à¤à¥à¤¸ | à¤à¤à¥à¤à¥à¤¸à¤µà¤¾à¤
+number.22 = बाà¤à¤¸ | बाà¤à¤¸à¤µà¤¾à¤
+number.23 = तà¥à¤à¤¸ | तà¥à¤à¤¸à¤µà¤¾
+number.24 = à¤à¥à¤¬à¥à¤¸ | à¤à¥à¤¬à¥à¤¸à¤µà¤¾
+number.25 = पà¤à¥à¤à¥à¤¸ | पà¤à¥à¤à¥à¤¸à¤µà¤¾
+number.26 = à¤à¤¬à¥à¤¬à¥à¤¸ | à¤à¤¬à¥à¤¬à¥à¤¸à¤µà¤¾
+number.27 = सतà¥à¤¤à¤¾à¤à¤¸ | सतà¥à¤¤à¤¾à¤à¤¸à¤µà¤¾
+number.28 = ठठाà¤à¤¸ | ठठाà¤à¤¸à¤µà¤¾
+number.29 = à¤à¤¨à¥à¤¤à¥à¤¸ | à¤à¤¨à¥à¤¤à¥à¤¸à¤µà¤¾
+number.30 = तà¥à¤¸ | तà¥à¤¸à¤µà¤¾
+number.31 = à¤à¤à¤¤à¥à¤¤à¥à¤¸ | à¤à¤à¤¤à¥à¤¤à¥à¤¸à¤µà¤¾
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
diff --git a/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 00000000000..89eb6c3fbf0
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 00000000000..5864a9335f4
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 00000000000..c774314c486
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+header.isrepeating.event.label=à¤à¤ पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® हà¥
+header.isrepeating.task.label=à¤à¤ पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¤¾à¤°à¥à¤¯ हà¥
+
+windowtitle.event.delete=पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® à¤à¥ मिà¤à¤¾à¤à¤
+windowtitle.task.delete=पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¤¾à¤°à¥à¤¯ à¤à¥ मिà¤à¤¾à¤à¤
+windowtitle.event.edit=पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® à¤à¤¾ सà¤à¤ªà¤¾à¤¦à¤¨ à¤à¤°à¥à¤
+windowtitle.task.edit=पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¤¾à¤°à¥à¤¯ à¤à¤¾ सà¤à¤ªà¤¾à¤¦à¤¨ à¤à¤°à¥à¤
+
+buttons.occurrence.delete.label=à¤à¤¸ à¤à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¥ मिà¤à¤¾à¤à¤
+buttons.occurrence.edit.label=à¤à¤¸ à¤à¤µà¥à¤¤à¥à¤¤à¤¿ à¤à¥ समà¥à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+
+buttons.allfollowing.delete.label=à¤à¤¸à¥ तथा सà¤à¥ à¤à¤¾à¤µà¥ à¤à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿à¤¯à¥à¤ à¤à¥ मिà¤à¤¾à¤¯à¥à¤
+buttons.allfollowing.edit.label=à¤à¤¸à¥ तथा सà¤à¥ à¤à¤¾à¤µà¥ à¤à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿à¤¯à¥à¤ à¤à¥ समà¥à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+
+buttons.parent.delete.label=सà¤à¥ à¤à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿à¤¯à¥à¤ à¤à¥ मिà¤à¤¾à¤à¤
+buttons.parent.edit.label=सà¤à¥ à¤à¤µà¥à¤¤à¥à¤¤à¤¿à¤¯à¥à¤ à¤à¥ समà¥à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
diff --git a/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100644
index 00000000000..469388e042e
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.dtd b/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 00000000000..2b7290d5ce5
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.properties b/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 00000000000..63d2b73a8d7
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,556 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Misc. strings in JS
+
+# LOCALIZATION NOTE (PrintPreviewWindowTitle):
+# %1$S will be replaced with the title of a html frame
+PrintPreviewWindowTitle=%1$S à¤à¤¾ à¤à¤ªà¤¾à¤ पà¥à¤°à¥à¤µà¤¾à¤µà¤²à¥à¤à¤¨\u0020
+Untitled=बà¥à¤¨à¤¾à¤®
+
+# Default name for new events
+newEvent=नया à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤®
+
+# Titles for the event/task dialog
+newEventDialog=नया à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤®
+editEventDialog=à¤à¤à¤¨à¤¾ सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+newTaskDialog=नया à¤à¤¾à¤°à¥à¤¯
+editTaskDialog=à¤à¤¾à¤°à¥à¤¯ समà¥à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+
+# Do you want to save changes?
+askSaveTitleEvent=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® सहà¥à¤à¥à¤
+askSaveTitleTask=à¤à¤¾à¤°à¥à¤¯ सहà¥à¤à¥à¤
+askSaveMessageEvent=à¤à¤à¤¨à¤¾ सà¤à¤à¥à¤°à¤¹à¤¿à¤¤ नहà¥à¤ हà¥à¤¯à¥ हॠ| à¤à¥à¤¯à¤¾ à¤à¤ª à¤à¤à¤¨à¤¾ सà¤à¤à¥à¤°à¤¹à¤¿à¤¤ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤?
+askSaveMessageTask=à¤à¤¾à¤°à¥à¤¯ सà¤à¤à¥à¤°à¤¹à¤¿à¤¤ नहà¥à¤ हà¥à¤¯à¥ हॠ| à¤à¥à¤¯à¤¾ à¤à¤ª à¤à¤¾à¤°à¥à¤¯ सà¤à¤à¥à¤°à¤¹à¤¿à¤¤ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤?
+
+# Event Dialog Warnings
+warningEndBeforeStart=à¤à¤ªà¤¨à¥ à¤à¥ समापà¥à¤¤à¤¿ तिथि à¤à¤°à¥ हॠपà¥à¤°à¤¾à¤°à¤à¤à¤¿à¤ तिथि सॠपहलॠठरहॠहà¥
+
+# The name of the calendar provided with the application by default
+homeCalendarName=à¤à¤°
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=बà¥à¤¨à¤¾à¤® पà¤à¤à¤¾à¤à¤
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =सà¤à¤à¤¾à¤µà¤¿à¤¤
+statusConfirmed =सà¤à¤ªà¥à¤·à¥à¤ à¤à¤°à¥à¤
+eventStatusCancelled=रदà¥à¤¦
+todoStatusCancelled =रदà¥à¤¦
+statusNeedsAction =à¤à¤¾à¤°à¥à¤°à¤µà¤¾à¤ à¤à¥ à¤à¤µà¤¶à¥à¤¯à¤à¤¤à¤¾ हà¥
+statusInProcess =पà¥à¤°à¤à¥à¤°à¤¿à¤¯à¤¾ मà¥à¤
+statusCompleted =पà¥à¤°à¥à¤£
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=à¤à¤à¥à¤
+normalPriority=सामानà¥à¤¯
+lowPriority=निमà¥à¤¨
+
+importPrompt=à¤à¤ª à¤à¤¿à¤¸ पà¤à¤à¤¾à¤à¤ मà¥à¤ यॠवसà¥à¤¤à¥à¤à¤ à¤à¤¯à¤¤ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤ |
+exportPrompt=à¤à¤ª à¤à¤¿à¤¸ पà¤à¤à¤¾à¤à¤ मà¥à¤ सॠनिरà¥à¤¯à¤¾à¤¤ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤?
+publishPrompt=à¤à¤ª à¤à¤¿à¤¸ पà¤à¤à¤¾à¤à¤ à¤à¥ पà¥à¤°à¤à¤¾à¤¶à¤¿à¤¤ à¤à¤°à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤?
+
+# LOCALIZATION NOTE (importItemsFailed):
+# %1$S will be replaced with number of failed items
+# %2$S will be replaced with last error code / error string
+importItemsFailed=%1$S वसà¥à¤¤à¥à¤à¤ à¤à¤¯à¤¾à¤¤ à¤à¤°à¤¨à¥ मà¥à¤ ठसमरà¥à¤¥. पिà¤à¤²à¥ तà¥à¤°à¥à¤à¤¿ थà¥: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+noItemsInCalendarFile=%1$S सॠà¤à¤¯à¤¤ à¤à¤°à¤¨à¥ मॠठसफल. à¤à¤¸ फाà¤à¤² मॠà¤à¤¯à¤¤ à¤à¤°à¤¨à¥ à¤à¥ वसà¥à¤¤à¥ नहà¥à¤ हà¥.
+
+#spaces needed at the end of the following lines
+eventDescription=वरà¥à¤£à¤¨à¤
+
+unableToRead=फाà¤à¤² सॠपà¥à¤¨à¥ मॠठसमरà¥à¤¥
+unableToWrite=फाà¤à¤² सॠलिà¤à¤¨à¥ मॠठसफल:
+HTMLTitle=Mozilla पà¤à¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=à¤à¤ ठà¤à¥à¤à¤¾à¤¤ तथा ठनिशà¥à¤à¤¿à¤¤ समय à¤à¥à¤·à¥à¤¤à¥à¤° पाया à¤à¤¯à¤¾ à¤à¤¬ %1$S पà¥à¤¾ à¤à¤¾ रहा था |
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S वसà¥à¤¤à¥(à¤à¤) नà¤à¤°à¤ à¤à¤¦à¤¾à¤ हà¥à¤ à¤à¤¬à¤¸à¥ वॠदà¥à¤¨à¥à¤ à¤à¤à¤¹à¥à¤ à¤à¥ पà¤à¤à¤¾à¤à¤ मॠà¤à¤° %2$S मà¥à¥à¥à¤¦ हॠ|
+
+unableToCreateProvider=पà¤à¤à¤¾à¤à¤ तà¥à¤¯à¤¾à¤° à¤à¤°à¤¤à¥ समय à¤à¤ तà¥à¤°à¥à¤à¤¿ पायॠà¤à¤¯à¥ थॠà¤à¥ à¤à¥ %1$S पर à¤à¤ªà¤¯à¥à¤ à¤à¤°à¤¨à¥ à¤à¥ लिठसà¥à¤¥à¤¿à¤¤ था. यह à¤à¤ªà¤²à¤¬à¥à¤§ नहà¥à¤ हà¥à¤à¤¾.
+missingCalendarTimezonesError=à¤à¥à¤ समय à¤à¥à¤·à¥à¤¤à¥à¤° पाठनहà¥à¤ à¤à¤! à¤à¥à¤ªà¤¯à¤¾ calendar-timezones.xpi सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤°à¥à¤.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+TimezoneErrorsAlertTitle=समय à¤à¥à¤·à¥à¤¤à¥à¤° तà¥à¤°à¥à¤à¤¿
+TimezoneErrorsSeeConsole=तà¥à¤°à¥à¤à¤¿ à¤à¤à¤¸à¥à¤² दà¥à¤à¥à¤: ठà¤à¥à¤à¤¾à¤¤ समयà¤à¥à¤·à¥à¤¤à¥à¤° à¤à¥ 'ठसà¥à¤¥à¤¿à¤°' सà¥à¤¥à¤¾à¤¨à¥à¤¯ समयà¤à¥à¤·à¥à¤¤à¥à¤° à¤à¥ तरह बरà¥à¤¤à¤¾à¤µ à¤à¤¿à¤¯à¤¾ à¤à¤¾à¤¤à¤¾ हà¥à¤.
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=à¤à¥à¤²à¥à¤à¤¡à¤° निà¤à¤¾à¤²à¥à¤
+removeCalendarButtonDelete=à¤à¥à¤²à¥à¤à¤¡à¤° हà¤à¤¾à¤à¤
+removeCalendarButtonUnsubscribe=सदसà¥à¤¯à¤¤à¤¾ रदà¥à¤¦ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=à¤à¥à¤¯à¤¾ à¤à¤ª à¤à¥à¤²à¥à¤à¤¡à¤° "%1$S" à¤à¥ हà¤à¤¾à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤? सदसà¥à¤¯à¤¤à¤¾ रदà¥à¤¦ à¤à¤°à¤¤à¥ हॠसà¥à¤à¥ सॠà¤à¥à¤²à¥à¤à¤¡à¤° निà¤à¤¾à¤² दिया à¤à¤¾à¤à¤à¤¾, हà¤à¤¾à¤ à¤à¤¾à¤¨à¥ सॠà¤à¤¸à¤à¤¾ डाà¤à¤¾ पà¥à¤°à¥ तरह निà¤à¤¾à¤² दिठà¤à¤¾à¤¯à¥à¤à¤à¥.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=à¤à¥à¤¯à¤¾ à¤à¤ª सà¥à¤¥à¤¾à¤¯à¥ रà¥à¤ª सॠà¤à¥à¤²à¥à¤à¤¡à¤° "%1$S" मिà¤à¤¾à¤¨à¤¾ à¤à¤¾à¤¹à¤¤à¥ हà¥à¤?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+
+# LOCALIZATION NOTE (tooNewSchemaErrorBoxTextLightning):
+# %1$S will be replaced with the name of the calendar application e.g. 'Lightning'
+# %2$S will be replaced with the name of the host application 'calendar'
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+# %1$S will be replaced with the name of the host application 'Calendar'
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+# %1$S will be replaced with the name of the host application 'Calendar'
+
+# List of events or todos (unifinder)
+
+# Tooltips of events or todos
+tooltipTitle=शà¥à¤°à¥à¤·à¤:
+# event date, usually an interval, such as
+# Date: 7:00--8:00 Thu 9 Oct 2011
+# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
+# event calendar name
+# event status: tentative, confirmed, cancelled
+# event organizer
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+
+# Tooltips for attendees and organizer in event and summary dialog
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendee.combined): tooltip for itip icon in summary/event dialog.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of dialog.tooltip.attendeeRole2.*
+# %2$S - value of dialog.tooltip.attendeePartStat2.*
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.CHAIR): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing individual attendee
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.GROUP): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a group (e.g. a distribution list)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.RESOURCE): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a resource (e.g. projector)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a room
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.UNKNOWN): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing an attendee of unknown type
+
+#File commands and dialogs
+
+# Filters for export/import/open file picker. %1$S will be replaced with
+# wildmat used to filter files by extension, such as (*.html; *.htm).
+
+# Remote calendar errors
+
+# LOCALIZATION NOTE (readOnlyMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+
+# LOCALIZATION NOTE (disabledMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+
+# LOCALIZATION NOTE (minorError):
+# used for an message like 'There has been an error reading data for calendar: Home. However this...'
+# %1$S will be replaced with the name of a calendar
+
+# LOCALIZATION NOTE (stillReadOnlyError):
+# used for an message like 'There has been an error reading data for calendar: Home.'
+# %1$S will be replaced with the name of a calendar
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart: sunbird -jsconsole
+# - observe guess in error console and verify whether guessed timezone city
+# makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+# no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+# (windows; or TZ env var, /etc/localtime target path, or line in
+# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+# can also trigger this warning.
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+
+# "Warning: Using guessed timezone
+# America/New York (UTC-0500/-0400).
+# [rfc2445 summer daylight saving shift rules for timezone]
+# This ZoneInfo timezone almost matches/seems to match..."
+# This ZoneInfo timezone was chosen based on ... "
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+
+
+# Print Layout
+
+# Providers
+
+# Used in created html code for list layout print and html export
+
+# Categories
+
+
+#Today pane
+
+
+# Some languages have different conjugations of 'next' and 'last'. If yours
+# does not, simply repeat the value. This will be used with day names, as in
+# 'next Sunday'.
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+
+# LOCALIZATION NOTE (alarmTodayAt):
+# used for a display the date-time of an alarm like 'Today at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+
+# LOCALIZATION NOTE (alarmTomorrowAt):
+# used for a display the date-time of an alarm like 'Tomorrow at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+
+# LOCALIZATION NOTE (alarmYesterdayAt):
+# used for a display the date-time of an alarm like 'Yesterday at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+
+# Alarm interface strings
+# LOCALIZATION NOTE: These strings do not get displayed. They are only visible
+# when exporting an item with i.e a DISPLAY alarm, that doesn't have a
+# description set, or an EMAIL alarm that doesn't have a summary set.
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+# %1$S will be replaced with the number of percentage completed
+
+# LOCALIZATION NOTE (taskDetailsStatusCompletedOn):
+# used for a display of completion date like 'Completed on Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with the completion date-time of the task
+
+
+# LOCALIZATION NOTE (gettingCalendarInfoDetail):
+# used for a progress-display of processed like 'Checking Calendar 5 of 10'
+# %1$S will be replaced with the index of the currently processed calendar
+# %2$S will be replaced with the total numbers of calendars
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+
+# LOCALIZATION NOTE (errorWriting):
+# used for an message like 'An error occurred when writing to the calendar Home!'
+# %1$S will be replaced with the name of a calendar
+
+# LOCALIZATION NOTE (tooltipCalendarDisabled):
+# used for an alert-message like 'The calendar Home is momentarily not available'
+# %1$S will be replaced with the name of a calendar
+
+# LOCALIZATION NOTE (tooltipCalendarReadOnly):
+# used for an message like 'The calendar Home is readonly'
+# %1$S will be replaced with the name of a calendar
+
+
+
+# LOCALIZATION NOTE (datetimeWithTimezone):
+# used for a display of a date-time with timezone 'Thu 2 Oct 2008 13:21', Europe/Paris
+# %1$S will be replaced with the completion date-time
+# %2$S will be replaced with the name of the timezone
+
+# LOCALIZATION NOTE (singleLongCalendarWeek):
+# used for display of calendar weeks in short form like 'Calendar Week 43'
+# %1$S will be replaced with the index of the week
+
+# LOCALIZATION NOTE (severalLongCalendarWeeks):
+# used for display of calendar weeks in short form like 'Calendar Weeks 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+
+# LOCALIZATION NOTE (singleShortCalendarWeek):
+# used for display of calendar weeks in short form like 'CW 43'
+# %1$S will be replaced with the index of the week
+
+# LOCALIZATION NOTE (severalShortCalendarWeeks):
+# used for display of calendar weeks in short form like 'CWs 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+
+# LOCALIZATION NOTE (abbreviationOfWeek):
+# Used for displaying the week number in the first day box of every week
+# in multiweek and month views.
+# It allows to localize the label with the week number in case your locale
+# requires it.
+# Take into account that this label is placed in the same room of the day label
+# inside the day boxes, exactly on left side, hence a possible string shouldn't
+# be too long otherwise it will create confusion between the week number and
+# the day number other than a possible crop when the window is resized.
+#
+# %1$S is a number from 1 to 53 that represents the week number.
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+
+# LOCALIZATION NOTE (monthInYear):
+# used for display of Month-dates like 'December 2008'
+# %1$S will be replaced with name of the month
+# %2$S will be replaced with the year
+
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+
+# LOCALIZATION NOTE (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+
+# LOCALIZATION NOTE (dayHeaderLabel):
+# used for display the labels in the header of the days in day/week views in short
+# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
+# %1$S will be replaced with name of the day in short or long format
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
+# of the month in short format (the day/month order depends on the OS settings).
+
+# LOCALIZATION NOTE (daysIntervalInMonth):
+# used for display of intervals in the form of 'March 3 - 9, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %4$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+
+# LOCALIZATION NOTE (daysIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with name of the month of the end date
+# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %5$S will be replaced with the commmon year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the year of the start date
+# %4$S will be replaced with name of the month of the end date
+# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDueDate):
+# used for intervals in task with only start date
+# displayed form is 'start date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate):
+# used for intervals in task with only due date
+# displayed form is 'due date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the due date
+# %2$S will be replaced with the time of the due date
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+
+
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+
+# LOCALIZATION NOTE (extractUsingRegion)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+# %2$S will be replaced with region like US in en-US
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+
+# LOCALIZATION NOTE (showCalendar)
+# Used in calendar list context menu
+# %1$S will be replaced with the calendar name
+# uses the access key calendar.context.togglevisible.accesskey
+# uses the access key calendar.context.showonly.accesskey
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedFrom): this is appended behind an attendee name
+# in the tooltip and the visible name for an attendee in the event summary dialog - don't add
+# leading or trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+
+# Accessible description of a grid calendar with no selected date
diff --git a/calendar/chrome/calendar/calendarCreation.dtd b/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 00000000000..fb381c0f864
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/dateFormat.properties b/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 00000000000..7ea979bfbc0
--- /dev/null
+++ b/calendar/chrome/calendar/dateFormat.properties
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the
+# *.monthFormat to a different value. Supported values are currently:
+# nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+
+
+
+
+# Can someone tell me why we're not counting from zero?
+
+# Localizable day's date
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=
+
+
diff --git a/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 00000000000..db93fe230b2
--- /dev/null
+++ b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/alarms.dtd b/calendar/chrome/calendar/preferences/alarms.dtd
new file mode 100644
index 00000000000..7a6ed4f95c5
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/alarms.dtd
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/categories.dtd b/calendar/chrome/calendar/preferences/categories.dtd
new file mode 100644
index 00000000000..3e50ddfc7fc
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/categories.dtd
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/general.dtd b/calendar/chrome/calendar/preferences/general.dtd
new file mode 100644
index 00000000000..5e47f35f4cb
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/general.dtd
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/preferences.dtd b/calendar/chrome/calendar/preferences/preferences.dtd
new file mode 100644
index 00000000000..34018cc4596
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/preferences.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/views.dtd b/calendar/chrome/calendar/preferences/views.dtd
new file mode 100644
index 00000000000..445171831bd
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/views.dtd
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/providers/gdata/amo.properties b/calendar/chrome/calendar/providers/gdata/amo.properties
new file mode 100644
index 00000000000..3d41f3ae4df
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/amo.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The addon name and short description are localized in gdata.properties
+
+# This is the addon description. The en-US version will sometimes have
+# additional news items at the end of the description. If you notice this and
+# would like them translated, please email the author directly.
+# params: %1$S - See amo.faqlocation
+# %2$S - See amo.website
+# NOTE: This is a multiline string, be sure to end lines with \n\ to make sure
+# it stays that way.
+
+# You can change this if you have localized the FAQ on wiki.mozilla.org
+
+# You can change this if you would like to provide localized support.
+amo.email=
diff --git a/calendar/chrome/lightning/lightning-toolbar.dtd b/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 00000000000..67797f5aa0f
--- /dev/null
+++ b/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.dtd b/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 00000000000..89c50a3517e
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.properties b/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 00000000000..b767d323f6a
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,138 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=बिà¤à¤²à¥-à¤à¤¿à¤°à¤¨à¤¾
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Mozilla पà¤à¤à¤¾à¤à¤ पà¥à¤°à¥à¤à¥à¤à¥à¤
+
+# Lightning branding
+brandShortName=बिà¤à¤²à¥-à¤à¤¿à¤°à¤¨à¤¾
+
+# Task mode title
+taskModeApplicationTitle=à¤à¤¾à¤°à¥à¤¯
+
+# Tab titles
+tabTitleCalendar=पà¤à¤à¤¾à¤à¤
+tabTitleTasks=à¤à¤¾à¤°à¥à¤¯
+
+# Html event display in message
+imipHtml.header=à¤à¤¾à¤°à¥à¤¯à¤à¥à¤°à¤® à¤à¤®à¤à¤¤à¥à¤°à¤£
+imipHtml.summary=शà¥à¤°à¥à¤·à¤
+imipHtml.location=सà¥à¤¥à¤¾à¤¨
+imipHtml.when=à¤à¤¬
+imipHtml.organizer=à¤à¤¯à¥à¤âà¤:
+imipHtml.description=विवरण:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=सà¤à¤²à¤à¥à¤¨à¤:
+imipHtml.comment=à¤à¤¿à¤ªà¥à¤ªà¤£à¥:
+imipHtml.attendees=सहà¤à¤¾à¤à¥:
+# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online
+# representation of the event (either directly human readable or not).
+imipHtml.url=सà¤à¤¬à¤à¤§à¤¿à¤¤ à¤à¥à¥:
+imipHtml.canceledOccurrences=à¤à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿ रदà¥à¤¦:
+imipHtml.modifiedOccurrences=सà¤à¤¶à¥à¤§à¤¿à¤¤ à¤à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿:
+imipHtml.newLocation=नया सà¥à¤¥à¤¾à¤¨:%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegator or a comma separated list of delegators
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing an individual attendee
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a group (e.g. a distribution list)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a resource (e.g. projector)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing a room
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name representing an attendee of unknown type
+
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+
+
+
+
+# LOCALIZATION_NOTE(binaryComponentKnown): This is shown when Lightning is
+# missing the binary component and knows how to calculate the expected version
+# number. To test, remove the binary component from the components/
+# subdirectory and start Lightning, or force install into a different
+# Thunderbird version. In the last part of the sentence it should be made clear
+# that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The current Lightning version
+# %3$S - The expected Lightning version
+
+# LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
+# missing the binary component but can't calculate the expected version. This
+# happens in the rare case that Lightning is installed into something other
+# than Thunderbird or Seamonkey. You may link to a different page if you can
+# commit to keeping it up to date, I'd recommend staying with the English page.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The application brand name, e.g. Postbox
+# %3$S - The application version
+# %3$S - The current Lightning version
+
+# LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
+# notifies about a version mismatch.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+
+# LOCALIZATION_NOTE(integrationLabel): Used by the notification bar shown when
+# Lightning is installed from the distribution folder. To trigger it, start a
+# new profile without Lightning in a previous Thunderbird version, then upgrade
+# to a Thunderbird that has Lightning packaged. See bug 1130852 for details.
+integrationLearnMoreButton=ठधिठà¤à¤¾à¤¨à¥à¤
+
+# LOCALIZATION_NOTE(integrationRestartLabel): At the current time its not yet
+# clear if we will be completely uninstalling Lightning or disabling it. Please
+# translate this string in a general manner, so that it makes sense for both
+# options.
diff --git a/devtools/client/VariablesView.dtd b/devtools/client/VariablesView.dtd
new file mode 100644
index 00000000000..6572675d8dc
--- /dev/null
+++ b/devtools/client/VariablesView.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/devtools/client/aboutdebugging.dtd b/devtools/client/aboutdebugging.dtd
new file mode 100644
index 00000000000..6e5531d0521
--- /dev/null
+++ b/devtools/client/aboutdebugging.dtd
@@ -0,0 +1,5 @@
+
+
+
diff --git a/devtools/client/aboutdebugging.properties b/devtools/client/aboutdebugging.properties
new file mode 100644
index 00000000000..efa00a2d8ec
--- /dev/null
+++ b/devtools/client/aboutdebugging.properties
@@ -0,0 +1,210 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (debug):
+# This string is displayed as a label of the button that starts
+# debugging a service worker.
+debug = दà¥à¤·à¤¸à¥à¤§à¤¾à¤°
+
+# LOCALIZATION NOTE (push):
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+push = दबाà¤à¤
+
+# LOCALIZATION NOTE (start):
+# This string is displayed as a label of the button that starts a service worker.
+start = पà¥à¤°à¤¾à¤°à¤à¤
+
+scope = पà¥à¤°à¤¯à¥à¤à¤¨\u0020
+unregister = ठपà¤à¤à¥à¤à¥à¤¤
+
+pushService = सà¥à¤µà¤¾ दबाà¤à¤
+
+# LOCALIZATION NOTE (fetch):
+# Fetch is an event type and should not be translated.
+fetch = पाà¤à¤
+
+# LOCALIZATION NOTE (listeningForFetchEvents):
+# This is used to display the state of the SW in regard to fetch events.
+listeningForFetchEvents = à¤à¥à¤ à¤à¤¯à¥à¤à¤¨à¥ à¤à¥ बारॠमà¥à¤ सà¥à¤¨à¤¨à¤¾à¥¤
+
+# LOCALIZATION NOTE (notListeningForFetchEvents):
+# This is used to display the state of the SW in regard to fetch events.
+notListeningForFetchEvents = à¤à¥à¤ à¤à¤¯à¥à¤à¤¨à¥ à¤à¥ बारॠमà¥à¤ नहà¥à¤ सà¥à¤¨à¤¨à¤¾à¥¤
+
+# LOCALIZATION NOTE (addons):
+# This string is displayed as a header of the about:debugging#addons page.
+addons = सहयà¥à¤à¥à¤¤à¤¿à¤¯à¤¾à¤
+
+# LOCALIZATION NOTE (addonDebugging.label):
+# This string is displayed next to a check box that enables the user to switch
+# addon debugging on/off.
+addonDebugging.label = सहयà¥à¤à¥à¤¤à¤¿ दà¥à¤·à¤¸à¥à¤§à¤¾à¤° सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (addonDebugging.tooltip):
+# This string is displayed in a tooltip that appears when hovering over a check
+# box that switches addon debugging on/off.
+addonDebugging.tooltip = à¤à¤¸à¥ à¤à¤¾à¤²à¥ à¤à¤°à¤¨à¥ सॠसहयà¥à¤à¥à¤¤à¤¿à¤¯à¤¾à¤ à¤à¤° à¤à¥à¤°à¥à¤® बà¥à¤°à¤¾à¤à¤à¤¼à¤° à¤à¥ ठनà¥à¤¯ विà¤à¤¿à¤¨à¥à¤¨ à¤à¤¾à¤à¥à¤ à¤à¤¾ दà¥à¤·à¤¸à¥à¤§à¤¾à¤° à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¤ªà¤à¥ ठनà¥à¤®à¤¤à¤¿ दà¥à¤à¤¾
+
+# LOCALIZATION NOTE (addonDebugging.learnMore):
+# This string is displayed as a link next to addonDebugging.label and leads the user to
+# the MDN documentation page for about:debugging.
+# (https://developer.mozilla.org/docs/Tools/about:debugging#Enabling_add-on_debugging)
+addonDebugging.learnMore = ठधिठà¤à¤¾à¤¨à¥à¤
+
+# LOCALIZATION NOTE (loadTemporaryAddon):
+# This string is displayed as a label of a button that allows the user to
+# load additional add-ons.
+loadTemporaryAddon = ठसà¥à¤¥à¤¾à¤¯à¥ à¤à¤ªà¤¯à¥à¤à¥à¤¤à¤¿ लà¥à¤¡ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (addonInstallError):
+# This string is displayed when an error occurs while installing an addon.
+# %S will be replaced with the error message.
+addonInstallError = सà¤à¤¸à¥à¤¥à¤¾à¤ªà¤¨ à¤à¥ दà¥à¤°à¤¾à¤¨ à¤à¤ तà¥à¤°à¥à¤à¤¿ थà¥: %S
+
+# LOCALIZATION NOTE (retryTemporaryInstall):
+# This string is displayed as a label of a button that allows the user to
+# retry a failed installation of a temporary add-on.
+retryTemporaryInstall = पà¥à¤¨à¤ à¤à¥à¤¶à¤¿à¤¶ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (extensions):
+# This string is displayed as a header above the list of loaded add-ons.
+extensions = विसà¥à¤¤à¤¾à¤°
+
+# LOCALIZATION NOTE (temporaryExtensions):
+# This string is displayed as a header above the list of temporarily loaded add-ons.
+temporaryExtensions = ठसà¥à¤¥à¤¾à¤¯à¥ à¤à¤à¥à¤¸à¤à¥à¤à¤¶à¤¨
+
+# LOCALIZATION NOTE (internalUUID):
+# This string is displayed as a label for the internal UUID of an extension.
+# The UUID is generated for this profile on install.
+internalUUID = à¤à¤à¤¤à¤°à¤¿à¤ UUID
+
+# LOCALIZATION NOTE (extensionID):
+# This string is displayed as a label for the ID of an extension. This is not the same as the internal UUID.
+extensionID = à¤à¤à¥à¤¸à¤à¥à¤à¤¶à¤¨ ID
+
+# LOCALIZATION NOTE (manifestURL):
+# This string is displayed as a link for the manifest of an extension,
+# accessible in a browser, such as moz-extension://[internalUUID]/manifest.json.
+manifestURL = मà¥à¤¨à¤¿à¤«à¤¼à¥à¤¸à¥à¤ URL
+
+# LOCALIZATION NOTE (webExtTip):
+# This string is displayed as a message below the list of temporarily loaded add-ons.
+# Web-ext is a command line tool for web-extensions developers.
+# See https://developer.mozilla.org/Add-ons/WebExtensions/Getting_started_with_web-ext
+webExtTip = à¤à¤ª à¤à¤®à¤¾à¤à¤¡ लाà¤à¤¨ सॠठसà¥à¤¥à¤¾à¤¯à¥ WebExtensions लà¥à¤¡ à¤à¤°à¤¨à¥ à¤à¥ लिठweb-ext à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤° सà¤à¤¤à¥ हà¥à¤.
+
+# LOCALIZATION NOTE (webExtTip.learnMore):
+# This string is displayed as a link next to webExtTip and leads the user to the MDN
+# documentation page for web-ext.
+# (https://developer.mozilla.org/Add-ons/WebExtensions/Getting_started_with_web-ext)
+webExtTip.learnMore = ठधिठà¤à¤¾à¤¨à¥à¤
+
+# LOCALIZATION NOTE (temporaryID):
+# This string is displayed as a message about the add-on having a temporaryID.
+temporaryID = यह WebExtension à¤à¥ à¤à¤ ठसà¥à¤¥à¤¾à¤ à¤à¤à¤¡à¥ हà¥à¤.
+
+# LOCALIZATION NOTE (temporaryID.learnMore):
+# This string is displayed as a link next to the temporaryID message and leads
+# the user to MDN.
+temporaryID.learnMore = ठधिठà¤à¤¾à¤¨à¥à¤
+
+# LOCALIZATION NOTE (legacyExtensionWarning):
+# This string is displayed as a warning message when loading a temporary legacy extension.
+legacyExtensionWarning = यह à¤à¤ पà¥à¤°à¤¾à¤¤à¤¨ à¤à¤à¥à¤¸à¤à¥à¤à¤¶à¤¨ हà¥, धà¥à¤¯à¤¾à¤¨ रà¤à¥à¤ à¤à¤¿ यॠठब पà¥à¤°à¥ तरह समरà¥à¤¥à¤¿à¤¤ नहà¥à¤ हà¥à¤. à¤à¥à¤ªà¤¯à¤¾ लिà¤à¤ à¤à¤¿à¤ à¤à¤ दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼ à¤à¥ पढ़à¥à¤ à¤à¤° फिर सावधानॠà¤à¥ साथ à¤à¤à¥ बढ़à¥à¤.
+
+# LOCALIZATION NOTE (legacyExtensionWarning.learnMore):
+# This string is displayed as a link next to the legacyExtensionWarning message and leads
+# the user to https://wiki.mozilla.org/Add-ons/Future_of_Bootstrap.
+legacyExtensionWarning.learnMore = ठधिठà¤à¤¾à¤¨à¥à¤
+
+# LOCALIZATION NOTE (selectAddonFromFile2):
+# This string is displayed as the title of the file picker that appears when
+# the user clicks the 'Load Temporary Add-on' button
+selectAddonFromFile2 = à¤à¥à¤·à¤£à¤¾à¤ªà¤¤à¥à¤° फ़ाà¤à¤² या पà¥à¤à¥à¤ à¤à¥à¤¨à¥à¤ (.xpi)
+
+# LOCALIZATION NOTE (reload):
+# This string is displayed as a label of the button that reloads a given addon.
+reload = फिर लà¥à¤¡ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (remove):
+# This string is displayed as a label of the button that will remove a given addon.
+remove = हà¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE (location):
+# This string is displayed as a label for the filesystem location of an extension.
+location = सà¥à¤¥à¤¾à¤¨
+
+# LOCALIZATION NOTE (workers):
+# This string is displayed as a header of the about:debugging#workers page.
+workers = शà¥à¤°à¤®à¤¿à¤
+
+serviceWorkers = सà¥à¤µà¤¾ शà¥à¤°à¤®à¤¿à¤
+sharedWorkers = साà¤à¤¾ शà¥à¤°à¤®à¤¿à¤
+otherWorkers = ठनà¥à¤¯ शà¥à¤°à¤®à¤¿à¤
+
+# LOCALIZATION NOTE (running):
+# This string is displayed as the state of a service worker in RUNNING state.
+running = à¤à¤² रहा हà¥
+
+# LOCALIZATION NOTE (stopped):
+# This string is displayed as the state of a service worker in STOPPED state.
+stopped = रà¥à¤à¤¾ हà¥à¤
+
+# LOCALIZATION NOTE (registering):
+# This string is displayed as the state of a service worker for which no service worker
+# registration could be found yet. Only active registrations are visible from
+# about:debugging, so such service workers are considered as registering.
+registering = पà¤à¤à¥à¤à¥à¤¤ à¤à¤°à¤¾à¤¨à¤¾
+
+# LOCALIZATION NOTE (tabs):
+# This string is displayed as a header of the about:debugging#tabs page.
+tabs = à¤à¥à¤¬à¥à¤¸
+
+# LOCALIZATION NOTE (pageNotFound):
+# This string is displayed as the main message at any error/invalid page.
+pageNotFound = पà¥à¤·à¥à¤ नहà¥à¤ मिला\u0020
+
+# LOCALIZATION NOTE (doesNotExist):
+# This string is displayed as an error message when navigating to an invalid page
+# %S will be replaced by the name of the page at run-time.
+doesNotExist = #%S ठसà¥à¤¤à¤¿à¤¤à¥à¤µ मà¥à¤ नहà¥à¤ हà¥!
+
+# LOCALIZATION NOTE (nothing):
+# This string is displayed when the list of workers is empty.
+nothing = ठà¤à¥ तठà¤à¥à¤ नहà¥à¤|
+
+# LOCALIZATION NOTE (configurationIsNotCompatible.label):
+# This string is displayed in about:debugging#workers if the current configuration of the
+# browser is incompatible with service workers. More details at
+# https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible
+configurationIsNotCompatible.label = à¤à¤ªà¤à¤¾ बà¥à¤°à¤¾à¤à¤à¤¼à¤° विनà¥à¤¯à¤¾à¤¸ सà¥à¤µà¤¾ शà¥à¤°à¤®à¤¿à¤à¥à¤ à¤à¥ साथ ठसà¤à¤à¤¤ हà¥.
+
+# LOCALIZATION NOTE (configurationIsNotCompatible.learnMore):
+# This string is displayed as a link next to configurationIsNotCompatible.label and leads
+# the user to the MDN documentation page for about:debugging, on the section explaining
+# why service workers might not be available.
+# (https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible)
+configurationIsNotCompatible.learnMore = ठधिठà¤à¤¾à¤¨à¥à¤
+
+# LOCALIZATION NOTE (multiProcessWarningTitle):
+# This string is displayed as a warning message on top of the about:debugging#workers
+# page when multi-e10s is enabled
+multiProcessWarningTitle = सà¥à¤µà¤¾ शà¥à¤°à¤®à¤¿à¤ दà¥à¤·à¤¸à¥à¤§à¤¾à¤° à¤à¤¸ समय à¤à¤à¤¾à¤§à¤¿à¤ सामà¤à¥à¤°à¥ पà¥à¤°à¤à¥à¤°à¤¿à¤¯à¤¾à¤à¤ à¤à¥ साथ सà¤à¤à¤¤ नहà¥à¤ हà¥.
+
+# LOCALIZATION NOTE (multiProcessWarningMessage2):
+# This string is displayed in the warning section for multi-e10s in
+# about:debugging#workers
+multiProcessWarningMessage2 = वरà¥à¤¤à¤®à¤¾à¤¨ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ लिठà¤à¤à¤² सामà¤à¥à¤°à¥ पà¥à¤°à¤à¥à¤°à¤¿à¤¯à¤¾ à¤à¥ लाà¤à¥ à¤à¤°à¤¨à¥ à¤à¥ लिठâdom.ipc.multiOptOutâ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤à¤¤à¤¾ à¤à¥ सà¤à¤¶à¥à¤§à¤¿à¤¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥.
+
+# LOCALIZATION NOTE (multiProcessWarningUpdateLink2):
+# This string is the text content of a link in the warning section for multi-e10s in
+# about:debugging#workers. The link updates the pref and restarts the browser.
+multiProcessWarningUpdateLink2 = à¤à¤à¤¾à¤§à¤¿à¤ सामà¤à¥à¤°à¥ पà¥à¤°à¤à¥à¤°à¤¿à¤¯à¤¾à¤à¤ सॠबाहर रहà¥à¤
+
+# LOCALIZATION NOTE (multiProcessWarningConfirmUpdate2):
+# This string is displayed as a confirmation message when the user clicks on
+# the multiProcessWarningUpdateLink in about:debugging#workers
+multiProcessWarningConfirmUpdate2 = à¤à¤à¤¾à¤§à¤¿à¤ पà¥à¤°à¤à¥à¤°à¤¿à¤¯à¤¾à¤à¤ सॠबाहर रहà¥à¤?
diff --git a/devtools/client/accessibility.properties b/devtools/client/accessibility.properties
new file mode 100644
index 00000000000..1038edb787e
--- /dev/null
+++ b/devtools/client/accessibility.properties
@@ -0,0 +1,88 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is available from the Web Developer sub-menu -> 'Accessibility'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (accessibility.role): A title text used for Accessibility
+# tree header column that represents accessible element role.
+accessibility.role=à¤à¥à¤®à¤¿à¤à¤¾
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=नाम
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=सरल à¤à¤ªà¤¯à¥à¤ à¤à¤¿à¤¨à¥à¤¹
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=à¤à¥à¤£
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=ठà¤à¤¿à¤à¤®à¥à¤¯à¤¤à¤¾ शà¥à¤°à¥à¤à¤à¤²à¤¾
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=सà¥à¤²à¤ à¤à¤¾à¤¨à¤à¤¾à¤°à¥ ठनà¥à¤ªà¤²à¤¬à¥à¤§
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=सरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¿à¤§à¤¾à¤à¤ à¤à¤¾à¤²à¥ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=सरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¿à¤§à¤¾ शà¥à¤°à¥ हॠरहॠहà¥â¦
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=सरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¿à¤§à¤¾à¤à¤ बà¤à¤¦ à¤à¤°à¥
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=सरल à¤à¤ªà¤¯à¥à¤ बà¤à¤¦ हॠरहॠहà¥â¦
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=पà¥à¤·à¥à¤ सॠसà¥à¤²à¤ वसà¥à¤¤à¥ à¤à¥à¤¨à¥à¤
+
+# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can not
+# be disabled. It is the case when a user is using a 3rd party accessibility
+# tool such as screen reader.
+accessibility.disable.disabledTitle=सरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¾ बà¤à¤¦ नहà¥à¤ à¤à¥ à¤à¤¾ सà¤à¤¤à¥ । यह डà¥à¤µà¤²à¤ªà¤° सà¥à¤µà¤¾ सॠबाहर à¤à¤ªà¤¯à¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ रहा हॠ।
+
+# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can be
+# disabled.
+accessibility.disable.enabledTitle=सà¤à¥ à¤à¥à¤¬ à¤à¤° विà¤à¤¡à¥ à¤à¥ लिठसरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¾ बà¤à¤¦ à¤à¤° दॠà¤à¤¾à¤à¤à¥
+
+# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can not
+# be enabled.
+accessibility.enable.disabledTitle=सरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¾ पà¥à¤°à¤¾à¤°à¤à¤ नहà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ यह पहà¥à¤à¤ यà¥à¤à¥à¤¯à¤¤à¤¾ सà¥à¤µà¤¾à¤à¤ à¤à¥ दà¥à¤µà¤¾à¤°à¤¾ सॠबà¤à¤¦ हà¥
+
+# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can be
+# enabled.
+accessibility.enable.enabledTitle=सà¤à¥ à¤à¥à¤¬ à¤à¤° विà¤à¤¡à¥ à¤à¥ लिठसरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¾ à¤à¤¾à¤²à¥ à¤à¥ à¤à¤¾à¤à¤à¥
+
+# LOCALIZATION NOTE (accessibility.description.general): A title text used when
+# accessibility service description is provided before accessibility inspector
+# is enabled.
+accessibility.description.general=सरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¿à¤§à¤¾à¤à¤ सामानà¥à¤¯ रà¥à¤ª सॠनिषà¥à¤à¥à¤°à¤¿à¤¯ हà¥à¤¤à¥ हà¥à¤ à¤à¥à¤¯à¥à¤à¤à¤¿ वॠà¤à¤¾à¤°à¥à¤¯ à¤à¥ नà¤à¤¾à¤°à¤¾à¤¤à¥à¤®à¤ रà¥à¤ª सॠपà¥à¤°à¤à¤¾à¤µà¤¿à¤¤ à¤à¤°à¤¤à¥ हà¥à¤à¥¤ ठनà¥à¤¯ डà¥à¤µà¤²à¤ªà¤° à¤à¤ªà¤à¤°à¤£ पà¥à¤¨à¤²à¥à¤ à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¤¨à¥ सॠपहलॠसरल à¤à¤ªà¤¯à¥à¤ सà¥à¤µà¤¿à¤§à¤¾à¤à¤ à¤à¥ बà¤à¤¦ à¤à¤°à¤¨à¥ पर विà¤à¤¾à¤° à¤à¤°à¥à¤à¥¤
+
+# LOCALIZATION NOTE (accessibility.description.oldVersion): A title text used
+# when accessibility service description is provided when a client is connected
+# to an older version of accessibility actor.
+accessibility.description.oldVersion=à¤à¤ª à¤à¥ डिबà¤à¤° सरà¥à¤µà¤° सॠà¤à¥à¤¡à¤¼à¥ हà¥à¤ हà¥à¤ वह बहà¥à¤¤ पà¥à¤°à¤¾à¤¨à¤¾ हà¥à¥¤ सरल à¤à¤ªà¤¯à¥à¤ पà¥à¤¨à¤² à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¤¨à¥ à¤à¥ लिà¤, à¤à¥à¤ªà¤¯à¤¾ नवà¥à¤¨à¤¤à¤® डà¥à¤¬à¤à¤° सरà¥à¤µà¤° सà¤à¤¸à¥à¤à¤°à¤£ सॠà¤à¥à¤¡à¤¼à¥à¥¤
diff --git a/devtools/client/animationinspector.properties b/devtools/client/animationinspector.properties
new file mode 100644
index 00000000000..69d6ee32ac1
--- /dev/null
+++ b/devtools/client/animationinspector.properties
@@ -0,0 +1,199 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Animation inspector
+# which is available as a sidebar panel in the Inspector.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (panel.invalidElementSelected):
+# This is the label shown in the panel when an invalid node is currently
+# selected in the inspector (i.e. a non-element node or a node that is not
+# animated).
+panel.invalidElementSelected=वरà¥à¤¤à¤®à¤¾à¤¨ ततà¥à¤µ à¤à¥ लिठà¤à¥à¤ à¤à¤²-à¤à¤µà¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहà¥à¤ हà¥à¤.
+
+# LOCALIZATION NOTE (panel.selectElement): This is the label shown in the panel
+# when an invalid node is currently selected in the inspector, to invite the
+# user to select a new node by clicking on the element-picker icon.
+panel.selectElement=पà¥à¤·à¥à¤ सॠदà¥à¤¸à¤°à¤¾ ततà¥à¤µ à¤à¥à¤¨à¥à¤.
+
+# LOCALIZATION NOTE (panel.invalidElementSelected):
+# This is the label shown in the panel when there are no displayable animations.
+# (e.g. In case of user selected a non-element node or a node that is not animated).
+panel.noAnimation=वरà¥à¤¤à¤®à¤¾à¤¨ ततà¥à¤µ à¤à¥ लिठà¤à¥à¤ à¤à¤¨à¤¿à¤®à¥à¤¶à¤¨ नहà¥à¤ मिलà¥.\nपà¥à¤·à¥à¤ सॠठनà¥à¤¯ ततà¥à¤µ à¤à¥à¤¨à¥à¤.
+
+# LOCALIZATION NOTE (panel.allAnimations): This is the label shown at the bottom of
+# the panel, in a toolbar, to let the user know the toolbar applies to all
+# animations, not just the ones applying to the current element.
+panel.allAnimations=सà¤à¥ à¤à¤²-à¤à¤µà¤¿
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=ठवधिà¤
+
+# LOCALIZATION NOTE (player.animationDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation delay.
+player.animationDelayLabel=दà¥à¤°à¥à¤
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=समापन विलà¤à¤¬:
+
+# LOCALIZATION NOTE (player.animationRateLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation playback rate.
+player.animationRateLabel=पà¥à¤²à¥à¤¬à¥à¤ दर
+
+# LOCALIZATION NOTE (player.animationIterationCountLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the number of times the animation is set to repeat.
+player.animationIterationCountLabel=दà¥à¤¹à¤°à¤¾à¤à¤:
+
+# LOCALIZATION NOTE (player.infiniteIterationCount):
+# In case the animation repeats infinitely, this string is displayed next to the
+# player.animationIterationCountLabel string, instead of a number.
+player.infiniteIterationCount=∞
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=â
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start
+player.animationIterationStartLabel=पà¥à¤¨à¤°à¤¾à¤µà¥à¤¤à¥à¤¤à¤¿ पà¥à¤°à¤¾à¤°à¤à¤: %1$S (%2$Ss)
+
+# LOCALIZATION NOTE (player.animationOverallEasingLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the easing
+# that applies to a whole iteration of an animation as opposed to the
+# easing that applies between animation keyframes.
+player.animationOverallEasingLabel=वà¥à¤¯à¤¾à¤ªà¤ सरलà¥à¤à¤°à¤£:
+
+# LOCALIZATION NOTE (player.animationTimingFunctionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the
+# animation-timing-function for CSS Animations.
+player.animationTimingFunctionLabel=à¤à¤¨à¤¿à¤®à¥à¤¶à¤¨ समय फ़à¤à¤à¥à¤¶à¤¨:
+
+# LOCALIZATION NOTE (player.animationFillLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# fill mode value.
+player.animationFillLabel=à¤à¤°à¥à¤:
+
+# LOCALIZATION NOTE (player.animationDirectionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# direction value.
+player.animationDirectionLabel=दिशाà¤
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%Ss
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1Ã being the default, 2Ã being twice as fast).
+player.playbackRateLabel=%SÃ
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=यह à¤à¤¨à¥à¤®à¥à¤¶à¤¨ à¤à¤à¤ªà¥à¤à¤¼à¤¿à¤à¤° थà¥à¤°à¥à¤¡ पर à¤à¤² रहा हà¥
+
+# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is running on the compositor thread.
+player.allPropertiesOnCompositorTooltip=सà¤à¥ सà¤à¤²à¤à¤¿à¤¤à¥à¤° विशà¥à¤·à¤¤à¤¾à¤à¤ ठनà¥à¤à¥à¤²à¤¿à¤¤ हà¥à¤\u0020
+
+# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is not running on the compositor thread.
+player.somePropertiesOnCompositorTooltip=à¤à¥à¤ सà¤à¤²à¤à¤¿à¤¤à¥à¤° विशà¥à¤·à¤¤à¤¾à¤à¤ ठनà¥à¤à¥à¤²à¤¿à¤¤ हà¥à¤\u0020
+
+# LOCALIZATION NOTE (timeline.rateSelectorTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# drop-down list that can be used to change the rate at which the animations
+# run.
+timeline.rateSelectorTooltip=सà¤à¤²à¤à¤¿à¤¤à¥à¤° à¤à¤²à¤¨à¥ à¤à¥ दर à¤à¥ वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤à¤°à¥
+
+# LOCALIZATION NOTE (timeline.pauseResumeButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.pausedButtonTooltip=सà¤à¤²à¤à¤¿à¤¤à¥à¤° à¤à¥ पà¥à¤¨à¤ à¤à¤°à¤®à¥à¤ à¤à¤°à¥
+
+# LOCALIZATION NOTE (timeline.pauseResumeButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.resumedButtonTooltip=सà¤à¤²à¤à¤¿à¤¤à¥à¤° à¤à¥ विराम दà¥à¤
+
+# LOCALIZATION NOTE (timeline.rewindButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# rewind button that can be used to rewind the animations
+timeline.rewindButtonTooltip=सà¤à¤²à¤à¤¿à¤¤à¥à¤° à¤à¥ à¤à¤²à¥à¤à¤¾ फिराà¤
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%Sms
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S - CSS à¤à¤²-à¤à¤µà¤¿
+
+# LOCALIZATION NOTE (timeline.csstransition.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Transition in the timeline UI.
+# %S will be replaced by the name of the transition at run-time.
+timeline.csstransition.nameLabel=%S - CSS सà¤à¤à¥à¤°à¤®à¤£
+
+# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a script-generated animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.scriptanimation.nameLabel=%S - लिपि सà¤à¤²à¤à¤¿à¤¤à¥à¤°\u0020
+
+# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over an unnamed script-generated animation in the timeline UI.
+timeline.scriptanimation.unnamedLabel=लिपि सà¤à¤²à¤à¤¿à¤¤à¥à¤°
+
+# LOCALIZATION NOTE (timeline.unknown.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of an unknown animation type in the timeline UI.
+# This can happen if devtools couldn't figure out the type of the animation.
+# %S will be replaced by the name of the transition at run-time.
+timeline.unknown.nameLabel=%S
+
+# LOCALIZATION NOTE (detail.propertiesHeader.percentage):
+# This string is displayed on header label in .animated-properties-header.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+detail.propertiesHeader.percentage=%S%%
+
+# LOCALIZATION NOTE (detail.headerTitle):
+# This string is displayed on header label in .animation-detail-header.
+detail.headerTitle=à¤à¤¨à¤¿à¤®à¥à¤à¥à¤¡ à¤à¥à¤£ à¤à¥ लिà¤
+
+# LOCALIZATION NOTE (detail.header.closeLabel):
+# This string is displayed in a tooltip of close button for animated properties
+detail.header.closeLabel=à¤à¤¨à¤¿à¤®à¥à¤à¥à¤¡ à¤à¥à¤£ पà¥à¤¨à¤² बà¤à¤¦ à¤à¤°à¥
diff --git a/devtools/client/app-manager.properties b/devtools/client/app-manager.properties
new file mode 100644
index 00000000000..9fb59dd5682
--- /dev/null
+++ b/devtools/client/app-manager.properties
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+validator.nonExistingFolder=परियà¥à¤à¤¨à¤¾ फ़à¥à¤²à¥à¤¡à¤° मà¥à¤à¥à¤¦ नहà¥à¤ हà¥
+validator.expectProjectFolder=परियà¥à¤à¤¨à¤¾ फ़à¥à¤²à¥à¤¡à¤° à¤à¤ फाà¤à¤² à¤à¥ रà¥à¤ª मà¥à¤ समापà¥à¤¤ हà¥à¤¤à¤¾ हà¥
+validator.noManifestFile=à¤à¤¸ पà¥à¤°à¥à¤à¥à¤à¥à¤ à¤à¥ मà¥à¤à¥à¤¯ फ़à¥à¤²à¥à¤¡à¤° मà¥à¤ à¤à¤ मà¥à¤¨à¥à¤«à¥à¤¸à¥à¤ फाà¤à¤² à¤à¥ à¥à¤°à¥à¤°à¤¤ हà¥, à¤à¤¿à¤¸à¤à¤¾ नाम 'manifest.webapp' हà¥à¤à¤¾ पà¥à¤à¥à¤ à¤à¤ª ठलिठया फिर 'manifest.json' नाम हà¥à¤à¤¾ à¤à¤¡-à¤à¤¨à¥à¤¸ à¤à¥ लिà¤.
+validator.invalidManifestURL=ठवà¥à¤§ मà¥à¤¨à¤¿à¤«à¤¼à¥à¤¸à¥à¤ URL â%Sâ
+# LOCALIZATION NOTE (validator.invalidManifestJSON, validator.noAccessManifestURL):
+# %1$S is the error message, %2$S is the URI of the manifest.
+validator.invalidManifestJSON=वà¥à¤¬ ठनà¥à¤ªà¥à¤°à¤¯à¥à¤ मà¥à¤¨à¤¿à¤«à¤¼à¥à¤¸à¥à¤ à¤à¤ मानà¥à¤¯ JSON फ़ाà¤à¤² नहà¥à¤ हà¥.: %1$S पर: %2$S
+validator.noAccessManifestURL=मà¥à¤¨à¤¿à¤«à¤¼à¥à¤¸à¥à¤ फ़ाà¤à¤² पढ़नॠमà¥à¤ ठसमरà¥à¤¥: %1$S पर: %2$S
+# LOCALIZATION NOTE (validator.invalidHostedManifestURL): %1$S is the URI of
+# the manifest, %2$S is the error message.
+validator.invalidHostedManifestURL=ठवà¥à¤§ हà¥à¤¸à¥à¤ à¤à¥ हà¥à¤ मà¥à¤¨à¤¿à¤«à¤¼à¥à¤¸à¥à¤ URL â%1$Sâ: %2$S
+validator.invalidProjectType=ठà¤à¥à¤à¤¾à¤¤ परियà¥à¤à¤¨à¤¾ पà¥à¤°à¤à¤¾à¤° '%S'
+# LOCALIZATION NOTE (validator.missNameManifestProperty, validator.missIconsManifestProperty):
+# don't translate 'icons' and 'name'.
+validator.missNameManifestProperty=मà¥à¤¨à¤¿à¤«à¤¼à¥à¤¸à¥à¤ मà¥à¤ ठनिवारà¥à¤¯ 'नाम' à¤à¥à¤®.
+validator.missIconsManifestProperty=मà¥à¤¨à¤¿à¤«à¤¼à¥à¤¸à¥à¤ मà¥à¤ 'à¤à¤à¤à¥à¤¨' à¤à¥à¤®.
+validator.missIconMarketplace2=मारà¥à¤à¥à¤à¤ªà¥à¤²à¥à¤¸ à¤à¤ªà¥à¤²à¤¿à¤à¥à¤¶à¤¨ à¤à¥ पà¥à¤°à¤¸à¥à¤¤à¥à¤¤ à¤à¤°à¤¨à¥ मà¥à¤ à¤à¤ 128px à¤à¤à¤à¤¨ à¤à¥ à¤à¤°à¥à¤°à¤¤
+validator.invalidAppType=ठà¤à¥à¤à¤¾à¤¤ ठनà¥à¤ªà¥à¤°à¤¯à¥à¤ पà¥à¤°à¤à¤¾à¤°: '%S'.
+validator.invalidHostedPriviledges=हà¥à¤¸à¥à¤ à¤à¤¿à¤¯à¤¾ ठनà¥à¤ªà¥à¤°à¤¯à¥à¤ '%S' पà¥à¤°à¤à¤¾à¤° नहà¥à¤ हॠसà¤à¤¤à¤¾ हà¥.
+validator.noCertifiedSupport='पà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤' ठनà¥à¤ªà¥à¤°à¤¯à¥à¤ पà¥à¤°à¥ तरह सॠठनà¥à¤ªà¥à¤°à¤¯à¥à¤ पà¥à¤°à¤¬à¤à¤§à¤ पर समरà¥à¤¥à¤¿à¤¤ नहà¥à¤ हà¥à¤.
+validator.nonAbsoluteLaunchPath='/' à¤à¥ साथ निरपà¥à¤à¥à¤· पथ à¤à¥ साथ à¤à¤°à¤à¤ हà¥à¤¨à¥ à¤à¥ लिठपथ लà¥à¤¨à¥à¤ à¤à¤°à¥à¤: '%S'
+validator.accessFailedLaunchPath=शà¥à¤°à¥à¤à¤¤ à¤à¥ à¤à¤ªà¥à¤ªà¥à¤¸ दसà¥à¤¤à¤¾à¤µà¥à¤ à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¤¨à¥ मà¥à¤ ठसमरà¥à¤¥ '%S'
+# LOCALIZATION NOTE (validator.accessFailedLaunchPathBadHttpCode): %1$S is the URI of
+# the launch document, %2$S is the http error code.
+validator.accessFailedLaunchPathBadHttpCode=शà¥à¤°à¥à¤à¤¤ à¤à¥ à¤à¤ªà¥à¤ªà¥à¤¸ दसà¥à¤¤à¤¾à¤µà¥à¤ à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¤¨à¥ मà¥à¤ ठसमरà¥à¤¥ '%1$S', got HTTP code %2$S
diff --git a/devtools/client/appcacheutils.properties b/devtools/client/appcacheutils.properties
new file mode 100644
index 00000000000..ac55583a187
--- /dev/null
+++ b/devtools/client/appcacheutils.properties
@@ -0,0 +1,121 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Web Console
+# command line which is available from the Web Developer sub-menu
+# -> 'Web Console'.
+# These messages are displayed when an attempt is made to validate a
+# page or a cache manifest using AppCacheUtils.jsm
+
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (noManifest): the specified page has no cache manifest.
+noManifest=निरà¥à¤¦à¤¿à¤·à¥à¤ पà¥à¤·à¥à¤ à¤à¤¾ à¤à¥à¤ मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ नहà¥à¤ हà¥.
+
+# LOCALIZATION NOTE (notUTF8): the associated cache manifest has a character
+# encoding that is not UTF-8. Parameters: %S is the current encoding.
+notUTF8=मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ à¤à¥ पास %S à¤à¤¾ à¤à¥à¤ वरà¥à¤£ à¤à¤¨à¥à¤à¥à¤¡à¤¿à¤à¤ हà¥. मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ à¤à¥ पास à¤à¤® सॠà¤à¤® utf-8 वरà¥à¤£ à¤à¤¨à¥à¤à¥à¤¡à¤¿à¤à¤ हà¥.
+
+# LOCALIZATION NOTE (badMimeType): the associated cache manifest has a
+# mimetype that is not text/cache-manifest. Parameters: %S is the current
+# mimetype.
+badMimeType=मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ à¤à¥ पास %S à¤à¤¾ माà¤à¤®à¤à¤¾à¤à¤ª हà¥. मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ à¤à¥ पास पाठ/à¤à¥à¤¶ मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ à¤à¤¾ à¤à¤ माà¤à¤®à¤ªà¥à¤°à¤à¤¾à¤° हà¥.
+
+# LOCALIZATION NOTE (duplicateURI): the associated cache manifest references
+# the same URI from multiple locations. Parameters: %1$S is the URI, %2$S is a
+# list of references to this URI.
+duplicateURI=URI %1$S à¤à¥ à¤à¤ सà¥à¤¥à¤¾à¤¨à¥à¤ मà¥à¤ सà¤à¤¦à¤°à¥à¤à¤¿à¤¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾à¤¤à¤¾ हà¥. à¤à¤¸à¤à¥ ठनà¥à¤®à¤¤à¤¿ नहà¥à¤ हà¥: %2$S.
+
+# LOCALIZATION NOTE (networkBlocksURI, fallbackBlocksURI): the associated
+# cache manifest references the same URI in the NETWORK (or FALLBACK) section
+# as it does in other sections. Parameters: %1$S is the line number, %2$S is
+# the resource name, %3$S is the line number, %4$S is the resource name, %5$S
+# is the section name.
+networkBlocksURI=NETWORK à¤à¤à¤¡ पà¤à¤à¥à¤¤à¤¿ %1$S (%2$S) पà¤à¤à¥à¤¤à¤¿ %3$S (%4$S) à¤à¥ à¤à¥à¤¶à¤¿à¤à¤ à¤à¥ %5$S à¤à¤à¤¡ मà¥à¤ रà¥à¤à¤¤à¤¾ हà¥.
+fallbackBlocksURI=FALLBACK à¤à¤à¤¡ पà¤à¤à¥à¤¤à¤¿ %1$S (%2$S) पà¤à¤à¥à¤¤à¤¿ %3$S (%4$S) à¤à¥ à¤à¥à¤¶à¤¿à¤à¤ à¤à¥ %5$S à¤à¤à¤¡ मà¥à¤ रà¥à¤à¤¤à¤¾ हà¥.
+
+# LOCALIZATION NOTE (fileChangedButNotManifest): the associated cache manifest
+# references a URI that has a file modified after the cache manifest.
+# Parameters: %1$S is the resource name, %2$S is the cache manifest, %3$S is
+# the line number.
+fileChangedButNotManifest=%1$S फ़ाà¤à¤² à¤à¥ %2$S à¤à¥ बाद बदला à¤à¤¯à¤¾ था. à¤à¤¬à¤¤à¤ मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ फ़ाà¤à¤² मà¥à¤ पाठनहà¥à¤ बदला à¤à¤¾à¤¤à¤¾ हà¥, à¤à¥à¤¶ सà¤à¤¸à¥à¤à¤°à¤£ à¤à¥ %3$S मà¥à¤ बदलॠमà¥à¤ पà¥à¤°à¤¯à¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾à¤à¤à¤¾.
+
+# LOCALIZATION NOTE (cacheControlNoStore): the specified page has a header
+# preventing caching or storing information. Parameters: %1$S is the resource
+# name, %2$S is the line number.
+cacheControlNoStore=%1$S मà¥à¤ à¤à¥à¤¶ नियà¤à¤¤à¥à¤°à¤£ सà¥à¤ हॠनॠसà¥à¤à¥à¤° à¤à¥ लिà¤. यह ठनà¥à¤ªà¥à¤°à¤¯à¥à¤ à¤à¥à¤¶ à¤à¥ %2$S पर पà¤à¤à¥à¤¤à¤¿ पर à¤à¤®à¤¾ à¤à¤°à¤¨à¥ सॠà¤à¥à¤¶ à¤à¥ रà¥à¤à¥à¤à¤¾.
+
+# LOCALIZATION NOTE (notAvailable): the specified resource is not available.
+# Parameters: %1$S is the resource name, %2$S is the line number.
+notAvailable=%1$S à¤à¤¿à¤¸à¥ सà¤à¤¸à¤¾à¤§à¤¨ à¤à¥ à¤à¤à¤à¤¿à¤¤ à¤à¤°à¤¤à¤¾ हॠà¤à¥ à¤à¤¿ %2$S पà¤à¤à¥à¤¤à¤¿ पर à¤à¤ªà¤²à¤¬à¥à¤§ नहà¥à¤ हà¥.
+
+# LOCALIZATION NOTE (invalidURI): it's used when an invalid URI is passed to
+# the appcache.
+invalidURI=AppCacheUtils मà¥à¤ à¤à¥à¤à¤¾ à¤à¤¯à¤¾ URI ठवà¥à¤§ हà¥.
+
+# LOCALIZATION NOTE (noResults): it's used when a search returns no results.
+noResults=à¤à¤ªà¤à¥ à¤à¥à¤ à¤à¤¾ à¤à¥à¤ परिणाम नहà¥à¤ मिला.
+
+# LOCALIZATION NOTE (cacheDisabled): it's used when the cache is disabled and
+# an attempt is made to view offline data.
+cacheDisabled=à¤à¤ªà¤à¤¾ डिसà¥à¤ à¤à¥à¤¶ निषà¥à¤à¥à¤°à¤¿à¤¯ हà¥. à¤à¥à¤ªà¤¯à¤¾ browser.cache.disk.enable à¤à¥ about:config मà¥à¤ सहॠà¤à¥ लिठसà¥à¤ à¤à¤°à¥à¤ à¤à¤° फिर à¤à¥à¤¶à¤¿à¤¶ à¤à¤°à¥à¤.
+
+# LOCALIZATION NOTE (firstLineMustBeCacheManifest): the associated cache
+# manifest has a first line that is not "CACHE MANIFEST". Parameters: %S is
+# the line number.
+firstLineMustBeCacheManifest=मà¥à¤¨à¤¿à¤«à¥à¤¸à¥à¤ à¤à¥ पहलॠपà¤à¤à¥à¤¤à¤¿ à¤à¥ âCACHE MANIFESTâ हà¥à¤¨à¥ à¤à¤¾à¤¹à¤¿à¤ %S पà¤à¤à¥à¤¤à¤¿ पर.
+
+# LOCALIZATION NOTE (cacheManifestOnlyFirstLine2): the associated cache
+# manifest has "CACHE MANIFEST" on a line other than the first line.
+# Parameters: %S is the line number where "CACHE MANIFEST" appears.
+cacheManifestOnlyFirstLine2=âCACHE MANIFESTâ %S पà¤à¤à¥à¤¤à¤¿ पर à¤à¥à¤µà¤² पहलॠपà¤à¤à¥à¤¤à¤¿ पर वà¥à¤§ हà¥à¤¨à¥ à¤à¤¾à¤¹à¤¿à¤.
+
+# LOCALIZATION NOTE (asteriskInWrongSection2): the associated cache manifest
+# has an asterisk (*) in a section other than the NETWORK section. Parameters:
+# %1$S is the section name, %2$S is the line number.
+asteriskInWrongSection2=\u0020Asterisk (*) incorrectly used in the %1$S section at line %2$S. If a line in the NETWORK section contains only a single asterisk character, then any URI not listed in the manifest will be treated as if the URI was listed in the NETWORK section. Otherwise such URIs will be treated as unavailable. Other uses of the * character are prohibited.
+
+# LOCALIZATION NOTE (escapeSpaces1): the associated cache manifest has a space
+# in a URI. Spaces must be replaced with %20. Parameters: %S is the line
+# number where this error occurs.
+# %% will be displayed as a single % character (% is commonly used to define
+# format specifiers, so it needs to be escaped).
+escapeSpaces1=URIs मà¥à¤ पà¤à¤à¥à¤¤à¤¿ %S मà¥à¤ ठà¤à¤¤à¤°à¤à¥à¤ à¤à¥ %%20 à¤à¥ साथ बदलना à¤à¤¼à¤°à¥à¤°à¥ हà¥.
+
+# LOCALIZATION NOTE (slashDotDotSlashBad): the associated cache manifest has a
+# URI containing /../, which is invalid. Parameters: %S is the line number
+# where this error occurs.
+slashDotDotSlashBad=/../ à¤à¤ मानà¥à¤¯ URI à¤à¤ªà¤¸à¤°à¥à¤ %S पà¤à¤à¥à¤¤à¤¿ पर नहà¥à¤ हà¥.
+
+# LOCALIZATION NOTE (tooManyDotDotSlashes): the associated cache manifest has
+# a URI containing too many ../ operators. Too many of these operators mean
+# that the file would be below the root of the site, which is not possible.
+# Parameters: %S is the line number where this error occurs.
+tooManyDotDotSlashes=à¤à¤ डà¥à¤ डà¥à¤ सà¥à¤²à¥à¤¶ à¤à¤ªà¤°à¥à¤à¤° (../) पà¤à¤à¥à¤¤à¤¿ %S पर.
+
+# LOCALIZATION NOTE (fallbackUseSpaces): the associated cache manifest has a
+# FALLBACK section containing more or less than the standard two URIs
+# separated by a single space. Parameters: %S is the line number where this
+# error occurs.
+fallbackUseSpaces=à¤à¥à¤µà¤² URIs à¤à¥ सà¥à¤¥à¤¾à¤¨ à¤à¥ दà¥à¤µà¤¾à¤°à¤¾ ठलठà¤à¤¿à¤ हà¥à¤ हà¥à¤ वॠ%S पà¤à¤à¥à¤¤à¤¿ पर FALLBACK à¤à¤à¤¡ पर ठनà¥à¤®à¤¤à¤¿ दिठà¤à¤¾à¤¤à¥ हà¥à¤.
+
+# LOCALIZATION NOTE (fallbackAsterisk2): the associated cache manifest has a
+# FALLBACK section that attempts to use an asterisk (*) as a wildcard. In this
+# section the URI is simply a path prefix. Parameters: %S is the line number
+# where this error occurs.
+fallbackAsterisk2=ताराà¤à¤à¤¨ (*) à¤à¤²à¤¤ तरà¥à¤à¥ सॠFALLBACK à¤à¤à¤¡ मà¥à¤ à¤à¤²à¤¤ तरà¥à¤à¥ सॠपà¥à¤°à¤¯à¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾à¤¯à¥à¤à¤¾ %S पà¤à¤à¥à¤¤à¤¿ पर. URIs à¤à¥ FALLBACK सà¥à¤à¥à¤¶à¤¨ मà¥à¤ बस URI à¤à¤à¥à¤°à¤¹ à¤à¥ पà¥à¤°à¥à¤µà¤¸à¤°à¥à¤ सॠमà¥à¤² à¤à¤¾à¤¨à¤¾ à¤à¤¾à¤¹à¤¿à¤.
+
+# LOCALIZATION NOTE (settingsBadValue): the associated cache manifest has a
+# SETTINGS section containing something other than the valid "prefer-online"
+# or "fast". Parameters: %S is the line number where this error occurs.
+settingsBadValue=यह SETTINGS à¤à¤à¤¡ à¤à¤à¤² मान âprefer-onlineâ or âfastâ à¤à¥ पà¤à¤à¥à¤¤à¤¿ %S पर à¤à¥à¤µà¤² समाहित à¤à¤° सà¤à¤¤à¤¾ हà¥.
+
+# LOCALIZATION NOTE (invalidSectionName): the associated cache manifest
+# contains an invalid section name. Parameters: %1$S is the section name, %2$S
+# is the line number.
+invalidSectionName=ठवà¥à¤§ à¤à¤à¤¡ नाम (%1$S) पà¤à¤à¥à¤¤à¤¿ %2$S पर.
diff --git a/devtools/client/boxmodel.properties b/devtools/client/boxmodel.properties
new file mode 100644
index 00000000000..d1fa9dd547b
--- /dev/null
+++ b/devtools/client/boxmodel.properties
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE The correct localization of this file might be to
+# keep it in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=बà¥à¤à¥à¤¸ मà¥à¤¡à¤²
+
+# LOCALIZATION NOTE (boxmodel.position) This refers to the position in the box model and
+# might be displayed as a label or as a tooltip.
+boxmodel.position=सà¥à¤¥à¤¿à¤¤à¤¿
+
+# LOCALIZATION NOTE (boxmodel.margin) This refers to the margin in the box model and
+# might be displayed as a label or as a tooltip.
+boxmodel.margin=हाशिया
+
+# LOCALIZATION NOTE (boxmodel.border) This refers to the border in the box model and
+# might be displayed as a label or as a tooltip.
+boxmodel.border=à¤à¤¿à¤¨à¤¾à¤°à¤¾
+
+# LOCALIZATION NOTE (boxmodel.padding) This refers to the padding in the box model and
+# might be displayed as a label or as a tooltip.
+boxmodel.padding=पà¥à¤¡à¤¿à¤à¤
+
+# LOCALIZATION NOTE (boxmodel.content) This refers to the content in the box model and
+# might be displayed as a label or as a tooltip.
+boxmodel.content=ठà¤à¤¤à¤°à¥à¤µà¤¸à¥à¤¤à¥
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=सà¥à¤¥à¤¿à¤¤à¤¿ सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=बà¥à¤à¥à¤¸ मà¥à¤¡à¤² à¤à¥à¤£à¤§à¤°à¥à¤®
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=à¤à¤«à¤¼à¤¸à¥à¤
diff --git a/devtools/client/canvasdebugger.dtd b/devtools/client/canvasdebugger.dtd
new file mode 100644
index 00000000000..52882a9a535
--- /dev/null
+++ b/devtools/client/canvasdebugger.dtd
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/devtools/client/canvasdebugger.properties b/devtools/client/canvasdebugger.properties
new file mode 100644
index 00000000000..ab0c50018a1
--- /dev/null
+++ b/devtools/client/canvasdebugger.properties
@@ -0,0 +1,70 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Canvas Debugger
+# which is available from the Web Developer sub-menu -> 'Canvas'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (noSnapshotsText): The text to display in the snapshots menu
+# when there are no recorded snapshots yet.
+noSnapshotsText=ठबतठà¤à¥à¤ सà¥à¤¨à¥à¤ªà¤¶à¥à¤ नहà¥à¤ हà¥.
+
+# LOCALIZATION NOTE (snapshotsList.itemLabel):
+# This string is displayed in the snapshots list of the Canvas Debugger,
+# identifying a set of function calls of a recorded animation frame.
+snapshotsList.itemLabel=सà¥à¤¨à¥à¤ªà¤¶à¥à¤ #%S
+
+# LOCALIZATION NOTE (snapshotsList.loadingLabel):
+# This string is displayed in the snapshots list of the Canvas Debugger,
+# for an item that has not finished loading.
+snapshotsList.loadingLabel=लà¥à¤¡ à¤à¤° रहा हà¥â¦
+
+# LOCALIZATION NOTE (snapshotsList.saveLabel):
+# This string is displayed in the snapshots list of the Canvas Debugger,
+# for saving an item to disk.
+snapshotsList.saveLabel=सहà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (snapshotsList.savingLabel):
+# This string is displayed in the snapshots list of the Canvas Debugger,
+# while saving an item to disk.
+snapshotsList.savingLabel=सहà¥à¤ रहा हà¥â¦
+
+# LOCALIZATION NOTE (snapshotsList.loadedLabel):
+# This string is displayed in the snapshots list of the Canvas Debugger,
+# for an item which was loaded from disk
+snapshotsList.loadedLabel=डिसà¥à¤ सॠलà¥à¤¡
+
+# LOCALIZATION NOTE (snapshotsList.saveDialogTitle):
+# This string is displayed as a title for saving a snapshot to disk.
+snapshotsList.saveDialogTitle=à¤à¤²-à¤à¤µà¤¿ फà¥à¤°à¥à¤® सà¥à¤¨à¥à¤ªà¤¶à¥à¤ सहà¥à¤à¥à¤â¦
+
+# LOCALIZATION NOTE (snapshotsList.saveDialogJSONFilter):
+# This string is displayed as a filter for saving a snapshot to disk.
+snapshotsList.saveDialogJSONFilter=JSON फ़ाà¤à¤²
+
+# LOCALIZATION NOTE (snapshotsList.saveDialogAllFilter):
+# This string is displayed as a filter for saving a snapshot to disk.
+snapshotsList.saveDialogAllFilter=सà¤à¥ फ़ाà¤à¤²
+
+# LOCALIZATION NOTE (snapshotsList.drawCallsLabel):
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is displayed in the snapshots list of the Canvas Debugger,
+# as a generic description about how many draw calls were made.
+snapshotsList.drawCallsLabel=#1 draw;#1 draws
+
+# LOCALIZATION NOTE (snapshotsList.functionCallsLabel):
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is displayed in the snapshots list of the Canvas Debugger,
+# as a generic description about how many function calls were made in total.
+snapshotsList.functionCallsLabel=#1 à¤à¥à¤²;#1 à¤à¥à¤²à¥à¤¸
+
+# LOCALIZATION NOTE (recordingTimeoutFailure):
+# This notification alert is displayed when attempting to record a requestAnimationFrame
+# cycle in the Canvas Debugger and no cycles detected. This alerts the user that no
+# loops were found.
+recordingTimeoutFailure=à¤à¥à¤¨à¤µà¤¾à¤¸ डà¥à¤¬à¤à¤° requestAnimationFrame या setTimeout à¤à¤à¥à¤° à¤à¥ नहà¥à¤ à¤à¥à¤ पा रहा हà¥.
diff --git a/devtools/client/components.properties b/devtools/client/components.properties
new file mode 100644
index 00000000000..8cc315067f5
--- /dev/null
+++ b/devtools/client/components.properties
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=(ठà¤à¥à¤à¤¾à¤¤)
+
+# LOCALIZATION NOTE (viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=सà¥à¤°à¥à¤¤ à¤à¥ डà¥à¤¬à¤à¤° मà¥à¤ दà¥à¤à¥à¤ â %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=à¤à¤¸ सà¤à¤¦à¥à¤¶ à¤à¥ बà¤à¤¦ à¤à¤°à¥à¤
diff --git a/devtools/client/connection-screen.dtd b/devtools/client/connection-screen.dtd
new file mode 100644
index 00000000000..ee133026f54
--- /dev/null
+++ b/devtools/client/connection-screen.dtd
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/devtools/client/connection-screen.properties b/devtools/client/connection-screen.properties
new file mode 100644
index 00000000000..63c97c18ea9
--- /dev/null
+++ b/devtools/client/connection-screen.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the Remote Connection strings.
+# The Remote Connection window can reached from the "connectâ¦" menuitem
+# in the Web Developer menu.
+
+mainProcess=मà¥à¤à¥à¤¯ पà¥à¤°à¤à¥à¤°à¤¿à¤¯à¤¾
diff --git a/devtools/client/debugger.dtd b/devtools/client/debugger.dtd
new file mode 100644
index 00000000000..790aabeeeaf
--- /dev/null
+++ b/devtools/client/debugger.dtd
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/devtools/client/debugger.properties b/devtools/client/debugger.properties
new file mode 100644
index 00000000000..0024ccb69ca
--- /dev/null
+++ b/devtools/client/debugger.properties
@@ -0,0 +1,921 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (collapsePanes): This is the tooltip for the button
+# that collapses the left and right panes in the debugger UI.
+collapsePanes=फलठसमà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the complete source of the open file.
+copyToClipboard.label=à¤à¥à¤²à¤¿à¤ªà¤¬à¥à¤°à¥à¤¡ पर नà¥à¤² à¤à¤°à¥à¤
+copyToClipboard.accesskey=C
+
+# LOCALIZATION NOTE (copySource): This is the text that appears in the
+# context menu to copy the selected source of file open.
+copySource=नà¤à¤¼à¤² à¤à¤°à¥à¤
+copySource.accesskey=y
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=सà¥à¤°à¥à¤¤ URI à¤à¥ पà¥à¤°à¤¤à¤¿à¤²à¤¿à¤ªà¤¿ बनाà¤à¤
+copySourceUri2.accesskey=u
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=निरà¥à¤¦à¥à¤¶à¤¿à¤à¤¾ रà¥à¤ सà¥à¤ à¤à¤°à¥à¤
+setDirectoryRoot.accesskey=r
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=निरà¥à¤¦à¥à¤¶à¤¿à¤à¤¾ रà¥à¤ हà¤à¤¾à¤¯à¥à¤
+removeDirectoryRoot.accesskey=d
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=फà¤à¤à¥à¤¶à¤¨ नà¤à¤¼à¤² à¤à¤°à¥à¤
+copyFunction.accesskey=F
+
+# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the
+# context menu to copy the stack trace methods, file names and row number.
+copyStackTrace=सà¥à¤à¥à¤ à¤à¥à¤°à¥à¤¸ नà¤à¤¼à¤² à¤à¤°à¥à¤
+copyStackTrace.accesskey=c
+
+# LOCALIZATION NOTE (expandPanes): This is the tooltip for the button
+# that expands the left and right panes in the debugger UI.
+expandPanes=फलठविसà¥à¤¤à¤¾à¤° à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=à¤à¤à¤¸à¥à¤² मà¥à¤ मà¥à¤²à¥à¤¯à¤¾à¤à¤à¤¨ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=%S रà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=ठà¤à¤²à¥ à¤à¥à¤°à¤¿à¤¯à¤¾à¤¨à¥à¤µà¤¯à¤¨ à¤à¤¾ à¤à¤à¤¤à¥à¤¾à¤° हà¥
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=पà¥à¤¨à¤°à¤¾à¤°à¤à¤ %S
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=à¤à¤¸à¤à¥ à¤à¤ªà¤° à¤à¤¾à¤à¤ %S
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=à¤à¤¸à¤à¥ ठà¤à¤¦à¤° à¤à¤¾à¤à¤ %S
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=बाहर à¤à¤¾à¤à¤ %S
+
+# LOCALIZATION NOTE (pauseButtonItem): The label that is displayed for the dropdown pause
+# list item when the debugger is in a running state.
+pauseButtonItem=ठà¤à¤²à¥ वाà¤à¥à¤¯ पर रà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (ignoreExceptionsItem): The pause on exceptions button description
+# when the debugger will not pause on exceptions.
+ignoreExceptionsItem=ठपवादà¥à¤ पर धà¥à¤¯à¤¾à¤¨ न दà¥à¤
+
+# LOCALIZATION NOTE (pauseOnUncaughtExceptionsItem): The pause on exceptions dropdown
+# item shown when a user is adding a new breakpoint.
+pauseOnUncaughtExceptionsItem=पà¤à¥ मà¥à¤ न à¤à¤¯à¥ ठपवादà¥à¤ पर रà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem): The pause on exceptions button description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem=सà¤à¥ ठपवादà¥à¤ पर रà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=à¤à¤ªà¤µà¤¾à¤¦à¥à¤ पर ठहरिà¤
+
+# LOCALIZATION NOTE (ignoreCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger will not pause on any caught exception
+ignoreCaughtExceptionsItem=पायॠà¤à¤ à¤à¤ªà¤µà¤¾à¤¦à¥à¤ à¤à¥ नà¥à¤°à¤ à¤à¤¦à¤¾à¥ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (workersHeader): The text to display in the events
+# header.
+workersHeader=शà¥à¤°à¤®à¤¿à¤
+
+# LOCALIZATION NOTE (noWorkersText): The text to display in the workers list
+# when there are no workers.
+noWorkersText=à¤à¤¸ पà¥à¤·à¥à¤ मà¥à¤ à¤à¥à¤ शà¥à¤°à¤®à¤¿à¤ नहà¥à¤ हà¥.
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=à¤à¤¸ पà¥à¤·à¥à¤ मà¥à¤ à¤à¥à¤ सà¥à¤°à¥à¤¤ नहà¥à¤ हà¥.
+
+# LOCALIZATION NOTE (noEventListenersText): The text to display in the events tab
+# when there are no events.
+noEventListenersText=दिà¤à¤¾à¤¨à¥ à¤à¥ लिठà¤à¥à¤ à¤à¤à¤¨à¤¾ सà¥à¤°à¥à¤¤à¤¾ नहà¥à¤
+
+# LOCALIZATION NOTE (eventListenersHeader): The text to display in the events
+# header.
+eventListenersHeader=à¤à¤à¤¨à¤¾ शà¥à¤°à¥à¤¤à¤¾
+
+# LOCALIZATION NOTE (noStackFramesText): The text to display in the call stack tab
+# when there are no stack frames.
+noStackFramesText=दिà¤à¤¾à¤¨à¥ à¤à¥ लिठà¤à¥à¤ सà¥à¤à¥à¤ नहà¥à¤
+
+# LOCALIZATION NOTE (eventCheckboxTooltip): The tooltip text to display when
+# the user hovers over the checkbox used to toggle an event breakpoint.
+eventCheckboxTooltip=à¤à¤¸ à¤à¤à¤¨à¤¾ मà¥à¤ बà¥à¤°à¥à¤à¤¿à¤à¤ à¤à¥à¤à¤² à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (eventOnSelector): The text to display in the events tab
+# for every event item, between the event type and event selector.
+eventOnSelector=पर
+
+# LOCALIZATION NOTE (eventInSource): The text to display in the events tab
+# for every event item, between the event selector and listener's owner source.
+eventInSource=à¤à¤à¤
+
+# LOCALIZATION NOTE (eventNodes): The text to display in the events tab when
+# an event is listened on more than one target node.
+eventNodes=%S नà¥à¤¡
+
+# LOCALIZATION NOTE (eventNative): The text to display in the events tab when
+# a listener is added from plugins, thus getting translated to native code.
+eventNative=[native code]
+
+# LOCALIZATION NOTE (*Events): The text to display in the events tab for
+# each group of sub-level event entries.
+animationEvents=à¤à¤²-à¤à¤µà¤¿
+audioEvents=à¤à¤¡à¤¿à¤¯à¥
+batteryEvents=बà¥à¤à¤°à¥
+clipboardEvents=à¤à¥à¤²à¤¿à¤ªà¤¬à¥à¤°à¥à¤¡
+compositionEvents=à¤à¤à¤
+deviceEvents=यà¥à¤à¥à¤¤à¤¿
+displayEvents=दिà¤à¤¾à¤à¤
+dragAndDropEvents=à¤à¥à¤à¤à¥à¤ व à¤à¤¿à¤°à¤¾à¤à¤
+gamepadEvents=à¤à¥à¤®à¤ªà¥à¤¡
+indexedDBEvents=IndexedDB
+interactionEvents=ठà¤à¤¤à¤à¤à¥à¤°à¤¿à¤¯à¤¾
+keyboardEvents=à¤à¥à¤¬à¥à¤°à¥à¤¡
+mediaEvents=HTML5 मà¥à¤¡à¤¿à¤¯à¤¾
+mouseEvents=माà¤à¤¸
+mutationEvents=मà¥à¤¯à¥à¤à¥à¤¶à¤¨
+navigationEvents=सà¤à¤à¤°à¤£
+pointerLockEvents=पà¥à¤à¤à¤à¤° सà¥à¤à¤
+sensorEvents=सà¥à¤à¤¸à¤°
+storageEvents=à¤à¤à¤¡à¤¾à¤°à¤£
+timeEvents=à¤à¤¾à¤à¤²
+touchEvents=à¤à¤
+otherEvents=ठनà¥à¤¯
+
+# LOCALIZATION NOTE (blackboxCheckboxTooltip2): The tooltip text to display when
+# the user hovers over the checkbox used to toggle blackboxing its associated
+# source.
+blackboxCheckboxTooltip2=बà¥à¤²à¥à¤à¤¬à¥à¤à¥à¤¸à¤¿à¤à¤ à¤à¥à¤à¤² à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (toggleCondPanel.key): A key shortcut to toggle
+# the conditional breakpoint panel.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.key=CmdOrCtrl+Shift+B
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=सà¤à¤ªà¤¾à¤¦à¤
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=à¤à¤¼à¤¦à¤® बढ़ातॠहà¥à¤
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=à¤à¥à¤à¥à¤
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=फ़ाà¤à¤²à¥à¤ मà¥à¤ à¤à¥à¤à¥à¤â¦
+
+# LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search
+# message when the query did not match any text of all files in a project.
+projectTextSearch.noResults=à¤à¥à¤ परिणाम नहॠमिला
+
+# LOCALIZATION NOTE (sources.noSourcesAvailable): Text shown when the debugger
+# does not have any sources.
+sources.noSourcesAvailable=à¤à¤¸ पà¥à¤·à¥à¤ मà¥à¤ à¤à¥à¤ सà¥à¤°à¥à¤¤ नहà¥à¤ हà¥
+
+# LOCALIZATION NOTE (sources.noSourcesAvailableRoot): Text shown when the debugger
+# does not have any sources under a specific directory root.
+sources.noSourcesAvailableRoot=à¤à¤¸ निरà¥à¤¦à¥à¤¶à¤¿à¤à¤¾ रà¥à¤ à¤à¥ à¤à¥à¤ सà¥à¤°à¥à¤¤ नहà¥à¤ हà¥
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=फ़ाà¤à¤²à¥à¤ मà¥à¤ à¤à¥à¤à¥à¤â¦
+
+# LOCALIZATION NOTE (sourceSearch.search.again.key2): Key shortcut to highlight
+# the next occurrence of the last search triggered from a source search
+# Do not localize "CmdOrCtrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.again.key2=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (sourceSearch.search.againPrev.key2): Key shortcut to highlight
+# the previous occurrence of the last search triggered from a source search
+# Do not localize "CmdOrCtrl+Shift+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.againPrev.key2=CmdOrCtrl+Shift+G
+
+# LOCALIZATION NOTE (sourceSearch.resultsSummary1): Shows a summary of
+# the number of matches for autocomplete
+sourceSearch.resultsSummary1=%d परिणाम
+
+# LOCALIZATION NOTE (noMatchingStringsText): The text to display in the
+# global search results when there are no matching strings after filtering.
+noMatchingStringsText=No matches found
+
+# LOCALIZATION NOTE (emptySearchText): This is the text that appears in the
+# filter text box when it is empty and the scripts container is selected.
+emptySearchText=लिपियà¥à¤ (%S) à¤à¥à¤à¥à¤
+
+# LOCALIZATION NOTE (emptyVariablesFilterText): This is the text that
+# appears in the filter text box for the variables view container.
+emptyVariablesFilterText=à¤à¤° à¤à¥ फ़िलà¥à¤à¤° à¤à¤°à¥à¤\u0020
+
+# LOCALIZATION NOTE (emptyPropertiesFilterText): This is the text that
+# appears in the filter text box for the editor's variables view bubble.
+emptyPropertiesFilterText=फ़िलà¥à¤à¤° à¤à¥à¤£
+
+# LOCALIZATION NOTE (searchPanelFilter): This is the text that appears in the
+# filter panel popup for the filter scripts operation.
+searchPanelFilter=फिलà¥à¤à¤° सà¥à¤à¥à¤°à¤¿à¤ªà¥à¤à¥à¤¸ (%S)
+
+# LOCALIZATION NOTE (searchPanelGlobal): This is the text that appears in the
+# filter panel popup for the global search operation.
+searchPanelGlobal=सà¤à¥ फ़ाà¤à¤²à¥à¤ मà¥à¤ à¤à¥à¤à¥à¤ (%S)
+
+# LOCALIZATION NOTE (searchPanelFunction): This is the text that appears in the
+# filter panel popup for the function search operation.
+searchPanelFunction=फà¤à¤à¥à¤¶à¤¨ परिà¤à¤¾à¤·à¤¾ (%S) à¤à¥ लिठà¤à¥à¤à¥à¤
+
+# LOCALIZATION NOTE (searchPanelToken): This is the text that appears in the
+# filter panel popup for the token search operation.
+searchPanelToken=à¤à¤¸ फ़ाà¤à¤² मà¥à¤ ढà¥à¤à¤¢à¤¼à¥à¤ (%S)
+
+# LOCALIZATION NOTE (searchPanelGoToLine): This is the text that appears in the
+# filter panel popup for the line search operation.
+searchPanelGoToLine=पà¤à¤à¥à¤¤à¤¿ पर à¤à¤¾à¤à¤ (%S)\u0020
+
+# LOCALIZATION NOTE (searchPanelVariable): This is the text that appears in the
+# filter panel popup for the variables search operation.
+searchPanelVariable=à¤à¤° à¤à¥ फ़िलà¥à¤à¤° à¤à¤°à¥à¤ (%S)
+
+# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that
+# are displayed in the breakpoints menu item popup.
+breakpointMenuItem.setConditional=सशरà¥à¤¤ विराम बिà¤à¤¦à¥ à¤à¥à¤¨à¥à¤«à¤¼à¤¿à¤à¤° à¤à¤°à¥à¤
+breakpointMenuItem.enableSelf2.label=सà¤à¥à¤·à¤®
+breakpointMenuItem.enableSelf2.accesskey=E
+breakpointMenuItem.disableSelf2.label=निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.disableSelf2.accesskey=D
+breakpointMenuItem.deleteSelf2.label=हà¤à¤¾à¤à¤
+breakpointMenuItem.deleteSelf2.accesskey=R
+breakpointMenuItem.enableOthers2.label=ठनà¥à¤¯ सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.enableOthers2.accesskey=o
+breakpointMenuItem.disableOthers2.label=ठनà¥à¤¯ निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.disableOthers2.accesskey=s
+breakpointMenuItem.deleteOthers2.label=ठनà¥à¤¯ हà¤à¤¾à¤à¤
+breakpointMenuItem.deleteOthers2.accesskey=h
+breakpointMenuItem.enableAll2.label=सà¤à¥ सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.enableAll2.accesskey=b
+breakpointMenuItem.disableAll2.label=सà¤à¥ निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.disableAll2.accesskey=k
+breakpointMenuItem.deleteAll2.label=सà¤à¥ हà¤à¤¾à¤à¤
+breakpointMenuItem.deleteAll2.accesskey=a
+breakpointMenuItem.removeCondition2.label=शरà¥à¤¤ हà¤à¤¾à¤à¤
+breakpointMenuItem.removeCondition2.accesskey=c
+breakpointMenuItem.addCondition2.label=शरà¥à¤¤ à¤à¥à¤¡à¤¼à¥à¤
+breakpointMenuItem.addCondition2.accesskey=A
+breakpointMenuItem.editCondition2.label=शरà¥à¤¤ सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+breakpointMenuItem.editCondition2.accesskey=n
+breakpointMenuItem.enableSelf=बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.enableSelf.accesskey=E
+breakpointMenuItem.disableSelf=बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.disableSelf.accesskey=D
+breakpointMenuItem.deleteSelf=बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ हà¤à¤¾à¤à¤
+breakpointMenuItem.deleteSelf.accesskey=R
+breakpointMenuItem.enableOthers=ठनà¥à¤¯ सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.enableOthers.accesskey=o
+breakpointMenuItem.disableOthers=ठनà¥à¤¯ निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.disableOthers.accesskey=s
+breakpointMenuItem.deleteOthers=ठनà¥à¤¯ हà¤à¤¾à¤à¤
+breakpointMenuItem.deleteOthers.accesskey=h
+breakpointMenuItem.enableAll=सà¤à¥ बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.enableAll.accesskey=b
+breakpointMenuItem.disableAll=सà¤à¥ बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+breakpointMenuItem.disableAll.accesskey=k
+breakpointMenuItem.deleteAll=सà¤à¥ बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ हà¤à¤¾à¤à¤
+breakpointMenuItem.deleteAll.accesskey=a
+breakpointMenuItem.removeCondition.label=विराम बिà¤à¤¦à¥ शरà¥à¤¤ हà¤à¤¾à¤à¤
+breakpointMenuItem.removeCondition.accesskey=c
+breakpointMenuItem.editCondition.label=विराम बिà¤à¤¦à¥ शरà¥à¤¤ सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤
+breakpointMenuItem.editCondition.accesskey=n
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=à¤à¤£à¥à¤¡à¤¨ बिनà¥à¤¦à¥
+
+# LOCALIZATION NOTE (breakpoints.none): The text that appears when there are
+# no breakpoints present
+breakpoints.none=à¤à¥à¤ à¤à¤£à¥à¤¡à¤¨à¤¬à¤¿à¤¨à¥à¤¦à¥ नहà¥
+
+# LOCALIZATION NOTE (breakpoints.enable): The text that may appear as a tooltip
+# when hovering over the 'disable breakpoints' switch button in right sidebar
+breakpoints.enable=à¤à¤£à¥à¤¡à¤¨à¤¬à¤¿à¤¨à¥à¤¦à¥ सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (breakpoints.disable): The text that may appear as a tooltip
+# when hovering over the 'disable breakpoints' switch button in right sidebar
+breakpoints.disable=à¤à¤£à¥à¤¡à¤¨à¤¬à¤¿à¤¨à¥à¤¦à¥ निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=à¤à¤£à¥à¤¡à¤¨à¤¬à¤¿à¤¨à¥à¤¦à¥ हà¤à¤¾à¤¯à¥
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=à¤à¥à¤² ढà¥à¤°à¥
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=नहà¥à¤ रà¥à¤à¤¾ हà¥à¤
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=पà¤à¤à¥à¤¤à¤¿à¤¯à¥à¤ à¤à¥ समà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=पà¤à¤à¥à¤¤à¤¿à¤¯à¥à¤ à¤à¥ फà¥à¤²à¤¾à¤à¤
+
+# LOCALIZATION NOTE (editor.searchResults): Editor Search bar message
+# for the summarizing the selected search result. e.g. 5 of 10 results.
+editor.searchResults=%d à¤à¥ %d परिणाम
+
+# LOCALIZATION NOTE (editor.singleResult): Copy shown when there is one result.
+editor.singleResult=1 परिणाम
+
+# LOCALIZATION NOTE (editor.noResults): Editor Search bar message
+# for when no results found.
+editor.noResults=à¤à¥à¤ परिणाम नहà¥à¤
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=ठà¤à¤²à¥ परिणाम
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=पिà¤à¤²à¥ परिणाम
+
+# LOCALIZATION NOTE (editor.searchTypeToggleTitle): Search bar title for
+# toggling search type buttons(function search, variable search)
+editor.searchTypeToggleTitle=à¤à¤¸à¤à¥ लिठà¤à¥à¤à¥à¤:
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=यहाठà¤à¥ à¤à¤¾à¤°à¥ रà¤à¥à¤
+editor.continueToHere.accesskey=H
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=बà¥à¤°à¥à¤à¤ªà¤¾à¤à¤à¤ à¤à¥à¤¡à¤¼à¥à¤
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=à¤à¤£à¥à¤¡à¤¨à¤¬à¤¿à¤¨à¥à¤¦à¥ निषà¥à¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+editor.disableBreakpoint.accesskey=D
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=à¤à¤£à¥à¤¡à¤¨à¤¬à¤¿à¤¨à¥à¤¦à¥ सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=à¤à¤£à¥à¤¡à¤¨à¤¬à¤¿à¤¨à¥à¤¦à¥ हà¤à¤¾à¤¯à¥
+
+# LOCALIZATION NOTE (editor.editBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editBreakpoint=बà¥à¤°à¥à¤à¤ªà¤¾à¤à¤à¤ सà¤à¤ªà¤¾à¤¦à¤¨
+
+# LOCALIZATION NOTE (editor.addConditionalBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionalBreakpoint=सशरà¥à¤¤ विरामबिà¤à¤¦à¥ à¤à¥à¤¡à¤¼à¥à¤
+editor.addConditionalBreakpoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder=ठà¤à¤¿à¤µà¥à¤¯à¤à¥à¤¤à¤¿ à¤à¥ सहॠहà¥à¤¨à¥ पर यह विराम बिà¤à¤¦à¥ रà¥à¤ à¤à¤¾à¤à¤à¤¾
+
+# LOCALIZATION NOTE (editor.conditionalPanel.close): Tooltip text for
+# close button inside ConditionalPanel component
+editor.conditionalPanel.close=सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ रदà¥à¤¦ à¤à¤° बà¤à¤¦ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=%S सà¥à¤¥à¤¾à¤¨ पर à¤à¤¾à¤¯à¥à¤
+editor.jumpToMappedLocation1.accesskey=m
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=फà¥à¤°à¥à¤®à¤µà¤°à¥à¤ समà¥à¤¹à¥à¤à¤°à¤£ ठà¤à¥à¤·à¤® à¤à¤°à¥à¤
+framework.disableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=फà¥à¤°à¥à¤®à¤µà¤°à¥à¤ समà¥à¤¹à¥à¤à¤°à¤£ सà¤à¥à¤·à¤® à¤à¤°à¥à¤
+framework.enableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=तà¥à¤¯à¤¾à¤° à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=ठसलà¥
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=ठà¤à¤¿à¤µà¥à¤¯à¤à¥à¤¤à¤¿ दà¥à¤à¤¨à¥ à¤à¥ लिठà¤à¥à¤¡à¤¼à¥à¤
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=ठमानà¥à¤¯ वà¥à¤¯à¤à¤à¤â¦
+expressions.label=à¤à¤à¥à¤¸à¤ªà¥à¤°à¥à¤¶à¤¨ à¤à¥à¤à¤¸à¥ à¤à¥à¤¡à¤¼à¥à¤
+expressions.accesskey=e
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=à¤à¥à¤¬ बà¤à¤¦ à¤à¤°à¥à¤
+sourceTabs.closeTab.accesskey=c
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=ठनà¥à¤¯ à¤à¥à¤¬ बà¤à¤¦ à¤à¤°à¥à¤
+sourceTabs.closeOtherTabs.accesskey=o
+
+# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item
+# for closing the tabs to the end (the right for LTR languages) of the selected tab.
+sourceTabs.closeTabsToEnd=दाहिनॠतरफ à¤à¥ à¤à¥à¤¬à¥à¤¸ बà¤à¤¦ à¤à¤°à¥à¤
+sourceTabs.closeTabsToEnd.accesskey=e
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=सà¤à¥ à¤à¥à¤¬ बà¤à¤¦ à¤à¤°à¥à¤
+sourceTabs.closeAllTabs.accesskey=a
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=वà¥à¤à¥à¤· मà¥à¤ पà¥à¤°à¤à¤ à¤à¤°à¥à¤
+sourceTabs.revealInTree.accesskey=r
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=सà¥à¤°à¥à¤¤ सà¥à¤à¤¦à¤°à¥à¤à¤°à¤£
+sourceTabs.prettyPrint.accesskey=p
+
+# LOCALIZATION NOTE (sourceFooter.blackbox): Tooltip text associated
+# with the blackbox button
+sourceFooter.blackbox=बà¥à¤²à¥à¤à¤¬à¥à¤à¥à¤¸ सà¥à¤°à¥à¤¤
+sourceFooter.blackbox.accesskey=B
+
+# LOCALIZATION NOTE (sourceFooter.unblackbox): Tooltip text associated
+# with the blackbox button
+sourceFooter.unblackbox=ठनबà¥à¤²à¥à¤à¤¬à¥à¤à¥à¤¸ सà¥à¤°à¥à¤¤
+sourceFooter.unblackbox.accesskey=b
+
+# LOCALIZATION NOTE (sourceFooter.blackboxed): Text associated
+# with a blackboxed source
+sourceFooter.blackboxed=बà¥à¤²à¥à¤à¤¬à¥à¤à¥à¤¸à¥à¤¡ सà¥à¤°à¥à¤¤
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(%S सà¥â)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(%S सॠमापा à¤à¤¯à¤¾ सà¥à¤°à¥à¤¤)
+
+# LOCALIZATION NOTE (sourceFooter.codeCoverage): Text associated
+# with a code coverage button
+sourceFooter.codeCoverage=à¤à¥à¤¡ à¤à¤µà¥à¤¤à¥à¤¤à¤¿
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=à¤à¥à¤¬ बà¤à¤¦ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=वà¥à¤¯à¤¾à¤ªà¤à¤¤à¤¾
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=ठनà¥à¤ªà¤²à¤¬à¥à¤§ सà¥à¤à¥à¤ªà¥à¤¸
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=नहà¥à¤ ठहरा हà¥à¤
+
+# LOCALIZATION NOTE (scopes.toggleToGenerated): Link displayed in the right
+# sidebar scope pane to update the view to show generated scope data.
+
+# LOCALIZATION NOTE (scopes.toggleToOriginal): Link displayed in the right
+# sidebar scope pane to update the view to show original scope data.
+scopes.toggleToOriginal=मà¥à¤²à¤¿à¤ पà¥à¤®à¤¾à¤¨à¤¾ दिà¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=रà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=सà¥à¤°à¥à¤¤
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=पà¥à¤°à¤¾à¤°à¥à¤ª
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=नामानà¥à¤¸à¤¾à¤° à¤à¤¾à¤à¤à¥à¤
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=à¤à¥à¤ फ़à¤à¤à¥à¤¶à¤¨ नहà¥à¤
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=à¤à¥à¤ फ़ाà¤à¤² à¤à¤¯à¤¨à¤¿à¤¤ नहà¥à¤
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=%S à¤à¥ ढà¥à¤à¤¢à¤¨à¤¾
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=ठà¤à¤¿à¤µà¥à¤¯à¤à¥à¤¤à¤¿à¤¯à¤¾à¤ दà¥à¤à¥à¤
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=ताà¤à¤¼à¤¾ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=सà¥à¤°à¥à¤¤ à¤à¥à¤à¤¨à¥ à¤à¥ लिठ%S
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S à¤à¥ फ़ाà¤à¤²à¥à¤ मà¥à¤ à¤à¥à¤
+
+# LOCALIZATION NOTE (welcome.searchFunction): Label displayed in the welcome
+# panel. %S is replaced by the keyboard shortcut to search for functions.
+welcome.searchFunction=फ़ाà¤à¤² मà¥à¤ फ़à¤à¤à¥à¤¶à¤¨ à¤à¥à¤à¤¨à¥ à¤à¥ लिठ%S
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=सà¥à¤°à¥à¤¤ à¤à¥à¤à¥à¤...
+
+# LOCALIZATION NOTE (sourceSearch.noResults2): The center pane Source Search
+# message when the query did not match any of the sources.
+sourceSearch.noResults2=à¤à¥à¤ परिणाम नहॠमिला
+
+# LOCALIZATION NOTE (ignoreExceptions): The pause on exceptions button tooltip
+# when the debugger will not pause on exceptions.
+ignoreExceptions=ठपवादà¥à¤ à¤à¥ ठनदà¥à¤à¤¾ à¤à¤°à¥à¤. नहॠपाठà¤à¤¯à¥ ठपवादà¥à¤ पर रà¥à¤à¤¨à¥ à¤à¥ लिठà¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (pauseOnUncaughtExceptions): The pause on exceptions button
+# tooltip when the debugger will pause on uncaught exceptions.
+pauseOnUncaughtExceptions=नहॠपाठà¤à¤¯à¥ ठपवादà¥à¤ पर रà¥à¤à¥à¤. सारॠठपवादà¥à¤ पर रà¥à¤à¤¨à¥ à¤à¥ लिठà¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=सारॠठपवादà¥à¤ पर रà¥à¤à¥à¤. नà¤à¤¼à¤°à¤ à¤à¤¦à¤¾à¤à¤¼ ठपवादà¥à¤ पर à¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (replayPrevious): The replay previous button tooltip
+# when the debugger will go back in stepping history.
+replayPrevious=à¤à¤¤à¤¿à¤¹à¤¾à¤¸ मà¥à¤ à¤à¤ à¤à¤¦à¤® पà¥à¤à¥ à¤à¤¾à¤¯à¥à¤
+
+# LOCALIZATION NOTE (replayNext): The replay next button tooltip
+# when the debugger will go forward in stepping history.
+replayNext=à¤à¤¤à¤¿à¤¹à¤¾à¤¸ मà¥à¤ à¤à¤ à¤à¤¦à¤® à¤à¤à¥ à¤à¤¾à¤¯à¥à¤
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=लà¥à¤¡à¤¿à¤à¤â¦
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=à¤à¥à¤ªà¤¯à¤¾ à¤à¤¸ मà¥à¤¡à¥à¤¯à¥à¤² à¤à¥ डिबठà¤à¤°à¤¨à¥ à¤à¥ लिठरिफà¥à¤°à¥à¤¶ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=यह URI लà¥à¤¡ à¤à¤°à¤¨à¥ मà¥à¤ तà¥à¤°à¥à¤à¤¿ ठरहॠहà¥: %S
+
+# LOCALIZATION NOTE (addWatchExpressionText): The text that is displayed in the
+# watch expressions list to add a new item.
+addWatchExpressionText=ठà¤à¤¿à¤µà¥à¤¯à¤à¥à¤¤à¤¿ दà¥à¤à¤¨à¥ à¤à¥ लिठà¤à¥à¤¡à¤¼à¥à¤
+
+# LOCALIZATION NOTE (addWatchExpressionButton): The button that is displayed in the
+# variables view popup.
+addWatchExpressionButton=निà¤à¤°à¤¾à¤¨à¥
+
+# LOCALIZATION NOTE (extensionsText): The text that is displayed to represent
+# "moz-extension" directories in the source tree
+extensionsText=à¤à¤à¥à¤¸à¤à¥à¤à¤¶à¤¨
+
+# LOCALIZATION NOTE (emptyVariablesText): The text that is displayed in the
+# variables pane when there are no variables to display.
+emptyVariablesText=दिà¤à¤¾à¤¨à¥ à¤à¥ लिठà¤à¥à¤ à¤à¤° नहà¥à¤\u0020
+
+# LOCALIZATION NOTE (scopeLabel): The text that is displayed in the variables
+# pane as a header for each variable scope (e.g. "Global scope, "With scope",
+# etc.).
+scopeLabel=%S सà¥à¤à¥à¤ª
+
+# LOCALIZATION NOTE (watchExpressionsScopeLabel): The name of the watch
+# expressions scope. This text is displayed in the variables pane as a header for
+# the watch expressions scope.
+watchExpressionsScopeLabel=ठà¤à¤¿à¤µà¥à¤¯à¤à¥à¤¤à¤¿
+
+# LOCALIZATION NOTE (globalScopeLabel): The name of the global scope. This text
+# is added to scopeLabel and displayed in the variables pane as a header for
+# the global scope.
+globalScopeLabel=वà¥à¤¶à¥à¤µà¤¿à¤
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=सà¥à¤à¥à¤ à¤à¥à¤°à¥à¤¸à¤
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 moreâ¦
+variablesViewMoreObjects=#1 ठधिà¤â¦;#1 ठधिà¤â¦
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¤¨à¥ à¤à¥ लिठडबल à¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=मान à¤à¥ बदलनॠà¤à¥ लिठà¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=दà¥à¤° à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=मान à¤à¥ सà¥à¤ à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=à¤à¤à¤¸à¥à¤ªà¥à¤à¥à¤à¤° मà¥à¤ नà¥à¤¡ à¤à¤¾ à¤à¤¯à¤¨ à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¥à¤²à¤¿à¤ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Expanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=विनà¥à¤¯à¤¾à¤¸ यà¥à¤à¥à¤¯
+enumerableTooltip=à¤à¤£à¤¨à¥à¤¯ यà¥à¤à¥à¤¯
+writableTooltip=लिà¤à¤¨à¥ यà¥à¤à¥à¤¯
+frozenTooltip=à¤à¥à¥à¤à¥à¤¤
+sealedTooltip=मà¥à¤¹à¤°à¤¬à¤à¤¦
+extensibleTooltip=विसà¥à¤¤à¤¾à¤°à¤¯à¥à¤à¥à¤¯
+overriddenTooltip=ठधिरà¥à¤¹à¤¿à¤¤
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+
+# LOCALIZATION NOTE (watchExpressionsSeparatorLabel2): The text that is displayed
+# in the watch expressions list as a separator between the code and evaluation.
+watchExpressionsSeparatorLabel2=\u0020â
+
+# LOCALIZATION NOTE (functionSearchSeparatorLabel): The text that is displayed
+# in the functions search panel as a separator between function's inferred name
+# and its real name (if available).
+functionSearchSeparatorLabel=â
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=पà¤à¤à¥à¤¤à¤¿ पर à¤à¤¾à¤à¤â¦
+gotoLineModal.key=CmdOrCtrl+Shift+;
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=à¤à¤¿à¤¸à¥ फ़ाà¤à¤² मà¥à¤ पà¤à¤à¥à¤¤à¤¿ à¤à¥à¤°à¤®à¤¾à¤à¤ पर à¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE(gotoLineModal.key2): The shortcut for opening the
+# go to line modal
+# Do not localize "CmdOrCtrl+;", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key2=CmdOrCtrl+;
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=फ़à¤à¤à¥à¤¶à¤¨ à¤à¥à¤à¥à¤â¦
+symbolSearch.search.functionsPlaceholder.title=à¤à¤¿à¤¸à¥ फ़ाà¤à¤² मà¥à¤ à¤à¥à¤ फ़à¤à¤à¥à¤¶à¤¨ à¤à¥à¤à¥à¤
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=à¤à¤° वसà¥à¤¤à¥à¤à¤ à¤à¥à¤à¥à¤...
+symbolSearch.search.variablesPlaceholder.title=à¤à¤¿à¤¸à¥ फ़ाà¤à¤² मà¥à¤ à¤à¥à¤ à¤à¤° à¤à¥ à¤à¥à¤à¥à¤
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.modifiersLabel): A label
+# preceding the group of modifiers
+symbolSearch.searchModifier.modifiersLabel=सà¤à¤¶à¥à¤§à¤:
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.regex): A search option
+# when searching text in a file
+symbolSearch.searchModifier.regex=रà¥à¤à¥à¤à¥à¤¸
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.caseSensitive): A search option
+# when searching text in a file
+symbolSearch.searchModifier.caseSensitive=à¤à¥à¤à¤¾-बà¥à¤¾ सà¤à¤µà¥à¤¦à¥
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.wholeWord): A search option
+# when searching text in a file
+symbolSearch.searchModifier.wholeWord=पà¥à¤°à¥à¤£ शबà¥à¤¦
+
+# LOCALIZATION NOTE (resumptionOrderPanelTitle): This is the text that appears
+# as a description in the notification panel popup, when multiple debuggers are
+# open in separate tabs and the user tries to resume them in the wrong order.
+# The substitution parameter is the URL of the last paused window that must be
+# resumed first.
+resumptionOrderPanelTitle=वहाठà¤à¤ या ठधिठठहरॠहà¥à¤ डिबà¤à¤° हà¥à¤. à¤à¥à¤ªà¤¯à¤¾ सबसॠहालिया ठहरॠहà¥à¤ डिबà¤à¤° à¤à¥ पहलॠपà¥à¤¨à¤°à¥à¤¬à¤¹à¤¾à¤² à¤à¤°à¥à¤: %S
+
+variablesViewOptimizedOut=(optimized away)
+variablesViewUninitialized=(à¤à¥à¤° à¤à¤°à¤à¤à¥à¤à¥à¤¤)
+variablesViewMissingArgs=(ठनà¥à¤ªà¤²à¤¬à¥à¤§)
+
+anonymousSourcesLabel=ठनà¤à¤¾à¤¨ सà¥à¤°à¥à¤¤
+
+experimental=यह à¤à¤ पà¥à¤°à¤¾à¤¯à¥à¤à¤¿à¤ विशà¥à¤·à¤¤à¤¾ हà¥\u0020
+
+# LOCALIZATION NOTE (whyPaused.debuggerStatement): The text that is displayed
+# in a info block explaining how the debugger is currently paused due to a `debugger`
+# statement in the code
+whyPaused.debuggerStatement=डà¥à¤¬à¤à¤° à¤à¤¥à¤¨ पर रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.breakpoint): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a breakpoint
+whyPaused.breakpoint=बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ पर रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.exception): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an exception
+whyPaused.exception=ठपवाद पर रà¥à¤
+
+# LOCALIZATION NOTE (whyPaused.resumeLimit): The text that is displayed
+# in a info block explaining how the debugger is currently paused while stepping
+# in or out of the stack
+whyPaused.resumeLimit=निà¤à¤²à¤¤à¥ हà¥à¤ रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.pauseOnDOMEvents): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a
+# dom event
+whyPaused.pauseOnDOMEvents=à¤à¤¯à¥à¤à¤¿à¤¤ शà¥à¤°à¥à¤¤à¤¾à¤ à¤à¥ रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.breakpointConditionThrown): The text that is displayed
+# in an info block when evaluating a conditional breakpoint throws an error
+whyPaused.breakpointConditionThrown=पà¥à¤°à¤¤à¤¿à¤¬à¤à¤§à¤¾à¤¤à¥à¤®à¤ बà¥à¤°à¥à¤à¤ªà¥à¤à¤à¤ à¤à¥ साथ तà¥à¤°à¥à¤à¤¿
+
+# LOCALIZATION NOTE (whyPaused.xhr): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an
+# xml http request
+whyPaused.xhr=XMLHttpRequest पर रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.promiseRejection): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a
+# promise rejection
+whyPaused.promiseRejection=वादा ठसà¥à¤µà¥à¤à¥à¤¤à¤¿ पर रà¥à¤ दिया à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.assert): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an
+# assert
+whyPaused.assert=ठà¤à¤¿à¤à¤¥à¤¨ पर रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.debugCommand): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a
+# debugger statement
+whyPaused.debugCommand=डà¥à¤¬à¤ फ़à¤à¤à¥à¤¶à¤¨ पर रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (whyPaused.other): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an event
+# listener breakpoint set
+whyPaused.other=डà¥à¤¬à¤à¤° रà¥à¤à¤¾ à¤à¤¯à¤¾
+
+# LOCALIZATION NOTE (ctrl): The text that is used for documenting
+# keyboard shortcuts that use the control key
+ctrl=Ctrl
+
+# LOCALIZATION NOTE (anonymous): The text that is displayed when the
+# display name is null.
+anonymous=(ठनाम)
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=बà¥à¤°à¥à¤à¤ªà¤¾à¤à¤¨à¥à¤ à¤à¥à¤à¤² à¤à¤°à¥à¤
+shortcuts.toggleBreakpoint.accesskey=B
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel): text describing
+# keyboard shortcut action for toggling conditional panel keyboard
+shortcuts.toggleCondPanel=à¤à¤à¤¡à¥à¤¶à¤¨à¤² पà¥à¤¨à¤² à¤à¥à¤à¤² à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=रà¥à¤à¥à¤/फिर शà¥à¤°à¥ à¤à¤°à¥à¤
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=à¤à¤à¥ बढ़à¥à¤
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=ठà¤à¤¦à¤° à¤à¤à¤
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=बाहर à¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=सà¥à¤°à¥à¤¤ फ़ाà¤à¤² à¤à¥à¤
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=पà¤à¤à¥à¤¤à¤¿ पर à¤à¤¾à¤à¤
+
+# LOCALIZATION NOTE (shortcuts.searchAgain): text describing
+# keyboard shortcut action for searching again
+shortcuts.searchAgain=पà¥à¤¨à¤ à¤à¥à¤à¥à¤
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=पà¥à¤°à¥à¤£ परियà¥à¤à¤¨à¤¾ à¤à¥à¤
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=फ़à¤à¤à¥à¤¶à¤¨ à¤à¥à¤
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=à¤à¥à¤¬à¥à¤°à¥à¤¡ शà¥à¤°à¥à¤à¤à¤
diff --git a/devtools/client/device.properties b/devtools/client/device.properties
new file mode 100644
index 00000000000..d6f58a4dac8
--- /dev/null
+++ b/devtools/client/device.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Device Emulation developer
+# tools. The correct localization of this file might be to keep it in English,
+# or another language commonly spoken among web developers. You want to make
+# that choice consistent across the developer tools. A good criteria is the
+# language in which you'd find the best documentation on web development on the
+# web.
+
+# LOCALIZATION NOTE:
+# These strings are category names in a list of devices that a user can choose
+# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc).
+device.phones=फà¥à¤¨
+device.tablets=तालिà¤à¤¾à¤à¤
+device.laptops=लà¥à¤ªà¤à¥à¤ª
+device.televisions=TVs
+device.consoles=à¤à¥à¤®à¤¿à¤à¤ à¤à¤à¤¸à¥à¤²
+device.watches=à¤à¤¡à¤¼à¥
diff --git a/devtools/client/dom.properties b/devtools/client/dom.properties
new file mode 100644
index 00000000000..b41de942598
--- /dev/null
+++ b/devtools/client/dom.properties
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Web Developer sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (dom.filterDOMPanel): A placeholder text used for
+# DOM panel search box.
+dom.filterDOMPanel=DOM पà¥à¤¨à¤² फ़िलà¥à¤à¤° à¤à¤°à¥à¤.
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=ताà¤à¤¼à¤¾ à¤à¤°à¥à¤
diff --git a/devtools/client/filterwidget.properties b/devtools/client/filterwidget.properties
new file mode 100644
index 00000000000..3589d38c26e
--- /dev/null
+++ b/devtools/client/filterwidget.properties
@@ -0,0 +1,59 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the CSS Filter Editor Widget
+# which can be found in a tooltip that appears in the Rule View when clicking
+# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
+
+# LOCALIZATION NOTE (emptyFilterList):
+# This string is displayed when filter's list is empty
+# (no filter specified / all removed)
+emptyFilterList=à¤à¥à¤ फ़िलà¥à¤à¤° निरà¥à¤¦à¤¿à¤·à¥à¤ नहà¥à¤
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=à¤à¤ªà¤à¥ पास à¤à¥à¤ à¤à¥ पà¥à¤°à¤¾à¤¨à¤¾ पà¥à¤°à¥à¤¸à¥à¤à¥à¤¸ नहà¥à¤ हà¥à¤, à¤à¤ª à¤à¥à¤ नाम à¤à¥à¤¨à¤à¤° तथा à¤à¤¸à¥ सà¤à¤à¤¿à¤¤ à¤à¤° à¥à¤¿à¤²à¥à¤à¤° पà¥à¤°à¥à¤¸à¥à¤à¥à¤¸ à¤à¤¾ à¤à¤£à¥à¤¡à¤¾à¤°à¤£ à¤à¤° सà¤à¤¤à¥ हà¥à¤. पà¥à¤°à¥à¤¸à¥à¤à¥à¤¸ à¤à¥ शà¥à¤à¥à¤°à¤¤à¤¾à¤ªà¥à¤°à¥à¤µà¤ à¤à¤à¥à¤¸à¥à¤¸ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हॠव à¤à¤¸à¤¾à¤¨à¥ सॠपà¥à¤¨à¤ à¤à¤ªà¤¯à¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ सà¤à¤¤à¤¾ हà¥.
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=नà¥à¤à¥ सà¥à¤à¥ à¤à¤¾ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¤à¥ à¤à¤ फिलà¥à¤à¤° à¤à¥à¤¡à¤¼à¥à¤
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when is empty)
+dropShadowPlaceholder=x y तà¥à¤°à¤¿à¤à¥à¤¯à¤¾ रà¤à¤
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=à¥à¤¿à¤²à¥à¤à¤° à¤à¥ पà¥à¤¨à¤ à¤à¤à¥à¤¤à¤¿ मà¥à¤ लानॠà¤à¥ लिठà¤à¤ªà¤° या नà¥à¤à¥ à¤à¥à¤à¤à¥à¤
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=मान à¤à¤à¤¾à¤¨à¥ या बà¥à¤¾à¤¨à¥ à¤à¥ लिठदाà¤à¤¯à¤¾ या बाà¤à¤¯à¤¾ à¤à¥à¤à¥à¤
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+#