Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Use cases for Transtats in the Fedora community

Use cases for Transtats in the Fedora community

Presented in Flock (the Fedora Project's annual contributor-focused conference) 2019 at The Danubius Hotel HELIA, Budapest, Hungary.


Sundeep Anand

August 09, 2019

More Decks by Sundeep Anand

Other Decks in Programming


  1. Many of the fedora software packages seem ineffective to cater

    native language users, because of a lot of reasons. However, translation statistics at platforms tell a different story. CAN WE REDUCE THE GAP?
  2. Transtats transtats.org Transtats 0.7.5 • Use case based UI designs

    • Better coverage reports • Transifex and Weblate support Today Transtats 0.7.0 • PatternFly UI • Basic celery setup • Transtats deployed in fedora Spring 2019 Transtats 0.1.5 • Sync with Koji build system • YML based Jobs framework • Openshift Deployment Spring 2018 Transtats 0.1.6 • API Authentication • Track String Change Job • PostgreSQL 9.2 db back port Autumn 2018 Transtats 0.1.4 • Sync with Translation Platforms • Manage Languages, Releases • Package Branch Mapping • Initial APIs, Fedora Authentication Autumn 2017
  3. Software Package Localisation i18n framework i18n-ed app POT, PO, MO

    INI, JSON PROP, DTD RC, RESX XML, YML あ A DamnedLies Pootle Transifex Weblate Zanata srpm, rpm dsc, deb pkg jar, apk msi git, svn, bzr, etc. yum, apt (dpkg), brew, etc. build ship extract merge push pull ➔ Is everything translated packaged and built? ➔ Are all strings pushed to translation platform latest to software repositories? ➔ How about release readiness?
  4. What are the Use Cases which can help us to

    reduce the gap?
  5. Is everything translated packaged? 1. Package Translation Completeness a. Upstream-Platform-Downstream

    b. Diff (language specific) c. Branch mapping 2. Translation Coverage a. Insights
  6. Package Translation Completeness There are translated strings in the Translation

    Platform to be pulled and packaged for Kazakh. Translated messages could not make 100% in the built package for Zulu.
  7. Translation Coverage Either follow tags mapped with branch for packages

    or override and select one or multiple tags. Every release is associated with a language set. Either follow that or select one or more languages.
  8. Translation Coverage (demo) https://www.youtube.com/watch?v=-X5G_zH-3TE

  9. Are all strings pushed to translation platform latest to software

    repositories? Job to detect String Change job: exception: raise execution: sequential name: string change package: %PACKAGE_NAME% release: %RELEASE_SLUG% return_type: json tasks: - clone: - name: git repo - branch: master - generate: - name: POT file - domain: %PACKAGE_NAME% - cmd: cd po && intltool-update --pot --gettext-package=%PACKAGE_NAME% - download: Platform POT file - calculate: Diff type: stringchange
  10. Track String Change Job (demo) https://www.youtube.com/watch?v=coY-52U45L4

  11. How about release readiness? Territory View Languages Releases Coverage Packages

  12. Release Readiness (demo) https://www.youtube.com/watch?v=xpCudZDyb4g

  13. Transtats Support Translation Platforms i18n Frameworks (file formats) Build Systems

    Version Control ( POT, PO, MO ) ( koji - srpm/rpm - yum/dnf ) ( pagure, github, gitlab, bitbucket, etc.) * logo(s) belong to their respective owners. . . . . . . . .
  14. How Transtats Works? Presentation Interaction Jobs Resources

  15. Interaction Layer - APIs - CLI - Notifications - Integrations

  16. Transtats CLI ➔ Upstream developers ➔ Package maintainers ➔ Translators

    Commands • Coverage • Job • Package • Release • Version dnf install python3-transtats-cli
  17. Transtats CLI (demo)

  18. Q Answers Thanks! feedback.transtats.xyz {~} transtats.fedoraproject.org </> github.com/transtats (?) docs.transtats.org

    [-] #fedora-i18n #transtats Sundeep Anand suanand@fedoraproject.org Parag Nemade pnemade@fedoraproject.org