Skip to content

Commit

Permalink
feat(i18n): defined the metadata format for i18n and added readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
xinbenlv committed Jul 7, 2020
1 parent f74c29b commit c48e75e
Show file tree
Hide file tree
Showing 30 changed files with 272 additions and 42 deletions.
2 changes: 1 addition & 1 deletion components/RevisionCard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
<router-link v-if="judgement.wikiUserName" :to="`/marked/?wikiUserName=${judgement.wikiUserName}`" replace>
<object class="avatar-object" v-bind:data="`/api/avatar/${judgement.wikiUserName}`" ></object>
<span v-if="isMine(judgement)">{{$t("Label-Me")}} ({{judgement.wikiUserName}})</span>
<span v-else>{{judgement.wikiUserName || $t("SomeoneAnonymous")}}</span>
<span v-else>{{judgement.wikiUserName || $t("Label-Anonymous")}}</span>
</router-link>
<router-link v-else :to="`/marked/?userGaId=${judgement.userGaId}`" replace>
<object class="avatar-object" v-bind:data="`/api/avatar/${judgement.userGaId}`" ></object>
Expand Down
4 changes: 2 additions & 2 deletions components/RevisionPanel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@
</div>
<div class="card-text w-100 pl-sm-0 mb-3">
<template v-if="item.summary">
<h5 class="w-100">{{$t('EditSummary')}}</h5>
<h5 class="w-100">{{$t('Label-EditSummary')}}</h5>
<span>{{item.summary}}</span>
</template>
<template v-else>
<h5 class="text-danger w-100">{{$t('ThereIsNoEditSummary')}}</h5>
<h5 class="text-danger w-100">{{$t('Message-ThereIsNoEditSummary')}}</h5>
</template>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion components/StaticRevisionCard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ between Client-Side-Rendering and Server-Side-Rendering -->
<router-link v-if="judgement.wikiUserName" :to="`/marked/?wikiUserName=${judgement.wikiUserName}`" replace>
<object class="avatar-object" v-bind:data="`/api/avatar/${judgement.wikiUserName}`" ></object>
<span v-if="isMine(judgement)">{{$t("Label-Me")}} ({{judgement.wikiUserName}})</span>
<span v-else>{{judgement.wikiUserName || $t("SomeoneAnonymous")}}</span>
<span v-else>{{judgement.wikiUserName || $t("Label-Anonymous")}}</span>
</router-link>
<router-link v-else :to="`/marked/?userGaId=${judgement.userGaId}`" replace>
<object class="avatar-object" v-bind:data="`/api/avatar/${judgement.userGaId}`" ></object>
Expand Down
52 changes: 52 additions & 0 deletions i18n/locales/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
## Locales
This folder contains the i18n messages for this software project.

