Skip to content

Latest commit

 

History

History
382 lines (305 loc) · 22.2 KB

README.md

File metadata and controls

382 lines (305 loc) · 22.2 KB

If you are interested to be part of the Daily Dozen App Translation Volunteer Team, an online application is available at:

Contents

DashboardLocalization WorkflowFilename ConventionResources

The nutritionfactsorg/daily-dozen-localization repository supports the language translation work for the Daily Dozen applications on Android and Apple devices.

A Daily Dozen App Localization QuickStart Guide is located in the documentation folder at Documentation/Quickstart.md. The guide is intended to provide a process that is approachable by contributors without software development expertise. For example, it is sufficient to download, edit and submit a single file without creating a local clone or online fork of the git repository.

Dashboard

Base Development Language

Language Android Google Play Apple App Binary App Store
English_US en Base, en Australia AU)
Canada (CA)
Great Britain (GB)
USA (US)

App Localizations & Store Distribution

Language Android Google Play Apple App
Binary
App Store †
Afrikaans - af - af -
Arabic - ar - ar Egypt (ar-EG),
Saudi Arabia (ar-SA), ...
Bhojpuri - bho - -- (not available)
Bulgarian bg bg Bulgarian (BG) uses English
Catalan ca ca Spain (ca-ES)
Chinese_HongKong - zh-HK - zh-HK Hong Kong (HK)
Chinese_Simplified - zh-Hans - zh-Hans China (CN),
Singapore (SG)
Chinese_Traditional zh-Hant zh-Hant Macau (MO),
Taiwan (TW)
Czech cs cs Czech Republic (CZ)
Danish - da - da Denmark (DK)
Dutch - nl - nl Netherlands (NL)
Estonian - et - et Estonia (EE)
Finnish - fi - fi Finland (FI)
French fr fr France (FR)
French_Canada - fr-CA - fr-CA Canada French (fr-CA)
Georgian - ka - ka
German de de Germany (DE)
Greek el - gr Greece (GR)
Hebrew he he Isreal (IL)
Hindi - hi - hi India (IN)
Hungarian - hu - hu Hungary (HU)
Italian it it Italy (IT)
Japanese - ja - ja Japan (JP)
Kannada - kn - kn
Korean - ko - ko Korea (KR)
Lithuanian - lt - lt
Mongolian - mn - mn
Norwegian_nb - nb - nb Norway (NO)
Persian T fa T fa
Polish pl pl Poland (PL)
Portuguese_Brazil pt-BR pt-BR Brazil (BR)
Portuguese_Portugal pt-PT pt-PT Portugal (PT)
Romanian ro ro Romania (RO)
Russian ru ru Russia (RU)
Serbian_Cyrillic - sr - sr
Serbian_Latin - sr-Latn - sr-Latn
Slovak sk sk Slovakia (SK)
Slovenian - sl - sl
Spanish es es, mx Mexico (es-MX),
Spain (es-ES)
Swedish - sv - sv Sweden (SE)
Thai - th - th Thailand (TH)
Turkish - tr - tr Turkey (TR)
Ukranian T uk T uk Ukraine (UK)
Vietnamese - vi - vi Viet Nam (VN)

Legend:

  • P - partial application translation received
  • R - application translation received and being processed
  • T - application in test with translation
  • U - application existing translation update received and being processed
  • - published through the app store

Notes:

† - The App Store column provides a links to example localized webpages. Every Daily Dozen application contains all published translations so that the user can have access to any of the in-app translations anywhere in the world. The Daily Dozen application is either (1) based on the user's language setting for the device or (2) uses English if a dialect for the device language is not available. For Apple iOS version 13 or newer, the user can set the language on a per application basis in the iOS Settings app.

Localization Workflow

Here is an overview of the general workflow for working with the TSV spreadsheet files. Please see the Daily Dozen App Localization QuickStart Guide for more detailed steps: Documentation/Quickstart.md.

Phase 1. Export. The Android and Apple exported localization files are merged into a spreadsheet compatible Tab Separated Value (TSV) files.

Phase 2. Translation. The Tab Separated Value (TSV) format can be conveniently imported and exported with various popular spreadsheet programs for the translators' use.

Data in field columns with have header names which begin with key_ or base_ are not to be translated. In particular, the key_android, key_apple entries are used for mapping values back into the device specific localization files.

The base_comment provides translation guidance in the development language (English).

The columns which begin with lang_ are to be translated.

Extra columns can be added for the translators' convenience. The extra column names should not begin with key_, base_ or lang_. Any extra columns will be ignored upon import back into the device specific formats.

Phase 3. Import. The completed TSV files are used to generate Android and Apple localization import files.

Filename Convention

The filename convention language_code.type.tags.datestamp.extension uses the following elements :

  • language Language Name. For example: English, Spanish, German.
  • code Language Code is a ISO 639 Set 1 two letter language code. The code may also include the hyphenated - addition of a region code.
    • Language code examples: en, es
    • Language code examples which include a regtion: pt-BR, pt-PT.
  • type Types currently in use include:
    • app Translation used directly in the Android and Apple applications.
    • store Translation used in the App Store web page.
    • url_fragments Url path fragments used in the applications. May be language dependent, but not "translated" per se.
    • url_topics Urls for topic video url links. May be language dependent, but not "translated" per se.
  • tags: Tags provide additional descriptors, as needed, in the file name. For example:
    • changeset: an incremental change to the overall translations
    • intake: raw TSV file provided from a translator
    • normalized: raw intake TSV file which has been processed, passed automated checks and normalized
    • wip: some arbitrary "Work In Progress"
  • datestamp: Date, and optionally time, based on either of the following formats.
    • yyyyMMdd: 20200413 (year, month, day)
    • yyyyMMdd_HHmm: 20200413_1327 (year, month, day, 0-24 hours, minutes)
  • .extension Filetype Extension may be .tsv, .text, .txt or .zip depending on the content format.
    • .text, .txt or .zip can be posted in an issue tracker comment.
    • .tsv is use in the processing code base and pull requests

File Name Examples

  • English_US_en.app.tsv The baseline US English spreadsheet for the Android and Apple applications.
  • Russian_ru.app.changeset01.20220805.intake.tsv Unprocessed Russian changeset version 01 received from the translator on August 5, 2022.

Resources