Remote App Translations
The Remote App for the iPad is the main controller for SOS for presenters. It has a rich user interface (UI) that includes many labels, buttons, and dialog boxes. The iPad has the ability to set the Language and Country from the Settings app, which automatically translates those Apps that have that capability.
Apple provides built-in translation capabilities that require a particular format, which is a type of property-value pair file called a strings file. In the case of the Remote App, the user interface elements that have only one or a few English language words are matched and translated on-the-fly using the strings file. Other user interface elements, such as more verbose messages, use placeholder text of a few words (preceded by “^”) that is used to look up translations.
The Apple strings file format is not particularly convenient for editing by a
human translator, so for translating the Remote App, SOS uses tab separated
value (tsv) files that are placed under /shared/sos/locale/iOS.
Like csv, tsv is a common import/export format for spreadsheets, such as Excel
or Google Sheets. Tsv is used instead of csv here because commas frequently
occur in the Remote App UI text, while tabs do not. The tsv files follow the
naming convention xx.tsv
, where xx is the [ISO 639][iso-369] language code
(country codes are not currently used for the Remote App UI translations). The
default locale is “en”, which is English. Like the translations described above
that are loaded into the Data Catalog, the en.tsv file can be used
to override the default English text in the iPad Remote App UI. This is unlikely
to be used routinely, but is available to anyone wishing to do some minor
customization of the Remote App UI text or to fix typos between releases.
Each row in the tsv file includes either the actual English text or special key text prefixed by “^”, and the translated text.
Text enclosed between /* */ characters are informational comments used to identify what part of the UI is being translated and are not part of the translation. Note that any missing translations will be shown in the Remote App in English by default.
Translating the Remote App UI for a New Language
Permalink to Translating the Remote App UI for a New Language- Copy the
en.tsv
file in /shared/sos/locale/iOS to the correct locale name following thexx.tsv
naming convention (contact SOS Support to obtain this file if it is not already on your system) - Load it into a spreadsheet program such as Google Sheets (or a text editor if preferred)
- Replace the last column of English text with translated values. Do not modify the text in the first column. You can use Google Translate in a cell formula to automate this process (see the VPLE UI Translation section for a similar example of how to do this)
- Export back to tsv (if using a spreadsheet). Be sure the
xx.tsv
file is placed in the /shared/sos/locale/iOS/ directory - Convert the
xx.tsv
file to.xx.strings
using either the SOS Stream GUI or translations2db command line utility
Editing the Remote App UI Translations for an Existing Language
Permalink to Editing the Remote App UI Translations for an Existing Language- Load the
xx.tsv
file in /shared/sos/locale/iOS into a spreadsheet program such as Google Sheets (or a text editor if preferred) - Update the last column of translated text with your edits. Do not modify the text in the first column
- Export back to tsv (if using a spreadsheet). Be sure the
xx.tsv
file is placed in the /shared/sos/locale/iOS/ directory - Convert the
xx.tsv
file to.xx.strings
using either the SOS Stream GUI or translations2db command line utility
Displaying the Remote App UI Translations
Permalink to Displaying the Remote App UI TranslationsIn order for the Remote App to use translations, the iPad device Settings app (the gear symbol) must first be used to the change the locale. Here is an example on how to set the Language & Region settings to German in Germany:
First, set the Region to Germany (DE).
Second, set the Language to German (de).
Changing the device’s Language & Region will also cause all the basic iOS controls to use that locale’s language as well. After the device locale is set, then the Remote App will automatically transfer the corresponding translations file from /shared/sos/locale/iOS. For this example, the file would be .de.strings.