## Directory Structure
Each locale file is named as `<iso-639-1 language code>.yml`. See [List of Wikipedias](https://en.wikipedia.org/wiki/List_of_Wikipedias).

## Schema
Due to the [current limitation of vue-i18n](https://github.com/intlify/vue-i18n-next/issues/71), there is no offical schema to include metadata such as descriptions. We are going to create our own schema at this moment to contain the descriptions etc.

We currently support the following 3 metadata.

<!-- TODO(xinbenlv): add machine-translated annotation in `npm run translate` -->

```typescript
interface LocaleMeta {
description: string
translator: string
translatedAt: date
isMachineTranslated: boolean
}

```

Here is an example

```yml
# file: en.yml
Label-SomeLabel: Here is some label.
Label-SomeLabel.@meta.@description: A longer description of what Label-SomeLabel does. Please note there is a period sign at the end.

# file: zh.yml
Label-SomeLabel: 这里有一些标签。
Label-SomeLabel.@meta.@description: 关于Label-SomeLabel的更长的一个解释。请注意结尾有一个句号。
Label-SomeLabel.@meta.@translator: Xinbenlv
Label-SomeLabel.@meta.@isMachineTranslated: false
Label-SomeLabel.@meta.@translatedAt: 2020-07-07 17:30:00 UTC
```

The key design decision here is we decided to include the metadata as a postfix for the sting being annotated.
This allow us to have the following benefit

1. From day 1 work with existing tooling such as [i18n-ally](https://github.com/antfu/i18n-ally) for best tool compatibility
2. Allow native speakers to see the machine translated explanation (the longer description) so they don't need 100% understanding of source language.

## Generating machine translation for new UI strings

```shell
npm run translate
```

Remember to include a `private-key.json` from [Google Cloud Console](https://console.cloud.google.com/) with a [service account](https://cloud.google.com/iam/docs/understanding-service-accounts) enabled for [Google Cloud Translation API](https://cloud.google.com/translate) service.

9 changes: 8 additions & 1 deletion i18n/locales/af.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
Button-Go: Gaan
Button-Go.@meta.@description: Benoem vir knoppies om die gebruiker na 'n gegewe url of plek te herlei.
Button-HelpTranslate: Help om te vertaal
Button-HelpTranslate.@meta.@description: >-
Etiket vir knoppie waarmee gebruikers kan help om internasionaliseerde
boodskappe vir hierdie sagteware te vertaal.
Button-Next: volgende
Button-Next.@meta.@description: >-
Benoem vir 'n knoppie as dit geklik word, gaan na die volgende bladsy of
vertoon die volgende inligting.
Button-OpenedUrlToRevert: URL geopen om terug te keer
Button-RevertNow: Keer nou terug
Button-ShowJudgements: Toon uitsprake
Expand Down Expand Up @@ -66,6 +73,7 @@ MenuItem-Contributions: My bydraes
MenuItem-ContributionsBeforeLogin: My bydraes voor aanmelding
MenuItem-Issues: kwessies
MenuItem-Stats: statistiek
Message-AJudgementLogged: '''N Vonnis van {0} vir hersiening {1} is aangeteken.'
Message-CongratsSuccessfullyReverted: 'Geluk! jy het direk {0} teruggeskakel.'
Message-DiffNotAvailable: >-
Die wikipedia-artikel verskil is tydelik nie beskikbaar nie. U kan dit probeer
Expand Down Expand Up @@ -93,4 +101,3 @@ Message-SorryWeFailedToRevert: 'Jammer, ons kon nie die hersiening {0} terugstel
Message-TheRevisionIsSuccessfullyRevertedAs: 'Die hersiening {0} is suksesvol teruggeskakel as {1}.'
Message-ThereIsNoEditSummary: Daar is geen wysigingsopsomming nie.
Message-YourJudgementLogged: 'U oordeel vir {0} vir hersiening {1} is aangeteken.'
Message-AJudgementLogged: '''N Vonnis van {0} vir hersiening {1} is aangeteken.'
7 changes: 6 additions & 1 deletion i18n/locales/ar.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
Button-Go: اذهب
Button-Go.@meta.@description: تسمية الأزرار لإعادة توجيه المستخدم إلى عنوان URL أو موقع معين.
Button-HelpTranslate: ساعد في الترجمة
Button-HelpTranslate.@meta.@description: >-
تسمية الزر الذي يسمح للمستخدمين بالمساعدة في ترجمة الرسائل الدولية لهذا
البرنامج.
Button-Next: التالى
Button-Next.@meta.@description: تسمية زر عند النقر عليه ، انتقل إلى الصفحة التالية أو عرض المعلومات التالية.
Button-OpenedUrlToRevert: تم فتح عنوان URL للعودة
Button-RevertNow: العودة الآن
Button-ShowJudgements: أظهر الأحكام
Expand Down Expand Up @@ -66,6 +71,7 @@ MenuItem-Contributions: مساهماتي
MenuItem-ContributionsBeforeLogin: مساهماتي قبل تسجيل الدخول
MenuItem-Issues: مسائل
MenuItem-Stats: الإحصائيات
Message-AJudgementLogged: 'تم تسجيل حكم {0} للمراجعة {1}.'
Message-CongratsSuccessfullyReverted: 'مبروك! لقد نجحت في العودة مباشرةً {0}.'
Message-DiffNotAvailable: >-
مقال ويكيبيديا غير متاح مؤقتًا. يمكنك محاولة إعادة تحميله. في بعض الأحيان يمكن
Expand All @@ -90,4 +96,3 @@ Message-SorryWeFailedToRevert: 'عذرًا ، فشلنا في التراجع ع
Message-TheRevisionIsSuccessfullyRevertedAs: 'تمت مراجعة النسخة {0} بنجاح على أنها {1}.'
Message-ThereIsNoEditSummary: لا يوجد ملخص تحرير.
Message-YourJudgementLogged: 'تم تسجيل حكمك على {0} للمراجعة {1}.'
Message-AJudgementLogged: 'تم تسجيل حكم {0} للمراجعة {1}.'
11 changes: 10 additions & 1 deletion i18n/locales/bg.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
Button-Go: Отивам
Button-Go.@meta.@description: >-
Етикет за бутони за пренасочване на потребителя към даден URL адрес или
местоположение.
Button-HelpTranslate: Помогнете при превода
Button-HelpTranslate.@meta.@description: >-
Етикет за бутон, който позволява на потребителите да помагат при превода на
интернационализирани съобщения за този софтуер.
Button-Next: Следващия
Button-Next.@meta.@description: >-
Етикет за бутон при щракване отидете на следващата страница или покажете
следваща информация.
Button-OpenedUrlToRevert: Отворен URL адрес за възстановяване
Button-RevertNow: Върнете се сега
Button-ShowJudgements: Показвайте преценки
Expand Down Expand Up @@ -66,6 +75,7 @@ MenuItem-Contributions: Моите приноси
MenuItem-ContributionsBeforeLogin: Моите вноски преди влизане
MenuItem-Issues: въпроси
MenuItem-Stats: Статистика
Message-AJudgementLogged: 'Регистрирано е решение за {0} за преразглеждане {1}.'
Message-CongratsSuccessfullyReverted: 'Поздравления! успешно завърнахте директно {0}.'
Message-DiffNotAvailable: >-
Статията на уикипедията различно временно не е налична. Можете да опитате да
Expand All @@ -91,4 +101,3 @@ Message-SorryWeFailedToRevert: 'За съжаление не успяхме да
Message-TheRevisionIsSuccessfullyRevertedAs: 'Ревизията {0} се възстановява успешно като {1}.'
Message-ThereIsNoEditSummary: Няма резюме за редактиране.
Message-YourJudgementLogged: 'Вашето решение за {0} за преразглеждане {1} е записано.'
Message-AJudgementLogged: 'Регистрирано е решение за {0} за преразглеждане {1}.'
9 changes: 8 additions & 1 deletion i18n/locales/ca.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
Button-Go: Va
Button-Go.@meta.@description: Etiqueta dels botons per redirigir l'usuari a una URL o ubicació determinada.
Button-HelpTranslate: Ajuda a traduir
Button-HelpTranslate.@meta.@description: >-
Etiqueta de botó que permet als usuaris ajudar a traduir missatges
internacionalitzats per aquest programari.
Button-Next: Pròxim
Button-Next.@meta.@description: >-
Etiquetar un botó quan es fa clic a l'opció anar a la pàgina següent o mostrar
la informació següent.
Button-OpenedUrlToRevert: URL obert per tornar
Button-RevertNow: Torna ara
Button-ShowJudgements: Mostrar judicis
Expand Down Expand Up @@ -66,6 +73,7 @@ MenuItem-Contributions: Les meves aportacions
MenuItem-ContributionsBeforeLogin: Les meves contribucions abans de l’inici de sessió
MenuItem-Issues: Problemes
MenuItem-Stats: Estadístiques
Message-AJudgementLogged: 'S''ha registrat un judici de {0} per a la revisió {1}.'
Message-CongratsSuccessfullyReverted: 'Felicitats! heu revertit correctament directament {0}.'
Message-DiffNotAvailable: >-
L'article dif de Wikipedia no està disponible temporalment. Podeu provar de
Expand All @@ -92,4 +100,3 @@ Message-SorryWeFailedToRevert: 'Ho sentim, no hem pogut revertir la revisió {0}
Message-TheRevisionIsSuccessfullyRevertedAs: 'La revisió {0} es reverteix correctament com a {1}.'
Message-ThereIsNoEditSummary: No hi ha cap resum d’edició.
Message-YourJudgementLogged: 'S''ha registrat el vostre judici sobre {0} per a la revisió {1}.'
Message-AJudgementLogged: 'S''ha registrat un judici de {0} per a la revisió {1}.'
9 changes: 8 additions & 1 deletion i18n/locales/cs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
Button-Go: Jít
Button-Go.@meta.@description: Označte tlačítka pro přesměrování uživatele na danou adresu URL nebo umístění.
Button-HelpTranslate: Pomozte překládat
Button-HelpTranslate.@meta.@description: >-
Označte tlačítko, které uživatelům umožňuje překládat internacionalizované
zprávy pro tento software.
Button-Next: další
Button-Next.@meta.@description: >-
Označení tlačítka po kliknutí přejde na další stránku nebo zobrazí další
informace.
Button-OpenedUrlToRevert: Otevřená adresa URL pro vrácení
Button-RevertNow: Vrátit nyní
Button-ShowJudgements: Zobrazit soudy
Expand Down Expand Up @@ -66,6 +73,7 @@ MenuItem-Contributions: Moje příspěvky
MenuItem-ContributionsBeforeLogin: Moje příspěvky před přihlášením
MenuItem-Issues: Problémy
MenuItem-Stats: Statistiky
Message-AJudgementLogged: 'Byl zaznamenán rozsudek pro {0} pro revizi {1}.'
Message-CongratsSuccessfullyReverted: 'Gratuluji! úspěšně jste se vrátili přímo {0}.'
Message-DiffNotAvailable: >-
Článek wikipedia diff není dočasně k dispozici. Můžete to zkusit znovu načíst.
Expand All @@ -91,4 +99,3 @@ Message-SorryWeFailedToRevert: 'Litujeme, nepodařilo se nám vrátit revizi {0}
Message-TheRevisionIsSuccessfullyRevertedAs: 'Revize {0} je úspěšně vrácena jako {1}.'
Message-ThereIsNoEditSummary: Neexistuje žádné shrnutí úprav.
Message-YourJudgementLogged: 'Váš úsudek o {0} revizi {1} byl zaznamenán.'
Message-AJudgementLogged: 'Byl zaznamenán rozsudek pro {0} pro revizi {1}.'
11 changes: 10 additions & 1 deletion i18n/locales/de.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
Button-Go: Gehen
Button-Go.@meta.@description: >-
Beschriftung für Schaltflächen, mit denen Benutzer zu einer bestimmten URL
oder einem bestimmten Speicherort umgeleitet werden können.
Button-HelpTranslate: Hilfe beim Übersetzen
Button-HelpTranslate.@meta.@description: >-
Beschriftung für Schaltfläche, mit der Benutzer internationalisierte
Nachrichten für diese Software übersetzen können.
Button-Next: Nächste
Button-Next.@meta.@description: >-
Beschriften Sie eine Schaltfläche, wenn Sie darauf klicken, gehen Sie zur
nächsten Seite oder zeigen Sie die nächsten Informationen an.
Button-OpenedUrlToRevert: Geöffnete URL zum Zurücksetzen
Button-RevertNow: Jetzt zurücksetzen
Button-ShowJudgements: Urteile zeigen
Expand Down Expand Up @@ -66,6 +75,7 @@ MenuItem-Contributions: Beiträge
MenuItem-ContributionsBeforeLogin: Meine Beiträge vor dem Login
MenuItem-Issues: Probleme
MenuItem-Stats: Statistiken
Message-AJudgementLogged: 'Ein Urteil für {0} für Revision {1} wurde protokolliert.'
Message-CongratsSuccessfullyReverted: 'Glückwunsch! Sie haben erfolgreich direkt {0} zurückgesetzt.'
Message-DiffNotAvailable: |-
Der Wikipedia-Artikel diff ist vorübergehend nicht verfügbar.
Expand Down Expand Up @@ -97,4 +107,3 @@ Message-SorryWeFailedToRevert: 'Leider konnten wir die Revision {0} nicht zurüc
Message-TheRevisionIsSuccessfullyRevertedAs: 'Die Revision {0} wird erfolgreich als {1} zurückgesetzt.'
Message-ThereIsNoEditSummary: Es gibt keine Bearbeitungszusammenfassung.
Message-YourJudgementLogged: 'Ihr Urteil für {0} für Revision {1} wurde protokolliert.'
Message-AJudgementLogged: 'Ein Urteil für {0} für Revision {1} wurde protokolliert.'
23 changes: 13 additions & 10 deletions i18n/locales/en.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
Button-Go: Go
Button-Go.@meta.@description: Label for buttons to redirect user to a given url or location.
Button-HelpTranslate: Help translate
Button-HelpTranslate.@meta.@description: >-
Label for button that allow users to help translate internationalized messages
for this software.
Button-Next: Next
Button-Next.@meta.@description: Label for a button when clicked go to next page or display next information.
Button-OpenedUrlToRevert: Opened URL to revert
Button-RevertNow: Revert now
Button-ShowJudgements: Show judgements
Expand Down Expand Up @@ -48,13 +53,13 @@ Label-Reason: Reason
Label-Result: Result
Label-RevertSucceeded: Revert succeeded!
Label-ReviewFeed: Review Feed
Label-ReviewedAndSays: reviewed {0} and says
Label-ReviewedAndSays: 'reviewed {0} and says'
Label-Should-Revert: Should Revert
Label-ShouldRevert: Should revert
Label-Snooze: Snooze
Label-Someone: Someone
Label-Time: Time
Label-TopNumberAnonymousUsers: Top {0} Anonymous Users
Label-TopNumberAnonymousUsers: 'Top {0} Anonymous Users'
Label-TopUsers: Top Users
Label-TopWikis: Top Wikis
Label-TotalNumber: Total
Expand All @@ -66,15 +71,13 @@ MenuItem-Contributions: My contributions
MenuItem-ContributionsBeforeLogin: My contributions before login
MenuItem-Issues: Issues
MenuItem-Stats: Stats
Message-AJudgementLogged: >-
A judgement for {0} for revision
{1} has been logged.
Message-CongratsSuccessfullyReverted: Congrats! you''ve successfully reverted directly {0}.
Message-AJudgementLogged: 'A judgement for {0} for revision {1} has been logged.'
Message-CongratsSuccessfullyReverted: 'Congrats! you''''ve successfully reverted directly {0}.'
Message-DiffNotAvailable: >-
The wikipedia article diff is temporarily not available. You can try to reload
it. Sometimes a vandalized revision could be deleted. You can check the page
history.
Message-FeedHasNoNewRevisionsClickNextBelow: Feed {0} has no new revisions, click next below.
Message-FeedHasNoNewRevisionsClickNextBelow: 'Feed {0} has no new revisions, click next below.'
Message-Login: >-
Do you know you could Login and preserve your labels under your name? We
support Login with Wikipedia account through Oauth.
Expand All @@ -90,7 +93,7 @@ Message-Prompt-Login: >-
Message-RevertEditSummary: >-
Identified as test/vandalism using {0} version {1}. See it or provide your
opinion at {2}
Message-SorryWeFailedToRevert: Sorry, we failed to revert the revision {0}.
Message-TheRevisionIsSuccessfullyRevertedAs: The revision {0} is successfully reverted as {1}.
Message-SorryWeFailedToRevert: 'Sorry, we failed to revert the revision {0}.'
Message-TheRevisionIsSuccessfullyRevertedAs: 'The revision {0} is successfully reverted as {1}.'
Message-ThereIsNoEditSummary: There is no edit summary.
Message-YourJudgementLogged: Your judgement for {0} for revision {1} has been logged.
Message-YourJudgementLogged: 'Your judgement for {0} for revision {1} has been logged.'
11 changes: 10 additions & 1 deletion i18n/locales/es.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
Button-Go: Vamos
Button-Go.@meta.@description: >-
Etiqueta de botones para redirigir al usuario a una URL o ubicación
determinada.
Button-HelpTranslate: Ayuda a traducir
Button-HelpTranslate.@meta.@description: >-
Etiqueta para botón que permite a los usuarios ayudar a traducir mensajes
internacionalizados para este software.
Button-Next: próximo
Button-Next.@meta.@description: >-
Etiqueta para un botón al hacer clic en ir a la página siguiente o mostrar la
siguiente información.
Button-OpenedUrlToRevert: URL abierta para revertir
Button-RevertNow: Revertir ahora
Button-ShowJudgements: Mostrar juicios
Expand Down Expand Up @@ -66,6 +75,7 @@ MenuItem-Contributions: Mis contribuciones
MenuItem-ContributionsBeforeLogin: Mis contribuciones antes de iniciar sesión
MenuItem-Issues: Cuestiones
MenuItem-Stats: Estadísticas
Message-AJudgementLogged: 'Se ha registrado una sentencia para {0} para revisión {1}.'
Message-CongratsSuccessfullyReverted: 'Felicidades! has revertido con éxito directamente {0}.'
Message-DiffNotAvailable: >-
El artículo de wikipedia diff no está disponible temporalmente. Puedes
Expand Down Expand Up @@ -93,4 +103,3 @@ Message-SorryWeFailedToRevert: 'Lo sentimos, no pudimos revertir la revisión {0
Message-TheRevisionIsSuccessfullyRevertedAs: 'La revisión {0} se revierte con éxito como {1}.'
Message-ThereIsNoEditSummary: No hay resumen de edición.
Message-YourJudgementLogged: 'Su juicio para {0} para revisión {1} ha sido registrado.'
Message-AJudgementLogged: 'Se ha registrado una sentencia para {0} para revisión {1}.'
Loading

0 comments on commit c48e75e

Please sign in to comment.