Translation: Difference between revisions

From MoodleDocs
(→‎See also: added a link to help about langconfig)
 
(35 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Language}}
{{Translation}}
 
==So you'd like to help with translating Moodle?==
==So you'd like to help with translating Moodle?==


Great! :-) Please check the [[dev:Language packs without maintainer|list of language packs without maintainer]]. If your language is listed, and you'd like to volunteer to become language pack maintainer, email our translation coordinator, Koen, [mailto:translation@moodle.org translation@moodle.org].
Great! :-) All translation of Moodle LMS  and the plugins happens on our '''[http://lang.moodle.org Moodle translation site]''', so you'll need to start by creating an account there.
 
Otherwise, check [[Translation credits]] and contact the maintainer of your language pack to ask where you can help. The name at the top of the list for each language is the current language pack maintainer. (If you don't receive a response within a reasonable time, email Koen [mailto:translation@moodle.org translation@moodle.org].)
 
==Getting started==
 
The Moodle languages portal http://lang.moodle.org/ enables translators to work collaboratively on language packs and submit translations using a special Moodle translation tool called ''AMOS''.
 
To help with translating Moodle
 
# [http://lang.moodle.org/login/signup.php Create an account] on the portal, making sure you provide your full name (in order for you to receive credit for your translation work) and contact email.
# See the info [http://lang.moodle.org/mod/page/view.php?id=9 Help for newcomers].
# Access the AMOS translation tool via the link in the navigation block.
 
If you have any questions, please enrol in the [http://lang.moodle.org/course/view.php?id=2 Translating Moodle course] and join the discussions there.
 
== Background info: Structure of a Moodle language pack ==
 
The standard Moodle distribution comes with an English language pack only. All other languages must be added to your installation. The English strings for Moodle core (that is the main subsystems like administration, gradebook, roles etc) can be found in ''lang/en/'' folder of your Moodle installation. For example, grading related strings are defined in ''lang/en/grades.php''. All other Moodle components (like activity modules, blocks, enrolment plugins etc) define their own strings in ''lang/en/'' folder within the plugin directory. For example, Workshop module defines its strings in ''mod/workshop/lang/en/workshop.php''.


Translations are located in your ''moodledata'' directory, in folder ''lang/xx/''. Translations of all the components - both core and plugins - are stored there. For example, the Czech translation of the Workshop module is stored in ''moodledata/lang/cs/workshop.php'' and grade-related strings in ''moodledata/lang/cs/grades.php'' (note the difference against the English strings).
Perhaps you've found some words or phrases not yet translated into your language? Or you've spotted a mistake? If so, please see the guide to [[Contributing a translation]].  


The language files all have a .php extension (eg ''moodle.php'' or ''workshop.php''). These files contains short phrases, often called "strings". Strings may contain a placeholder for variable substitution. The placeholder is replaced with a certain value when the string is displayed. Strings are stored in PHP array called $string. The item key in this array is called ''string identifier'' or ''string name''. Examples:
Note: If you'd like to help translate more than just a few strings, please contact the maintainer of your language pack as listed in the [http://lang.moodle.org/local/amos/credits.php Translation credits] and ask where you can help.


$string['addnewcourse'] = 'Add a new course';
Did you end up here, wanting to translate the [https://moodle.academy Moodle Academy courses], please start at [[Translating Moodle Academy]]
$string['hidesection'] = 'Hide section {$a}';
$string['uploadedfileto'] = 'Uploaded {$a->file} to {$a->directory}';


These strings definition can be then used by get_string() function (see lib/moodlelib.php). If a string doesn't exist in a particular language, Moodle tries to find it in the so called parent language. If there is no parent language defined or it does not define the requested string, then the equivalent in English will automatically be used instead.
==Wish to take on responsibility for a language pack?==


Installation language packs may be found in the ''install/lang'' folder. These language packs contain only the strings needed for the installation process. The files are generated automatically and '''must not be changed manually'''. For translators this is a unusual experience, since changes you add to the strings used in the installation script will not be visible until our script is run and commits them into Moodle sources.
Please see [[Maintaining a language pack]] and the [[AMOS manual]]  for further information about the AMOS translation toolkit.


=== Summary of changes since 1.9 ===
==Is Moodle not yet translated into your language?==


* Translations are not kept in CVS any more but in a database at http://lang.moodle.org
Please see  [[Starting a new language pack]].
* A web interface is used to translate strings
* All plugins now define their English strings in the plugin folder, as contrib plugins used to
* Language codes no longer have a _utf8 suffix
* HTML help files have been replaced with [[Development:Help strings|strings with a _help suffix]]
* Placeholders must be wrapped in curly braces
* Double quotes should not be escaped any more in the string definition


For details of the translation process in versions of Moodle prior to 2.0, see [https://docs.moodle.org/19/en/Translation Translation pre-2].
==Any questions?==


==See also==
Please check the [[Translation  FAQ]] and join us in the [http://lang.moodle.org/mod/forum/view.php?id=5 Using AMOS forum].


* [[Translation FAQ]]
* [[dev:Translation langconfig|Settings in langconfig]]


[[fr:Traduction 2.0]]
[[fr:Traduction]]
[[de:Übersetzung]]
[[es:Traducción]]
[[category:Language]]

Latest revision as of 10:08, 5 August 2022


So you'd like to help with translating Moodle?

Great! :-) All translation of Moodle LMS and the plugins happens on our Moodle translation site, so you'll need to start by creating an account there.

Perhaps you've found some words or phrases not yet translated into your language? Or you've spotted a mistake? If so, please see the guide to Contributing a translation.

Note: If you'd like to help translate more than just a few strings, please contact the maintainer of your language pack as listed in the Translation credits and ask where you can help.

Did you end up here, wanting to translate the Moodle Academy courses, please start at Translating Moodle Academy

Wish to take on responsibility for a language pack?

Please see Maintaining a language pack and the AMOS manual for further information about the AMOS translation toolkit.

Is Moodle not yet translated into your language?

Please see Starting a new language pack.

Any questions?

Please check the Translation FAQ and join us in the Using AMOS forum.