Bug 1446180 - Migrate the "Privacy" section of Preferences to the new Localization API. r?flod,jaws draft
authorZibi Braniecki <zbraniecki@mozilla.com>
Thu, 15 Mar 2018 14:57:55 -0700
changeset 776023 a9b62975ce9f1ee6c636494c278e4a6a4162b9e3
parent 776018 c44f60c43432d468639b5fe078420e60c13fd3de
child 776304 8746455c66ad0421f83558cefe55825f43516928
child 776594 ed950f217d35b00b1411a0151dd22020a55def05
child 776606 e9b5e1505ac436b28a7e71ee46dc5f477bd94f44
child 776955 1654b17c03b0de93ecb0034445d3af338080c4e2
child 777114 663d6301cbc2b8b50b1b782345abce6956b79116
push id104785
push userbmo:gandalf@aviary.pl
push dateMon, 02 Apr 2018 13:12:24 +0000
reviewersflod, jaws
bugs1446180
milestone61.0a1
Bug 1446180 - Migrate the "Privacy" section of Preferences to the new Localization API. r?flod,jaws MozReview-Commit-ID: 2Hp6ZNry6dK
browser/branding/aurora/locales/en-US/brand.ftl
browser/branding/nightly/locales/en-US/brand.ftl
browser/branding/official/locales/en-US/brand.ftl
browser/branding/unofficial/locales/en-US/brand.ftl
browser/components/preferences/in-content/preferences.xul
browser/components/preferences/in-content/privacy.js
browser/components/preferences/in-content/privacy.xul
browser/locales/en-US/browser/preferences/preferences.ftl
browser/locales/en-US/chrome/browser/preferences/advanced.dtd
browser/locales/en-US/chrome/browser/preferences/content.dtd
browser/locales/en-US/chrome/browser/preferences/preferences.dtd
browser/locales/en-US/chrome/browser/preferences/preferences.properties
browser/locales/en-US/chrome/browser/preferences/privacy.dtd
browser/locales/en-US/chrome/browser/preferences/security.dtd
browser/locales/jar.mn
python/l10n/fluent_migrations/bug_1446180_preferences_privacy.py
--- a/browser/branding/aurora/locales/en-US/brand.ftl
+++ b/browser/branding/aurora/locales/en-US/brand.ftl
@@ -1,15 +1,16 @@
 # 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/.
 
-## Firefox Brand
+## Firefox and Mozilla Brand
 ##
-## Firefox must be treated as a brand, and kept in English.
+## Firefox and Mozilla must be treated as a brand, and kept in English.
 ## It cannot be:
 ## - Declined to adapt to grammatical case.
 ## - Transliterated.
 ## - Translated.
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
 -brand-short-name = Firefox Developer Edition
+-vendor-short-name = Mozilla
--- a/browser/branding/nightly/locales/en-US/brand.ftl
+++ b/browser/branding/nightly/locales/en-US/brand.ftl
@@ -8,8 +8,9 @@
 ## It cannot be:
 ## - Declined to adapt to grammatical case.
 ## - Transliterated.
 ## - Translated.
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
 -brand-short-name = Nightly
+-vendor-short-name = Mozilla
--- a/browser/branding/official/locales/en-US/brand.ftl
+++ b/browser/branding/official/locales/en-US/brand.ftl
@@ -8,8 +8,9 @@
 ## It cannot be:
 ## - Declined to adapt to grammatical case.
 ## - Transliterated.
 ## - Translated.
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
 -brand-short-name = Firefox
+-vendor-short-name = Mozilla
--- a/browser/branding/unofficial/locales/en-US/brand.ftl
+++ b/browser/branding/unofficial/locales/en-US/brand.ftl
@@ -8,8 +8,9 @@
 ## It cannot be:
 ## - Declined to adapt to grammatical case.
 ## - Transliterated.
 ## - Translated.
 ##
 ## Reference: https://www.mozilla.org/styleguide/communications/translation/
 
 -brand-short-name = Nightly
+-vendor-short-name = Mozilla
--- a/browser/components/preferences/in-content/preferences.xul
+++ b/browser/components/preferences/in-content/preferences.xul
@@ -13,17 +13,16 @@
   href="chrome://browser/content/preferences/handlers.css"?>
 <?xml-stylesheet href="chrome://browser/skin/preferences/applications.css"?>
 <?xml-stylesheet href="chrome://browser/skin/preferences/in-content/search.css"?>
 <?xml-stylesheet href="chrome://browser/skin/preferences/in-content/containers.css"?>
 <?xml-stylesheet href="chrome://browser/skin/preferences/in-content/privacy.css"?>
 
 <!DOCTYPE page [
 <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
-<!ENTITY % globalPreferencesDTD SYSTEM "chrome://global/locale/preferences.dtd">
 <!ENTITY % preferencesDTD SYSTEM
   "chrome://browser/locale/preferences/preferences.dtd">
 <!ENTITY % selectBookmarkDTD SYSTEM
   "chrome://browser/locale/preferences/selectBookmark.dtd">
 <!ENTITY % languagesDTD SYSTEM "chrome://browser/locale/preferences/languages.dtd">
 <!ENTITY % fontDTD SYSTEM "chrome://browser/locale/preferences/fonts.dtd">
 <!ENTITY % colorsDTD SYSTEM "chrome://browser/locale/preferences/colors.dtd">
 <!ENTITY % permissionsDTD SYSTEM "chrome://browser/locale/preferences/permissions.dtd">
@@ -34,50 +33,43 @@
 <!ENTITY % connectionDTD SYSTEM "chrome://browser/locale/preferences/connection.dtd">
 <!ENTITY % siteDataSettingsDTD SYSTEM
   "chrome://browser/locale/preferences/siteDataSettings.dtd" >
 <!ENTITY % clearSiteDataDTD SYSTEM
   "chrome://browser/locale/preferences/clearSiteData.dtd" >
 <!ENTITY % privacyDTD SYSTEM "chrome://browser/locale/preferences/privacy.dtd">
 <!ENTITY % syncBrandDTD SYSTEM "chrome://browser/locale/syncBrand.dtd">
 <!ENTITY % syncDTD SYSTEM "chrome://browser/locale/preferences/sync.dtd">
-<!ENTITY % securityDTD SYSTEM
-  "chrome://browser/locale/preferences/security.dtd">
 <!ENTITY % sanitizeDTD SYSTEM "chrome://browser/locale/sanitize.dtd">
 <!ENTITY % mainDTD SYSTEM "chrome://browser/locale/preferences/main.dtd">
 <!ENTITY % aboutHomeDTD SYSTEM "chrome://browser/locale/aboutHome.dtd">
 <!ENTITY % contentDTD SYSTEM "chrome://browser/locale/preferences/content.dtd">
-<!ENTITY % advancedDTD SYSTEM
-  "chrome://browser/locale/preferences/advanced.dtd">
 <!ENTITY % aboutDialogDTD SYSTEM "chrome://browser/locale/aboutDialog.dtd" >
 %aboutDialogDTD;
 %brandDTD;
-%globalPreferencesDTD;
 %preferencesDTD;
 %selectBookmarkDTD;
 %languagesDTD;
 %fontDTD;
 %colorsDTD;
 %permissionsDTD;
 %passwordManagerDTD;
 %historyDTD;
 %certManagerDTD;
 %deviceManangerDTD;
 %connectionDTD;
 %siteDataSettingsDTD;
 %clearSiteDataDTD;
 %privacyDTD;
 %syncBrandDTD;
 %syncDTD;
-%securityDTD;
 %sanitizeDTD;
 %mainDTD;
 %aboutHomeDTD;
 %contentDTD;
-%advancedDTD;
 ]>
 
 #ifdef XP_WIN
 #define USE_WIN_TITLE_STYLE
 #endif
 
 <page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
       xmlns:html="http://www.w3.org/1999/xhtml"
