Translations of this page:

translations:start

Translating phpList

There are four different areas that are involved when translating phpList:

  • strings in the application
  • help in the application
  • info in the application
  • the documentation website

Application strings

The strings are translated on the translation website. This site runs Pootle to provide a mechanism to allow translation of phpList by members of the phpList community.

How does this work:

  • The developers use special code that identifies the texts in the applications that are part of the language.
  • These texts are extracted from the code using Poedit.
  • The extraction of texts creates a POT file which is added to the codebase. 1)
  • This template file is updated on the translation website every so often, so that updates in the texts are passed on to the translation system.
  • The translations are passed back into the source code.

Everyone can add suggestions on the translation site. Only selected administrators are allowed to approve the translations. If you are interested to become a moderator for your language, let the team know on the Translators Mailinglist 2)

Process to translate

In order to help out translating, you need to do the following:

  • Sign up to the translators mailinglist
  • Sign up to the Translation website and indicate your languages.
  • Post a message to the mailinglist to tell everyone what languages you want to be able to edit. If the language is not there, we'll add it.
  • Work your way through the translation until your language is 100%

If you want to get familiar with the Pootle system, try the Foobarian language, which is there for testing. You can play around with it, whatever you want.

The translation system has two modes for translations. One is to Suggest translations and the other one is to Submit translations. Anyone (even when not logged in) can send suggestions, but only approved accounts can submit the translations.

Once you have made a few changes in the translations, you can go to the phpList Dev system and choose “Update translations” from the menu, under “System” to see the changes.

You can also try to run phpList on your local system

Things to be aware of when translating

There are a few things that you need to know when you start or edit a translation

  • sprintf codes. Some original language string can contain codes like '%d','%s' or '%0.2f'. These are texts where the %d is replaced in the code by some number. For more information read the PHP documentation.

It is essential that the translation has the same codes in it. Otherwise the text will disappear completely. So, for example

Processed %d out of %d messages

needs to have at least two times %d in your translation.

  • Page titles. The titles of pages, used in the main menu and the links to them, are taken from entries in the translation system that start with pagetitle:. For example
pagetitle:dbcheck

You do not need to translate the “pagetitle:” bit, just the text after it. So, the example would be “Database check” as a translation.

Note: pootle only shows the msgid which is pagetitle:dbcheck. Please look for the original english string in adlin/locale/en/phplist.po which would give you “Verify the DB structure”, and translate that string

  • Page titles hover. The hover text for the titles of pages, used in the main menu and links to pages. It is the text that will show when the mouse is held over the link without clicking. This can be more explanation of the page where you will go when you click. For example
pagetitlehover:dbcheck

You do not need to translate the “pagetitlehover:” bit, just the text after it. So, the example would be “Verify that the database structure is correct” as a possible translation.

Note: pootle only shows the msgid which is pagetitle:dbcheck. Please look for the original english string in adlin/locale/en/phplist.po which would give you “Verify that the current database structure is correct for the current version of the code”, and translate that string.

  • Terminology. For each language, you can generate a Glossary. phpList in the past has been a little confusing about certain terms, and even the English “translation” is now different from the original. Please be aware of the current English terminology, regardless of the original string.
user -> Subscriber
message -> Campaign
email -> Either "email address" or "email message" (depends on the context)

and there may be similar words that require a clear definition. It is up to the language managers to determine this per language. Language specific rules for the translation are collected in the Notes on Translations.

  • Encoding. All of phpList is in UTF-8. Regardless of anything you read in all kinds of places, use UTF-8 in your translations. There is no need to use HTML special characters, like é
  • Updates. phpList is continually updated and new texts will appear for translation. Changes are posted to the translators mailinglist, once a week, so that you can go back to keep your language up-to-date.

Help and Info

to be added

Documentation

To translate the documentation, register for this Wiki and request to be made a moderator for your language. You can then go ahead and create translations.

See also

translations/start.txt · Last modified: 2017/06/02 18:48 by samtuke

Resources
Contact Us

e: info@phplist.com

Boring Bit

phpList is a registered limited company

UK Company No. 07582966

VAT Registration 122 0788 37

© phpList 2013