From Fedora Project Wiki
Context
The Fedora Localization project has a few groups in https://fedora.zanata.org:
- Upstream project, organized in two categories
- main Following Fedora development cycle
- upstream Not following Fedora development cycle
- Fedora Project specific content:
- web Fedora Websites
- docs Fedora Documentation (currently disabled, but new l10n support is work-in-progress)
In addition, we have two groups aiming to help prioritization:
- Priority Packages List of priority packages, documentation and websites for the upcoming Fedora release
- rhel Branches for Red Hat Enterprise Linux
Current processes
- Any project owner - a Fedora contributor - can come an create a new translation project.
- Inside Zanata, documents for a project are grouped into versions. For simple projects, it is typical to create a single version named 'master'. Other projects use workflows in which there is a version under active development, and one or more versions that are being maintained in a stable state with only some minor changes. Grouping these related versions under the same project allows for easier reuse of translations between versions. See doc for details.
- Multiple files format are theoretically supported by Zanata, but only gettext format really matter.
- SELECT
contentType
, count(id
) FROMhdocument
GROUP BYcontentType
, shows 12702 application/x-gettext and 137 text/plain. - Default file type by project: File 12, Gettext 80, NULL 23, Podir 5, Properties 2, Xliff 1, Xml 1
- SELECT
- The project owner can manually upload and download data with Zanata (rare use case)
- The project owner can use a Command Line Interface to upload/download data with Zanata
- Some projects uses the Zanata CLI Continuous Integration or Continuous Deployment.
Strengths:
- Upstream project are autonomous and don't require anyone from l10n team to create/push or pull translation
- there is only one commit for all translation
Weaknesses:
- nobody get noticed when a new project, version or document is created
- there is no easy way to know if upstream downloaded the latest translation from Zanata
- there is no easy way to know if content in Zanata is still synced with upstream
- projects can decide not to store translation in a git repository
Risks:
- Zanata packages may not be available anymore for project to push/pull content https://apps.fedoraproject.org/packages/zanata-platform/builds/
Opportunities:
- ...
User stories
File formats:
Description | Reasons, if required | Priority |
---|---|---|
As a project maintainer, I want to be able to push/pull translation files with the following formats : po | n/a | MVP |
Interaction:
Description | Reasons, if required | Priority |
---|---|---|
As a project maintainer, I want to have a direct connection between the translation platform and my project repository | Make sure there is no delay. | TBD |
As a project maintainer, I want to have a manual connection between the translation platform and my project repository | Pull/push mecanism as we currently have with Zanata. | MVP |
As a ‘’’???’’’, I want to be able to interact with the translation platform using an API. | TBD |
Quality checks:
Description | Reasons, if required | Priority |
---|---|---|
As a project maintainer, I can set/unset some technical checks. | programming langage checks | TBD |
System requirements
supported file formats
Translation format | Weblate | Fedora |
---|---|---|
GNU gettext | yes | required |
Monolingual gettext | yes | ? |
XLIFF | yes | ? |
JSON | yes | ? |
JSON i18next | yes | ? |
Qt Linguist .ts | yes | ? |
Java Properties | yes | ? |
CSV | yes | ? |
YAML | yes | ? |
Ruby YAML | yes | ? |
Excel Open XML | yes | ? |
PHP Strings | yes | ? |
Additional formats are available here