From Joomla! Documentation

Revision as of 03:30, 21 July 2022 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎eesti • ‎español • ‎français • ‎italiano • ‎português • ‎português do Brasil • ‎беларуская • ‎русский • ‎українська • ‎فارسی • ‎অসমীয়া • ‎中文(台灣)‎ • ‎日本語





It is good to know how parts of the documents are marked for translation. In general it is this way <translate><T:number>Text to translate</translate> and when you translate you will see Text to translate, which you can translate. The <translate></translate> is put by the person who marks the document for translation, the <T:number> is done by the system.

The Interface

If a page is ready to translate you will see (images below) or a variation (based on view of page):

Localised view of link in English

Localised view of link in Dutch

After you click the translation link, you will then see the following interface for translation. Documentation now has a ULS (Universal Language Selector) installed which will automatically set the user interface to their localised language. This is based on the browser (its language setting) and/or geographic location. The language setting may also be overridden manually by selecting the user icon (top right) and from the dropdown click on the language at the very top. You may also go to your user personal preferences for language.

JDOC-translator interface-first-view-en.png

Now you are ready to translate, click any link in the separated message units.

JDOC-translator interface-editing-view-en.png

You may click the suggested text to add it automatically to the edit window. Then you may edit the text. The suggested text is provided by translation services for free. There is no guarantee there will be suggested text. The suggestion query may time out at the translation services server.

When you are satisfied with your translation, save it. You can also skip sections if you only want to translate some of the message groups.



Stop hand nuvola.svg.png

不要把命名空間也翻譯了! 在冒號(:)前面的文字是用來處理標題分類的。



正確性? 標題範例
正確的!!! "J2.5:Title of a Page" 翻譯成 "文章標題"

"J2.5:Title of a Page" 翻譯成 "Titel einer Seite"

錯誤的! "J2.5:Title of a Page" 翻譯成 "J2.5:文章標題"

"J2.5:Title of a Page" 翻譯成 "J2.5:Titel einer Seite"


Stop hand nuvola.svg.png

The information below is a quick overview. For a more detailed explanation, see Translating Links.

===Standard Internal Page Links===

Hyperlinks to another page are easy in the source language, they are page names between [[ (brackets) ]] or the variations as listed below. Good source page standards for page links will start to include the proper link markup for translated navigation.

  1. [[JDOC:Translation Sandbox]] becomes JDOC:Translation Sandbox
  2. [[JDOC:Translation Sandbox|Translation Sandbox]] becomes Translation Sandbox
  3. [[JDOC:Translation Sandbox|Translator Sandbox]] becomes Translator Sandbox

Links from a translated page to a page in the same language must be run through a localisation link processor.

  1. [[Special:MyLanguage/JDOC:Translation Sandbox]] becomes Special:MyLanguage/JDOC:Translation Sandbox
    This above really isn't a nice looking link, nor is it shown in the reader's language. To improve the user experience, see the Dutch translation example link below.
  1. [[Special:MyLanguage/JDOC:Translation Sandbox|Vertaling Sandbox]] becomes Vertaling Sandbox
    Now a Dutch reader will see the link in their language. Just the same as above, you can name the link anything.

There is an alias to the word Special:, so you may also use just the letter S: as a short version of Special:.

====Important Link Tips====

  • Always use
    [[Special:MyLanguage/<source language pagename>|<the translation>]]
  • Or
    [[S:MyLanguage/<source language pagename>|<the translation>]]

An example would be:

[[JDOC:Translation Sandbox|Translation Sandbox]] 
  is translated as
[[Special:MyLanguage/JDOC:Translation Sandbox|Vertaling Sandbox]]
[[S:MyLanguage/JDOC:Translation Sandbox|Vertaling Sandbox]]

So Remember: Always add Special:MyLanguage/ in front of the the <source page name>. The <source page name> is always untranslated. Always add a | if it is missing and then the translation of <source page name>.

Often this Special:MyLanguage/ is already added in the source document. So when Special:MyLanguage/JDOC:Translation Sandbox|<translate>Translation Sandbox</translate> is in the original document you only have to translate Translation Sandbox and you don't see the total link.

External Links

