From 719764964eb07e63ab5e003210b9c243ec1448a1 Mon Sep 17 00:00:00 2001 From: Stuart Colville Date: Fri, 20 May 2016 17:00:54 +0100 Subject: [PATCH] Create debug locales --- bin/debug-locales | 39 ++++++++ config/default.js | 8 +- locale/dbg/LC_MESSAGES/disco.po | 51 +++++++++++ locale/dbg/LC_MESSAGES/search.po | 129 +++++++++++++++++++++++++++ locale/dbg_rtl/LC_MESSAGES/disco.po | 51 +++++++++++ locale/dbg_rtl/LC_MESSAGES/search.po | 129 +++++++++++++++++++++++++++ 6 files changed, 403 insertions(+), 4 deletions(-) create mode 100755 bin/debug-locales create mode 100644 locale/dbg/LC_MESSAGES/disco.po create mode 100644 locale/dbg/LC_MESSAGES/search.po create mode 100644 locale/dbg_rtl/LC_MESSAGES/disco.po create mode 100644 locale/dbg_rtl/LC_MESSAGES/search.po diff --git a/bin/debug-locales b/bin/debug-locales new file mode 100755 index 00000000000..d695f029268 --- /dev/null +++ b/bin/debug-locales @@ -0,0 +1,39 @@ +#!/usr/bin/env node --use_strict + +/* + * Generate a unicode debug locale and a flipped rtl + * debug locale using podebug. + * + * podebug is a dependency you can install it with: + + * OSX: + * brew install translate-toolkit + * Debian Linux variants: + * sudo apt-get install translate-toolkit + * + */ + +const glob = require('glob'); +const path = require('path'); +const shell = require('shelljs'); + +const debugLocales = ['dbg', 'dbg-rtl']; +const localeDir = path.join(__dirname, '../locale'); +const templateDir = path.join(localeDir, 'templates/LC_MESSAGES'); +const potFiles = glob.sync(`${templateDir}/*.pot`); + +let locale; +let rewrite; +let potFile; +let poFile; +let fileName; + +for (locale of debugLocales) { + for (potFile of potFiles) { + locale = locale.replace('-', '_'); + fileName = path.basename(potFile, '.pot'); + poFile = path.join(localeDir, locale, 'LC_MESSAGES', `${fileName}.po`); + rewrite = locale === 'dbg' ? 'unicode' : 'flipped'; + shell.exec(`podebug -i ${potFile} -o ${poFile} --rewrite ${rewrite}`); + } +} diff --git a/config/default.js b/config/default.js index 9688b5d312d..b57be234829 100644 --- a/config/default.js +++ b/config/default.js @@ -109,9 +109,9 @@ module.exports = { }, supportedLocales: [ - 'af', 'ar', 'bg', 'bn-BD', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'en-US', - 'es', 'eu', 'fa', 'fi', 'fr', 'ga-IE', 'he', 'hu', 'id', 'it', 'ja', 'ko', - 'mk', 'mn', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk', 'sl', 'sq', - 'sv-SE', 'uk', 'vi', 'zh-CN', 'zh-TW', + 'af', 'ar', 'bg', 'bn-BD', 'ca', 'cs', 'da', 'de', 'dbg', 'dbg-rtl', 'el', + 'en-GB', 'en-US', 'es', 'eu', 'fa', 'fi', 'fr', 'ga-IE', 'he', 'hu', 'id', + 'it', 'ja', 'ko', 'mk', 'mn', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk', + 'sl', 'sq', 'sv-SE', 'uk', 'vi', 'zh-CN', 'zh-TW', ], }; diff --git a/locale/dbg/LC_MESSAGES/disco.po b/locale/dbg/LC_MESSAGES/disco.po new file mode 100644 index 00000000000..89dbcd54470 --- /dev/null +++ b/locale/dbg/LC_MESSAGES/disco.po @@ -0,0 +1,51 @@ +msgid "" +msgstr "" +"Project-Id-Version: disco\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2016-05-20 11:26+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"Content-Type: text/plain; charset=utf-8\n" + +#: src/disco/components/Addon.js:55 +msgid "An unexpected error occurred" +msgstr "Ȧƞ ŭƞḗẋƥḗƈŧḗḓ ḗřřǿř ǿƈƈŭřřḗḓ" + +#: src/disco/components/Addon.js:80 +msgid "Preview %(name)s" +msgstr "Ƥřḗṽīḗẇ %(name)s" + +#: src/disco/containers/App.js:18 +msgid "Discover Add-ons" +msgstr "Ḓīşƈǿṽḗř Ȧḓḓ-ǿƞş" + +#: src/disco/containers/DiscoPane.js:20 +msgid "Personalize Your Firefox" +msgstr "Ƥḗřşǿƞȧŀīzḗ Ẏǿŭř Ƒīřḗƒǿẋ" + +#: src/disco/containers/DiscoPane.js:21 +msgid "" +"There are thousands of add-ons that let you make Firefox all your\n" +"own—everything from fun visual themes to powerful tools and features.\n" +"Here are a few great ones to check out." +msgstr "" +"Ŧħḗřḗ ȧřḗ ŧħǿŭşȧƞḓş ǿƒ ȧḓḓ-ǿƞş ŧħȧŧ ŀḗŧ ẏǿŭ ḿȧķḗ Ƒīřḗƒǿẋ ȧŀŀ ẏǿŭř\n" +"ǿẇƞ—ḗṽḗřẏŧħīƞɠ ƒřǿḿ ƒŭƞ ṽīşŭȧŀ ŧħḗḿḗş ŧǿ ƥǿẇḗřƒŭŀ ŧǿǿŀş ȧƞḓ ƒḗȧŧŭřḗş.\n" +"Ħḗřḗ ȧřḗ ȧ ƒḗẇ ɠřḗȧŧ ǿƞḗş ŧǿ ƈħḗƈķ ǿŭŧ." + +#: src/disco/containers/DiscoPane.js:27 +msgid "Click to play" +msgstr "Ƈŀīƈķ ŧǿ ƥŀȧẏ" + +#: src/disco/containers/DiscoPane.js:28 +msgid "to find out more about add-ons" +msgstr "ŧǿ ƒīƞḓ ǿŭŧ ḿǿřḗ ȧƀǿŭŧ ȧḓḓ-ǿƞş" + +#: src/disco/containers/InstallButton.js:75 +msgid "Install" +msgstr "Īƞşŧȧŀŀ" diff --git a/locale/dbg/LC_MESSAGES/search.po b/locale/dbg/LC_MESSAGES/search.po new file mode 100644 index 00000000000..dc2e26bf7bb --- /dev/null +++ b/locale/dbg/LC_MESSAGES/search.po @@ -0,0 +1,129 @@ +msgid "" +msgstr "" +"Project-Id-Version: search\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2016-05-20 14:41+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"Content-Type: text/plain; charset=utf-8\n" + +#: src/core/components/LoginPage/index.js:13 +msgid "Login Required" +msgstr "Ŀǿɠīƞ Řḗɋŭīřḗḓ" + +#: src/core/components/LoginPage/index.js:20 +msgid "You must be logged in to access this page." +msgstr "Ẏǿŭ ḿŭşŧ ƀḗ ŀǿɠɠḗḓ īƞ ŧǿ ȧƈƈḗşş ŧħīş ƥȧɠḗ." + +#: src/core/components/LoginPage/index.js:24 +msgid "Login" +msgstr "Ŀǿɠīƞ" + +#: src/core/components/NotFound.js:8 +msgid "We're sorry, but we can't find what you're looking for." +msgstr "Ẇḗ'řḗ şǿřřẏ, ƀŭŧ ẇḗ ƈȧƞ'ŧ ƒīƞḓ ẇħȧŧ ẏǿŭ'řḗ ŀǿǿķīƞɠ ƒǿř." + +#: src/core/components/NotFound.js:9 +msgid "" +"The page or file you requested wasn't found on our site. It's possible that " +"you\n" +"clicked a link that's out of date, or typed in the address incorrectly." +msgstr "" +"Ŧħḗ ƥȧɠḗ ǿř ƒīŀḗ ẏǿŭ řḗɋŭḗşŧḗḓ ẇȧşƞ'ŧ ƒǿŭƞḓ ǿƞ ǿŭř şīŧḗ. Īŧ'ş ƥǿşşīƀŀḗ ŧħȧŧ " +"ẏǿŭ\n" +"ƈŀīƈķḗḓ ȧ ŀīƞķ ŧħȧŧ'ş ǿŭŧ ǿƒ ḓȧŧḗ, ǿř ŧẏƥḗḓ īƞ ŧħḗ ȧḓḓřḗşş īƞƈǿřřḗƈŧŀẏ." + +#: src/core/containers/HandleLogin/index.js:41 +msgid "Logging you in..." +msgstr "Ŀǿɠɠīƞɠ ẏǿŭ īƞ..." + +#: src/core/containers/HandleLogin/index.js:45 +msgid "There was an error logging you in, please try again." +msgstr "Ŧħḗřḗ ẇȧş ȧƞ ḗřřǿř ŀǿɠɠīƞɠ ẏǿŭ īƞ, ƥŀḗȧşḗ ŧřẏ ȧɠȧīƞ." + +#: src/search/components/SearchForm.js:30 +msgid "Search" +msgstr "Şḗȧřƈħ" + +#: src/search/components/SearchPage.js:29 +msgid "Add-on Search" +msgstr "Ȧḓḓ-ǿƞ Şḗȧřƈħ" + +#: src/search/components/SearchResult/index.js:18 +msgid "%(count)s file" +msgid_plural "%(count)s files" +msgstr[0] "%(count)s ƒīŀḗ" +msgstr[1] "%(count)s ƒīŀḗş" + +#: src/search/components/SearchResults.js:32 +msgid "Your search for \"%(query)s\" returned %(count)s results." +msgstr "Ẏǿŭř şḗȧřƈħ ƒǿř \"%(query)s\" řḗŧŭřƞḗḓ %(count)s řḗşŭŀŧş." + +#: src/search/components/SearchResults.js:39 +msgid "Searching..." +msgstr "Şḗȧřƈħīƞɠ..." + +#: src/search/components/SearchResults.js:41 +msgid "No results were found for \"%(query)s\"." +msgstr "Ƞǿ řḗşŭŀŧş ẇḗřḗ ƒǿŭƞḓ ƒǿř \"%(query)s\"." + +#: src/search/components/SearchResults.js:43 +msgid "Please supply a valid search" +msgstr "Ƥŀḗȧşḗ şŭƥƥŀẏ ȧ ṽȧŀīḓ şḗȧřƈħ" + +#: src/search/containers/AddonPage/index.js:108 +msgid "Attributes" +msgstr "Ȧŧŧřīƀŭŧḗş" + +#: src/search/containers/AddonPage/index.js:110 +msgid "Tags" +msgstr "Ŧȧɠş" + +#: src/search/containers/AddonPage/index.js:31 +msgid "View on editors" +msgstr "Ṽīḗẇ ǿƞ ḗḓīŧǿřş" + +#: src/search/containers/AddonPage/index.js:35 +msgid "View homepage" +msgstr "Ṽīḗẇ ħǿḿḗƥȧɠḗ" + +#: src/search/containers/AddonPage/index.js:41 +msgid "Email support" +msgstr "Ḗḿȧīŀ şŭƥƥǿřŧ" + +#: src/search/containers/AddonPage/index.js:47 +msgid "View support site" +msgstr "Ṽīḗẇ şŭƥƥǿřŧ şīŧḗ" + +#: src/search/containers/AddonPage/index.js:70 +msgid "Current version" +msgstr "Ƈŭřřḗƞŧ ṽḗřşīǿƞ" + +#: src/search/containers/AddonPage/index.js:73 +msgid "View on site" +msgstr "Ṽīḗẇ ǿƞ şīŧḗ" + +#: src/search/containers/AddonPage/index.js:74 +msgid "Edit on site" +msgstr "Ḗḓīŧ ǿƞ şīŧḗ" + +#: src/search/containers/AddonPage/index.js:76 +msgid "Files" +msgstr "Ƒīŀḗş" + +#: src/search/containers/AddonPage/index.js:85 +msgid "Download" +msgstr "Ḓǿẇƞŀǿȧḓ" + +#: src/search/containers/AddonPage/index.js:95 +msgid "No current version" +msgstr "Ƞǿ ƈŭřřḗƞŧ ṽḗřşīǿƞ" + +#: src/search/containers/App.js:18 +msgid "Add-ons Search" +msgstr "Ȧḓḓ-ǿƞş Şḗȧřƈħ" diff --git a/locale/dbg_rtl/LC_MESSAGES/disco.po b/locale/dbg_rtl/LC_MESSAGES/disco.po new file mode 100644 index 00000000000..0d8fbe3181d --- /dev/null +++ b/locale/dbg_rtl/LC_MESSAGES/disco.po @@ -0,0 +1,51 @@ +msgid "" +msgstr "" +"Project-Id-Version: disco\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2016-05-20 11:26+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"Content-Type: text/plain; charset=utf-8\n" + +#: src/disco/components/Addon.js:55 +msgid "An unexpected error occurred" +msgstr "‮∀u nuǝxdǝɔʇǝp ǝɹɹoɹ oɔɔnɹɹǝp" + +#: src/disco/components/Addon.js:80 +msgid "Preview %(name)s" +msgstr "‮Ԁɹǝʌıǝʍ %(name)s" + +#: src/disco/containers/App.js:18 +msgid "Discover Add-ons" +msgstr "‮ᗡısɔoʌǝɹ ∀pp-ous" + +#: src/disco/containers/DiscoPane.js:20 +msgid "Personalize Your Firefox" +msgstr "‮Ԁǝɹsouɐʅızǝ ⅄onɹ Ⅎıɹǝɟox" + +#: src/disco/containers/DiscoPane.js:21 +msgid "" +"There are thousands of add-ons that let you make Firefox all your\n" +"own—everything from fun visual themes to powerful tools and features.\n" +"Here are a few great ones to check out." +msgstr "" +"‮⊥ɥǝɹǝ ɐɹǝ ʇɥonsɐups oɟ ɐpp-ous ʇɥɐʇ ʅǝʇ ʎon ɯɐʞǝ Ⅎıɹǝɟox ɐʅʅ ʎonɹ\n" +"‮oʍu—‮ǝʌǝɹʎʇɥıuƃ ɟɹoɯ ɟnu ʌısnɐʅ ʇɥǝɯǝs ʇo doʍǝɹɟnʅ ʇooʅs ɐup ɟǝɐʇnɹǝs˙\n" +"‮Hǝɹǝ ɐɹǝ ɐ ɟǝʍ ƃɹǝɐʇ ouǝs ʇo ɔɥǝɔʞ onʇ˙" + +#: src/disco/containers/DiscoPane.js:27 +msgid "Click to play" +msgstr "‮Ↄʅıɔʞ ʇo dʅɐʎ" + +#: src/disco/containers/DiscoPane.js:28 +msgid "to find out more about add-ons" +msgstr "‮ʇo ɟıup onʇ ɯoɹǝ ɐqonʇ ɐpp-ous" + +#: src/disco/containers/InstallButton.js:75 +msgid "Install" +msgstr "‮Iusʇɐʅʅ" diff --git a/locale/dbg_rtl/LC_MESSAGES/search.po b/locale/dbg_rtl/LC_MESSAGES/search.po new file mode 100644 index 00000000000..94a9127d78a --- /dev/null +++ b/locale/dbg_rtl/LC_MESSAGES/search.po @@ -0,0 +1,129 @@ +msgid "" +msgstr "" +"Project-Id-Version: search\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2016-05-20 14:41+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"Content-Type: text/plain; charset=utf-8\n" + +#: src/core/components/LoginPage/index.js:13 +msgid "Login Required" +msgstr "‮⅂oƃıu ᴚǝbnıɹǝp" + +#: src/core/components/LoginPage/index.js:20 +msgid "You must be logged in to access this page." +msgstr "‮⅄on ɯnsʇ qǝ ʅoƃƃǝp ıu ʇo ɐɔɔǝss ʇɥıs dɐƃǝ˙" + +#: src/core/components/LoginPage/index.js:24 +msgid "Login" +msgstr "‮⅂oƃıu" + +#: src/core/components/NotFound.js:8 +msgid "We're sorry, but we can't find what you're looking for." +msgstr "‮Mǝ,ɹǝ soɹɹʎ´ qnʇ ʍǝ ɔɐu,ʇ ɟıup ʍɥɐʇ ʎon,ɹǝ ʅooʞıuƃ ɟoɹ˙" + +#: src/core/components/NotFound.js:9 +msgid "" +"The page or file you requested wasn't found on our site. It's possible that " +"you\n" +"clicked a link that's out of date, or typed in the address incorrectly." +msgstr "" +"‮⊥ɥǝ dɐƃǝ oɹ ɟıʅǝ ʎon ɹǝbnǝsʇǝp ʍɐsu,ʇ ɟonup ou onɹ sıʇǝ˙ Iʇ,s dossıqʅǝ ʇɥɐʇ " +"ʎon\n" +"‮ɔʅıɔʞǝp ɐ ʅıuʞ ʇɥɐʇ,s onʇ oɟ pɐʇǝ´ oɹ ʇʎdǝp ıu ʇɥǝ ɐppɹǝss ıuɔoɹɹǝɔʇʅʎ˙" + +#: src/core/containers/HandleLogin/index.js:41 +msgid "Logging you in..." +msgstr "‮⅂oƃƃıuƃ ʎon ıu˙˙˙" + +#: src/core/containers/HandleLogin/index.js:45 +msgid "There was an error logging you in, please try again." +msgstr "‮⊥ɥǝɹǝ ʍɐs ɐu ǝɹɹoɹ ʅoƃƃıuƃ ʎon ıu´ dʅǝɐsǝ ʇɹʎ ɐƃɐıu˙" + +#: src/search/components/SearchForm.js:30 +msgid "Search" +msgstr "‮Sǝɐɹɔɥ" + +#: src/search/components/SearchPage.js:29 +msgid "Add-on Search" +msgstr "‮∀pp-ou Sǝɐɹɔɥ" + +#: src/search/components/SearchResult/index.js:18 +msgid "%(count)s file" +msgid_plural "%(count)s files" +msgstr[0] "%(count)s‮ ɟıʅǝ" +msgstr[1] "%(count)s‮ ɟıʅǝs" + +#: src/search/components/SearchResults.js:32 +msgid "Your search for \"%(query)s\" returned %(count)s results." +msgstr "‮⅄onɹ sǝɐɹɔɥ ɟoɹ „%(query)s‮„ ɹǝʇnɹuǝp %(count)s‮ ɹǝsnʅʇs˙" + +#: src/search/components/SearchResults.js:39 +msgid "Searching..." +msgstr "‮Sǝɐɹɔɥıuƃ˙˙˙" + +#: src/search/components/SearchResults.js:41 +msgid "No results were found for \"%(query)s\"." +msgstr "‮No ɹǝsnʅʇs ʍǝɹǝ ɟonup ɟoɹ „%(query)s‮„˙" + +#: src/search/components/SearchResults.js:43 +msgid "Please supply a valid search" +msgstr "‮Ԁʅǝɐsǝ snddʅʎ ɐ ʌɐʅıp sǝɐɹɔɥ" + +#: src/search/containers/AddonPage/index.js:108 +msgid "Attributes" +msgstr "‮∀ʇʇɹıqnʇǝs" + +#: src/search/containers/AddonPage/index.js:110 +msgid "Tags" +msgstr "‮⊥ɐƃs" + +#: src/search/containers/AddonPage/index.js:31 +msgid "View on editors" +msgstr "‮Ʌıǝʍ ou ǝpıʇoɹs" + +#: src/search/containers/AddonPage/index.js:35 +msgid "View homepage" +msgstr "‮Ʌıǝʍ ɥoɯǝdɐƃǝ" + +#: src/search/containers/AddonPage/index.js:41 +msgid "Email support" +msgstr "‮Ǝɯɐıʅ snddoɹʇ" + +#: src/search/containers/AddonPage/index.js:47 +msgid "View support site" +msgstr "‮Ʌıǝʍ snddoɹʇ sıʇǝ" + +#: src/search/containers/AddonPage/index.js:70 +msgid "Current version" +msgstr "‮Ↄnɹɹǝuʇ ʌǝɹsıou" + +#: src/search/containers/AddonPage/index.js:73 +msgid "View on site" +msgstr "‮Ʌıǝʍ ou sıʇǝ" + +#: src/search/containers/AddonPage/index.js:74 +msgid "Edit on site" +msgstr "‮Ǝpıʇ ou sıʇǝ" + +#: src/search/containers/AddonPage/index.js:76 +msgid "Files" +msgstr "‮Ⅎıʅǝs" + +#: src/search/containers/AddonPage/index.js:85 +msgid "Download" +msgstr "‮ᗡoʍuʅoɐp" + +#: src/search/containers/AddonPage/index.js:95 +msgid "No current version" +msgstr "‮No ɔnɹɹǝuʇ ʌǝɹsıou" + +#: src/search/containers/App.js:18 +msgid "Add-ons Search" +msgstr "‮∀pp-ous Sǝɐɹɔɥ"