chore(l10n): update string templates for l10n

This commit is contained in:
Zachary Carter 2014-03-12 12:59:11 -07:00
Родитель afe66c605c
Коммит d4dff315bb
8 изменённых файлов: 191 добавлений и 203 удалений

Просмотреть файл

@ -1,5 +1,5 @@
<header>
<h1 id="fxa-signup-header">{{#t}}Create a Firefox account{{/t}}</h1>
<h1 id="fxa-signup-header">{{#t}}Create a Firefox Account{{/t}}</h1>
</header>
<section>

Просмотреть файл

@ -10,7 +10,6 @@ module.exports = function (grunt) {
'clean:dist',
'useminPrepare',
'selectconfig:dist',
'copy:strings',
'l10n-create-json',
// server templates are needed for requirejs to replace the require script
'copy:server_templates',

Просмотреть файл

@ -22,7 +22,7 @@ module.exports = function (grunt) {
}
grunt.task.run([
'l10n-fetch-strings',
'copy:strings',
'po2json'
]);
});

Просмотреть файл

@ -52,10 +52,6 @@ module.exports = function (grunt) {
done();
});
});
grunt.task.run([
'l10n-merge'
]);
});
};

Просмотреть файл

@ -1,47 +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/. */
// takes care of fetching strings translated from the svn repo.
const mkdirp = require('mkdirp');
const fs = require('fs');
const path = require('path');
const childProcess = require('child_process');
const svnRepo =
'https://svn.mozilla.org/projects/l10n-misc/trunk/firefoxaccounts/locale/';
// where locale svn repo is located.
const localePath = path.join(__dirname, '..', 'locale');
module.exports = function (grunt) {
'use strict';
grunt.registerTask('l10n-fetch-strings', 'Fetch localized strings from the localization repo.', function () {
var done = this.async();
if (! fs.existsSync(localePath)) {
console.log('=> checking out svn repo');
mkdirp.sync(localePath);
spawn('svn', ['co', svnRepo, localePath], null, done);
} else {
console.log('=> updating svn repo');
spawn('svn', ['up'], { cwd: localePath }, done);
}
});
function spawn(command, args, opts, done) {
var cp = childProcess.spawn(command, args, opts);
cp.stdout.pipe(process.stdout);
cp.stderr.pipe(process.stderr);
cp.on('exit', done);
return cp;
}
};

Просмотреть файл

@ -10,12 +10,28 @@ After you've added new strings to source, you'll need to extract them and update
grunt extract-l10n
This will also update the other locales with any new strings.
## Updating the l10n repo
After extracting new strings, you'll have to update the l10n repo so that localizers can begin translation.
First, check out the l10n repo from github:
git clone https://github.com/mozilla/fxa-content-server-l10n.git
Then copy the .pot files to that repo:
cp -r locale/templates/ ../fxa-content-server-l10n/locale/templates/
Then run `merge_po.sh` from within fxa-content-server-l10n:
./scripts/merge_po.sh locale
Commit the merged .po files to master and enjoy.
## Updating translations
Translators will update the `.po` files in this repo directly. To convert the new translations into JSON for the app to use, run:
Translators will update the `.po` files in the l10n repo, which are downloaded as a bower dependency. To convert the new translations into JSON for the app to use, run:
grunt po2json
grunt l10n-create-json
The JSON is not included under version control– they're regenerated on each deployment.

Просмотреть файл

