From Fedora Project Wiki
(page creation)
 
(page creation)
Line 2: Line 2:
When an Hungarian or French use Fedora in his language, use many software when using Fedora, and see translations (and localisation) on a horizontal way ( ie, per locale ). To improve the end-user experience, we need to think and act in a transversal way.
When an Hungarian or French use Fedora in his language, use many software when using Fedora, and see translations (and localisation) on a horizontal way ( ie, per locale ). To improve the end-user experience, we need to think and act in a transversal way.


== Proposal - try to change the way we provides translation to end-user ==
== Improve Fedora (as a platform) translation release preparation ==


=== Objectives ===
=== Objective ===


Provide translations to end user on a "horizontal" way.
We want to support language teams activities and help the emergence of new languages by giving more support tools to help language monitoring : production process, current status and quality insurance.
We want to push translation directly to the end user, without requiring efforts from upstream and packagers.
This will bring more reactivity, reduce efforts all across the ecosystem.


Context : please note this is not Fedora software focused but Fedora product focused, it means it also includes upstream projects perimeter.
Context : please note this is not Fedora software focused but Fedora product focused, it means it also includes upstream project perimeter.


=== Explanation ===
== To do so, many metrics and tools are needed ==


Current process :
=== Globally ===


We see errors > we do the work upstream > we find their translation platform (all different) and correct it > we ask for the publication of a new minor version > we request new Fedora packages
* Monitor the current state of Fedora on a horizontal way ;
===> from 3 weeks to 3 years, with many unneeded actors solicitation, resource utilization.  As Ralph Bean would say, this is not really Factory 2.0 compliant.
** Status : what is the LANGUAGE status in Fedora packages ?
*** Overall statistics about current packages translation in time
*** How active is the localization team ? mailing list, active contributors, bugs, words changed
*** Request level : per country visitor stats : ISO download, websites visitors, user settings
*** Automated quality checks : typography rules, grammar rules, translation pull from source.


Idea of new process :
* Have better communications with other teams, packages, maintainers, and create in long term an standardized operation procedure (SOP) for translators
** Write about translation platform, good and bad habits, encourage internalization, explain how we work, etc.
* Support a per language community (independent of project source or processes)
** Languages teams should be helped to go behind Fedora limits and reach other translation teams
* We need a translation team wrangler / overseer (With a task of managing dates, schedules, and leader of the coordinators)
* Have recurring online meetings on IRC or elsewhere, maybe once together with Zanata devs
* Clarify the way we handle new Fedora version (websites, docs, packages, languages)


We see errors > we correct it > we submit the content to end user
=== On the current translation platform (Zanata) ===
                              > and we submit modification upstream (at the same time)
===> translation process only involve the language team that has the responsibility for quality, distribution and upstream. There is also a faster feedback loop from locale community to translators


Use case example : I want to make easy to translate software in Gnome Software for a community, by using the current translation process, it will be a never-ending painful work. By having an middle platform to translate and push strings directly to end-user, it would make translation team way easier.
* Know where we are =>  Metrics  : what is translated/fuzzy/untranslated for my language ?
** Examples : https://l10n.gnome.org/releases/gnome-3-22/ and https://l10n.gnome.org/teams/fr/
* Product centric categories  =>  what is translated/fuzzy/untranslated for my language for Fedora 25, or Fedora Atomic, etc.
* Product centric information => when is the next release and until when can I correct things ?
** We should have this kind of time-line for the Fedora released focus packages : https://wiki.gnome.org/Schedule
* To know what is happening => who contributed ? what changed in the translation (diff) ? what are the new project po files ? what are the last added projects ?
** Examples : add improved version of this page https://fedora.zanata.org/profile/view/jibecfed
** Sorting improvements : sort project by last edit, by last maintainer po push, by importance, etc.
** Produce automatic digest of changes to mailing list (new projects, new files, translation updates, etc.)
* Create per language review process => a language should be able to prevent content to be available to the project maintainer if it isn't reviewed
** each time is different in term of size and process, so autonomy is needed to adapt to resources
** Example: use status https://l10n.gnome.org/languages/fr/gnome-3-22/ui/
* Ease communication =>
** send messages from maintainers=>translators,
** send message or translators=>translators,
** send message translators=>maintainers, it may be like a new status for the string in Zanata
** Example: https://docs.weblate.org/en/latest/devel/review.html?highlight=comment#string-comments
* Automatic tools to help =>
** Ex1 : detect very close sentences that have different translations
** Ex2 : when there is an existing translation close to the source and that is not translated yet, propose merge (use case : two branches on the same project, one was translated, not the other one)
** Ex3: Automated quality checking, looking for potential typo, size of the string, typographic rules
* Zanata feature request to aid problems above
** Percentage usage from translation memory - what is fuzzy, or need to be retranslated fully (minor fix, or remake)
** Branch categorization - better overall view of the project files, and their importance before freezing date
** Missing overall statistics per language (untranslated, fuzzy, translated)

