-
-
Notifications
You must be signed in to change notification settings - Fork 99
Contributing to Translations
Thanks for your interest in translating the app!
Translations are now powered by Weblate, but for the nitty-gritty of file structure, pluralization, terminology, etc. see below.
The reference files are in English. Words and sentences used in the app are in these files, which must be translated:
Additionally, the app descriptions (used on the Play Store and F-Droid) could be translated, but this is not essential:
The Terms of Services
are only available in English, for now. Given that 1) it is mostly a legal/policy obligation, 2) most users ignore it, and 3) only the original English version is the reference for legal value, I don't think it's necessary to translate it.
Most lines are like this:
"entryActionRotateCW": "Rotate clockwise",
In that example, Rotate clockwise
must be translated, and "entryActionRotateCW"
is the key. The key gives some hint where and how it's used in the app (e.g. "...Tooltip"
, "...DialogTitle"
).
Some lines are like this:
"itemCount": "{count, plural, =1{1 item} other{{count} items}}",
"@itemCount": {
"placeholders": {
"count": {}
}
},
In that example, variations of the sentence are provided to handle singular and plural variations. This example provides 2 variations:
-
=1
when there is only one item, -
other
when there are 0 or more than 1 item.
1 item
and {count} items
are the language-dependent parts that must be translated, the rest is code syntax and should not be translated.
Some languages do not need plural variations, some languages have more variations than English. Even if there are no variations, the case other
must be there. Other cases you can use are =0
, =2
, =few
, =many
.
For reference and details, see Formatting Messages with ICU and Unicode Plural Rules.
Some lines are like this:
"@otherDirectoryDescription": {
"placeholders": {
"name": {
"type": "String",
"example": "Pictures",
"description": "the name of a specific directory"
}
}
},
Blocks of lines starting with @
should not be translated. They are only in the English reference file, and they are removed from the translated files.
This kind of block defines placeholders used in the translation of the associated key. It also sometimes provides additional context or usage examples, to help with the translation.
Lines to translate are like this:
<string name="analysis_channel_name">Media scan</string>
In that example, Media scan
must be translated, and "analysis_channel_name"
is the key. The key gives some hint where and how it's used in the app.
Some terms have a specific technical meaning or they already have an established usage and cannot be freely translated.
A video
is an item that can contain both video and audio streams.
A motion photo
is a combination of an image and a short video (with or without audio).
An animation
(or animated
item) is a sequence of images without sound. The most famous format for animations is GIF, but not all animations are GIFs, and not all GIFs are animated.
The list of the apps installed on the user's device is called the app inventory
. The expression is used by Google in their Developer Programme Policies.
Aves
is the name of the app. This should not be replaced by Gallery
or the like. Transliteration in a different script is fine (e.g. 아베스
in Hangul for Korean), translation is not.
For some items, the Info page will show their owner
as the name of an app or package. The owner
package is the one that has created or registered the item in the Android Media Store. The concept of media ownership is for permission purposes (similar to the concept of file owner on Unix
systems) and is unrelated to the way the item was created (downloaded, generated, transferred, whatever).
Raw
is a format, and must be kept as Raw
.
Time to take action
is an accessibility setting to give more time to people with mobility disability to react to a time limited event. The expression Time to take action
comes from the standard Android accessibility settings.
I'm no expert but I care about typography and try to follow recommended practices. This mostly impacts the following:
- capitalization: use title case for titles, etc.
- spacing: space around punctuation and symbols vary by language. If you need an unbreakable space you can write
\u00A0
, e.g.Pressez «\u00A0retour\u00A0»
. - quotation marks: avoid straight quotes, and use instead what would be used when publishing books in your language. No books around? Wikipedia can help.
Translations are now powered by Weblate, but if for some reason you cannot use that platform, you can submit your translation as follows.
When you've completely translated the files listed in What to Translate, and you double-checked the Terminology and the Typography of your translation, you can open a PR or send the translated files by email.