Two examples of changes required to the current localizations into Italian and Ukrainian if VariantLists
are replaced with parameterized terms (a.k.a. macros). See projectfluent/fluent#176 for details of the proposal.
Last active
October 30, 2018 10:25
-
-
Save stasm/71868b98a3c9c507645bf4f2438552d6 to your computer and use it in GitHub Desktop.
Parameterized Terms in Practice.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/browser/browser/branding/sync-brand.ftl b/browser/browser/branding/sync-brand.ftl | |
--- a/browser/browser/branding/sync-brand.ftl | |
+++ b/browser/browser/branding/sync-brand.ftl | |
@@ -4,12 +4,12 @@ | |
-sync-brand-short-name = Sync | |
# “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 = | |
- { | |
+ { $first-letter -> | |
[lowercase] account Firefox | |
*[uppercase] Account Firefox | |
} | |
diff --git a/browser/browser/policies/policies-descriptions.ftl b/browser/browser/policies/policies-descriptions.ftl | |
--- a/browser/browser/policies/policies-descriptions.ftl | |
+++ b/browser/browser/policies/policies-descriptions.ftl | |
@@ -18,17 +18,17 @@ policy-BlockAboutSupport = Blocca access | |
policy-Bookmarks = Crea segnalibri nella barra dei segnalibri, nel menu segnalibri o in una specifica cartella in questi elementi. | |
policy-Certificates = Imposta se utilizzare o meno i certificati predefiniti (built-in). Al momento questo criterio è disponibile solo per Windows. | |
policy-CertificatesDescription = Aggiungi certificati o utilizza i certificati predefiniti (built-in). | |
policy-Cookies = Consenti o nega ai siti web di impostare cookie. | |
policy-DisableAppUpdate = Blocca l’aggiornamento del browser. | |
policy-DisableBuiltinPDFViewer = Disattiva PDF.js, il lettore PDF integrato in { -brand-short-name }. | |
policy-DisableDeveloperTools = Blocca accesso agli strumenti di sviluppo. | |
policy-DisableFeedbackCommands = Disattiva i comandi per inviare feedback dal menu Aiuto (“Invia feedback…” e “Segnala un sito ingannevole…”). | |
-policy-DisableFirefoxAccounts = Disattiva i servizi basati sugli { -fxaccount-brand-name[lowercase] }, incluso Sync. | |
+policy-DisableFirefoxAccounts = Disattiva i servizi basati sugli { -fxaccount-brand-name($first-letter: "lowercase") }, incluso Sync. | |
# Firefox Screenshots is the name of the feature, and should not be translated. | |
policy-DisableFirefoxScreenshots = Disattiva Firefox Screenshots. | |
policy-DisableFirefoxStudies = Impedisci a { -brand-short-name } di condurre studi. | |
policy-DisableForgetButton = Impedisci accesso al pulsante “Dimentica”. | |
policy-DisableFormHistory = Non conservare la cronologia delle ricerche e dei moduli. | |
policy-DisableMasterPasswordCreation = Se impostato a “true” non è possibile impostare una password principale. | |
policy-DisablePocket = Disattiva la possibilità di salvare pagine web in Pocket. | |
policy-DisablePrivateBrowsing = Disattiva la modalità Navigazione anonima. | |
diff --git a/browser/browser/preferences/preferences.ftl b/browser/browser/preferences/preferences.ftl | |
--- a/browser/browser/preferences/preferences.ftl | |
+++ b/browser/browser/preferences/preferences.ftl | |
@@ -435,17 +435,17 @@ containers-preferences-button = | |
.label = Preferenze | |
containers-remove-button = | |
.label = Rimuovi | |
## Sync Section - Signed out | |
sync-signedout-caption = Il tuo Web, sempre con te | |
sync-signedout-description = Sincronizza segnalibri, cronologia, schede, password, componenti aggiuntivi e impostazioni attraverso tutti i tuoi dispositivi. | |
-sync-signedout-account-title = Connetti il tuo { -fxaccount-brand-name[lowercase] } | |
+sync-signedout-account-title = Connetti il tuo { -fxaccount-brand-name($first-letter: "lowercase") } | |
sync-signedout-account-create = Non hai ancora un account? Scopri come crearne uno | |
.accesskey = h | |
sync-signedout-account-signin = | |
.label = Accedi… | |
.accesskey = d | |
# This message contains two links and two icon images. | |
# `<img data-l10n-name="android-icon"/>` - Android logo icon | |
# `<a data-l10n-name="android-link">` - Link to Android Download |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/browser/browser/branding/sync-brand.ftl b/browser/browser/branding/sync-brand.ftl | |
--- a/browser/browser/branding/sync-brand.ftl | |
+++ b/browser/browser/branding/sync-brand.ftl | |
@@ -1,47 +1,71 @@ | |
# 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/. | |
-sync-brand-short-name = | |
- { | |
- *[nom] Синхронізація | |
- [nom-lower] синхронізація | |
- [gen] Синхронізації | |
- [gen-lower] синхронізації | |
- [dat] Синхронізації | |
- [dat-lower] синхронізації | |
- [acc] Синхронізацію | |
- [acc-lower] синхронізацію | |
- [abl] Синхронізацією | |
- [abl-lower] синхронізацією | |
+ { $declension -> | |
+ *[nom] { $first-letter -> | |
+ *[upper] Синхронізація | |
+ [lower] синхронізація | |
+ } | |
+ [gen] { $first-letter -> | |
+ *[upper] Синхронізації | |
+ [lower] синхронізації | |
+ } | |
+ [dat] { $first-letter -> | |
+ *[upper] Синхронізації | |
+ [lower] синхронізації | |
+ } | |
+ [acc] { $first-letter -> | |
+ *[upper] Синхронізацію | |
+ [lower] синхронізацію | |
+ } | |
+ [abl] { $first-letter -> | |
+ *[upper] Синхронізацією | |
+ [lower] синхронізацією | |
+ } | |
} | |
# “Sync” can be localized, “Firefox” must be treated as a brand, | |
# and kept in English. | |
-sync-brand-name = | |
- { | |
- *[nom] Синхронізація Firefox | |
- [nom-lower] синхронізація Firefox | |
- [gen] Синхронізації Firefox | |
- [gen-lower] синхронізації Firefox | |
- [dat] Синхронізації Firefox | |
- [dat-lower] синхронізації Firefox | |
- [acc] Синхронізацію Firefox | |
- [acc-lower] синхронізацію Firefox | |
- [abl] Синхронізацією Firefox | |
- [abl-lower] синхронізацією Firefox | |
+ { $declension -> | |
+ *[nom] { $first-letter -> | |
+ *[upper] Синхронізація Firefox | |
+ [lower] синхронізація Firefox | |
+ } | |
+ [gen] { $first-letter -> | |
+ *[upper] Синхронізації Firefox | |
+ [lower] синхронізації Firefox | |
+ } | |
+ [dat] { $first-letter -> | |
+ *[upper] Синхронізації Firefox | |
+ [lower] синхронізації Firefox | |
+ } | |
+ [acc] { $first-letter -> | |
+ *[upper] Синхронізацію Firefox | |
+ [lower] синхронізацію Firefox | |
+ } | |
+ [abl] { $first-letter -> | |
+ *[upper] Синхронізацією Firefox | |
+ [lower] синхронізацією Firefox | |
+ } | |
} | |
# “Account” can be localized, “Firefox” must be treated as a brand, | |
# and kept in English. | |
-fxaccount-brand-name = | |
- { | |
- *[nom] Обліковий запис Firefox | |
- [nom-lower] обліковий запис Firefox | |
- [gen] Облікового запису Firefox | |
- [gen-lower] облікового запису Firefox | |
- [dat] Обліковому запису Firefox | |
- [dat-lower] обліковому запису Firefox | |
- [acc] Обліковий запис Firefox | |
- [acc-lower] обліковий запис Firefox | |
- [abl] Обліковим записом Firefox | |
- [abl-lower] обліковим записом Firefox | |
+ { $first-letter -> | |
+ *[upper] { $declension -> | |
+ *[nom] Обліковий запис Firefox | |
+ [gen] Облікового запису Firefox | |
+ [dat] Обліковому запису Firefox | |
+ [acc] Обліковий запис Firefox | |
+ [abl] Обліковим записом Firefox | |
+ } | |
+ [lower] { $declension -> | |
+ *[nom] обліковий запис Firefox | |
+ [gen] облікового запису Firefox | |
+ [dat] обліковому запису Firefox | |
+ [acc] обліковий запис Firefox | |
+ [abl] обліковим записом Firefox | |
+ } | |
} | |
diff --git a/browser/browser/preferences/preferences.ftl b/browser/browser/preferences/preferences.ftl | |
--- a/browser/browser/preferences/preferences.ftl | |
+++ b/browser/browser/preferences/preferences.ftl | |
@@ -122,19 +122,19 @@ search-results-help-link = Потріб� | |
## General Section | |
startup-header = Запуск | |
# { -brand-short-name } will be 'Firefox Developer Edition', | |
# since this setting is only exposed in Firefox Developer Edition | |
separate-profile-mode = | |
.label = Дозволити { -brand-short-name } та Firefox виконуватись одночасно | |
-use-firefox-sync = Підказка: При цьому використовуються окремі профілі. Скористайтеся { -sync-brand-short-name[abl-lower] } для обміну даними між ними. | |
-get-started-not-logged-in = Увійти в { -sync-brand-short-name[acc] }… | |
-get-started-configured = Відкрити налаштування { -sync-brand-short-name[dat] } | |
+use-firefox-sync = Підказка: При цьому використовуються окремі профілі. Скористайтеся { -sync-brand-short-name($declension: "abl", $first-letter: "lower") } для обміну даними між ними. | |
+get-started-not-logged-in = Увійти в { -sync-brand-short-name($declension: "acc") }… | |
+get-started-configured = Відкрити налаштування { -sync-brand-short-name($declension: "dat") } | |
always-check-default = | |
.label = Завжди перевіряти чи є { -brand-short-name } типовим браузером | |
.accesskey = б | |
is-default = { -brand-short-name } зараз ваш типовий браузер | |
is-not-default = { -brand-short-name } не є вашим типовим браузером | |
set-as-my-default-browser = | |
.label = Зробити типовим… | |
.accesskey = т | |
@@ -436,17 +436,17 @@ containers-preferences-button = | |
.label = Налаштування | |
containers-remove-button = | |
.label = Вилучити | |
## Sync Section - Signed out | |
sync-signedout-caption = Візьміть свій інтернет з собою | |
sync-signedout-description = Синхронізуйте закладки, історію, вкладки, паролі, додатки, а також налаштування на всіх своїх пристроях. | |
-sync-signedout-account-title = Під’єднайтеся до { -fxaccount-brand-name[gen] } | |
+sync-signedout-account-title = Під’єднайтеся до { -fxaccount-brand-name($declension: "gen") } | |
sync-signedout-account-create = Не маєте облікового запису? Створімо його! | |
.accesskey = С | |
sync-signedout-account-signin = | |
.label = Увійти… | |
.accesskey = У | |
# This message contains two links and two icon images. | |
# `<img data-l10n-name="android-icon"/>` - Android logo icon | |
# `<a data-l10n-name="android-link">` - Link to Android Download | |
diff --git a/browser/browser/preferences/syncDisconnect.ftl b/browser/browser/preferences/syncDisconnect.ftl | |
--- a/browser/browser/preferences/syncDisconnect.ftl | |
+++ b/browser/browser/preferences/syncDisconnect.ftl | |
@@ -1,17 +1,17 @@ | |
# 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/. | |
sync-disconnect-dialog = | |
- .title = Від'єднатися від { -sync-brand-short-name[dat] }? | |
+ .title = Від'єднатися від { -sync-brand-short-name($declension: "dat") }? | |
.style = width: 36em; min-height: 35em; | |
-sync-disconnect-heading = Ви хочете також вилучити дані браузера на цьому комп'ютері? В будь-якому випадку, ваші дані { -sync-brand-name[gen] } все одно залишаться в обліковому записі. | |
-sync-disconnect-remove-sync-caption = Вилучити дані { -sync-brand-name[gen] } | |
+sync-disconnect-heading = Ви хочете також вилучити дані браузера на цьому комп'ютері? В будь-якому випадку, ваші дані { -sync-brand-name($declension: "gen") } все одно залишаться в обліковому записі. | |
+sync-disconnect-remove-sync-caption = Вилучити дані { -sync-brand-name($declension: "gen") } | |
sync-disconnect-remove-sync-data = Закладки, історія, паролі та інші дані | |
sync-disconnect-remove-other-caption = Вилучити інші особисті дані | |
sync-disconnect-remove-other-data = Куки, кеш, автономні дані веб-сайтів та інше | |
# Shown while the disconnect is in progress | |
sync-disconnect-disconnecting = Від'єднання… | |
sync-disconnect-cancel = | |
.label = Скасувати | |
.accesskey = С |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment