diff --git a/Cargo.lock b/Cargo.lock
index ec75e555420c..8c053058a762 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -54,7 +54,7 @@ version = "0.2.3"
dependencies = [
"bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bytes 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "cubeb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cubeb 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
"error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
"iovec 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -90,7 +90,7 @@ version = "0.2.2"
dependencies = [
"audioipc 0.2.3",
"bytes 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "cubeb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cubeb 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
"error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
"lazycell 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -407,10 +407,10 @@ dependencies = [
[[package]]
name = "cubeb"
-version = "0.5.0"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cubeb-core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cubeb-core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -418,16 +418,16 @@ name = "cubeb-backend"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cubeb-core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cubeb-core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cubeb-core"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "cubeb-sys 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cubeb-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -442,7 +442,7 @@ dependencies = [
[[package]]
name = "cubeb-sys"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -740,7 +740,7 @@ dependencies = [
"audioipc-server 0.2.2",
"cose-c 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"cubeb-pulse 0.2.0",
- "cubeb-sys 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cubeb-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"encoding_c 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"encoding_glue 0.1.0",
"geckoservo 0.0.1",
@@ -2264,10 +2264,10 @@ dependencies = [
"checksum cssparser-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "079adec4af52bb5275eadd004292028c79eb3c5f5b4ee8086a36d4197032f6df"
"checksum cstr 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b6557bdb1dc9647eae1cf7f5601b14cd45fc3c7ccf2df618387416fe542da6ea"
"checksum cstr-macros 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f9f316203d1ea36f4f18316822806f6999aa3dc5ed1adf51e35b77e3b3933d78"
-"checksum cubeb 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7923bed2d5a1a64ba0c3e8b6badc360508ba488d1f2f59f16a688802e755bb85"
+"checksum cubeb 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8a3502aafa1bf95c524f65d2ba46d8741700c6a8a9543ea52c6da3d8b69a2896"
"checksum cubeb-backend 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fdcac95519416d9ec814db2dc40e6293e7da25b906023d93f48b87f0587ab138"
-"checksum cubeb-core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "169d9a36f5daa60f9c4597905132aef056cf62693addd4a3421492853ccad565"
-"checksum cubeb-sys 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e405ad4dff2c1a7cbfa6998e5925e8ceafe900feeacfcad35a3e3790bea0f2aa"
+"checksum cubeb-core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37f7b20f757a4e4b6aa28863236551bff77682dc6db192eba15af615492b5445"
+"checksum cubeb-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "653b9e245d35dbe2a2da7c4586275cee75ff656ddeb02d4a73b4afdfa6d67502"
"checksum darling 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d3effd06d4057f275cb7858889f4952920bab78dd8ff0f6e7dfe0c8d2e67ed89"
"checksum darling_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "167dd3e235c2f1da16a635c282630452cdf49191eb05711de1bcd1d3d5068c00"
"checksum darling_macro 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c53edaba455f6073a10c27c72440860eb3f60444f8c8660a391032eeae744d82"
diff --git a/browser/components/preferences/in-content/preferences.xul b/browser/components/preferences/in-content/preferences.xul
index 374af9f26d78..9b48292e4e03 100644
--- a/browser/components/preferences/in-content/preferences.xul
+++ b/browser/components/preferences/in-content/preferences.xul
@@ -18,8 +18,6 @@
-
@@ -45,7 +43,6 @@
%aboutDialogDTD;
%brandDTD;
-%preferencesDTD;
%selectBookmarkDTD;
%languagesDTD;
%fontDTD;
diff --git a/browser/components/preferences/in-content/sync.js b/browser/components/preferences/in-content/sync.js
index e0d467c6cb37..edea4d9ed4b4 100644
--- a/browser/components/preferences/in-content/sync.js
+++ b/browser/components/preferences/in-content/sync.js
@@ -118,7 +118,7 @@ var gSyncPane = {
// Use cached values while we wait for the up-to-date values
let cachedComputerName = Services.prefs.getCharPref("services.sync.client.name", "");
- document.querySelector(".fxaEmailAddress").value = username;
+ document.getElementById("fxaEmailAddress").textContent = username;
this._populateComputerName(cachedComputerName);
this.page = FXA_PAGE_LOGGED_IN;
},
@@ -259,7 +259,7 @@ var gSyncPane = {
.wrappedJSObject;
let displayNameLabel = document.getElementById("fxaDisplayName");
- let fxaEmailAddressLabels = document.querySelectorAll(".fxaEmailAddress");
+ let fxaEmailAddressLabels = document.querySelectorAll(".l10nArgsEmailAddress");
displayNameLabel.hidden = true;
// determine the fxa status...
@@ -288,8 +288,11 @@ var gSyncPane = {
syncReady = true;
}
fxaEmailAddressLabels.forEach((label) => {
- label.value = state.email;
+ let l10nAttrs = document.l10n.getAttributes(label);
+ document.l10n.setAttributes(l10nAttrs.id, {email: state.email});
});
+ document.getElementById("fxaEmailAddress").textContent = state.email;
+
this._populateComputerName(Weave.Service.clientsEngine.localName);
let engines = document.getElementById("fxaSyncEngines");
for (let checkbox of engines.querySelectorAll("checkbox")) {
diff --git a/browser/components/preferences/in-content/sync.xul b/browser/components/preferences/in-content/sync.xul
index ce461c846094..9f6cd07d32e8 100755
--- a/browser/components/preferences/in-content/sync.xul
+++ b/browser/components/preferences/in-content/sync.xul
@@ -11,7 +11,7 @@
class="subcategory"
hidden="true"
data-category="paneSync">
-
+
-
- &signedOut.description;
+
+
@@ -33,17 +33,16 @@
-
+
+ data-l10n-id="sync-signedout-account-signin"/>
&signedOut.accountBox.create2;
+ data-l10n-id="sync-signedout-account-create" />
@@ -64,7 +63,7 @@
-
+
@@ -74,20 +73,19 @@
role="button"
onclick="gSyncPane.openChangeProfileImage(event);"
onkeypress="gSyncPane.openChangeProfileImage(event);"
- tooltiptext="&profilePicture.tooltip;"/>
+ data-l10n-id="sync-profile-picture"/>
-
+
+ data-l10n-id="sync-disconnect"/>
&verifiedManage.label;
+ data-l10n-id="sync-manage-account"
+ onkeypress="gSyncPane.openManageFirefoxAccount(event);"/>
@@ -100,15 +98,14 @@
-
- &signedInUnverified.beforename.label;
-
- &signedInUnverified.aftername.label;
-
+
-
-
+
+
@@ -121,63 +118,42 @@
-
- &signedInLoginFailure.beforename.label;
-
- &signedInLoginFailure.aftername.label;
-
+
-
-
+
+
-
- &signedIn.settings.description;
+
+
-
-
-
-
-
-
-
-
@@ -187,38 +163,29 @@
-
+
+ data-l10n-id="sync-device-name-change"/>
+ class="text-link fxaMobilePromo" data-l10n-id="sync-mobilepromo-single"/>
+ class="text-link fxaMobilePromo" data-l10n-id="sync-mobilepromo-multi"/>
-
-
+
+
diff --git a/browser/locales/en-US/browser/branding/sync-brand.ftl b/browser/locales/en-US/browser/branding/sync-brand.ftl
index 3f59c36cb6ec..3d2e27adf971 100644
--- a/browser/locales/en-US/browser/branding/sync-brand.ftl
+++ b/browser/locales/en-US/browser/branding/sync-brand.ftl
@@ -7,3 +7,7 @@
# “Sync” can be localized, “Firefox” must be treated as a brand,
# and kept in English.
-sync-brand-name = Firefox Sync
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Firefox Account
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
index ed5e14c09db1..60918811f1f5 100644
--- a/browser/locales/en-US/browser/preferences/preferences.ftl
+++ b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -471,6 +471,113 @@ containers-preferences-button =
containers-remove-button =
.label = Remove
+## Sync Section - Signed out
+
+sync-signedout-caption = Take Your Web With You
+sync-signedout-description = Synchronize your bookmarks, history, tabs, passwords, add-ons, and preferences across all your devices.
+
+sync-signedout-account-title = Connect with a { -fxaccount-brand-name }
+sync-signedout-account-create = Don’t have an account? Get started
+ .accesskey = c
+
+sync-signedout-account-signin =
+ .label = Sign In…
+ .accesskey = I
+
+## Sync Section - Signed in
+
+sync-profile-picture =
+ .tooltiptext = Change profile picture
+
+sync-disconnect =
+ .label = Disconnect…
+ .accesskey = D
+
+sync-manage-account = Manage account
+ .accesskey = o
+
+sync-signedin-unverified = { $email } is not verified.
+sync-signedin-login-failure = Please sign in to reconnect { $email }
+
+sync-resend-verification =
+ .label = Resend Verification
+ .accesskey = d
+
+sync-remove-account =
+ .label = Remove Account
+ .accesskey = R
+
+sync-sign-in =
+ .label = Sign in
+ .accesskey = g
+
+sync-signedin-settings-header = Sync Settings
+sync-signedin-settings-desc = Choose what to synchronize on your devices using { -brand-short-name }
+
+sync-engine-bookmarks =
+ .label = Bookmarks
+ .accesskey = m
+
+sync-engine-history =
+ .label = History
+ .accesskey = r
+
+sync-engine-tabs =
+ .label = Open tabs
+ .tooltiptext = A list of what’s open on all synced devices
+ .accesskey = t
+
+sync-engine-logins =
+ .label = Logins
+ .tooltiptext = Usernames and passwords you’ve saved
+ .accesskey = L
+
+sync-engine-addresses =
+ .label = Addresses
+ .tooltiptext = Postal addresses you’ve saved (desktop only)
+ .accesskey = e
+
+sync-engine-creditcards =
+ .label = Credit cards
+ .tooltiptext = Names, numbers and expiry dates (desktop only)
+ .accesskey = C
+
+sync-engine-addons =
+ .label = Add-ons
+ .tooltiptext = Extensions and themes for Firefox desktop
+ .accesskey = A
+
+sync-engine-prefs =
+ .label =
+ { PLATFORM() ->
+ [windows] Options
+ *[other] Preferences
+ }
+ .tooltiptext = General, Privacy, and Security settings you’ve changed
+ .accesskey = s
+
+sync-device-name-header = Device Name
+
+sync-device-name-change =
+ .label = Change Device Name…
+ .accesskey = h
+
+sync-device-name-cancel =
+ .label = Cancel
+ .accesskey = n
+
+sync-device-name-save =
+ .label = Save
+ .accesskey = v
+
+sync-mobilepromo-single = Connect another device
+
+sync-mobilepromo-multi = Manage devices
+
+sync-tos-link = Terms of Service
+
+sync-fxa-privacy-notice = Privacy Notice
+
## Privacy Section
privacy-header = Browser Privacy
diff --git a/browser/locales/en-US/chrome/browser/preferences/preferences.dtd b/browser/locales/en-US/chrome/browser/preferences/preferences.dtd
deleted file mode 100644
index c56189f2d1e3..000000000000
--- a/browser/locales/en-US/chrome/browser/preferences/preferences.dtd
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
diff --git a/browser/locales/en-US/chrome/browser/preferences/sync.dtd b/browser/locales/en-US/chrome/browser/preferences/sync.dtd
index 582c69785860..140ced1ecf86 100644
--- a/browser/locales/en-US/chrome/browser/preferences/sync.dtd
+++ b/browser/locales/en-US/chrome/browser/preferences/sync.dtd
@@ -2,90 +2,6 @@
- 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/. -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-