From Fedora Project Wiki

< User:Jibecfed

Revision as of 09:55, 12 March 2019 by Jibecfed (talk | contribs) (add process and build info)

Taiga follow-up:


   English source -> POT files -> PO files -> translated source -> translated site

Git organization

  1. English source => Doc repository ==> (D)
  2. POT files -> PO files => localization repository ==> (L)
  3. PO files -> localized content
  4. translated source => "web" repository ==> (W)
    1. (see branches)


  1. When there is a change in (D), it will call a job, and update pot files in (L)
  2. When there is a change in (L), translation platform will know and get updated
  3. When there is a change in translation platform, it will update content in (L)
  4. 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

Current phase

  • 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

How to build

To build translated website, just run the "" file from: Note: I wrote an updated script (using local cache to save a LOT OF TIME):

To produce new pot from source and new localized content from po files: Note: you need commit right on multiple repositories to do so.

Requirements to enter Beta Phase

Beta phase means:

  1. translation is open for a few more languages, testing is still active.
  2. translation platform is still Weblate as a test tool
  • Done:
    • #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
  • TODO:
    • Fix the language code (we should stick to IETF BCP 47 language tag and not assume anything)
    • #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:

  1. translation is open for every needed languages.
  2. translation platform is Zanata or any other tool the Fedora community decide to use
  • #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)

Other needed improvements

  • TODO:
    • #133 include localized URL in sitemaps
    • Generally speaking, respect i18n-checker advices
      • #35 We need to be able to generate “href lang attributes”
    • RTL texts (arabic, ...)
    • Dedicated documentation