@ -7,73 +7,73 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2014-02-19 21:13+0000\n"
"POT-Creation-Date: 2014-03-12 19:50+0000\n"
#: app/scripts/templates/sign_up.mustache:11
#: app/scripts/templates/sign_up.mustache:10
msgid "1991"
msgstr ""
#: app/scripts/templates/sign_up.mustache:12
#: app/scripts/templates/sign_up.mustache:11
msgid "1992"
msgstr ""
#: app/scripts/templates/sign_up.mustache:13
#: app/scripts/templates/sign_up.mustache:12
msgid "1993"
msgstr ""
#: app/scripts/templates/sign_up.mustache:14
#: app/scripts/templates/sign_up.mustache:13
msgid "1994"
msgstr ""
#: app/scripts/templates/sign_up.mustache:15
#: app/scripts/templates/sign_up.mustache:14
msgid "1995"
msgstr ""
#: app/scripts/templates/sign_up.mustache:16
#: app/scripts/templates/sign_up.mustache:15
msgid "1996"
msgstr ""
#: app/scripts/templates/sign_up.mustache:17
#: app/scripts/templates/sign_up.mustache:16
msgid "1997"
msgstr ""
#: app/scripts/templates/sign_up.mustache:18
#: app/scripts/templates/sign_up.mustache:17
msgid "1998"
msgstr ""
#: app/scripts/templates/sign_up.mustache:19
#: app/scripts/templates/sign_up.mustache:18
msgid "1999"
msgstr ""
#: app/scripts/templates/sign_up.mustache:20
#: app/scripts/templates/sign_up.mustache:19
msgid "2000"
msgstr ""
#: app/scripts/templates/sign_up.mustache:21
#: app/scripts/templates/sign_up.mustache:20
msgid "2001"
msgstr ""
#: app/scripts/templates/sign_up.mustache:22
#: app/scripts/templates/sign_up.mustache:21
msgid "2002"
msgstr ""
#: app/scripts/templates/sign_up.mustache:23
#: app/scripts/templates/sign_up.mustache:22
msgid "2003"
msgstr ""
#: app/scripts/templates/sign_up.mustache:24
#: app/scripts/templates/sign_up.mustache:23
msgid "2004"
msgstr ""
#: app/scripts/templates/sign_up.mustache:25
#: app/scripts/templates/sign_up.mustache:24
msgid "2005"
msgstr ""
#: app/scripts/templates/sign_up.mustache:26
#: app/scripts/templates/sign_up.mustache:25
msgid "2006"
msgstr ""
#: app/scripts/templates/sign_up.mustache:27
#: app/scripts/templates/sign_up.mustache:26
msgid "2007"
msgstr ""
@ -81,55 +81,59 @@ msgstr ""
msgid "old and new passwords must be different"
msgstr ""
#: app/scripts/views/complete_reset_password.js:37
#: app/scripts/views/complete_reset_password.js:38
msgid "no token specified"
msgstr ""
#: app/scripts/views/complete_reset_password.js:42
#: app/scripts/views/complete_sign_up.js:47
#: app/scripts/views/complete_reset_password.js:43
#: app/scripts/views/complete_sign_up.js:30
msgid "no code specified"
msgstr ""
#: app/scripts/views/complete_reset_password.js:47
#: app/scripts/views/complete_reset_password.js:48
msgid "no email specified"
msgstr ""
#: app/scripts/views/complete_reset_password.js:60
#: app/scripts/views/complete_reset_password.js:61
msgid "passwords do not match"
msgstr ""
#: app/scripts/views/complete_sign_up.js:42
#: app/scripts/views/complete_sign_up.js:25
msgid "no uid specified"
msgstr ""
#: app/scripts/views/form.js:187
#: app/scripts/views/form.js:226
#: app/scripts/lib/strings.js:18
msgid "Valid email required"
msgstr ""
#: app/scripts/views/form.js:193
#: app/scripts/views/form.js:232
#: app/scripts/lib/strings.js:23
#: app/scripts/templates/change_password.mustache:10
#: app/scripts/templates/complete_reset_password.mustache:9
#: app/scripts/templates/sign_up.mustache:8
#: app/scripts/templates/change_password.mustache:9
#: app/scripts/templates/complete_reset_password.mustache:8
#: app/scripts/templates/sign_up.mustache:7
msgid "Must be at least 8 characters"
msgstr ""
#: app/scripts/views/form.js:194
#: app/scripts/views/form.js:233
#: app/scripts/lib/strings.js:19
msgid "Valid password required"
msgstr ""
#: app/scripts/views/sign_in.js:90
#: app/scripts/views/sign_in.js:51
msgid "/force_auth requires an email"
msgstr ""
#: app/scripts/views/sign_in.js:96
msgid "Unknown account. <a href=\"/signup\">Sign up</a>"
msgstr ""
#: app/scripts/views/sign_up.js:71
#: app/scripts/views/sign_up.js:78
#: app/scripts/lib/strings.js:24
msgid "Year of birth required"
msgstr ""
#: app/scripts/views/sign_up.js:131
#: app/scripts/views/sign_up.js:138
msgid "Account already exists. <a href=\"/signin\">Sign in</a>"
msgstr ""
@ -243,240 +247,234 @@ msgid "Cannot connect to the internet"
msgstr ""
#: app/scripts/templates/cannot_create_account.mustache:1
#: app/scripts/templates/change_password.mustache:1
#: app/scripts/templates/complete_reset_password.mustache:1
#: app/scripts/templates/complete_sign_up.mustache:1
#: app/scripts/templates/confirm.mustache:1
#: app/scripts/templates/confirm_reset_password.mustache:1
#: app/scripts/templates/delete_account.mustache:1
#: app/scripts/templates/pp.mustache:1
#: app/scripts/templates/reset_password.mustache:1
#: app/scripts/templates/reset_password_complete.mustache:1
#: app/scripts/templates/settings.mustache:1
#: app/scripts/templates/sign_in.mustache:1
#: app/scripts/templates/sign_up.mustache:1
#: app/scripts/templates/tos.mustache:1
msgid "Firefox Accounts"
msgstr ""
#: app/scripts/templates/cannot_create_account.mustache:2
msgid "Cannot create account"
msgstr ""
#: app/scripts/templates/cannot_create_account.mustache:3
#: app/scripts/templates/cannot_create_account.mustache:2
msgid "You must meet certain age requirements to create a Firefox&nbsp;Account."
msgstr ""
#: app/scripts/templates/cannot_create_account.mustache:4
#: app/scripts/templates/cannot_create_account.mustache:3
msgid "Learn more."
msgstr ""
#: app/scripts/templates/change_password.mustache:2
#: app/scripts/templates/settings.mustache:5
#: app/scripts/templates/change_password.mustache:1
#: app/scripts/templates/settings.mustache:4
msgid "Change password"
msgstr ""
#: app/scripts/templates/change_password.mustache:3
#: app/scripts/templates/change_password.mustache:2
msgid "Password changed"
msgstr ""
#: app/scripts/templates/change_password.mustache:4
#: app/scripts/templates/change_password.mustache:3
msgid "Old password"
msgstr ""
#: app/scripts/templates/change_password.mustache:6
#: app/scripts/templates/change_password.mustache:9
#: app/scripts/templates/complete_reset_password.mustache:5
#: app/scripts/templates/complete_reset_password.mustache:8
#: app/scripts/templates/delete_account.mustache:7
#: app/scripts/templates/sign_in.mustache:11
#: app/scripts/templates/sign_up.mustache:7
#: app/scripts/templates/change_password.mustache:5
#: app/scripts/templates/change_password.mustache:8
#: app/scripts/templates/complete_reset_password.mustache:4
#: app/scripts/templates/complete_reset_password.mustache:7
#: app/scripts/templates/delete_account.mustache:6
#: app/scripts/templates/sign_in.mustache:10
#: app/scripts/templates/sign_up.mustache:6
msgid "Show"
msgstr ""
#: app/scripts/templates/change_password.mustache:7
#: app/scripts/templates/change_password.mustache:6
msgid "New password"
msgstr ""
#: app/scripts/templates/change_password.mustache:11
#: app/scripts/templates/change_password.mustache:10
msgid "Change Password"
msgstr ""
#: app/scripts/templates/change_password.mustache:12
#: app/scripts/templates/delete_account.mustache:9
#: app/scripts/templates/pp.mustache:4
#: app/scripts/templates/reset_password.mustache:6
#: app/scripts/templates/reset_password.mustache:8
#: app/scripts/templates/tos.mustache:4
#: app/scripts/templates/change_password.mustache:11
#: app/scripts/templates/delete_account.mustache:8
#: app/scripts/templates/pp.mustache:3
#: app/scripts/templates/reset_password.mustache:5
#: app/scripts/templates/tos.mustache:3
msgid "Back"
msgstr ""
#: app/scripts/templates/complete_reset_password.mustache:2
#: app/scripts/templates/reset_password.mustache:2
#: app/scripts/templates/complete_reset_password.mustache:1
#: app/scripts/templates/reset_password.mustache:1
msgid "Reset password"
msgstr ""
#: app/scripts/templates/complete_reset_password.mustache:3
#: app/scripts/templates/delete_account.mustache:5
#: app/scripts/templates/sign_in.mustache:8
#: app/scripts/templates/sign_up.mustache:4
#: app/scripts/templates/complete_reset_password.mustache:2
#: app/scripts/templates/delete_account.mustache:4
#: app/scripts/templates/sign_in.mustache:7
#: app/scripts/templates/sign_up.mustache:3
msgid "Password"
msgstr ""
#: app/scripts/templates/complete_reset_password.mustache:6
#: app/scripts/templates/complete_reset_password.mustache:5
msgid "Repeat Password"
msgstr ""
#: app/scripts/templates/complete_reset_password.mustache:10
#: app/scripts/templates/reset_password.mustache:5
#: app/scripts/templates/sign_up.mustache:29
#: app/scripts/templates/complete_reset_password.mustache:9
#: app/scripts/templates/reset_password.mustache:4
#: app/scripts/templates/sign_up.mustache:28
msgid "Next"
msgstr ""
#: app/scripts/templates/complete_sign_up.mustache:2
msgid "Account verified"
#: app/scripts/templates/complete_sign_up.mustache:1
msgid "Completing sign up"
msgstr ""
#: app/scripts/templates/complete_sign_up.mustache:3
#: app/scripts/templates/reset_password_complete.mustache:3
msgid "Success"
msgstr ""
#: app/scripts/templates/complete_sign_up.mustache:4
#: app/scripts/templates/reset_password_complete.mustache:4
msgid "You are now ready to use %(service)s."
msgstr ""
#: app/scripts/templates/complete_sign_up.mustache:6
#: app/scripts/templates/reset_password_complete.mustache:6
msgid "Your account is ready!"
msgstr ""
#: app/scripts/templates/confirm.mustache:2
#: app/scripts/templates/confirm.mustache:1
msgid "Confirm your account"
msgstr ""
#: app/scripts/templates/confirm.mustache:3
#: app/scripts/templates/confirm_reset_password.mustache:3
#: app/scripts/templates/confirm.mustache:2
#: app/scripts/templates/confirm_reset_password.mustache:2
msgid "Email Sent"
msgstr ""
#: app/scripts/templates/confirm.mustache:4
#: app/scripts/templates/confirm.mustache:3
msgid "A verification link has been sent&nbsp;to: %(email)s"
msgstr ""
#: app/scripts/templates/confirm.mustache:4
#: app/scripts/templates/confirm_reset_password.mustache:4
msgid "Resend email"
msgstr ""
#: app/scripts/templates/confirm.mustache:5
#: app/scripts/templates/confirm_reset_password.mustache:5
msgid "Resend email"
msgstr ""
#: app/scripts/templates/confirm.mustache:6
#: app/scripts/templates/confirm_reset_password.mustache:6
msgid "Email resent"
msgstr ""
#: app/scripts/templates/confirm_reset_password.mustache:2
#: app/scripts/templates/confirm_reset_password.mustache:1
msgid "Reset email sent"
msgstr ""
#: app/scripts/templates/confirm_reset_password.mustache:4
#: app/scripts/templates/confirm_reset_password.mustache:3
msgid "A reset link has been sent to %(email)s"
msgstr ""
#: app/scripts/templates/delete_account.mustache:2
#: app/scripts/templates/delete_account.mustache:1
msgid "Delete account"
msgstr ""
#: app/scripts/templates/delete_account.mustache:3
#: app/scripts/templates/delete_account.mustache:2
msgid "Are you sure you want to delete your account? This action cannot be undone."
msgstr ""
#: app/scripts/templates/delete_account.mustache:4
#: app/scripts/templates/reset_password.mustache:4
#: app/scripts/templates/sign_in.mustache:6
#: app/scripts/templates/sign_up.mustache:3
#: app/scripts/templates/delete_account.mustache:3
#: app/scripts/templates/reset_password.mustache:3
#: app/scripts/templates/sign_in.mustache:5
#: app/scripts/templates/sign_up.mustache:2
msgid "Email"
msgstr ""
#: app/scripts/templates/delete_account.mustache:8
#: app/scripts/templates/delete_account.mustache:7
msgid "Delete Account"
msgstr ""
#: app/scripts/templates/pp.mustache:2
#: app/scripts/templates/tos.mustache:2
#: app/scripts/templates/legal.mustache:1
#: app/scripts/templates/pp.mustache:1
#: app/scripts/templates/tos.mustache:1
msgid "Firefox cloud services"
msgstr ""
#: app/scripts/templates/pp.mustache:3
#: app/scripts/templates/legal.mustache:2
msgid "Legal"
msgstr ""
#: app/scripts/templates/legal.mustache:3
#: app/scripts/templates/tos.mustache:2
msgid "Terms of Service"
msgstr ""
#: app/scripts/templates/legal.mustache:4
#: app/scripts/templates/pp.mustache:2
msgid "Privacy Notice"
msgstr ""
#: app/scripts/templates/reset_password.mustache:3
msgid "Enter your email to reset&nbsp;the account password."
#: app/scripts/templates/ready.mustache:1
msgid "Signed in successfully"
msgstr ""
#: app/scripts/templates/reset_password_complete.mustache:2
#: app/scripts/templates/ready.mustache:3
msgid "Account verified"
msgstr ""
#: app/scripts/templates/ready.mustache:5
msgid "Password reset"
msgstr ""
#: app/scripts/templates/settings.mustache:2
#: app/scripts/templates/ready.mustache:7
msgid "Success"
msgstr ""
#: app/scripts/templates/ready.mustache:8
msgid "You are now ready to use %(service)s."
msgstr ""
#: app/scripts/templates/ready.mustache:10
msgid "Your account is ready!"
msgstr ""
#: app/scripts/templates/reset_password.mustache:2
msgid "Enter your email to reset&nbsp;the account password."
msgstr ""
#: app/scripts/templates/settings.mustache:1
msgid "Manage account"
msgstr ""
#: app/scripts/templates/settings.mustache:3
#: app/scripts/templates/settings.mustache:2
msgid "You are signed in as: %(email)s"
msgstr ""
#: app/scripts/templates/settings.mustache:4
#: app/scripts/templates/settings.mustache:3
msgid "Sign out"
msgstr ""
#: app/scripts/templates/sign_in.mustache:2
#: app/scripts/templates/sign_in.mustache:12
#: app/scripts/templates/sign_in.mustache:1
#: app/scripts/templates/sign_in.mustache:11
msgid "Sign in"
msgstr ""
#: app/scripts/templates/sign_in.mustache:3
#: app/scripts/templates/sign_in.mustache:2
msgid "Sign in to continue"
msgstr ""
#: app/scripts/templates/sign_in.mustache:13
#: app/scripts/templates/sign_in.mustache:15
#: app/scripts/templates/sign_in.mustache:12
#: app/scripts/templates/sign_in.mustache:14
msgid "Forgot password?"
msgstr ""
#: app/scripts/templates/sign_in.mustache:14
#: app/scripts/templates/sign_in.mustache:13
msgid "Create an account"
msgstr ""
#: app/scripts/templates/sign_in.mustache:17
#: app/scripts/templates/sign_up.mustache:28
#: app/scripts/templates/sign_in.mustache:16
#: app/scripts/templates/sign_up.mustache:27
msgid ""
"By proceeding, I agree to the <a id=\"fxa-tos\" href=\"/legal/terms\">Terms "
"of Service</a> and <a id=\"fxa-pp\" href=\"/legal/privacy\">Privacy "
"Notice</a> of Firefox cloud services."
msgstr ""
#: app/scripts/templates/sign_up.mustache:2
msgid "Create a Firefox account"
#: app/scripts/templates/sign_up.mustache:1
msgid "Create a Firefox Account"
msgstr ""
#: app/scripts/templates/sign_up.mustache:9
#: app/scripts/templates/sign_up.mustache:8
msgid "Year of birth"
msgstr ""
#: app/scripts/templates/sign_up.mustache:10
#: app/scripts/templates/sign_up.mustache:9
msgid "1990 or earlier"
msgstr ""
#: app/scripts/templates/sign_up.mustache:30
#: app/scripts/templates/sign_up.mustache:29
msgid "Choose what to sync"
msgstr ""
#: app/scripts/templates/sign_up.mustache:32
#: app/scripts/templates/sign_up.mustache:31
msgid "Already have an account? Sign in."
msgstr ""
#: app/scripts/templates/tos.mustache:3
msgid "Terms of Service"
msgstr ""

