FAD on this subject will be on April' 12th and 13th: https://pagure.io/Fedora-Council/tickets/issue/250
- user:asamalik (antora usage and scripting),
- user:jibecfed (testing, internationalization, translation platform),
- user:bex (po4a patches)
English source -> POT files -> PO files -> translated source -> translated site
- English source => Doc repository ==> (D)
- POT files -> PO files => localization repository ==> (L)
- PO files -> localized content
- translated source => "web" repository ==> (W)
- https://pagure.io/fedora-docs/fedora-docs-web/ (see branches)
- When there is a change in (D), it will call a job, and update pot files in (L)
- When there is a change in (L), translation platform will know and get updated
- When there is a change in translation platform, it will update content in (L)
- Every day or night, content from (D for EN) and (L for every other languages) are used to generate content for (W), and publish it
- We are in Alpha
- We translate in French to validate the tooling.
- We create a few other languages to validate the tool.
- We use a Weblate as a test tool http://translate.holcroft.fr/
How to build
To build translated website, just run the "build-translated.sh" file from: https://pagure.io/fedora-docs/docs-fp-o Note: I wrote an updated script (using local cache to save a LOT OF TIME): https://pagure.io/fork/jibecfed/fedora-docs/docs-fp-o/tree/tracking
To produce new pot from source and new localized content from po files: https://pagure.io/fedora-docs/translations-scripts/ Note: you need commit right on multiple repositories to do so.
Requirements to enter Beta Phase
Beta phase means:
- translation is open for a few more languages, testing is still active.
- translation platform is still Weblate as a test tool
- #110 POT+PO repositories — design the structure
- #111 POT+PO repositories — create them
- #112 Translated source repositories — design the structure
- #113 Translated source repositories — create them
- #114 English source -> POT script — write it
- #115 PO -> translated source script — write it
- #119 Build script for translated site — write it
- #123 Redesign the structure of the PO and POT repositories
- Fix the language code (we should stick to IETF BCP 47 language tag and not assume anything)
- Context: a language can have multiple regional declination (and variants, etc.).
- In this URL: https://docs.fedoraproject.org/fr-FR/docs/ the language code should be fr, because it's how the folder is named. https://pagure.io/fedora-l10n/docs/blob/master/f/po (it's the translation platform who will create the correct folder name)
- Generate the list of docs to convert for translation in all-src-to-pot from site.yml
- Create all required fedora-l10n repositories
- Generate the list of translated language from localization repositories
- Generate localized version of yml files
- #116 Translated UI — determine how it's gonna work
- Includes: browser's language detection for redirection and language button? needs better description
- #117 Translated UI — create it
- what does it includes? needs better description
Requirements to enter Public Availability
Public Availability means:
- translation is open for every needed languages.
- translation platform is Zanata or any other tool the Fedora community decide to use
- don't assume language list in all-po-to-src
- use the same [script for language redirection as the one for fedora-wesites https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/fedora-web/getfedora/files/languages.conf]
- Infra ticket is open: https://pagure.io/fedora-infrastructure/issue/7696
- #120 Process for adding new content — draft it
- #121 Process for adding a new language — draft it
- #130 Fix: Clicking on the logo should go to a homepage of the current language
- #122 (spike) How do we deal with images?
- Doc generation should use fedora infrastructure (and not Asamalik's computer)