If you find an error in an existing translation, please file a bug using the translation template. CC “chromelocalization@google.com”. Thank you!
You can also help provide translations for the chromium-browser package on Ubuntu.
The base messages (en-US) will be translated to supported locales by an internal Google Localization process, and translations will appear in the associated .xtb files after ~a couple of weeks.
The base messages (en-US) will be translated to supported locales by an internal Google Localization process, and translations will appear in the associated .xtb files after ~a couple of weeks.
for lang in fr de en-GB etc; do echo ‘’ > foo_strings_$lang.xtb; done
<grit base_dir=“.” latest_public_release=“0” current_release=“1”
source_lang_id=“en” enc_check=“möl”>
Debug everything.
Strings are included on all platforms by default and will needlessly increase the download size if not used. It‘s important to judiciously surround strings with an appropriate clauses to ensure that they are only included on the platforms where they’re actually used.
By default, existing translations are reused when a new message matches an existing one. This can pose a problem when the contexts or restrictions (e.g. length, capitalization) for the two messages differ. To ensure that matching messages are translated separately, you may add a meaning attribute:
Unknown
In this example, we'd like to apply the capitalization rules for language names (e.g. “Unknown” in English, “sconosciuto” in Italian), so we cannot reuse the existing translations of “Unknown”. In general, the meaning attribute should specify:
The nature of the message (e.g. action / description / accessibility / ID)
The nature of the word (e.g noun / adjective / verb). For example, “click” may be translated to “clic” or “clique” depending on context.
Any constraints (e.g. length)
The homonymy disambiguation
Messages with differing content or meaning attributes will always be translated separately. However, the meaning attribute should only be used to trigger separate translation; the general context for a message should be provided with the description attribute.
The message description added to the grd(p) file with your string is currently the only context our translators receive when translating UI strings. We would all like to do our best to ensure that the user experience with Chromium is as natural as possible, no matter the language. So let's try to give the translators as much clear context as possible. The following includes what information is needed in a good description, placeholder information, max chars limit, as well as some examples of what these should look like.
IE: (The translator would only see what is in bold)
<message name=“IDS_BOOKMARK_BUBBLE_PAGE_BOOKMARKED” desc=“In Title Case: Title of the bubble after bookmarking a page.”>
Bookmark Added!
The problem: Currently, the translators often have no context when they translate -- they see each string in isolation and in random order, so they don‘t even know which feature it could be associated with, where it might appear on a page, or what action it triggers. Without context, they can’t know how to translate appropriately. The solution: Message descriptions can help provide context and other essential information, which in turn increases the speed, accuracy, and quality of translations, and, ultimately, improves user satisfaction.
How should line breaks be dealt with? Are there character limitations per line? Keep in mind that the translators will not know the product as well as you do, and they work on multiple products and projects. Also, they‘re not engineers. So make sure that the description will be understandable by a more general audience and doesn’t contain too much technical detail. Imagine giving this description out of context to a person not on your project, say your Aunt. Would they still understand it?
Source Message: “US city or zip” Original Description: The message is shown in gray in the empty search box for a movie showtimes location. The content of the message should be localized by country to mean city or postal code (or simply city). Its purpose is to tell the user what kind of input will produce results. Comment: This is very informative description, that clearly explains the context and also gives specific instructions on how the message should be adapted for another (non-US) locale. Source Message: “Apply” Original Description: Button label for the apply button. Comment: Provides the context, but the translator will also need to know what is going to be applied. Better Description: Button label; clicking the button will apply the selected label names to the message thread. Source Message: “read Gmail attachment previews” Original Description: Displayed in the Settings panel which lists the various permissions that this app requires. Must start with a lowercase. Comment: Providing the translators with instructions is good, but they also need to know the reason. Why does this need to be lowercase? Different languages have different conventions around capitalization, so we need to know the reason behind the instruction. Also, what is the context? Will any text come before or after? Better Description: Displayed in the Settings panel which lists the various permissions that this app requires. Should start with a lowercase because it will be listed with other permissions, all separated by a comma. Source Message: “Zoom” Original Description: The “Zoom” menu command. It brings up help on how to zoom. Try to limit menu commands to 10 characters. Comment: Very nice description in Mobile Maps. Tells us what it does, what it triggers and what the character limit should be to keep consistency across similar messages. Source Message: “We could not send your message. A space alien ate it. Please try again in a few minutes.” Comment: Should we translate the “space alien” part, or should it be changed to an appropriate equivalent for that locale? Should it be funny? By default, the translators will probably translate the message literally, so if they should get creative, the message description should let them know that. Better Description: An error message. This reason given is meant to be funny, so please use an appropriate silly reason for the error, and not necessarily a direct translation.