5153
Comment:
|
9694
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
This guides contains information about what strings should be translated and what not, what are plurar forms and other general things about working with Launchapad Translations (Rosetta). | This guide contains specific information about translating software into your language. It contains details about what strings should be translated and what not, what are plural forms and other things you should be aware while translating software using Launchpad Translations (Rosetta) or any other tool. |
Line 9: | Line 9: |
You are free to translate this guide and include it into your language specific guide, otherwise please make sure your language guide contains a reference to the general guide. | This guide does not include hint and tips about using Launchpad Translations (Rosetta) as a translation tool. For such information please read [[Translations/StartingToTranslate]]. |
Line 11: | Line 11: |
After reading this guide please find the guide specific to your language into the [[Translations/GuidesList | list of translation guides for all languages]]. | You are free to translate this guide and include it into your language specific guide. You can use this information as a starting point for developing the guidelines for you language. To assure the translations quality for your language, it is recommended to ask new translators to follow the information from the guidelines for your language, or in case it is not ready yet, to point them to this guide. = Basic rules for checking translations quality = Below are listed some common sense rules to follow during the translation work: * Pay attention to all section from the guildelines and always keep in touch with other translators * After finishing a translation, read it again to check for errors and see if it makes sense * If the translation doesn't make sense for you / your mother, it is definitely wrong and should be fixed = Plural forms = While English language has 2 plural forms, it might happens that your language has more than 2 plural forms. Dealing with plural forms is one of the first question/problems for new translators. It is recommended that your guidelines to include information and examples about the usage of plural forms into your language. Example {{{ Romanian language has 3 plural forms. Original text: msgstr[0] %d thing msgstr[1] %d things msgstr[2] %g things Translation: msgstr[0] %d lucru msgstr[1] %d lucruri msgstr[2] %d de lucruri }}} = Menu accelerators / shortcuts = Different development languages and frameworks use different ways to signify which key within a string should be used as a keyboard shortcut. Very often, if you see an underscore (e.g. Save _As) or ampersand (e.g. Print previe&w) at the beginning or within a word, it may well be a keyboard shortcut. Ensuring you have a unique shortcut for each function is important and you should, at the very least, view the software in action and draw up a list of the shortcuts you plan to use before you start translating. You should place the underscore, ampersand or whichever other control character directly in front of the letter you want to use as the shortcut. If you have a program interface with the same fast access character in different options/tabs/checkboxes/etc., you will have to press the shortcut several times in the keyboard to walk through all of them. Examples of menu accelerators: {{{ _File New &Tab ~Downloads }}} = Translating DocBook (XML) files = You can translate XML files using Launchpad Translations, by converting the xml to a pot file, using xml2po, and then importing it in Rosetta. When translating XML files please mare sure you are aware of the following things: == XML tags are case sensitive == When using xml2po and then po2xml, xml tags and attributes are case sensitive: Example: {{{ Original: See the <ulink url="http://ubuntustudio.org/"> Correct: Vea el <ulink url="http://ubuntustudio.org/"> Wrong: Vea el <UlinK Url="http://ubuntustudio.org/"> }}} == menuchoice tag == "menuchoise" tag should inlude only "guibutton | guiicon | guilabel | guimenu | guimenuitem | guisubmenu | interface" tags. Don't include other tags or text outside of these tags. Example: {{{ Original: <menuchoice><guimenu>Applications</guimenu><guisubmenu>Multimedia</guisubmenu><guimenuitem>Movie Player</guimenuitem></menuchoice> Correct: <menuchoice><guimenu>Apliaciones</guimenu><guisubmenu>Multimedia</guisubmenu><guimenuitem>Reproductor de películas</guimenuitem> Wrong: <menuchoice><guimenu>Apliaciones</guimenu><guisubmenu>Multimedia</guisubmenu>Reproductor de <guimenuitem>películas</guimenuitem> }}} |
Line 14: | Line 82: |
This section contains general information about strings that should not be translated and how to identify them. Also to help you with identifying string that should not be translated, software developers usually add comments describing the intend of the text and tips about translating it. Always check the comments attached to each string. |
|
Line 34: | Line 107: |
== Formatting tags == You may see HTML, such as <strong>, used to format text in a string. Copy these tags exactly as you find them and apply them to the relevant part of the text, remembering to close the tags as appropriate. You may also see other tags, such as XML, and should treat them the same way. |
== Formatting/XML tags == You may see HTML/XML tags, such as <strong>, used to format text in a string. Copy these tags exactly as you find them and apply them to the relevant part of the text, remembering to close the tags as appropriate. You may also see other tags, such as XML, and should treat them the same way. |
Line 42: | Line 115: |
}} | }}} Also you should not translate the xml tags attibutes and their values (if you tranlate their values, make sure you know what you are doing and check the developers comments). Examples: {{{ Original: <link linkend="desktop-themes"> Right: <link linkend="desktop-themes"> Wrong: <link linkend="temi del desktop"> }}} |
Line 65: | Line 146: |
In many cases the presence of such string in a translations files is a bug and the software developers should be informed about it and asked to remove those strings. |
|
Line 69: | Line 152: |
Orignal: The port which the server will listen to if the 'use_alternative_port' key is set to true. | Original: The port which the server will listen to if the 'use_alternative_port' key is set to true. |
Line 90: | Line 173: |
If you see such text please fill a bug and inform the software developers about the existence of context. | |
Line 91: | Line 175: |
= Menu accelerators / shortcuts = | = Suggestions for sections included in your guidelines = Below are some ideas, hints, for some information that could be included into the guildelines for your language: |
Line 93: | Line 178: |
Different development languages and frameworks use different ways to signify which key within a string should be used as a keyboard shortcut. Very often, if you see an underscore (e.g. Save _As) or ampersand (e.g. Print previe&w) at the beginning or within a word, it may well be a keyboard shortcut. Ensuring you have a unique shortcut for each function is important and you should, at the very least, view the software in action and draw up a list of the shortcuts you plan to use before you start translating. You should place the underscore, ampersand or whichever other control character directly in front of the letter you want to use as the shortcut. | * A section describing the current focus for translations. What packages should be translated, their priority, due date... etc |
Line 95: | Line 180: |
Examples: {{ _File New &Tab ~Downloads }}} |
* Create or provide a communication channel for all translators. It can be a forum, mailing list, IRC channel. The main usage of this channel is to support team work, ask for help or suggestions. |
Line 102: | Line 182: |
= Plural forms = | * Provide information about other team working on translations, links to other upstream projects. Try to keep in touch/sync with their work. |
Line 104: | Line 184: |
While English language has 2 plural forms, it might happens that your language has more than 2 plural forms. | * Decide what grammatical mode or tense is used when translating into your language. |
Line 106: | Line 186: |
For more information about plural forms please check the [[Translations/GuidesList| translation guide dedicated for your language]]. | * Decide grammatical person and if you are going to use a formal or informal approach when translating software. T-V distinction. |
Line 108: | Line 188: |
Example {{{ Romanian language has 3 plural forms. |
* Decide a common set of terminology or dictionary to be used by all translators. This will help creating uniform translations. |
Line 112: | Line 190: |
Original text: msgstr[0] %d thing msgstr[1] %d things msgstr[2] %g things |
* A section, or a dedicated page, containing examples of common errors, together with an explanation of the error and the suggested solution |
Line 117: | Line 192: |
Translation: msgstr[0] %d lucru msgstr[1] %d lucruri msgstr[2] %d de lucruri |
* A section, or a dedicated page, containing examples of strings that should not be translated. |
Line 122: | Line 194: |
}}} | |
Line 124: | Line 195: |
= Rosetta specific = |
Launchpad Help > Translations > General Translation Guide
Overview
This guide contains specific information about translating software into your language. It contains details about what strings should be translated and what not, what are plural forms and other things you should be aware while translating software using Launchpad Translations (Rosetta) or any other tool.
This guide does not include hint and tips about using Launchpad Translations (Rosetta) as a translation tool. For such information please read Translations/StartingToTranslate.
You are free to translate this guide and include it into your language specific guide. You can use this information as a starting point for developing the guidelines for you language.
To assure the translations quality for your language, it is recommended to ask new translators to follow the information from the guidelines for your language, or in case it is not ready yet, to point them to this guide.
Basic rules for checking translations quality
Below are listed some common sense rules to follow during the translation work:
- Pay attention to all section from the guildelines and always keep in touch with other translators
- After finishing a translation, read it again to check for errors and see if it makes sense
- If the translation doesn't make sense for you / your mother, it is definitely wrong and should be fixed
Plural forms
While English language has 2 plural forms, it might happens that your language has more than 2 plural forms.
Dealing with plural forms is one of the first question/problems for new translators. It is recommended that your guidelines to include information and examples about the usage of plural forms into your language.
Example
Romanian language has 3 plural forms. Original text: msgstr[0] %d thing msgstr[1] %d things msgstr[2] %g things Translation: msgstr[0] %d lucru msgstr[1] %d lucruri msgstr[2] %d de lucruri
Menu accelerators / shortcuts
Different development languages and frameworks use different ways to signify which key within a string should be used as a keyboard shortcut. Very often, if you see an underscore (e.g. Save _As) or ampersand (e.g. Print previe&w) at the beginning or within a word, it may well be a keyboard shortcut.
Ensuring you have a unique shortcut for each function is important and you should, at the very least, view the software in action and draw up a list of the shortcuts you plan to use before you start translating. You should place the underscore, ampersand or whichever other control character directly in front of the letter you want to use as the shortcut. If you have a program interface with the same fast access character in different options/tabs/checkboxes/etc., you will have to press the shortcut several times in the keyboard to walk through all of them.
Examples of menu accelerators:
_File New &Tab ~Downloads
Translating DocBook (XML) files
You can translate XML files using Launchpad Translations, by converting the xml to a pot file, using xml2po, and then importing it in Rosetta.
When translating XML files please mare sure you are aware of the following things:
XML tags are case sensitive
When using xml2po and then po2xml, xml tags and attributes are case sensitive: Example:
Original: See the <ulink url="http://ubuntustudio.org/"> Correct: Vea el <ulink url="http://ubuntustudio.org/"> Wrong: Vea el <UlinK Url="http://ubuntustudio.org/">
menuchoice tag
"menuchoise" tag should inlude only "guibutton | guiicon | guilabel | guimenu | guimenuitem | guisubmenu | interface" tags. Don't include other tags or text outside of these tags.
Example:
Original: <menuchoice><guimenu>Applications</guimenu><guisubmenu>Multimedia</guisubmenu><guimenuitem>Movie Player</guimenuitem></menuchoice> Correct: <menuchoice><guimenu>Apliaciones</guimenu><guisubmenu>Multimedia</guisubmenu><guimenuitem>Reproductor de películas</guimenuitem> Wrong: <menuchoice><guimenu>Apliaciones</guimenu><guisubmenu>Multimedia</guisubmenu>Reproductor de <guimenuitem>películas</guimenuitem>
What should not be translated
This section contains general information about strings that should not be translated and how to identify them.
Also to help you with identifying string that should not be translated, software developers usually add comments describing the intend of the text and tips about translating it. Always check the comments attached to each string.
Data placeholders and variable names
In many development languages, a developer can insert data into a string by using a placeholder such as %s or %d. You may also see more complex variations, such as %(variablename)s, $name or ${name}. Copy these variables and placeholders exactly as you see, placing them in the exact order in whichever part of the string makes most sense in the target language.
If you're in doubt, ask another translator for advice.
Examples:
Original: I found $name ethernet device. Wrong: S-a găsit $nume dispozitiv ethernet Right: S-a găsit $name dispozitiv ethernet
Original: Delete %(name)s ? Wrong: Ștergeți %(nume)le? Wrong: Ștergeți %(nume)s? Right: Ștergeți %(name)s?
Formatting/XML tags
You may see HTML/XML tags, such as <strong>, used to format text in a string. Copy these tags exactly as you find them and apply them to the relevant part of the text, remembering to close the tags as appropriate. You may also see other tags, such as XML, and should treat them the same way.
Examples:
Original: <strong>File name</strong> Wrong: <puternic>Nume fișier</puternic> Right: <strong>Nume fișier</strong>
Also you should not translate the xml tags attibutes and their values (if you tranlate their values, make sure you know what you are doing and check the developers comments). Examples:
Original: <link linkend="desktop-themes"> Right: <link linkend="desktop-themes"> Wrong: <link linkend="temi del desktop">
Program parameters
Command line parameters should not be translated.
Example
Original: "The command line options are:\n" " --quick speeds up the processing\n" " --slow slows everything down." Wrong: "Opțiunile comenzii sunt:\n" " --repede grăbește procesarea\n" " --încet încetinește totul." Right: "Opțiunile comenzii sunt:\n" " --quick grăbește procesarea\n" " --slow încetinește totul."
TRUE/FALSE, GTK constants
Strings like "TRUE" , "FALSE" or gtk constants like "gtk-ok", "gtk-cancel" or "toolbar-icon" should not be translated.
In many cases the presence of such string in a translations files is a bug and the software developers should be informed about it and asked to remove those strings.
GCONF configuration keys
Examples:
Original: The port which the server will listen to if the 'use_alternative_port' key is set to true. Valid values are in the range from 5000 to 50000. Wrong: Portul pe care să asculte serverul în cazul în care cheia „folosește_port_alternativ” este activată. Valorile valide sunt între 5000 și 50000. Right: Portul pe care să asculte serverul în cazul în care cheia „use_alternative_port” este activată. Valorile valide sunt între 5000 și 50000.
Context text
In some old GNOME translations you might encounter translations context encoded into the original string. For for information please see: http://leonardof.org/2007/12/01/context-in-gnome-translations/en/
Examples:
Original: "Orientation|Top" Wrong: "Orientare|Sus" Wrong: "Orientation|Sus" Right: "Sus"
If you see such text please fill a bug and inform the software developers about the existence of context.
Suggestions for sections included in your guidelines
Below are some ideas, hints, for some information that could be included into the guildelines for your language:
- A section describing the current focus for translations. What packages should be translated, their priority, due date... etc
- Create or provide a communication channel for all translators. It can be a forum, mailing list, IRC channel. The main usage of this channel is to support team work, ask for help or suggestions.
- Provide information about other team working on translations, links to other upstream projects. Try to keep in touch/sync with their work.
- Decide what grammatical mode or tense is used when translating into your language.
- Decide grammatical person and if you are going to use a formal or informal approach when translating software. T-V distinction.
- Decide a common set of terminology or dictionary to be used by all translators. This will help creating uniform translations.
- A section, or a dedicated page, containing examples of common errors, together with an explanation of the error and the suggested solution
- A section, or a dedicated page, containing examples of strings that should not be translated.