If you are interested to be part of the Daily Dozen App Translation Volunteer Team, an online application is available at:
Dashboard • Localization Workflow • Filename Convention • Resources
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
Legend:
P
- partial application translation receivedR
- application translation received and being processedT
- application in test with translationU
- 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
.
- Language code examples:
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 translationsintake
: raw TSV file provided from a translatornormalized
: rawintake
TSV file which has been processed, passed automated checks and normalizedwip
: 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 ▴
- Android Developer
- Apple App Store regions: https://www.apple.com/choose-country-region/
- Apple Developer
- Article: "Localizing Your App" ⇗
- App Store
- Localize App Store information ⇗ List of localizations supported in App Store. The following can be localized on the App Store page: app name, description, keywords, and screenshots.
- App Store countries and regions ⇗ List of countries and regions where the app can be made available.
- Required, localizable, and editable properties ⇗
- Localization ⇗
- App Store Reference: App information fields
- See "Availability in China mainland" regarding China permits.
- Standard Codes
- Language ISO 639-1 codes ⇗ Codes for the representation of names of languages
- ISO 3166 ⇗ geographic codes
- ISO 3166-1 alpha-2 ⇗ two-letter country codes