--- a/browser/components/preferences/in-content/privacy.js
+++ b/browser/components/preferences/in-content/privacy.js
@@ -324,22 +324,17 @@ var gPrivacyPane = {
 
     let bundlePrefs = document.getElementById("bundlePreferences");
 
     if (AlertsServiceDND) {
       let notificationsDoNotDisturbBox =
         document.getElementById("notificationsDoNotDisturbBox");
       notificationsDoNotDisturbBox.removeAttribute("hidden");
       let checkbox = document.getElementById("notificationsDoNotDisturb");
-      let brandName = document.getElementById("bundleBrand")
-        .getString("brandShortName");
-      checkbox.setAttribute("label",
-        bundlePrefs.getFormattedString("pauseNotifications.label",
-          [brandName]));
-      checkbox.setAttribute("accesskey", bundlePrefs.getString("pauseNotifications.accesskey"));
+      document.l10n.setAttributes(checkbox, "permissions-notification-pause");
       if (AlertsServiceDND.manualDoNotDisturb) {
         let notificationsDoNotDisturb =
           document.getElementById("notificationsDoNotDisturb");
         notificationsDoNotDisturb.setAttribute("checked", true);
       }
     }
 
     if (Services.prefs.getBoolPref("browser.storageManager.enabled")) {
--- a/browser/components/preferences/in-content/privacy.xul
+++ b/browser/components/preferences/in-content/privacy.xul
@@ -8,134 +8,137 @@
         src="chrome://browser/content/preferences/in-content/privacy.js"/>
 <stringbundle id="bundlePreferences" src="chrome://browser/locale/preferences/preferences.properties"/>
 <stringbundle id="signonBundle" src="chrome://passwordmgr/locale/passwordmgr.properties"/>
 
 <hbox id="browserPrivacyCategory"
       class="subcategory"
       hidden="true"
       data-category="panePrivacy">
-  <label class="header-name" flex="1">&browserPrivacy.label;</label>
+  <label class="header-name" flex="1" data-l10n-id="privacy-header"/>
 </hbox>
 
 <!-- Passwords -->
 <groupbox id="passwordsGroup" orient="vertical" data-category="panePrivacy" hidden="true">
-  <caption><label>&formsAndPasswords.label;</label></caption>
+  <caption><label data-l10n-id="forms-header"/></caption>
 
   <vbox id="passwordSettings">
     <hbox id="savePasswordsBox">
       <checkbox id="savePasswords"
-                label="&rememberLogins2.label;" accesskey="&rememberLogins2.accesskey;"
+                data-l10n-id="forms-remember-logins"
                 preference="signon.rememberSignons"
                 onsyncfrompreference="return gPrivacyPane.readSavePasswords();"
                 flex="1" />
       <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
       <hbox>
         <button id="passwordExceptions"
                 class="accessory-button"
-                label="&passwordExceptions.label;"
-                accesskey="&passwordExceptions.accesskey;"
+                data-l10n-id="forms-exceptions"
                 preference="pref.privacy.disable_button.view_passwords_exceptions"
                 searchkeywords="&address2.label;"/>
       </hbox>
     </hbox>
     <hbox id="showPasswordBox" pack="end">
       <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
       <hbox>
         <button id="showPasswords"
                 class="accessory-button"
-                label="&savedLogins.label;" accesskey="&savedLogins.accesskey;"
-                preference="pref.privacy.disable_button.view_passwords"
-                searchkeywords="&savedLogins.title;"/>
+                data-l10n-id="forms-saved-logins"
+                search-l10n-ids="forms-saved-logins.label"
+                preference="pref.privacy.disable_button.view_passwords"/>
       </hbox>
     </hbox>
   </vbox>
   <hbox id="masterPasswordRow">
     <checkbox id="useMasterPassword"
-              label="&useMasterPassword.label;"
-              accesskey="&useMasterPassword.accesskey;"
+              data-l10n-id="forms-master-pw-use"
               flex="1"/>
     <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
     <hbox>
       <button id="changeMasterPassword"
               class="accessory-button"
-              label="&changeMasterPassword.label;"
-              accesskey="&changeMasterPassword.accesskey;"/>
+              data-l10n-id="forms-master-pw-change"/>
     </hbox>
   </hbox>
 </groupbox>
 
 <!-- History -->
 <groupbox id="historyGroup" data-category="panePrivacy" hidden="true">
-  <caption><label>&history.label;</label></caption>
+  <caption><label data-l10n-id="history-header"/></caption>
   <hbox align="center">
     <label id="historyModeLabel"
            control="historyMode"
            accesskey="&historyHeader2.pre.accesskey;">&historyHeader2.pre.label;
     </label>
     <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
     <hbox>
       <menulist id="historyMode">
         <menupopup>
-          <menuitem label="&historyHeader.remember.label;" value="remember" searchkeywords="&rememberDescription1.label;"/>
-          <menuitem label="&historyHeader.dontremember.label;" value="dontremember" searchkeywords="&dontrememberDescription.label;"/>
-          <menuitem label="&historyHeader.custom.label;" value="custom" searchkeywords="&privateBrowsingPermanent2.label;
-                                                                                        &rememberHistory2.label;
-                                                                                        &rememberSearchForm.label;
-                                                                                        &clearOnClose.label;
-                                                                                        &clearOnCloseSettings.label;"/>
+          <menuitem label="&historyHeader.remember.label;"
+                    value="remember"
+                    search-l10n-ids="history-remember-description"/>
+          <menuitem label="&historyHeader.dontremember.label;"
+                    value="dontremember"
+                    search-l10n-ids="history-dontremember-description"/>
+          <menuitem label="&historyHeader.custom.label;"
+                    value="custom"
+                    search-l10n-ids="
+                      history-private-browsing-permanent.label,
+                      history-remember-option.label,
+                      history-remember-search-option.label,
+                      history-clear-on-close-option.label,
+                      history-clear-on-close-settings.label"/>
         </menupopup>
       </menulist>
     </hbox>
     <label>&historyHeader.post.label;</label>
   </hbox>
   <hbox>
     <deck id="historyPane" flex="1">
       <vbox id="historyRememberPane">
         <hbox align="center" flex="1">
           <vbox flex="1">
-            <description class="description-with-side-element">&rememberDescription1.label;</description>
+            <description
+              class="description-with-side-element"
+              data-l10n-id="history-remember-description"/>
           </vbox>
         </hbox>
       </vbox>
       <vbox id="historyDontRememberPane">
         <hbox align="center" flex="1">
           <vbox flex="1">
-            <description class="description-with-side-element">&dontrememberDescription.label;</description>
+            <description
+              class="description-with-side-element"
+              data-l10n-id="history-dontremember-description"/>
           </vbox>
         </hbox>
       </vbox>
       <vbox id="historyCustomPane">
         <vbox>
           <checkbox id="privateBrowsingAutoStart"
-                    label="&privateBrowsingPermanent2.label;"
-                    accesskey="&privateBrowsingPermanent2.accesskey;"
+                    data-l10n-id="history-private-browsing-permanent"
                     preference="browser.privatebrowsing.autostart"/>
           <vbox class="indent">
             <checkbox id="rememberHistory"
-                      label="&rememberHistory2.label;"
-                      accesskey="&rememberHistory2.accesskey;"
+                      data-l10n-id="history-remember-option"
                       preference="places.history.enabled"/>
             <checkbox id="rememberForms"
-                      label="&rememberSearchForm.label;"
-                      accesskey="&rememberSearchForm.accesskey;"
+                      data-l10n-id="history-remember-search-option"
                       preference="browser.formfill.enable"/>
             <hbox id="clearDataBox"
                   align="center">
               <checkbox id="alwaysClear"
                         preference="privacy.sanitize.sanitizeOnShutdown"
-                        label="&clearOnClose.label;"
-                        accesskey="&clearOnClose.accesskey;"
+                        data-l10n-id="history-clear-on-close-option"
                         flex="1" />
               <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
               <hbox>
                 <button id="clearDataSettings"
                         class="accessory-button"
-                        label="&clearOnCloseSettings.label;"
-                        accesskey="&clearOnCloseSettings.accesskey;"
+                        data-l10n-id="history-clear-on-close-settings"
                         searchkeywords="&clearDataSettings3.label;
                                         &historySection.label;
                                         &itemHistoryAndDownloads.label;
                                         &itemCookies.label;
                                         &itemActiveLogins.label;
                                         &itemCache.label;
                                         &itemFormSearchHistory.label;
                                         &dataSection.label;
@@ -146,108 +149,105 @@
           </vbox>
         </vbox>
       </vbox>
     </deck>
     <vbox align="end">
       <button id="clearHistoryButton"
               class="accessory-button"
               icon="clear"
-              label="&clearHistoryButton.label;"
-              accesskey="&clearHistoryButton.accesskey;"/>
+              data-l10n-id="history-clear-button"/>
     </vbox>
   </hbox>
 </groupbox>
 
 <!-- Site Data -->
 <groupbox id="siteDataGroup" hidden="true" data-category="panePrivacy" data-hidden-from-search="true">
-  <caption><label>&siteData1.label;</label></caption>
+  <caption><label data-l10n-id="sitedata-header"/></caption>
 
   <hbox data-subcategory="sitedata" align="baseline">
     <vbox flex="1">
       <description class="description-with-side-element" flex="1">
         <html:span id="totalSiteDataSize" class="tail-with-learn-more"></html:span>
-        <label id="siteDataLearnMoreLink" class="learnMore text-link">&siteDataLearnMoreLink.label;</label>
+        <label id="siteDataLearnMoreLink"
+          class="learnMore text-link" data-l10n-id="sitedata-learn-more"/>
       </description>
       <radiogroup id="acceptCookies"
                   preference="network.cookie.cookieBehavior"
                   onsyncfrompreference="return gPrivacyPane.readAcceptCookies();"
                   onsynctopreference="return gPrivacyPane.writeAcceptCookies();">
         <hbox id="cookiesBox">
-          <radio label="&acceptCookies4.label;"
-                 value="0"
-                 accesskey="&acceptCookies4.accesskey;"
+          <radio value="0"
+                 data-l10n-id="sitedata-accept-cookies-option"
                  flex="1" />
         </hbox>
         <hbox id="keepRow"
               class="indent"
               align="center">
           <label id="keepUntil"
                  control="keepCookiesUntil"
-                 accesskey="&keepUntil2.accesskey;">&keepUntil2.label;</label>
+                 data-l10n-id="sitedata-keep-until"/>
           <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
           <hbox>
             <menulist id="keepCookiesUntil"
                       onsyncfrompreference="return gPrivacyPane.readKeepCookiesUntil();"
                       preference="network.cookie.lifetimePolicy">
               <menupopup>
-                <menuitem label="&expire.label;" value="0"/>
-                <menuitem label="&close.label;" value="2"/>
+                <menuitem data-l10n-id="sitedata-keep-until-expire" value="0"/>
+                <menuitem data-l10n-id="sitedata-keep-until-closed" value="2"/>
               </menupopup>
             </menulist>
           </hbox>
         </hbox>
         <hbox id="acceptThirdPartyRow"
               class="indent"
               align="center">
           <label id="acceptThirdPartyLabel" control="acceptThirdPartyMenu"
-                 accesskey="&acceptThirdParty3.pre.accesskey;">&acceptThirdParty3.pre.label;</label>
+                 data-l10n-id="sitedata-accept-third-party-desc"/>
           <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
           <hbox>
             <menulist id="acceptThirdPartyMenu" preference="network.cookie.cookieBehavior"
             onsyncfrompreference="return gPrivacyPane.readAcceptThirdPartyCookies();"
             onsynctopreference="return gPrivacyPane.writeAcceptThirdPartyCookies();">
               <menupopup>
-                <menuitem label="&acceptThirdParty.always.label;" value="always"/>
-                <menuitem label="&acceptThirdParty.visited.label;" value="visited"/>
-                <menuitem label="&acceptThirdParty.never.label;" value="never"/>
+                <menuitem data-l10n-id="sitedata-accept-third-party-always-option" value="always"/>
+                <menuitem data-l10n-id="sitedata-accept-third-party-visited-option" value="visited"/>
+                <menuitem data-l10n-id="sitedata-accept-third-party-never-option" value="never"/>
               </menupopup>
             </menulist>
           </hbox>
         </hbox>
-        <radio label="&blockCookies.label;"
+        <radio data-l10n-id="sitedata-block-cookies-option"
                value="2"
-               accesskey="&blockCookies.accesskey;"
                flex="1" />
       </radiogroup>
     </vbox>
     <vbox>
       <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
       <hbox>
         <button id="clearSiteDataButton"
             class="accessory-button"
             icon="clear"
             searchkeywords="&clearSiteData.label;
                             &clearCache.label;"
-            label="&clearSiteData1.label;" accesskey="&clearSiteData1.accesskey;"/>
+            data-l10n-id="sitedata-clear"/>
       </hbox>
       <hbox>
         <button id="siteDataSettings"
                 class="accessory-button"
-                label="&siteDataSettings1.label;"
-                accesskey="&siteDataSettings1.accesskey;"
+                data-l10n-id="sitedata-settings"
                 searchkeywords="&window2.title;
                                 &hostCol.label;
                                 &cookiesCol.label;
                                 &usageCol.label;"/>
       </hbox>
       <hbox>
         <button id="cookieExceptions"
                 class="accessory-button"
-                label="&cookieExceptions.label;" accesskey="&cookieExceptions.accesskey;"
+                data-l10n-id="sitedata-cookies-exceptions"
                 preference="pref.privacy.disable_button.cookie_exceptions"
                 searchkeywords="&address2.label;
                                 &block.label;
                                 &session.label;
                                 &allow.label;
                                 &removepermission2.label;
                                 &removeallpermissions2.label;
                                 &button.cancel.label;
@@ -256,109 +256,101 @@
     </vbox>
   </hbox>
 </groupbox>
 
 <!-- Address Bar -->
 <groupbox id="locationBarGroup"
           data-category="panePrivacy"
           hidden="true">
-  <caption><label>&addressBar.label;</label></caption>
-  <label id="locationBarSuggestionLabel">&addressBar.suggest.label;</label>
-  <checkbox id="historySuggestion" label="&locbar.history2.label;"
-            accesskey="&locbar.history2.accesskey;"
+  <caption><label data-l10n-id="addressbar-header"/></caption>
+  <label id="locationBarSuggestionLabel" data-l10n-id="addressbar-suggest"/>
+  <checkbox id="historySuggestion" data-l10n-id="addressbar-locbar-history-option"
             preference="browser.urlbar.suggest.history"/>
-  <checkbox id="bookmarkSuggestion" label="&locbar.bookmarks.label;"
-            accesskey="&locbar.bookmarks.accesskey;"
+  <checkbox id="bookmarkSuggestion" data-l10n-id="addressbar-locbar-bookmarks-option"
             preference="browser.urlbar.suggest.bookmark"/>
-  <checkbox id="openpageSuggestion" label="&locbar.openpage.label;"
-            accesskey="&locbar.openpage.accesskey;"
+  <checkbox id="openpageSuggestion" data-l10n-id="addressbar-locbar-openpage-option"
             preference="browser.urlbar.suggest.openpage"/>
-  <label class="text-link" id="openSearchEnginePreferences">
-    &suggestionSettings2.label;
-  </label>
+  <label class="text-link" id="openSearchEnginePreferences"
+         data-l10n-id="addressbar-suggestions-settings"/>
 </groupbox>
 
 <!-- Tracking -->
 <groupbox id="trackingGroup" data-category="panePrivacy" hidden="true">
-  <caption><label>&trackingProtectionHeader2.label;</label></caption>
+  <caption><label data-l10n-id="tracking-header"/></caption>
   <vbox>
     <hbox align="start">
       <vbox flex="1">
-        <description>
-          &trackingProtection3.description;
-          <label id="trackingProtectionLearnMore" class="learnMore text-link">&trackingProtectionLearnMore2.label;</label>
+        <description data-l10n-id="tracking-description">
+          <a id="trackingProtectionLearnMore" target="_blank" class="learnMore text-link"/>
         </description>
       </vbox>
       <spacer flex="1"/>
     </hbox>
     <hbox>
       <vbox id="trackingProtectionBox" flex="1" hidden="true">
         <vbox>
           <hbox id="trackingProtectionExtensionContentLabel" align="center" hidden="true">
             <description control="disableTrackingProtectionExtension" flex="1"/>
           </hbox>
           <vbox>
             <description id="trackingProtectionDesc"
                          control="trackingProtectionRadioGroup">
-               <label>&trackingProtection3.radioGroupLabel;</label>
+              <label data-l10n-id="tracking-mode-label"/>
             </description>
             <radiogroup id="trackingProtectionRadioGroup" aria-labelledby="trackingProtectionDesc">
               <radio value="always"
-                     label="&trackingProtectionAlways.label;"
-                     accesskey="&trackingProtectionAlways.accesskey;"/>
+                     data-l10n-id="tracking-mode-always"/>
               <radio value="private"
-                     label="&trackingProtectionPrivate.label;"
-                     accesskey="&trackingProtectionPrivate.accesskey;"/>
+                     data-l10n-id="tracking-mode-private"/>
               <radio value="never"
-                     label="&trackingProtectionNever.label;"
-                     accesskey="&trackingProtectionNever.accesskey;"/>
+                     data-l10n-id="tracking-mode-never"/>
             </radiogroup>
           </vbox>
         </vbox>
       </vbox>
       <vbox id="trackingProtectionPBMBox" flex="1">
         <hbox id="trackingProtectionPBMExtensionContentLabel" align="center" hidden="true">
           <description control="disableTrackingProtectionExtension" flex="1"/>
         </hbox>
         <hbox align="start">
           <checkbox id="trackingProtectionPBM"
-                    preference="privacy.trackingprotection.pbmode.enabled"
-                    accesskey="&trackingProtectionPBM6.accesskey;"/>
-          <label id="trackingProtectionPBMLabel" flex="1">&trackingProtectionPBM6.label;</label>
+                    preference="privacy.trackingprotection.pbmode.enabled"/>
+          <label id="trackingProtectionPBMLabel"
+                 flex="1"
+                 control="trackingProtectionPBM"
+                 data-l10n-id="tracking-pbm-label"/>
         </hbox>
       </vbox>
       <vbox id="trackingProtectionAdvancedSettings">
         <hbox id="trackingProtectionExtensionContentButton" hidden="true">
           <button id="disableTrackingProtectionExtension"
                   class="extension-controlled-button accessory-button"
                   flex="1"
-                  label="&disableExtension.label;"/>
+                  data-l10n-id="disable-extension"/>
         </hbox>
         <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
         <hbox>
           <button id="trackingProtectionExceptions"
                   class="accessory-button"
                   flex="1"
                   hidden="true"
-                  label="&trackingProtectionExceptions.label;"
-                  accesskey="&trackingProtectionExceptions.accesskey;"
+                  data-l10n-id="tracking-exceptions"
                   preference="pref.privacy.disable_button.tracking_protection_exceptions"
                   searchkeywords="&removepermission2.label;
                                   &removeallpermissions2.label;
                                   &button.cancel.label;
                                   &button.ok.label;"/>
         </hbox>
         <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
         <hbox>
           <button id="changeBlockList"
                   class="accessory-button"
                   flex="1"
-                  label="&changeBlockList2.label;"
-                  accesskey="&changeBlockList2.accesskey;"
+                  data-l10n-id="tracking-change-block-list"
                   preference="pref.privacy.disable_button.change_blocklist"
                   searchkeywords="&button.cancel.label; &button.ok.label;"/>
         </hbox>
       </vbox>
     </hbox>
     <vbox id="doNotTrackLearnMoreBox">
       <label><label class="tail-with-learn-more" data-l10n-id="do-not-track-description"></label><label
       class="learnMore text-link" href="https://www.mozilla.org/dnt"
@@ -370,96 +362,95 @@
     </vbox>
   </vbox>
 </groupbox>
 
 <hbox id="permissionsCategory"
       class="subcategory"
       hidden="true"
       data-category="panePrivacy">
-  <label class="header-name" flex="1">&permissions.label;</label>
+  <label class="header-name" flex="1" data-l10n-id="permissions-header"/>
 </hbox>
 
 <!-- Permissions -->
 <groupbox id="permissionsGroup" data-category="panePrivacy" hidden="true">
-  <caption class="search-header" hidden="true"><label>&permissions.label;</label></caption>
+  <caption class="search-header" hidden="true"><label data-l10n-id="permissions-header"/></caption>
 
   <grid>
     <columns>
       <column flex="1"/>
       <column/>
     </columns>
     <rows>
       <row id="locationSettingsRow" align="center">
         <description flex="1">
           <image class="geo-icon permission-icon" />
           <separator orient="vertical" class="thin"/>
-          <label id="locationPermissionsLabel">&locationPermissions.label;</label>
+          <label id="locationPermissionsLabel" data-l10n-id="permissions-location"/>
         </description>
         <hbox pack="end">
           <button id="locationSettingsButton"
                   class="accessory-button"
-                  label="&locationSettingsButton.label;"
-                  accesskey="&locationSettingsButton.accesskey;"
+                  data-l10n-id="permissions-location-settings"
                   searchkeywords="&removepermission2.label;
                                   &removeallpermissions2.label;
                                   &button.cancel.label;
                                   &button.ok.label;"/>
         </hbox>
       </row>
 
       <row id="cameraSettingsRow" align="center">
         <description flex="1">
           <image class="camera-icon permission-icon" />
           <separator orient="vertical" class="thin"/>
-          <label id="cameraPermissionsLabel">&cameraPermissions.label;</label>
+          <label id="cameraPermissionsLabel" data-l10n-id="permissions-camera"/>
         </description>
         <hbox pack="end">
           <button id="cameraSettingsButton"
                   class="accessory-button"
-                  label="&cameraSettingsButton.label;"
-                  accesskey="&cameraSettingsButton.accesskey;"
+                  data-l10n-id="permissions-camera-settings"
                   searchkeywords="&removepermission2.label;
                                   &removeallpermissions2.label;
                                   &button.cancel.label;
                                   &button.ok.label;"/>
         </hbox>
       </row>
 
       <row id="microphoneSettingsRow" align="center">
         <description flex="1">
           <image class="microphone-icon permission-icon" />
           <separator orient="vertical" class="thin"/>
-          <label id="microphonePermissionsLabel">&microphonePermissions.label;</label>
+          <label id="microphonePermissionsLabel" data-l10n-id="permissions-microphone"/>
         </description>
         <hbox pack="end">
           <button id="microphoneSettingsButton"
                   class="accessory-button"
-                  label="&microphoneSettingsButton.label;"
-                  accesskey="&microphoneSettingsButton.accesskey;"
+                  data-l10n-id="permissions-microphone-settings"
                   searchkeywords="&removepermission2.label;
                                   &removeallpermissions2.label;
                                   &button.cancel.label;
                                   &button.ok.label;"/>
         </hbox>
       </row>
 
       <row id="notificationSettingsRow" align="center">
         <description flex="1">
           <image class="desktop-notification-icon permission-icon" />
           <separator orient="vertical" class="thin"/>
-          <label id="notificationPermissionsLabel" class="tail-with-learn-more">&notificationPermissions.label;</label>
+          <label id="notificationPermissionsLabel"
+                 class="tail-with-learn-more"
+                 data-l10n-id="permissions-notification"/>
           <label id="notificationPermissionsLearnMore"
-                 class="learnMore text-link">&notificationPermissionsLearnMore.label;</label>
+                 class="learnMore text-link"
+                 data-l10n-id="permissions-notification-link"/>
         </description>
         <hbox pack="end">
           <button id="notificationSettingsButton"
                   class="accessory-button"
-                  label="&notificationSettingsButton.label;"
-                  accesskey="&notificationSettingsButton.accesskey;"
+                  data-l10n-id="permissions-notification-settings"
                   searchkeywords="&removepermission2.label;
                                   &removeallpermissions2.label;
                                   &button.cancel.label;
                                   &button.ok.label;"/>
         </hbox>
       </row>
     </rows>
   </grid>
@@ -467,184 +458,177 @@
   <vbox id="notificationsDoNotDisturbBox" hidden="true">
     <checkbox id="notificationsDoNotDisturb" class="indent"/>
   </vbox>
 
   <separator flex="1"/>
 
   <hbox align="start">
     <checkbox id="popupPolicy" preference="dom.disable_open_during_load"
-              label="&blockPopups.label;" accesskey="&blockPopups.accesskey;"
+              data-l10n-id="permissions-block-popups"
               onsyncfrompreference="return gPrivacyPane.updateButtons('popupPolicyButton',
                                          'dom.disable_open_during_load');"
               flex="1" />
     <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
     <hbox>
       <button id="popupPolicyButton"
               class="accessory-button"
-              label="&popupExceptions.label;"
-              accesskey="&popupExceptions.accesskey;"
+              data-l10n-id="permissions-block-popups-exceptions"
               searchkeywords="&address2.label; &button.cancel.label; &button.ok.label;"/>
     </hbox>
   </hbox>
 
   <hbox id="addonInstallBox">
     <checkbox id="warnAddonInstall"
-              label="&warnOnAddonInstall2.label;"
-              accesskey="&warnOnAddonInstall2.accesskey;"
+              data-l10n-id="permissions-addon-install-warning"
               preference="xpinstall.whitelist.required"
               onsyncfrompreference="return gPrivacyPane.readWarnAddonInstall();"
               flex="1" />
     <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
     <hbox>
       <button id="addonExceptions"
               class="accessory-button"
-              label="&addonExceptions.label;"
-              accesskey="&addonExceptions.accesskey;"
+              data-l10n-id="permissions-addon-exceptions"
               searchkeywords="&address2.label;
                               &allow.label;
                               &removepermission2.label;
                               &removeallpermissions2.label;
                               &button.cancel.label;
                               &button.ok.label;"/>
     </hbox>
   </hbox>
 
   <vbox id="a11yPermissionsBox">
     <hbox flex="1" align="center">
       <checkbox id="a11yPrivacyCheckbox" class="tail-with-learn-more"
-                label="&a11yPrivacy.checkbox.label;"
-                accesskey="&a11yPrivacy.checkbox.accesskey;"
+                data-l10n-id="permissions-a11y-privacy-checkbox"
                 oncommand="return gPrivacyPane.updateA11yPrefs(this.checked)"/>
       <label id="a11yLearnMoreLink" class="learnMore text-link"
-              value="&a11yPrivacy.learnmore.label;"></label>
+             data-l10n-id="permissions-a11y-privacy-link"/>
     </hbox>
   </vbox>
 </groupbox>
 
 <!-- Firefox Data Collection and Use -->
 #ifdef MOZ_DATA_REPORTING
 <hbox id="dataCollectionCategory"
       class="subcategory"
       hidden="true"
       data-category="panePrivacy">
-  <label class="header-name" flex="1">&dataCollection.label;</label>
+  <label class="header-name" flex="1" data-l10n-id="collection-header"/>
 </hbox>
 
 <groupbox id="dataCollectionGroup" data-category="panePrivacy" hidden="true">
-  <caption class="search-header" hidden="true"><label>&dataCollection.label;</label></caption>
+  <caption class="search-header" hidden="true"><label data-l10n-id="collection-header"/></caption>
 
   <description>
-    <label class="tail-with-learn-more">&dataCollectionDesc.label;</label><label id="dataCollectionPrivacyNotice" class="learnMore text-link">&dataCollectionPrivacyNotice.label;</label>
+    <label class="tail-with-learn-more" data-l10n-id="collection-description"/>
+    <label id="dataCollectionPrivacyNotice"
+           class="learnMore text-link"
+           data-l10n-id="collection-privacy-notice"/>
   </description>
   <vbox data-subcategory="reports">
     <description flex="1">
-      <checkbox id="submitHealthReportBox" label="&enableHealthReport2.label;"
-                class="tail-with-learn-more"
-                accesskey="&enableHealthReport2.accesskey;"/>
+      <checkbox id="submitHealthReportBox"
+                data-l10n-id="collection-health-report"
+                class="tail-with-learn-more"/>
       <label id="FHRLearnMore"
-             class="learnMore text-link">&healthReportLearnMore.label;</label>
+             class="learnMore text-link"
+             data-l10n-id="collection-health-report-link"/>
     </description>
 #ifndef MOZ_TELEMETRY_REPORTING
-    <description id="TelemetryDisabledDesc" class="indent tip-caption" control="telemetryGroup">&healthReportingDisabled.label;</description>
+  <description id="TelemetryDisabledDesc"
+    class="indent tip-caption" control="telemetryGroup"
+    data-l10n-id="collection-health-report-disabled"/>
 #endif
 
 #ifdef NIGHTLY_BUILD
     <hbox align="center">
       <checkbox id="collectBrowserErrorsBox"
                 class="tail-with-learn-more"
                 preference="browser.chrome.errorReporter.enabled"
-                label="&collectBrowserErrors.label;"
-                accesskey="&collectBrowserErrors.accesskey;"
+                data-l10n-id="collection-browser-errors"
                 flex="1"/>
       <label id="collectBrowserErrorsLearnMore"
-             class="learnMore text-link">&collectBrowserErrorsLearnMore.label;</label>
+             class="learnMore text-link" data-l10n-id="collection-browser-errors-link"/>
     </hbox>
 #endif
 
 #ifdef MOZ_CRASHREPORTER
     <hbox align="center">
       <checkbox id="automaticallySubmitCrashesBox"
                 class="tail-with-learn-more"
                 preference="browser.crashReports.unsubmittedCheck.autoSubmit2"
-                label="&sendBackloggedCrashReports.label;"
-                accesskey="&sendBackloggedCrashReports.accesskey;"
+                data-l10n-id="collection-backlogged-crash-reports"
                 flex="1"/>
       <label id="crashReporterLearnMore"
-             class="learnMore text-link">&crashReporterLearnMore.label;</label>
+              class="learnMore text-link" data-l10n-id="collection-backlogged-crash-reports-link"/>
     </hbox>
 #endif
   </vbox>
 </groupbox>
 #endif
 
 <hbox id="securityCategory"
       class="subcategory"
       hidden="true"
       data-category="panePrivacy">
-  <label class="header-name" flex="1">&security.label;</label>
+  <label class="header-name" flex="1" data-l10n-id="security-header"/>
 </hbox>
 
 <!-- addons, forgery (phishing) UI Security -->
 <groupbox id="browsingProtectionGroup" data-category="panePrivacy" hidden="true">
-  <caption><label>&browsingProtection.label;</label></caption>
+  <caption><label data-l10n-id="security-browsing-protection"/></caption>
   <hbox align = "center">
     <checkbox id="enableSafeBrowsing"
-              label="&enableSafeBrowsing.label;"
-              class="tail-with-learn-more"
-              accesskey="&enableSafeBrowsing.accesskey;" />
+              data-l10n-id="security-enable-safe-browsing"
+              class="tail-with-learn-more"/>
     <label id="enableSafeBrowsingLearnMore"
-           class="learnMore text-link">&enableSafeBrowsingLearnMore.label;</label>
+           class="learnMore text-link" data-l10n-id="security-enable-safe-browsing-link"/>
   </hbox>
   <vbox class="indent">
     <checkbox id="blockDownloads"
-              label="&blockDownloads.label;"
-              accesskey="&blockDownloads.accesskey;" />
+              data-l10n-id="security-block-downloads"/>
     <checkbox id="blockUncommonUnwanted"
-              label="&blockUncommonAndUnwanted.label;"
-              accesskey="&blockUncommonAndUnwanted.accesskey;" />
+              data-l10n-id="security-block-uncommon-software"/>
   </vbox>
 </groupbox>
 
 <!-- Certificates -->
 <groupbox id="certSelection" data-category="panePrivacy" hidden="true">
-  <caption><label>&certificateTab.label;</label></caption>
-  <description id="CertSelectionDesc" control="certSelection">&certPersonal2.description;</description>
+  <caption><label data-l10n-id="certs-header"/></caption>
+  <description id="CertSelectionDesc" control="certSelection" data-l10n-id="certs-personal-label"/>
 
   <!--
     The values on these radio buttons may look like l10n issues, but
     they're not - this preference uses *those strings* as its values.
     I KID YOU NOT.
   -->
   <radiogroup id="certSelection"
               preftype="string"
               preference="security.default_personal_cert"
               aria-labelledby="CertSelectionDesc">
-    <radio label="&selectCerts.auto;"
-           accesskey="&selectCerts.auto.accesskey;"
+    <radio data-l10n-id="certs-select-auto-option"
            value="Select Automatically"/>
-    <radio label="&selectCerts.ask;"
-           accesskey="&selectCerts.ask.accesskey;"
+    <radio data-l10n-id="certs-select-ask-option"
            value="Ask Every Time"/>
   </radiogroup>
   <hbox align="start">
     <checkbox id="enableOCSP"
-              label="&enableOCSP.label;"
-              accesskey="&enableOCSP.accesskey;"
+              data-l10n-id="certs-enable-ocsp"
               onsyncfrompreference="return gPrivacyPane.readEnableOCSP();"
               onsynctopreference="return gPrivacyPane.writeEnableOCSP();"
               preference="security.OCSP.enabled"
               flex="1" />
     <vbox>
       <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
       <hbox pack="end">
         <button id="viewCertificatesButton"
                 class="accessory-button"
-                label="&viewCerts2.label;"
-                accesskey="&viewCerts2.accesskey;"
+                data-l10n-id="certs-view"
                 preference="security.disable_button.openCertManager"
                 searchkeywords="&certmgr.tab.mine;
                                 &certmgr.tab.others2;
                                 &certmgr.tab.websites3;
                                 &certmgr.tab.ca;
                                 &certmgr.mine2;
                                 &certmgr.others2;
                                 &certmgr.websites3;
@@ -654,18 +638,17 @@
                                 &certmgr.view2.label;
                                 &certmgr.export.label;
                                 &certmgr.delete2.label;"/>
       </hbox>
       <!-- Please don't remove the wrapping hbox/vbox/box for these elements. It's used to properly compute the search tooltip position. -->
       <hbox pack="end">
         <button id="viewSecurityDevicesButton"
                 class="accessory-button"
-                label="&viewSecurityDevices2.label;"
-                accesskey="&viewSecurityDevices2.accesskey;"
+                data-l10n-id="certs-devices"
                 preference="security.disable_button.openDeviceManager"
                 searchkeywords="&devmgr.title;
                                 &devmgr.devlist.label;
                                 &devmgr.details.title;
                                 &devmgr.details.title2;
                                 &devmgr.button.login.label;
                                 &devmgr.button.logout.label;
                                 &devmgr.button.changepw.label;
--- a/browser/locales/en-US/browser/preferences/preferences.ftl
+++ b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -465,8 +465,280 @@ containers-header = Container Tabs
 containers-add-button =
     .label = Add New Container
     .accesskey = A
 
 containers-preferences-button =
     .label = Preferences
 containers-remove-button =
     .label = Remove
+
+## Privacy Section
+
+privacy-header = Browser Privacy
+
+## Privacy Section - Forms
+
+forms-header = Forms & Passwords
+forms-remember-logins =
+    .label = Remember logins and passwords for websites
+    .accesskey = R
+forms-exceptions =
+    .label = Exceptions…
+    .accesskey = x
+forms-saved-logins =
+    .label = Saved Logins…
+    .accesskey = L
+forms-master-pw-use =
+    .label = Use a master password
+    .accesskey = U
+forms-master-pw-change =
+    .label = Change Master Password
+    .accesskey = M
+
+## Privacy Section - History
+
+history-header = History
+
+history-remember-description = { -brand-short-name } will remember your browsing, download, form and search history.
+history-dontremember-description = { -brand-short-name } will use the same settings as private browsing, and will not remember any history as you browse the Web.
+
+history-private-browsing-permanent =
+    .label = Always use private browsing mode
+    .accesskey = p
+
+history-remember-option =
+    .label = Remember my browsing and download history
+    .accesskey = b
+
+history-remember-search-option =
+    .label = Remember search and form history
+    .accesskey = f
+
+history-clear-on-close-option =
+    .label = Clear history when { -brand-short-name } closes
+    .accesskey = r
+
+history-clear-on-close-settings =
+    .label = Settings…
+    .accesskey = t
+
+history-clear-button =
+    .label = Clear History…
+    .accesskey = s
+
+## Privacy Section - Site Data
+
+sitedata-header = Cookies and Site Data
+
+sitedata-learn-more = Learn more
+
+sitedata-accept-cookies-option =
+    .label = Accept cookies and site data from websites (recommended)
+    .accesskey = A
+
+sitedata-block-cookies-option =
+    .label = Block cookies and site data (may cause websites to break)
+    .accesskey = B
+
+sitedata-keep-until = Keep until
+    .accesskey = u
+
+sitedata-keep-until-expire =
+    .label = They expire
+sitedata-keep-until-closed =
+    .label = { -brand-short-name } is closed
+
+sitedata-accept-third-party-desc = Accept third-party cookies and site data
+    .accesskey = y
+
+sitedata-accept-third-party-always-option =
+    .label = Always
+sitedata-accept-third-party-visited-option =
+    .label = From visited
+sitedata-accept-third-party-never-option =
+    .label = Never
+
+sitedata-clear =
+    .label = Clear Data…
+    .accesskey = l
+
+sitedata-settings =
+    .label = Manage Data…
+    .accesskey = M
+
+sitedata-cookies-exceptions =
+    .label = Exceptions…
+    .accesskey = E
+
+## Privacy Section - Address Bar
+
+addressbar-header = Address Bar
+
+addressbar-suggest = When using the address bar, suggest
+
+addressbar-locbar-history-option =
+    .label = Browsing history
+    .accesskey = h
+addressbar-locbar-bookmarks-option =
+    .label = Bookmarks
+    .accesskey = k
+addressbar-locbar-openpage-option =
+    .label = Open tabs
+    .accesskey = O
+
+addressbar-suggestions-settings = Change preferences for search engine suggestions
+
+## Privacy Section - Tracking
+
+tracking-header = Tracking Protection
+
+tracking-description = Tracking Protection blocks online trackers that collect your browsing data across multiple websites. <a>Learn more about Tracking Protection and your privacy</a>
+
+tracking-mode-label = Use Tracking Protection to block known trackers
+
+tracking-mode-always =
+    .label = Always
+    .accesskey = y
+tracking-mode-private =
+    .label = Only in private windows
+    .accesskey = l
+tracking-mode-never =
+    .label = Never
+    .accesskey = N
+
+# This string is displayed if privacy.trackingprotection.ui.enabled is set to false.
+# This currently happens on the release and beta channel.
+tracking-pbm-label = Use Tracking Protection in Private Browsing to block known trackers
+    .accesskey = v
+
+tracking-exceptions =
+    .label = Exceptions…
+    .accesskey = x
+
+tracking-change-block-list =
+    .label = Change Block List…
+    .accesskey = C
+
+## Privacy Section - Permissions
+
+permissions-header = Permissions
+
+permissions-location = Location
+permissions-location-settings =
+    .label = Settings…
+    .accesskey = t
+
+permissions-camera = Camera
+permissions-camera-settings =
+    .label = Settings…
+    .accesskey = t
+
+permissions-microphone = Microphone
+permissions-microphone-settings =
+    .label = Settings…
+    .accesskey = t
+
+permissions-notification = Notifications
+permissions-notification-settings =
+    .label = Settings…
+    .accesskey = t
+permissions-notification-link = Learn more
+
+permissions-notification-pause =
+    .label = Pause notifications until { -brand-short-name } restarts
+    .accesskey = n
+
+permissions-block-popups =
+    .label = Block pop-up windows
+    .accesskey = B
+
+permissions-block-popups-exceptions =
+    .label = Exceptions…
+    .accesskey = E
+
+permissions-addon-install-warning =
+    .label = Warn you when websites try to install add-ons
+    .accesskey = W
+
+permissions-addon-exceptions =
+    .label = Exceptions…
+    .accesskey = E
+
+permissions-a11y-privacy-checkbox =
+    .label = Prevent accessibility services from accessing your browser
+    .accesskey = a
+
+permissions-a11y-privacy-link = Learn more
+
+## Privacy Section - Data Collection
+
+collection-header = { -brand-short-name } Data Collection and Use
+
+collection-description = We strive to provide you with choices and collect only what we need to provide and improve { -brand-short-name } for everyone. We always ask permission before receiving personal information.
+collection-privacy-notice = Privacy Notice
+
+collection-health-report =
+    .label = Allow { -brand-short-name } to send technical and interaction data to { -vendor-short-name }
+    .accesskey = r
+collection-health-report-link = Learn more
+
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = Data reporting is disabled for this build configuration
+
+collection-browser-errors =
+    .label = Allow { -brand-short-name } to send browser error reports (including error messages) to { -vendor-short-name }
+    .accesskey = b
+collection-browser-errors-link = Learn more
+
+collection-backlogged-crash-reports =
+    .label = Allow { -brand-short-name } to send backlogged crash reports on your behalf
+    .accesskey = c
+collection-backlogged-crash-reports-link = Learn more
+
+## Privacy Section - Security
+##
+## It is important that wording follows the guidelines outlined on this page:
+## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage
+
+security-header = Security
+
+security-browsing-protection = Deceptive Content and Dangerous Software Protection
+
+security-enable-safe-browsing =
+    .label = Block dangerous and deceptive content
+    .accesskey = B
+security-enable-safe-browsing-link = Learn more
+
+security-block-downloads =
+    .label = Block dangerous downloads
+    .accesskey = d
+
+security-block-uncommon-software =
+    .label = Warn you about unwanted and uncommon software
+    .accesskey = c
+
+## Privacy Section - Certificates
+
+certs-header = Certificates
+
+certs-personal-label = When a server requests your personal certificate
+
+certs-select-auto-option =
+    .label = Select one automatically
+    .accesskey = S
+
+certs-select-ask-option =
+    .label = Ask you every time
+    .accesskey = A
+
+certs-enable-ocsp =
+    .label = Query OCSP responder servers to confirm the current validity of certificates
+    .accesskey = Q
+
+certs-view =
+    .label = View Certificates…
+    .accesskey = C
+
+certs-devices =
+    .label = Security Devices…
+    .accesskey = D
deleted file mode 100644
--- a/browser/locales/en-US/chrome/browser/preferences/advanced.dtd
+++ /dev/null
@@ -1,55 +0,0 @@
-<!-- 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/. -->
-
-<!-- Note: each tab panel must contain unique accesskeys -->
-
-<!ENTITY generalTab.label                "General">
-
-<!ENTITY dataChoicesTab.label            "Data Choices">
-
-<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above
-disabled data sharing options in developer builds or builds with no Telemetry support
-available. -->
-<!ENTITY healthReportingDisabled.label   "Data reporting is disabled for this build configuration">
-
-<!ENTITY enableHealthReport2.label       "Allow &brandShortName; to send technical and interaction data to Mozilla">
-<!ENTITY enableHealthReport2.accesskey   "r">
-<!ENTITY healthReportLearnMore.label     "Learn more">
-
-<!ENTITY dataCollection.label            "&brandShortName; Data Collection and Use">
-<!ENTITY dataCollectionDesc.label        "We strive to provide you with choices and collect only what we need to provide and improve &brandShortName; for everyone. We always ask permission before receiving personal information.">
-<!ENTITY dataCollectionPrivacyNotice.label    "Privacy Notice">
-
-<!ENTITY collectBrowserErrors.label          "Allow &brandShortName; to send browser error reports (including error messages) to Mozilla">
-<!ENTITY collectBrowserErrors.accesskey      "b">
-<!ENTITY collectBrowserErrorsLearnMore.label "Learn more">
-
-<!ENTITY sendBackloggedCrashReports.label  "Allow &brandShortName; to send backlogged crash reports on your behalf">
-<!ENTITY sendBackloggedCrashReports.accesskey "c">
-<!ENTITY crashReporterLearnMore.label    "Learn more">
-
-<!ENTITY networkTab.label                "Network">
-
-<!--  Site Data section manages sites using Storage API and is under Network -->
-<!ENTITY siteData1.label                 "Cookies and Site Data">
-<!ENTITY clearSiteData1.label            "Clear Data…">
-<!ENTITY clearSiteData1.accesskey        "l">
-<!ENTITY siteDataSettings1.label         "Manage Data…">
-<!ENTITY siteDataSettings1.accesskey     "M">
-<!ENTITY siteDataLearnMoreLink.label     "Learn more">
-
-<!ENTITY updateTab.label                 "Update">
-
-<!ENTITY certificateTab.label            "Certificates">
-<!ENTITY certPersonal2.description       "When a server requests your personal certificate">
-<!ENTITY selectCerts.auto                "Select one automatically">
-<!ENTITY selectCerts.auto.accesskey      "S">
-<!ENTITY selectCerts.ask                 "Ask you every time">
-<!ENTITY selectCerts.ask.accesskey       "A">
-<!ENTITY enableOCSP.label                "Query OCSP responder servers to confirm the current validity of certificates">
-<!ENTITY enableOCSP.accesskey            "Q">
-<!ENTITY viewCerts2.label                "View Certificates…">
-<!ENTITY viewCerts2.accesskey            "C">
-<!ENTITY viewSecurityDevices2.label      "Security Devices…">
-<!ENTITY viewSecurityDevices2.accesskey  "D">
--- a/browser/locales/en-US/chrome/browser/preferences/content.dtd
+++ b/browser/locales/en-US/chrome/browser/preferences/content.dtd
@@ -1,37 +1,12 @@
 <!-- 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/. -->
 
-<!ENTITY  permissions.label           "Permissions">
-
-<!ENTITY  blockPopups.label           "Block pop-up windows">
-<!ENTITY  blockPopups.accesskey       "B">
-
-<!ENTITY  popupExceptions.label                                 "Exceptions…">
-<!ENTITY  popupExceptions.accesskey                             "E">
-
-<!ENTITY  notificationPermissions.label                         "Notifications">
-<!ENTITY  notificationSettingsButton.label                      "Settings…">
-<!ENTITY  notificationSettingsButton.accesskey                  "t">
-<!ENTITY  notificationPermissionsLearnMore.label                "Learn more">
-
-<!ENTITY  locationPermissions.label                             "Location">
-<!ENTITY  locationSettingsButton.label                          "Settings…">
-<!ENTITY  locationSettingsButton.accesskey                      "t">
-
-<!ENTITY  cameraPermissions.label                               "Camera">
-<!ENTITY  cameraSettingsButton.label                            "Settings…">
-<!ENTITY  cameraSettingsButton.accesskey                        "t">
-
-<!ENTITY  microphonePermissions.label                           "Microphone">
-<!ENTITY  microphoneSettingsButton.label                        "Settings…">
-<!ENTITY  microphoneSettingsButton.accesskey                    "t">
-
 <!-- LOCALIZATION NOTE (translation.options.attribution.beforeLogo,
   -                     translation.options.attribution.afterLogo):
   -  These 2 strings are displayed before and after a 'Microsoft Translator'
   -  logo.
   -  The translations for these strings should match the translations in
   -  browser/translation.dtd
   -->
 <!ENTITY translation.options.attribution.beforeLogo "Translations by">
--- a/browser/locales/en-US/chrome/browser/preferences/preferences.dtd
+++ b/browser/locales/en-US/chrome/browser/preferences/preferences.dtd
@@ -1,8 +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/. -->
 
-<!ENTITY  browserPrivacy.label          "Browser Privacy">
-
 <!-- LOCALIZATION NOTE (paneSync1.title): This should match syncBrand.fxAccount.label in ../syncBrand.dtd -->
 <!ENTITY  paneSync1.title          "Firefox Account">
--- a/browser/locales/en-US/chrome/browser/preferences/preferences.properties
+++ b/browser/locales/en-US/chrome/browser/preferences/preferences.properties
@@ -44,21 +44,16 @@ microphonepermissionstext2=The following
 microphonepermissionstitle=Settings - Microphone Permissions
 microphonepermissionsdisablelabel=Block new requests asking to access your microphone
 microphonepermissionsdisabledescription=This will prevent any websites not listed above from requesting permission to access your microphone. Blocking access to your microphone may break some website features.
 invalidURI=Please enter a valid hostname
 invalidURITitle=Invalid Hostname Entered
 savedLoginsExceptions_title=Exceptions - Saved Logins
 savedLoginsExceptions_desc3=Logins for the following websites will not be saved
 
-# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
-# brandShortName of the application.
-pauseNotifications.label=Pause notifications until %S restarts
-pauseNotifications.accesskey=n
-
 #### Block List Manager
 
 blockliststext=You can choose which list Firefox will use to block Web elements that may track your browsing activity.
 blockliststitle=Block Lists
 # LOCALIZATION NOTE (mozNameTemplate): This template constructs the name of the
 # block list in the block lists dialog. It combines the list name and
 # description.
 #   e.g. mozNameTemplate : "Standard (Recommended). This list does a pretty good job."
--- a/browser/locales/en-US/chrome/browser/preferences/privacy.dtd
+++ b/browser/locales/en-US/chrome/browser/preferences/privacy.dtd
@@ -1,94 +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/. -->
 
-<!ENTITY  trackingProtectionHeader2.label      "Tracking Protection">
-<!ENTITY  trackingProtection3.description      "Tracking Protection blocks online trackers that collect your browsing data across multiple websites.">
-<!ENTITY  trackingProtection3.radioGroupLabel  "Use Tracking Protection to block known trackers">
-<!ENTITY  trackingProtectionAlways.label       "Always">
-<!ENTITY  trackingProtectionAlways.accesskey   "y">
-<!ENTITY  trackingProtectionPrivate.label      "Only in private windows">
-<!ENTITY  trackingProtectionPrivate.accesskey  "l">
-<!ENTITY  trackingProtectionNever.label        "Never">
-<!ENTITY  trackingProtectionNever.accesskey    "n">
-<!ENTITY  trackingProtectionLearnMore2.label    "Learn more about Tracking Protection and your privacy">
-<!ENTITY  trackingProtectionExceptions.label   "Exceptions…">
-<!ENTITY  trackingProtectionExceptions.accesskey "x">
-
-<!-- LOCALIZATION NOTE (trackingProtectionPBM6.label): This string is displayed if privacy.trackingprotection.ui.enabled is set to false. This currently happens on the release and beta channel. -->
-<!ENTITY trackingProtectionPBM6.label         "Use Tracking Protection in Private Browsing to block known trackers">
-<!ENTITY trackingProtectionPBM6.accesskey     "v">
-<!ENTITY trackingProtectionPBMLearnMore.label "Learn more">
-<!ENTITY changeBlockList2.label               "Change Block List…">
-<!ENTITY changeBlockList2.accesskey           "C">
-
-<!ENTITY  history.label                 "History">
-<!ENTITY  permissions.label             "Permissions">
-
-<!ENTITY  addressBar.label              "Address Bar">
-<!ENTITY  addressBar.suggest.label      "When using the address bar, suggest">
-<!ENTITY  locbar.history2.label         "Browsing history">
-<!ENTITY  locbar.history2.accesskey     "H">
-<!ENTITY  locbar.bookmarks.label        "Bookmarks">
-<!ENTITY  locbar.bookmarks.accesskey    "k">
-<!ENTITY  locbar.openpage.label         "Open tabs">
-<!ENTITY  locbar.openpage.accesskey     "O">
-<!ENTITY  locbar.searches.label         "Related searches from the default search engine">
-<!ENTITY  locbar.searches.accesskey     "d">
-
-<!ENTITY  suggestionSettings2.label     "Change preferences for search engine suggestions">
-
-<!ENTITY  acceptCookies4.label          "Accept cookies and site data from websites (recommended)">
-<!ENTITY  acceptCookies4.accesskey      "A">
-
-<!ENTITY  blockCookies.label            "Block cookies and site data (may cause websites to break)">
-<!ENTITY  blockCookies.accesskey        "B">
-
-<!ENTITY  acceptThirdParty3.pre.label     "Accept third-party cookies and site data">
-<!ENTITY  acceptThirdParty3.pre.accesskey "y">
-<!ENTITY  acceptThirdParty.always.label   "Always">
-<!ENTITY  acceptThirdParty.never.label    "Never">
-<!ENTITY  acceptThirdParty.visited.label  "From visited">
-
-<!ENTITY  keepUntil2.label              "Keep until">
-<!ENTITY  keepUntil2.accesskey          "u">
-
-<!ENTITY  expire.label                  "they expire">
-<!ENTITY  close.label                   "I close &brandShortName;">
-
-<!ENTITY  cookieExceptions.label        "Exceptions…">
-<!ENTITY  cookieExceptions.accesskey    "E">
-
 <!ENTITY  historyHeader2.pre.label         "&brandShortName; will">
 <!ENTITY  historyHeader2.pre.accesskey     "w">
 <!ENTITY  historyHeader.remember.label     "Remember history">
 <!ENTITY  historyHeader.dontremember.label "Never remember history">
 <!ENTITY  historyHeader.custom.label       "Use custom settings for history">
 <!ENTITY  historyHeader.post.label         "">
-
-<!ENTITY  rememberDescription1.label      "&brandShortName; will remember your browsing, download, form and search history.">
-
-<!ENTITY  dontrememberDescription.label  "&brandShortName; will use the same settings as private browsing, and will not remember any history as you browse the Web.">
-
-<!ENTITY  clearHistoryButton.label       "Clear History…">
-<!ENTITY  clearHistoryButton.accesskey   "s">
-
-<!ENTITY  privateBrowsingPermanent2.label "Always use private browsing mode">
-<!ENTITY  privateBrowsingPermanent2.accesskey "p">
-
-<!ENTITY  rememberHistory2.label      "Remember my browsing and download history">
-<!ENTITY  rememberHistory2.accesskey  "b">
-
-<!ENTITY  rememberSearchForm.label       "Remember search and form history">
-<!ENTITY  rememberSearchForm.accesskey   "f">
-
-<!ENTITY  clearOnClose.label             "Clear history when &brandShortName; closes">
-<!ENTITY  clearOnClose.accesskey         "r">
-
-<!ENTITY  clearOnCloseSettings.label     "Settings…">
-<!ENTITY  clearOnCloseSettings.accesskey "t">
-
-<!ENTITY  a11yPrivacy.checkbox.label     "Prevent accessibility services from accessing your browser">
-<!ENTITY  a11yPrivacy.checkbox.accesskey "a">
-<!ENTITY  a11yPrivacy.learnmore.label    "Learn more">
-<!ENTITY enableSafeBrowsingLearnMore.label "Learn more">
--- a/browser/locales/en-US/chrome/browser/preferences/security.dtd
+++ b/browser/locales/en-US/chrome/browser/preferences/security.dtd
@@ -1,42 +1,5 @@
 <!-- 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/. -->
 
-<!ENTITY  security.label                 "Security">
-
-<!ENTITY  warnOnAddonInstall2.label       "Warn you when websites try to install add-ons">
-<!ENTITY  warnOnAddonInstall2.accesskey   "W">
-
-<!-- LOCALIZATION NOTE (enableSafeBrowsing.label, blockDownloads.label, blockUncommonUnwanted.label):
-  It is important that wording follows the guidelines outlined on this page:
-  https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage
--->
-
-<!ENTITY  browsingProtection.label        "Deceptive Content and Dangerous Software Protection">
 <!ENTITY  enableSafeBrowsing.label        "Block dangerous and deceptive content">
-<!ENTITY  enableSafeBrowsing.accesskey    "B">
-
-<!ENTITY  blockDownloads.label            "Block dangerous downloads">
-<!ENTITY  blockDownloads.accesskey        "D">
-
-<!ENTITY  blockUncommonAndUnwanted.label     "Warn you about unwanted and uncommon software">
-<!ENTITY  blockUncommonAndUnwanted.accesskey "C">
-
-<!ENTITY  addonExceptions.label         "Exceptions…">
-<!ENTITY  addonExceptions.accesskey     "E">
-
-
-<!ENTITY  formsAndPasswords.label       "Forms &amp; Passwords">
-
-<!ENTITY  rememberLogins2.label         "Remember logins and passwords for websites">
-<!ENTITY  rememberLogins2.accesskey     "R">
-<!ENTITY  passwordExceptions.label      "Exceptions…">
-<!ENTITY  passwordExceptions.accesskey  "x">
-
-<!ENTITY  useMasterPassword.label        "Use a master password">
-<!ENTITY  useMasterPassword.accesskey    "U">
-<!ENTITY  changeMasterPassword.label     "Change Master Password…">
-<!ENTITY  changeMasterPassword.accesskey "M">
-
-<!ENTITY  savedLogins.label              "Saved Logins…">
-<!ENTITY  savedLogins.accesskey          "L">
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -52,17 +52,16 @@
     locale/browser/places/bookmarkProperties.properties (%chrome/browser/places/bookmarkProperties.properties)
     locale/browser/safebrowsing/phishing-afterload-warning-message.dtd (%chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd)
     locale/browser/safebrowsing/report-phishing.dtd                    (%chrome/browser/safebrowsing/report-phishing.dtd)
     locale/browser/safebrowsing/safebrowsing.properties   (%chrome/browser/safebrowsing/safebrowsing.properties)
     locale/browser/feeds/subscribe.dtd              (%chrome/browser/feeds/subscribe.dtd)
     locale/browser/feeds/subscribe.properties       (%chrome/browser/feeds/subscribe.properties)
     locale/browser/migration/migration.dtd         (%chrome/browser/migration/migration.dtd)
     locale/browser/migration/migration.properties  (%chrome/browser/migration/migration.properties)
-    locale/browser/preferences/advanced.dtd           (%chrome/browser/preferences/advanced.dtd)
     locale/browser/preferences/applicationManager.dtd     (%chrome/browser/preferences/applicationManager.dtd)
     locale/browser/preferences/applicationManager.properties     (%chrome/browser/preferences/applicationManager.properties)
     locale/browser/preferences/blocklists.dtd         (%chrome/browser/preferences/blocklists.dtd)
     locale/browser/preferences/clearSiteData.dtd      (%chrome/browser/preferences/clearSiteData.dtd)
     locale/browser/preferences/clearSiteData.properties     (%chrome/browser/preferences/clearSiteData.properties)
     locale/browser/preferences/colors.dtd             (%chrome/browser/preferences/colors.dtd)
     locale/browser/preferences/connection.dtd         (%chrome/browser/preferences/connection.dtd)
     locale/browser/preferences/content.dtd            (%chrome/browser/preferences/content.dtd)
new file mode 100644
--- /dev/null
+++ b/python/l10n/fluent_migrations/bug_1446180_preferences_privacy.py
@@ -0,0 +1,1235 @@
+# coding=utf8
+
+# Any copyright is dedicated to the Public Domain.
+# http://creativecommons.org/publicdomain/zero/1.0/
+
+from __future__ import absolute_import
+import fluent.syntax.ast as FTL
+from fluent.migrate.helpers import MESSAGE_REFERENCE
+from fluent.migrate.transforms import REPLACE
+from fluent.migrate import COPY, CONCAT
+
+
+def migrate(ctx):
+    """Bug 1446180 - Migrate Preferences::Privacy to Fluent, part {index}."""
+
+    ctx.add_transforms(
+        'browser/branding/official/brand.ftl',
+        'browser/branding/official/brand.ftl',
+        [
+            FTL.Term(
+                id=FTL.Identifier('-vendor-short-name'),
+                value=COPY(
+                    'browser/branding/official/brand.dtd',
+                    'vendorShortName'
+                )
+            ),
+        ]
+    )
+
+    ctx.add_transforms(
+        'browser/browser/preferences/preferences.ftl',
+        'browser/browser/preferences/preferences.ftl',
+        [
+            FTL.Message(
+                id=FTL.Identifier('privacy-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/preferences.dtd',
+                    'browserPrivacy.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('forms-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/security.dtd',
+                    'formsAndPasswords.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('forms-remember-logins'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'rememberLogins2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'rememberLogins2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('forms-exceptions'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'passwordExceptions.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'passwordExceptions.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('forms-saved-logins'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'savedLogins.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'savedLogins.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('forms-master-pw-use'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'useMasterPassword.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'useMasterPassword.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('forms-master-pw-change'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'changeMasterPassword.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'changeMasterPassword.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'history.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-remember-description'),
+                value=REPLACE(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'rememberDescription1.label',
+                    {
+                        '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name')
+                    },
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-dontremember-description'),
+                value=REPLACE(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'dontrememberDescription.label',
+                    {
+                        '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name')
+                    },
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-private-browsing-permanent'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'privateBrowsingPermanent2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'privateBrowsingPermanent2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-remember-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'rememberHistory2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'rememberHistory2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-remember-search-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'rememberSearchForm.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'rememberSearchForm.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-clear-on-close-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        REPLACE(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'clearOnClose.label',
+                            {
+                                '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name')
+                            },
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'clearOnClose.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-clear-on-close-settings'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'clearOnCloseSettings.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'clearOnCloseSettings.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('history-clear-button'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'clearHistoryButton.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'clearHistoryButton.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'siteData1.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-learn-more'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'siteDataLearnMoreLink.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-accept-cookies-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'acceptCookies4.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'acceptCookies4.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-block-cookies-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'blockCookies.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'blockCookies.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-keep-until'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'keepUntil2.label',
+                ),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'keepUntil2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-accept-third-party-desc'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'acceptThirdParty3.pre.label',
+                ),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'acceptThirdParty3.pre.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-accept-third-party-always-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'acceptThirdParty.always.label',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-accept-third-party-visited-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'acceptThirdParty.visited.label',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-accept-third-party-never-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'acceptThirdParty.never.label',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-clear'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'clearSiteData1.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'clearSiteData1.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-settings'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'siteDataSettings1.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'siteDataSettings1.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('sitedata-cookies-exceptions'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'cookieExceptions.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'cookieExceptions.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('addressbar-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'addressBar.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('addressbar-suggest'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'addressBar.suggest.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('addressbar-locbar-history-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'locbar.history2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'locbar.history2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('addressbar-locbar-bookmarks-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'locbar.bookmarks.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'locbar.bookmarks.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('addressbar-locbar-openpage-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'locbar.openpage.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'locbar.openpage.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('addressbar-suggestions-settings'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'suggestionSettings2.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'trackingProtectionHeader2.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-description'),
+                value=CONCAT(
+                    COPY(
+                        'browser/chrome/browser/preferences/privacy.dtd',
+                        'trackingProtection3.description',
+                    ),
+                    FTL.TextElement(' <a>'),
+                    COPY(
+                        'browser/chrome/browser/preferences/privacy.dtd',
+                        'trackingProtectionLearnMore2.label',
+                    ),
+                    FTL.TextElement('</a>'),
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-mode-label'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'trackingProtection3.radioGroupLabel',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-mode-always'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionAlways.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionAlways.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-mode-private'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionPrivate.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionPrivate.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-mode-never'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionNever.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionNever.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-pbm-label'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'trackingProtectionPBM6.label',
+                ),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionPBM6.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-exceptions'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionExceptions.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'trackingProtectionExceptions.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('tracking-change-block-list'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'changeBlockList2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'changeBlockList2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'permissions.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-location'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/content.dtd',
+                    'locationPermissions.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-location-settings'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'locationSettingsButton.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'locationSettingsButton.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-camera'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/content.dtd',
+                    'cameraPermissions.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-camera-settings'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'cameraSettingsButton.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'cameraSettingsButton.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-microphone'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/content.dtd',
+                    'microphonePermissions.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-microphone-settings'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'microphoneSettingsButton.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'microphoneSettingsButton.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-notification'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/content.dtd',
+                    'notificationPermissions.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-notification-settings'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'notificationSettingsButton.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'notificationSettingsButton.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-notification-link'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/content.dtd',
+                    'notificationPermissionsLearnMore.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-notification-pause'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        REPLACE(
+                            'browser/chrome/browser/preferences/preferences.properties',
+                            'pauseNotifications.label',
+                            {
+                                '%S': MESSAGE_REFERENCE('-brand-short-name')
+                            },
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/preferences.properties',
+                            'pauseNotifications.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-block-popups'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'blockPopups.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'blockPopups.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-block-popups-exceptions'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'popupExceptions.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/content.dtd',
+                            'popupExceptions.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-addon-install-warning'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'warnOnAddonInstall2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'warnOnAddonInstall2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-addon-exceptions'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'addonExceptions.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'addonExceptions.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-a11y-privacy-checkbox'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'a11yPrivacy.checkbox.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/privacy.dtd',
+                            'a11yPrivacy.checkbox.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('permissions-a11y-privacy-link'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'a11yPrivacy.learnmore.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-header'),
+                value=REPLACE(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'dataCollection.label',
+                    {
+                        '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name')
+                    },
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-description'),
+                value=REPLACE(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'dataCollectionDesc.label',
+                    {
+                        '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name')
+                    },
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-privacy-notice'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'dataCollectionPrivacyNotice.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-health-report'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        REPLACE(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'enableHealthReport2.label',
+                            {
+                                '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name'),
+                                'Mozilla': MESSAGE_REFERENCE('-vendor-short-name'),
+                            },
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'enableHealthReport2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-health-report-link'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'healthReportLearnMore.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-health-report-disabled'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'healthReportingDisabled.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-browser-errors'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        REPLACE(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'collectBrowserErrors.label',
+                            {
+                                '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name'),
+                                'Mozilla': MESSAGE_REFERENCE('-vendor-short-name'),
+                            },
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'collectBrowserErrors.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-browser-errors-link'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'collectBrowserErrorsLearnMore.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-backlogged-crash-reports'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        REPLACE(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'sendBackloggedCrashReports.label',
+                            {
+                                '&brandShortName;': MESSAGE_REFERENCE('-brand-short-name')
+                            },
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'sendBackloggedCrashReports.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('collection-backlogged-crash-reports-link'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'crashReporterLearnMore.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('security-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/security.dtd',
+                    'security.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('security-browsing-protection'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/security.dtd',
+                    'browsingProtection.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('security-enable-safe-browsing'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'enableSafeBrowsing.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'enableSafeBrowsing.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('security-enable-safe-browsing-link'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/privacy.dtd',
+                    'enableSafeBrowsingLearnMore.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('security-block-downloads'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'blockDownloads.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'blockDownloads.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('security-block-uncommon-software'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'blockUncommonAndUnwanted.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/security.dtd',
+                            'blockUncommonAndUnwanted.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('certs-header'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'certificateTab.label',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('certs-personal-label'),
+                value=COPY(
+                    'browser/chrome/browser/preferences/advanced.dtd',
+                    'certPersonal2.description',
+                ),
+            ),
+            FTL.Message(
+                id=FTL.Identifier('certs-select-auto-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'selectCerts.auto',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'selectCerts.auto.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('certs-select-ask-option'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'selectCerts.ask',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'selectCerts.ask.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('certs-enable-ocsp'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'enableOCSP.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'enableOCSP.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('certs-view'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'viewCerts2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'viewCerts2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+            FTL.Message(
+                id=FTL.Identifier('certs-devices'),
+                attributes=[
+                    FTL.Attribute(
+                        FTL.Identifier('label'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'viewSecurityDevices2.label',
+                        ),
+                    ),
+                    FTL.Attribute(
+                        FTL.Identifier('accesskey'),
+                        COPY(
+                            'browser/chrome/browser/preferences/advanced.dtd',
+                            'viewSecurityDevices2.accesskey',
+                        ),
+                    ),
+                ],
+            ),
+        ]
+    )