2014-05-05

Tips for Good Translations:

← Older revision

Revision as of 07:40, 5 May 2014

(One intermediate revision not shown)

Line 400:

Line 400:

 

== Tips for Good Translations ==

 

== Tips for Good Translations ==

 

 



;Don't translate literally, translate organically :Being bi- or multi-lingual, you undoubtedly know that the languages you speak have different structures, rhythms, tones, and inflections. Translated messages don't need to be structured the same way as the English ones: take the ideas that are presented and come up with a message that expresses the same thing in a natural way for the target language. It's the difference between creating an ''equal'' message and an ''equivalent'' message: don't replicate, replace. Even with more structural items in messages, you have creative license to adapt and change if you feel it will be more logical for, or better adapted to, your target audience.

+

(this section is moved to [http://make.wordpress.org/polyglots/handbook/translating/expectations/ General Expectations] on Polyglots Contributor Handbook)



 



;Try to keep the same level of formality (or informality) :Each message has a different level of formality or informality. Exactly what level of formality or informality to use for each message in your target language is something you'll have to figure out on your own (or with your team), but WordPress messages (''informational messages'' in particular) tend to have a politely informal tone in English. Try to accomplish the equivalent in the target language, within your cultural context.

 



 



;Don't use slang or audience-specific terms :Some amount of terminology is to be expected in a blog, but refrain from using colloquialisms that only the "in" crowd will get. If the uninitiated blogger were to install WordPress in your language, would they know what the term means? Words like ''pingback'', ''trackback'', and ''feed'' are exceptions to this rule; they're terminology that are typically difficult to translate, and many translators choose to leave in English.

 



 



;Read other software's localizations in your language :If you get stuck or need direction, try reading through the translations of other popular software tools to get a feel for what terms are commonly used, how formality is addressed, etc. Of course, WordPress has its own tone and feel, so keep that in mind when you're reading other localizations, but feel free to dig up UI terms and the like to maintain consistency with other software in your language.

 

 

 

 

== WordPress Localization Repository ==

 

== WordPress Localization Repository ==

 

 



The '''WordPress Localization Repository''' at [http://i18n.svn.wordpress.org/ http://i18n.svn.wordpress.org/] is a [[Using_Subversion|Subversion repository]] where official WordPress translations are maintained. Various teams collaborate on translations for their native language, and team maintainers commit updates and changes to the repository.

+

(this section is moved to [http://make.wordpress.org/polyglots/handbook/translating/working-with-the-translation-repository/ Working with the Translation Repository] on Polyglots Contributor Handbook)



 



=== Participating ===

 



 



Participation in the repository is open to anyone. Simply visit the [https://make.wordpress.org/polyglots/ WP Polyglots Blog], introduce yourself, and let everyone know what translation you'd like to work on. If there is already a team for your language and locale, they'll let you know and you can join them. If not, you can either volunteer to be a maintainer for your language and locale, or simply contribute your localization and the repository maintainers will add it.

 



 



=== Guidelines and requirements ===

 



 



''Note: these guidelines are subject to change as the system evolves; repository maintainers will be happy to assist you in updating the files you maintain in the repository should these guidelines change.''

 



 



==== Character Encodings ====

 



 



All localizations should have at least a UTF-8 version, but may optionally add versions in other character encodings popular for that locale.

 



 



Current PHP versions don't support Byte Order Markers (BOMs), so be sure the UTF-8 encoded files you contribute do not have them.

 



 



==== HTML Character Entities ====

 



 



With a few exceptions (noted below), all translations should be written literally, rather than escaping accented and special characters with HTML character entities.

 



 



Some characters must be escaped to avoid conflict with XHTML markup: angle brackets (<tt>&lt;</tt> and <tt>&gt;</tt>), and ampersands (<tt>&amp;</tt>). In addition, there are a few other characters better used escaped, such as non-breaking spaces (<tt>&nbsp;</tt>), angle quotes (<tt>&laquo;</tt> and <tt>&raquo;</tt>), curly apostrophes (<tt>&#8217;</tt>) and curly quotes.

 



 



For more information about the W3C's best practices involving character encodings and character entities, see the following references:

 



 



* http://www.w3.org/TR/2004/WD-i18n-html-tech-char-20040509/#IDAPNGO

 



* http://www.w3.org/International/tutorials/tutorial-char-enc/#exceptional

 



 



==== Repository File Structure ====

 



 



The repository contains directories for each locale, which are named as follows:

 



 



* [http://en.wikipedia.org/wiki/ISO_639 ISO 639 language code] (lowercase)

 



* an underscore

 



* [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2 country code] (uppercase)

 



* If the directory is a variation in script for the same locale, an @ sign, plus the [http://www.unicode.org/iso15924/iso15924-codes.html ISO 15924 script code].

 



 



Within each locale's directory are the regular Subversion versioning directories: branches/, tags/, and trunk/.

 



 



Inside the appropriate versioning directory are the following subdirectories:

 



 



===== messages/ =====

 



 



<ul>

 



<li>messages/</li>

 



<ul>

 



<li>kubrick</li>

 



</ul>

 



</ul>

 



 



 



This directory contains the Gettext MO and PO files for the locale. Message files are named after the locale name.

 



 



In the <code>kubrick</code> folder you should put the translation (using exactly the same PO/MO filename as above) of the i18n-ed [http://svn.automattic.com/wordpress-i18n/theme/ default theme, residing at the wordpress-i18n svn repository]. There is also another way of translating the default theme:

 



 



===== dist/ =====

 



 



This directory contains all [[Files_For_Direct_Translation|files in the WordPress distribution that cannot be Gettexted]], which have been translated into the target locale.

 



 



If the locale has only a UTF-8 translation of the files, the dist/ directory may be populated with them directly, and the structure within dist should mirror the structure of the WordPress root directory:

 



 



<ul>

 



<li>dist/

 



<ul>

 



<li>license.txt</li>

 



<li>readme.html</li>

 



<li>wp-config-sample.php</li>

 



<li>…</li>

 



<li>wp-admin/

 



<ul>

 



<li>…</li>

 



</ul>

 



</li>

 



</ul>

 



</li>

 



</ul>

 



 



===== theme/ =====

 



 



''It is better to translate the i18n-ed kubrick (see the <tt>messages/</tt> part above), instead of using <tt>theme/</tt>.''

 



 



Similarly to the dist/ dir, theme/ contains hard-translated theme files. If only a UTF-8 translation is present, the directory can be populated with subdirectories for each theme translated. These subdirectories contain all of the same files as the original theme (except that they're translated), and are named the same as the original theme:

 



 



<ul>

 



<li>theme/

 



<ul>

 



<li>default/

 



<ul>

 



<li>404.php</li>

 



<li>index.php</li>

 



<li>sidebar.php</li>

 



<li>…</li>

 



<li>images/

 



<ul>

 



<li>…</li>

 



</ul>

 



</li>

 



</ul>

 



</li>

 



</ul>

 



</li>

 



</ul>

 



 



Just as with the dist/ directory, if there are multiple character encodings represented, theme/ should contain a subdirectory for each character encoding, which in turn would contain subdirectories for each theme translated.

 

 

 

 

== Using Localizations ==

 

== Using Localizations ==

Show more