ARK2/Localization

From ARK
Revision as of 21:06, 4 May 2017 by John Layt (talk | contribs) (Localization)

Jump to: navigation, search

Localization

Localization is the process of translating the user interface and data into the language and formats of the user.

ARK2 uses the following components for localization and translation:

Translation

  • Translations are stored and transmitted in the XLIFF file format
  • Translations uses keys rather than source strings
  • Translations will be split in a number of catalogues:
    • Core interface
    • User interface
    • Admin interface
    • Schema (one for each created)
  • Actor and User IDs are translated using a custom loader from the database

The Admin Interface provides a basic interface for the maintaining of translation. Export and import interfaces are provided for the ???? online translation community.

Design Decisions To Be Made

Potential online portals include:

  • Transifex - Market leader, but now closed source, offers free hosting to open source projects, large community, great features and automated workflow, API, Github integration, etc.
  • Zanata - A Red Hat open-source project (in response to Transifex going closed) with free hosting and large existing community, or can be self-hosted (JBoss based), great features and automated workflow, API, Github integration, etc. No RTL?
  • Weblate - An open-source project with free and paid-for hosting, but no central community, or can be self-hosted, good features, API, Github integration, etc. Django based.
  • https://localise.biz/ Free or GBP5 p/m plan may be enough, good api, Symfony bundle
  • Translation Project - A FSF open-source project with free hosting and large existing community, but very basic features and manual workflow.
  • Pootle - An open-source project, self-hosted, Django based

Zanata would seem the preferred option for a hosted service, but Weblate might be better if self-hosting.

A number of options exist for automating extraction of Symfony translations, or for allowing interactive editing inside the admin panel or profiler panel:

None of these quite match our requirements, but may be adapted to achieve our workflow.