Revision as of 06:41, 13 August 2016

Translations are coming from everywhere, project by project on a "vertical" way. It comes from a project and through the packaging process it reach the user, project by project. When an Hungarian or French use Fedora in his language, use many software when using Fedora, and see translations (and localisation) on a horizontal way ( ie, per locale ). To improve the end-user experience, we need to think and act in a transversal way.

Improve Fedora (as a platform) translation release preparation

Objective

We want to support language teams activities and help the emergence of new languages by giving more support tools to help language monitoring : production process, current status and quality insurance.

Context : please note this is not Fedora software focused but Fedora product focused, it means it also includes upstream project perimeter.

To do so, many metrics and tools are needed

Globally

  • Monitor the current state of Fedora on a horizontal way ;
    • Status : what is the LANGUAGE status in Fedora packages ?
      • Overall statistics about current packages translation in time
      • How active is the localization team ? mailing list, active contributors, bugs, words changed
      • Request level : per country visitor stats : ISO download, websites visitors, user settings
      • Automated quality checks : typography rules, grammar rules, translation pull from source.
  • Have better communications with other teams, packages, maintainers, and create in long term an standardized operation procedure (SOP) for translators
    • Write about translation platform, good and bad habits, encourage internalization, explain how we work, etc.
  • Support a per language community (independent of project source or processes)
    • Languages teams should be helped to go behind Fedora limits and reach other translation teams
  • We need a translation team wrangler / overseer (With a task of managing dates, schedules, and leader of the coordinators)
  • Have recurring online meetings on IRC or elsewhere, maybe once together with Zanata devs
  • Clarify the way we handle new Fedora version (websites, docs, packages, languages)

On the current translation platform (Zanata)

  • Know where we are => Metrics  : what is translated/fuzzy/untranslated for my language ?
  • Product centric categories => what is translated/fuzzy/untranslated for my language for Fedora 25, or Fedora Atomic, etc.
  • Product centric information => when is the next release and until when can I correct things ?
  • To know what is happening => who contributed ? what changed in the translation (diff) ? what are the new project po files ? what are the last added projects ?
    • Examples : add improved version of this page https://fedora.zanata.org/profile/view/jibecfed
    • Sorting improvements : sort project by last edit, by last maintainer po push, by importance, etc.
    • Produce automatic digest of changes to mailing list (new projects, new files, translation updates, etc.)
  • Create per language review process => a language should be able to prevent content to be available to the project maintainer if it isn't reviewed
  • Ease communication =>
  • Automatic tools to help =>
    • Ex1 : detect very close sentences that have different translations
    • Ex2 : when there is an existing translation close to the source and that is not translated yet, propose merge (use case : two branches on the same project, one was translated, not the other one)
    • Ex3: Automated quality checking, looking for potential typo, size of the string, typographic rules
  • Zanata feature request to aid problems above
    • Percentage usage from translation memory - what is fuzzy, or need to be retranslated fully (minor fix, or remake)
    • Branch categorization - better overall view of the project files, and their importance before freezing date
    • Missing overall statistics per language (untranslated, fuzzy, translated)