Uploaded image for project: 'Puppet Agent'
  1. Puppet Agent
  2. PA-1023

Convert PO files to MO binary format for packaging in the Agent

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: puppet-agent 5.0.0
    • Component/s: None
    • Labels:
    • Template:
    • Acceptance Criteria:
      Hide

      Binary MO translation files are shipped in puppet-agent for all internationalized components

      Show
      Binary MO translation files are shipped in puppet-agent for all internationalized components
    • Team:
      Agent
    • Story Points:
      5
    • Sprint:
      Agent 2017-04-05, Agent 2017-04-19, Agent 2017-05-03, Agent 2017-05-31
    • Release Notes:
      New Feature
    • Release Notes Summary:
      The Agent will now ship with binary MO translation files once we actually have translations. These will get installed along with the rest of the Agent, providing translations for Puppet and eventually other components.
    • QA Risk Assessment:
      No Action
    • QA Risk Assessment Reason:
      Infrastructure and/or release tickets not risk-assessed

      Description

      The translation files that we get back from Transifex will be in PO format. In order to be consumed by our i18n tooling, they need to be compiled to MO binary format. These MO files need to be packaged inside the Agent so that they will be properly installed on the system when the package is installed.

      The compilation is done via msgfmt, part of the native gettext toolchain. It needs to be run on each PO file in a project's locales directory, which will live in a subdirectory specifying their locale (e.g. "de" for German). The created MO files needs to be placed in a corresponding LC_MESSAGES folder within the locale directory (e.g. de/LC_MESSAGES/puppet.mo), which will be searched by the i18n tooling (both for Ruby and for C++).

      Since binary files are not well-tracked by git, this compilation should be part of the puppet-agent build, and therefore executed by vanagon when the package is built.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              maggie Maggie Dreyer
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support