Просмотреть файл

@ -7,8 +7,12 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2014-02-19 21:13+0000\n"
"POT-Creation-Date: 2014-03-12 19:50+0000\n"
#: server/templates/pages/src/404.html:1
#: server/templates/pages/src/index.html:1
#: server/templates/pages/dist/404.html:1
#: server/templates/pages/dist/index.html:1
#: server/templates/email/reset.html:1
#: server/templates/email/reset.html:2
#: server/templates/email/reset.txt:1
@ -18,6 +22,28 @@ msgstr ""
msgid "Firefox Accounts"
msgstr ""
#: server/templates/pages/src/404.html:2
#: server/templates/pages/dist/404.html:2
msgid "Page not found"
msgstr ""
#: server/templates/pages/src/404.html:3
#: server/templates/pages/dist/404.html:3
msgid ""
"The page you requested is not found. We've been notified and will fix any "
"links that may be broken."
msgstr ""
#: server/templates/pages/src/404.html:4
#: server/templates/pages/dist/404.html:4
msgid "Home"
msgstr ""
#: server/templates/pages/src/index.html:2
#: server/templates/pages/dist/index.html:2
msgid "Firefox Accounts requires JavaScript."
msgstr ""
#: server/templates/email/reset.html:3
#: server/templates/email/reset.txt:2
msgid "A request to reset the password for %(email)s has been made."
@ -53,10 +79,10 @@ msgstr ""
msgid "Verify:"
msgstr ""
#: server/lib/templates.js:30
#: server/lib/templates.js:35
msgid "Confirm Your Account"
msgstr ""
#: server/lib/templates.js:35
#: server/lib/templates.js:40
msgid "Reset Password Request"
msgstr ""