mozilla
Your Search Results

    Mozilla L10n Style Guide

    This article is in need of a technical review.

    Draft
    This page is not complete.

    Meaning-based translation

        When it comes to translation, meaning is everything. We encourage you to consider the source text's meaning and find its most closely linked equal in your own language. Avoid literal translation at all costs. Finding meaning-based equivalents between languages can be difficult. To help concentrate your thoughts, ask yourself questions like:
    • What does this word/sentence/string mean in English?
    • What is the message the author is trying to send?
    • How would I express that meaning in my own language?

    Usage

        The target audience and their relationship with the Mozilla product determines a translation's usage. A determined translation usage is often maintained throughout a product localization, and even across various products within a single category.
    • For Mozilla desktop products, the target audience is general users with all levels of technical ability. This could indicate more formal language in the UI as the target audience's relationship with desktop products is less frequent. It could, however, indicate informal language due to the level of implied trust between a user and their browser.
    • For Mozilla mobile products, the target audience is general users carrying mobile devices. This could indicate more informal language in the UI as the target audience's relationship with a mobile device is interpreted to be more intimate and an extension of oneself. 
    • For Mozilla web pages, the target audience will vary according to the purpose of the web page. Seek to identify the web project's purpose and intended audience before translating strings.

    Brevity

        Space is limited in product user interfaces. There may be specific space limitations for each string. Pay close attention to where the string is being used within the product you are localizing. When selecting an accurate translation, keep in mind that your translation should be brief while still maintaining the original meaning.
     

    Translatable vs non-translatable

            Access Keys
                Access keys allow a computer to immediately jump to a particular part in a web page by combining keystrokes. They can be adapted to suit your language by selecting a single character to be used in the combined keystroke. Access keys have their own lines within .dtd and .properties files and are identified by being named ".accesskey" in the line.
            Variables
                Variables should never be translated. You can recognize a variable within a string by its beginning with a specific character (e.g., $, #, %, etc.) followed by a combination of words without spacing. For example, $BrandShortName and %S are variables.  You can move a variable around within a string, if the translation of the string requires it.
            Brands and Products
                Brand and product names should never be translated, nor transliterated into a non-Latin based script.
            Copyright/Trademark
                Copyrights and trademarks should never be translated.
            Code
                Lines of code do not require translation. You will recognize a line of code by its use of angled and curly brackets. Anything contained within these brackets should not be translated. For example, {moz:domain}+{searchTerms} or <a target='_' href='https://developer.mozilla.org/docs/Tools/Debugger#Remote_Debugging'> should not be translated.  However, if there is a localized equivalent content, change the URL to point to the target language site/page.
            Blank/Empty Strings
                Blank or empty strings are pieces of constructed UI that are available for localized text that needs to trail UI elements. This is a common need for RTL languages. The localization comments for these strings will describe the reason for the empty string and what localizers should do with it.
            Trailing Whitespace
                Trailing whitespace often indicates a break between two strings that will be brought together at runtime. Generally speaking this is a poor development practice, however, there are exceptions that permit developers to generate strings this way. When translating strings with trailing whitespaces before or after a string's text, seek to identify the corresponding string to learn how to appropriately translate the content. If you are unsure where the corresponding string is, ask around in the mozilla.dev.l10n newsgroup or file a bug in the appropriate product.           
    Keyboard shortcuts
    Lorem ipsum https://developer.mozilla.org/en-US/docs/XUL_Accesskey_FAQ_and_Policies

    Terminology

            Translating difficult concepts

                Translating terms representing difficult concepts is a tricky task. Here are some ideas to help you translate terms that do not have equivalents in your language:
    1. Understand the meaning of the term in English.
    2. Understand the function of the feature.
    3. Consider similar ideas for those functions in your culture.
    4. Associate a culturally specific image with the meaning and function of the term.
     

            Consistency across products & modules

                Consistency in terminology use is supremely important as you translate terms and sentences that have the same meaning and application throughout the product. Once you have decided on a term for a given function (for example, the term "tab"), register it in a glossary for future use in other areas of the product.
     

    Document Tags and Contributors

    Tags: 
    Contributors to this page: kscarfone, peiying, jbeatty
    Last updated by: jbeatty,