diff --git a/js/components/locales/en-US/settings.ftl b/js/components/locales/en-US/settings.ftl index 881967cd9..34e288b02 100644 --- a/js/components/locales/en-US/settings.ftl +++ b/js/components/locales/en-US/settings.ftl @@ -68,8 +68,10 @@ manage-keys = Manage Keys your-stream-pubkeys = Your Stream Public Keys no-keys = No keys configured pubkey-description = Public keys are paired with stream keys (used in streaming software) to sign and verify your stream -keys-count_one = { $count } key -keys-count_other = { $count } keys +keys-count = { $count -> + [one] { $count } key + *[other] { $count } keys +} ## Webhook Management webhooks = Webhooks @@ -83,8 +85,10 @@ failed-load-webhooks = Failed to load webhooks webhook-will-no-longer-receive-events = This webhook will no longer receive events create-first-webhook-description = Create your first webhook to start receiving stream events example-captain-hook = Captain Hook -webhooks-count_one = { $count } webhook -webhooks-count_other = { $count } webhooks +webhooks-count = { $count -> + [one] { $count } webhook + *[other] { $count } webhooks +} ## Webhook Events events-livestream = Livestream Events diff --git a/js/components/locales/es-ES/settings.ftl b/js/components/locales/es-ES/settings.ftl index df05f9b33..06e9d49ca 100644 --- a/js/components/locales/es-ES/settings.ftl +++ b/js/components/locales/es-ES/settings.ftl @@ -107,9 +107,12 @@ manage-keys = Gestionar Claves your-stream-pubkeys = Tus Claves Públicas de Transmisión no-keys = No hay claves configuradas pubkey-description = Las claves públicas se emparejan con claves de transmisión (usadas en software de streaming) para firmar y verificar tu transmisión -keys-count_one = { $count } clave -keys-count_many = { $count } claves -keys-count_other = { $count } claves + +keys-count = { $count -> + [one] { $count } clave + [many] { $count } claves + *[other] { $count } claves +} ## Gestión de Webhooks webhooks = Webhooks @@ -123,9 +126,10 @@ failed-load-webhooks = Error al cargar webhooks webhook-will-no-longer-receive-events = Este webhook ya no recibirá eventos create-first-webhook-description = Crea tu primer webhook para empezar a recibir eventos de transmisión example-captain-hook = Capitán Garfio -webhooks-count_one = { $count } webhook -webhooks-count_many = { $count } webhooks -webhooks-count_other = { $count } webhooks +webhooks-count = { $count -> + [one] { $count } webhook + *[other] { $count } webhooks +} ## Eventos de Webhook events-livestream = Eventos de Transmisión en Directo diff --git a/js/components/locales/fr-FR/settings.ftl b/js/components/locales/fr-FR/settings.ftl index 2960a387b..02da1786f 100644 --- a/js/components/locales/fr-FR/settings.ftl +++ b/js/components/locales/fr-FR/settings.ftl @@ -105,9 +105,11 @@ manage-keys = Gérer les Clés your-stream-pubkeys = Vos Clés Publiques de Diffusion no-keys = Aucune clé configurée pubkey-description = Les clés publiques sont associées aux clés de diffusion (utilisées dans le logiciel de streaming) pour signer et vérifier votre diffusion -keys-count_one = { $count } clé -keys-count_many = { $count } clés -keys-count_other = { $count } clés +keys-count = { $count -> + [one] { $count } clé + [many] { $count } clés + *[other] { $count } clés +} ## Gestion des Webhooks webhooks = Webhooks @@ -121,9 +123,10 @@ failed-load-webhooks = Échec du chargement des webhooks webhook-will-no-longer-receive-events = Ce webhook ne recevra plus d'événements create-first-webhook-description = Créez votre premier webhook pour commencer à recevoir des événements de diffusion example-captain-hook = Capitaine Crochet -webhooks-count_one = { $count } webhook -webhooks-count_many = { $count } webhooks -webhooks-count_other = { $count } webhooks +webhooks-count = { $count -> + [one] { $count } webhook + *[other] { $count } webhooks +} ## Événements de Webhook events-livestream = Événements de Diffusion en Direct diff --git a/js/components/locales/pt-BR/settings.ftl b/js/components/locales/pt-BR/settings.ftl index 954dec7cd..358890364 100644 --- a/js/components/locales/pt-BR/settings.ftl +++ b/js/components/locales/pt-BR/settings.ftl @@ -105,9 +105,12 @@ manage-keys = Gerenciar Chaves your-stream-pubkeys = Suas Chaves Públicas de Transmissão no-keys = Nenhuma chave configurada pubkey-description = Chaves públicas são emparelhadas com chaves de transmissão (usadas em software de streaming) para assinar e verificar sua transmissão -keys-count_one = { $count } chave -keys-count_many = { $count } chaves -keys-count_other = { $count } chaves + +keys-count = { $count -> + [one] { $count } chave + [many] { $count } chaves + *[other] { $count } chaves +} ## Gerenciamento de Webhooks webhooks = Webhooks @@ -121,9 +124,10 @@ failed-load-webhooks = Falha ao carregar webhooks webhook-will-no-longer-receive-events = Este webhook não receberá mais eventos create-first-webhook-description = Crie seu primeiro webhook para começar a receber eventos de transmissão example-captain-hook = Capitão Gancho -webhooks-count_one = { $count } webhook -webhooks-count_many = { $count } webhooks -webhooks-count_other = { $count } webhooks +webhooks-count = { $count -> + [one] { $count } webhook + *[other] { $count } webhooks +} ## Eventos de Webhook events-livestream = Eventos de Transmissão ao Vivo diff --git a/js/components/locales/zh-Hant/settings.ftl b/js/components/locales/zh-Hant/settings.ftl index df09d68db..e4691a194 100644 --- a/js/components/locales/zh-Hant/settings.ftl +++ b/js/components/locales/zh-Hant/settings.ftl @@ -106,7 +106,7 @@ manage-keys = 管理金鑰 your-stream-pubkeys = 您的串流公開金鑰 no-keys = 尚未設定金鑰 pubkey-description = 公開金鑰與串流金鑰(用於串流軟體)配對以簽署和驗證您的串流 -keys-count_other = { $count } 個金鑰 +keys-count = { $count } 個金鑰 ## Webhook 管理 webhooks = Webhooks @@ -120,7 +120,9 @@ failed-load-webhooks = 載入 webhook 失敗 webhook-will-no-longer-receive-events = 此 webhook 將不再接收事件 create-first-webhook-description = 建立您的第一個 webhook 以開始接收串流事件 example-captain-hook = 虎克船長 -webhooks-count_other = { $count } 個 webhook +webhooks-count = { $count -> + *[other] { $count } 個 webhook +} ## Webhook 事件 events-livestream = 直播串流事件 diff --git a/js/components/scripts/compile-translations.js b/js/components/scripts/compile-translations.js index 5749c1dfb..365919492 100644 --- a/js/components/scripts/compile-translations.js +++ b/js/components/scripts/compile-translations.js @@ -101,7 +101,7 @@ function serializePlaceable(placeable) { for (const variant of expr.variants) { const key = variant.key.type === "Identifier" - ? variant.key.name + ? `[${variant.key.name}]` : `[${variant.key.value}]`; result += `\n ${variant.default ? "*" : ""}${key} ${serializePattern(variant.value)}`; diff --git a/js/docs/src/content/docs/guides/localizing/for-devs.md b/js/docs/src/content/docs/guides/localizing/for-devs.md index eaf7ead37..fc322f174 100644 --- a/js/docs/src/content/docs/guides/localizing/for-devs.md +++ b/js/docs/src/content/docs/guides/localizing/for-devs.md @@ -340,4 +340,6 @@ const translationMap: Record = { You can also [view the official Fluent docs](https://github.com/projectfluent/fluent/wiki/Good-Practices-for-Developers) +and +[the official syntax guide](https://projectfluent.org/fluent/guide/index.html) to learn how to write better Fluent messages.