meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
translations:start [2018/01/31 16:29] – [Public-facing pages] samtuke | translations:start [2024/05/20 13:09] (current) – [Application web interface for administrators] xmarty | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Translating phpList ====== | ||
+ | |||
+ | Separate parts of phpList are translated independently: | ||
+ | |||
+ | * The application web interface for administrators | ||
+ | * Public-facing pages (for list subscribers) | ||
+ | * Contextual help in the application | ||
+ | * Contextual info in the application | ||
+ | * The documentation website | ||
+ | |||
+ | ===== Weblate (translate.phplist.org) ===== | ||
+ | |||
+ | ==== Application web interface for administrators ==== | ||
+ | |||
+ | The strings are translated on the [[https:// | ||
+ | |||
+ | 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 [[http:// | ||
+ | * The extraction of texts creates a [[http:// | ||
+ | * 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 [[https:// | ||
+ | |||
+ | |||
+ | ==== Access procedure for new Weblate translators ==== | ||
+ | |||
+ | In order to help out translating, | ||
+ | |||
+ | * Sign up to the [[http:// | ||
+ | * Include " | ||
+ | * Post a message on the [[https:// | ||
+ | * Work your way through the translation until your language is 100% | ||
+ | |||
+ | The translation system has two modes for translations. One is to '' | ||
+ | |||
+ | Once you have made a few changes in the translations, | ||
+ | |||
+ | You can also try to [[develop/ | ||
+ | |||
+ | === Why include English === | ||
+ | |||
+ | If you include English as a language that you are interested in, you will see the actual texts that are used in the English language. This can at times be different from the " | ||
+ | |||
+ | Also, as explained below, there are " | ||
+ | |||
+ | For example | ||
+ | |||
+ | | ||
+ | |||
+ | which in the English version of the translation is | ||
+ | |||
+ | | ||
+ | |||
+ | So, in this case, you would need to translate the "More information about the phpList application" | ||
+ | |||
+ | |||
+ | ==== Approve pending suggestions ==== | ||
+ | |||
+ | When a new user account is created their rights level allows them only to suggest a translation on their language but not save it. For each language there are moderators who can approve the suggested translations and save them. To do so, you can visit a users profile and approve any suggested translations or go directly to a certain language and approve the strings that are translated by others. All the above can be performed only by approved accounts with moderator access. | ||
+ | |||
+ | |||
+ | ==== Weblate technical usage notes ==== | ||
+ | |||
+ | 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 ' | ||
+ | |||
+ | 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: | ||
+ | </ | ||
+ | |||
+ | You do not need to translate the " | ||
+ | |||
+ | Note: Weblate only shows the msgid which is pagetitle: | ||
+ | |||
+ | * **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: | ||
+ | </ | ||
+ | |||
+ | You do not need to translate the " | ||
+ | |||
+ | Note: Weblate only shows the msgid which is pagetitle: | ||
+ | |||
+ | |||
+ | * **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 " | ||
+ | |||
+ | < | ||
+ | user -> Subscriber | ||
+ | message -> Campaign | ||
+ | email -> Either "email address" | ||
+ | </ | ||
+ | |||
+ | 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 [[http:// | ||
+ | |||
+ | * **Updates**. phpList is continually updated and new texts will appear for translation. Changes are posted to the [[https:// | ||
+ | |||
+ | ==== Adding a language ==== | ||
+ | |||
+ | Adding a new language to phpList requires adding it to both phpList and the phpList application separately. Follow these steps: | ||
+ | |||
+ | - Add the language in Weblate | ||
+ | - Login to Weblate | ||
+ | - Scroll down at the list of languages and press the "Start new translation" | ||
+ | |||
+ | - Add the language to the phpList application | ||
+ | - TBA | ||
+ | |||
+ | ===== Translations managed by dedicated repositories ===== | ||
+ | |||
+ | ==== Public-facing pages ==== | ||
+ | |||
+ | Public-facing pages such as subscribe pages, which do not require admin authentication to access, use a separate translation system. The strings are stored in .inc files in the following Git repository: https:// | ||
+ | |||
+ | ==== Contextual help in the application ==== | ||
+ | |||
+ | Contextual help text is stored in a Git repository and not handled by Weblate: https:// | ||
+ | |||
+ | The files on this repo are used by the pop-up help buttons. When a new button is added the corresponding file should be added on this repo. Each button should have the parameter " | ||
+ | |||
+ | To use contextual help text in a local development copy phpList, clone or download the above repository into the following directory of your phpList installation: | ||
+ | Also make sure to have https:// | ||
+ | |||
+ | Do not commit this folder to the phpList 3 repository (it should be ignored by git automatically thanks to .gitignore). | ||
+ | |||
+ | ==== Contextual info in the application ==== | ||
+ | |||
+ | Similar to help texts, these are stored in a dedicated repository, and should be checked out into the following folder: https:// | ||
+ | Do not commit this folder to the phpList 3 repository (it should be ignored by git automatically thanks to .gitignore). | ||
+ | |||
+ | ===== Documentation ===== | ||
+ | |||
+ | ==== Resources wiki ==== | ||
+ | |||
+ | To translate pages of this wiki, [[https:// | ||
+ | |||
+ | ==== Manual ==== | ||
+ | |||
+ | Due to the software which created it being no longer maintained, the [[https:// | ||
+ | |||
+ | ===== See also ===== | ||
+ | |||
+ | [[Notes on Translations]] Language specific rules for the translation | ||
+ | |||
+ | |||