Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Translation FAQ

From MoodleDocs
Revision as of 15:43, 19 February 2016 by German Valero (talk | contribs) (tidy up)

How can I help with translating Moodle?

Please see the guide Contributing a translation.

I've found an error in a language pack. What do I do?

The month names and days are displayed in English. How can I translate them?

Names of days and months are pulled out of your operating system. The system is configured for Moodle in langconfig.php where you have the strings locale (for -nix type operating systems) and localewin (for Windows operating systems) that should point to the right locale on your server. Your server operating system should support the language (= locale should be installed) - see also Month-name translation problem for an alternative solution.

Some columns in Moodle reports are in English. How can I translate them?

  • The Live logs have a column that will allways be shown in English, as these are the names of the Moodle function calls, and when a user clicks on one, it will call that function and you will see the result.

Path to Live logs in English

  • The image above shows how you navigate to the Live logs option.


Path to Live logs in Spanish

  • The image above shows how you navigate to the Bitácoras en vivo (live logs) option in a Mexican-Spanish site.


Live logs in English

  • Above are the live logs in an English language site.


Live logs in Spanish, but with some English texts

  • Above are the live logs in a Mexican-Spanish language site. Notice that the course report live and course view Actions are in English.
  • The Acción (Action) column in the Spanish language site will allways have all the names in English!
  • There will allways be some English texts in an otherwise fully translated Moodle site, as these are the names of Moodle function calls that can not be translated.

I'm starting a new language pack or I'm contributing to one. Can I do the user interface strings first?

No, there is no way to know which strings will be shown for users and which not. But to help you a little bit, there are some unofficial priorities you can take into account.

First:

  • make sure langconfig is properly set up.
  • take a look at Translation priority. All files have a rating according to how urgent they need translating.
  • less urgent are also the contributed plugins, since they are not part of a standard Moodle distribution. There is a list of the 20 top plugins downloads for Moodle which might be worth considering for translation priority.

How many words are there in the English language pack?

See the discussion How many words are there in the English language pack?.

Are there translations for the American (and other branches of the) English language?

  • The "official" language for Moodle is actually Australian English (G'day mate!) , which is almost 100% the same as UK English.
  • Someone once said "America and England are two nations divided by a common language".
  • The English - United States (en_us) language pack mostly contains different spellings (color versus colour, enroll versus enrol etc).
  • The English - Pirate (en_ar) language pack is used in the 'Talk Like a Pirate' day.
  • The English for kids (en_kids) language pack seems to be a simplified version of the most common English strings seen by Moodle users, considered easier/suitable for small children.
  • The English (fixes) (en_fix) is just used to suggest Moodle core language strings improvements and typo fixes.

Are there items which are not to be translated?

The following words, when enclosed within {curly brackets}, are placeholders for Moodle names of variables. They should not be translated, but must remain as they are within the curly brackets:

firstname, lastname, username, email, city, country, lang, timezone, mailformat, maildisplay, maildigest, htmleditor, ajax, autosubscribe , institution, department, idnumber, skype , msn, aim, yahoo, icq, phone1, phone2, address, url, description, descriptionformat, password, auth, oldusername , deleted, suspended, course1, course2, course3, course4

They must also be written exactly like this in all translations of the documentation pages (such as this page.) However, the translator might like to include a translation enclosed in brackets. For example, in the Spanish documentation pages you might find: password (contraseña).

The fact is: no placeholders can be translated in AMOS. There is no official list of "reserved" $a properties. Whatever xyz is put in {$a->xyz}, it must be kept as it is in AMOS.

Example:

26 AMOS fullnamedisplay core original.png

Must be (in this case, when translated into Mexican Spanish):

26 AMOS fullnamedisplay core.png

unless your language uses lastname before the firstname, as Japanese does, which translates to:

26 AMOS fullnamedisplay core Japanese.png

HTML codes that must not be translated

The following HTML codes are reserved words that must not be translated. However, it is important for the translators to understand their meaning in order to decide whether to keep them in the translation and if so, whether they can be rearranged.

  • &nbsp - non-breaking space i.e. a space but there will never be a line-break inserted instead of this space at the end of a line
  • &amp - ampersand sign (&)
  • &apos - apostrophe sign (')
  • &copy - copyright sign (©)
  • &plusmn - "plus or minus" sign (±)
  • &times - multiply sign (*)
  • &divide - divide sign (/)
  • &gt - "greater than" sign ( > )
  • &lt - "less than" sign (<)
  • &laquo - quotation mark (‘)
  • &lsquo - left single quotation sign (‘)
  • &rsquo - right single quotation sign (’)

Is there a way to check the integrity of all placeholders in a language pack?

  • Not a at the moment. See MDL-51775 .
  • You can use this trick to check for integrity:
    • Load the language pack in a local instance of Moodle.
    • In order to generate a translation memory, load the language pack in the Language customization tool, so that the texts are loaded in the database.
    • Run the sql instance in the file (tm_generator.txt)
    • Insert the result of the query in template.tmx file
    • The result is a translation memory that can be analysed with Checkmate.
    • The problem: probably you will get many errors due to some characters that are not allowed by Checkmate so you will have to remove manually some translation units. After doing it, you will get a report with some possible errors (see the attached image).
    • Of course, it would be great to have an integrated quality check system in Moodle. Vote for MDL-51775 .
  • The contents of the file tm_generator.txt are (change the language from eu to your language):
SELECT concat('<tu tuid="',mdl_tool_customlang_components.name,'|',mdl_tool_customlang.stringid,'">
<tuv xml:lang="en"><seg>',mdl_tool_customlang.original,'</seg></tuv>
<tuv xml:lang="',mdl_tool_customlang.lang,'"><seg>',mdl_tool_customlang.master,'</seg></tuv>
</tu>') as txt
FROM mdl_tool_customlang INNER JOIN mdl_tool_customlang_components ON mdl_tool_customlang.componentid =  mdl_tool_customlang_components.id
WHERE (((mdl_tool_customlang.lang)="eu") AND ((mdl_tool_customlang.original) Is Not Null) AND ((mdl_tool_customlang.master)  <>mdl_tool_customlang.original));
  • the contents of the template.tmx file are:
<?xml version="1.0" encoding="UTF-8"?>
<tmx version="1.4"><header creationtool="SQLQuery" creationtoolversion="unknown" segtype="paragraph" o-tmf="unknown" adminlang="en" srclang="en" datatype="unknown"></header><body>
PLACE HERE THE RESULT OF THE SQL QUERY
</body>
</tmx>

What is a translation memory and how can I create a translation memory out of a Moodle language pack?

See this post and this tutorial.

How can I help with translating Moodle documentation?

Please see the guide Translating Moodle Docs.

How can I find out the context of the strings?

You can find where a language string is located as described in the user docs Language FAQ.

You may wish to use two windows (perhaps using two monitors), with one displaying the page in English and the other displaying the page in your language.

Two simultaneous windows in two languages

If you think the original English language strings have more than one meaning and you can't guess which one applies, you are welcome to post in the AMOS translation forum.

Is there a list of Moodle error messages which can be translated?

Error messages are listed in the user docs Category:Error.

Can the subtitles for Moodle HQ YouTube videos be translated?

Yes. See this forum thread.

See also