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
Tweet

More Decks by Sundeep Anand

Other Decks in Programming

Transcript

  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?

    View Slide

  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

    View Slide

  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?

    View Slide

  4. What are the Use Cases
    which can help us to reduce
    the gap?

    View Slide

  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

    View Slide

  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.

    View Slide

  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.

    View Slide

  8. Translation
    Coverage
    (demo)
    https://www.youtube.com/watch?v=-X5G_zH-3TE

    View Slide

  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

    View Slide

  10. Track
    String Change
    Job
    (demo)
    https://www.youtube.com/watch?v=coY-52U45L4

    View Slide

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

    View Slide

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

    View Slide

  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.
    . . . .
    . . . .

    View Slide

  14. How Transtats Works?
    Presentation
    Interaction
    Jobs
    Resources

    View Slide

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

    View Slide

  16. Transtats CLI

    Upstream developers

    Package maintainers

    Translators
    Commands

    Coverage

    Job

    Package

    Release

    Version
    dnf install python3-transtats-cli

    View Slide

  17. Transtats
    CLI
    (demo)

    View Slide

  18. Q Answers
    Thanks!
    feedback.transtats.xyz
    {~} transtats.fedoraproject.org
    > github.com/transtats
    (?) docs.transtats.org
    [-] #fedora-i18n #transtats
    Sundeep Anand
    [email protected]
    Parag Nemade
    [email protected]

    View Slide