External links are easy to translate. They are written like this in the source language.

  1. https://www.php.net/ becomes https://www.php.net/
  2. [https://www.php.net/ for PHP information] becomes for PHP information

What to translate?

  1. This is a standard URL and will not require translating. https://www.php.net/ It is a regular hyperlink and must be written as such. No translation required.
  1. This [https://www.php.net/ for PHP information] will only require the translation of for PHP information.

== Categories ==

Stop hand nuvola.svg.png

Categories Require a Specific Method!

The translation of a category is very easy, just add /<language code> to the end of the category name.


For example, if you translate a page from English to Spanish (language code es) and the page contains the following category:


You need to add /es to the end of the category name.


Category pages can be translated as well (which should be quick - most are blank except for containing a parent category) and will be part of a special categorisation project when ready.

To be prepared for this we can add /nl|Ontwikkeling (Dutch language) at the end of the category name





Translate the word 'Category' or the name of the category.

[[Category:Development]] to [[Categorie:Ontwikkeling]]


Translate just the name of the category.

[[Category:Development]] to [[Category:Ontwikkeling]]


It is expected translated page will want to show images localised in the language of the page. This is encouraged because it improves the user's experience. Documentation only asks translators to follow a naming pattern of images consistent with the source language of a page.


Using an image used above on this page which is written as:



Keep the name of the image and just add the language code to the end:

español would be es [[File:JDOC-translator_interface-editing-view-es.png]]
italiano would be it [[File:JDOC-translator_interface-editing-view-it.png]]
português would be pt [[File:JDOC-translator_interface-editing-view-pt.png]]

If the file is not a localised file type (e.g Screenshot of an interface) and is a graphic of something universal (e.g. a ball or arrow), you should not have to rename the image. If the image has a caption, you may have to translate the caption.

[[File:ball.png|caption=This is a ball]]
Will become
[[File:ball.png|caption=<translate this part only>]]

After you finish translating a page with images you will localise. You should view the page in the language you just translated it too and click on the "red" file links. This will allow you to upload the localised version of the file.

Often the image in the document to translate has already a language ID which is marked for translation: [[File:JDOC-translator_interface-editing-view-<translate>en</translate>.png]]. So you will have to translate en into your local language ID (in Dutch nl). If the image has no localised items you want to translate you can translate en into en to keep the original image.


If you don't insert your local image (because you don't have time at the moment) it's better not to translate en into your language, else you will have a "red" file link.

== Chunks ==

Chunks are pieces of documentation which can be used at more than one place. There are big chunks, but most of them are small pieces of documentation, sometimes only one line. For example, it is used for the column headers in the helpscreens where the same fields are used in many help screens

===Usage of Chunks===

Using a chunk in a document is very easy. If we see: https://docs.joomla.org/Chunk30:Help_screen_Show_Title we can use it in a document with the following code:


If we use this in a document we see the following:

  • Show Title. (Use Global/Use Article Settings/Show/Hide) Whether or not to show the article's Title.

So you will have to translate en into your local language ID (in Dutch nl). If, after translation, the chunk is not available in your language, you will see a red link. Use the link and open it in a new window. You will see a message that the document does not exist. What you must do now is:

Remove the language code in the URL, in Dutch /nl, Now you will see the chunk in English. Translate the chunk into your language (only the first line is enough) and the chunk is created in your language and visible in the source document.

There is a more sophisticated way of usage of chunks, with parameters. This way you can pass parameters to the chunk in your own language. We do this with the following code:

{{Chunk30:Help_screen_toolbar_icon_Save/<translate>en</translate>|<translate>menu item</translate>}}

The source of this chunk is:

*'''Save'''. Saves the {{{1|item}}} and stays in the current screen.

When we use this in a document the result will be:

  • Save. Saves the 選單項目 and stays in the current screen.

This way the translation of en will bring us in the language we want and the translation of menu item will used in the item.


Templates are reusable pieces of code which have a predictable result.

<div lang="en" dir="ltr" class="mw-content-ltr">
{{tip|title=This is a tip|This is the body content of a tip!}}

Would look like this:

This is a tip


For the above example:

<div lang="en" dir="ltr" class="mw-content-ltr">
{{tip|title=This is a tip|This is the body content of a tip!}}

You would have to do the following:

<div lang="en" dir="ltr" class="mw-content-ltr">
{{tip|title=<translate the title>|<translate the body content>}}



  • Never translate the template's name. The template {{tip}} is called by the word 'tip' following the double set of curly brackets. If you translate the word tip, the translation would call a non-existent template name.
  • Never translate the variables used in a template, only the value assigned to the variable. In the example of the {{tip}} template, the word 'title' is the variable.