Beginning in version 7 Team Password Manager supports multiple languages. In short, this means that: 1) An installation can have many languages installed (one of them being the default), 2) A user can choose any of the languages available, 3) Languages can be created by anyone.
This document explains how languages work in Team Password Manager. It has the following sections:
- What's a language
- Default language
- Language settings
- Installing/upgrading a language
- Choosing a language
- Creating a language
What's a language in Team Password Manager
A language is a folder with a set of files that have all the strings required to present Team Password Manager in a particular language. All the languages have the same files (with different content, obviously) but different folder names. The folder for English, for example, is "en". The name of the folder is also called the language code.
Languages are located in the wmm/language
folder. In the following image you can see an installation with 2 languages installed: "en" with the folder unfolded to see the files and "es_ES":
Team Password Manager releases include only one language, "en" (English), which is the reference language because we build the software first with this language. Other languages can be downloaded from the Language packs page or can be created.
Language versions
Language support in Team Password Manager is versioned. This means that a particular version of Team Password Manager has a specific language version. For example, version 7.72.144 of Team Password Manager has language version 1. You can see which language version your installation supports in Settings | Language.
On the other hand, a language also has a version. You can see which version a language has by opening the file config_lang.php.
So, for a language to work properly in a Team Password Manager installation, it must match the language version of the installation. For instance, a language with version 1 can work with Team Password Manager versions that have language version 1.
Default language
A Team Password Manager installation always has a default language, being "en" (English) the default of the defaults. This default language is used: for new users, in expiration notifications, in externals passwords and in login screens if no language cookie is present.
You can set the default language with the TPM_DEFAULT_LANG
parameter in config.php
:
define('TPM_DEFAULT_LANG', 'XX');
Where XX
is a language code, like for example "es_ES". If this parameter is not used, "en" (English) is the default language.
Language settings
The language settings screen in Team Password Manager tells you everything about languages in your installation: the language version supported, the default language and the available languages. It is accessed from the top menu Settings and then Languages. Here you have an example of this screen:
This screen will also warn you if any of the languages installed doesn't match your installation's language version. In the above screenshot, for example, the language version of the installation is 1 but the language version of "es_ES" is 2.
Installing/upgrading a language
To install a language you simply need to copy the language folder and files in the wmm/language
folder of your installation. To upgrade a language, just delete its language folder and copy the new one.
Some notes:
- You can't have the same language repeated as you can't have folders with the same name.
- Even if you only use a language different than "en" (English), you should keep the "en" folder and files that come with the software. If something goes wrong the software uses this language as the default, otherwise you'll see an error and Team Password Manager won't execute.
Choosing a language
A user doesn't have any language set by default. This means that she will use the default language of the installation. A user can see which language is using by clicking on her name on the top menu to see "My Account" screen. For example:
Admin/IT users can also see which language a user is using by going to the user screen in Users/Groups.
To change a language the user must click on the "Change language" orange button and select the language from the available languages:
Likewise, Admin/IT users can change the language of a user by clicking on the same button on the user screen in Users/Groups.
Creating a language
Anyone can create new languages for Team Password Manager. We'll provide the most common languages but you can create your own if it's not available or if you just want to use your own vocabulary for Team Password Manager. The best way to do it is following these steps:
- Get the "en" (English) files from your installation or from the Language packs page.
- Create a copy of the folder and rename it, for example, "my_lang". Important: language codes (or folders) cannot have more than 10 characters, should not include strange characters (just use letters, numbers, underscores) and cannot be named "default".
- Open the
config_lang.php
file and change the name of the language in thelang_description
array entry. - Open the other files and translate the strings. That's the hardest part as there are many strings. Some notes:
- Some strings contain html tags like "<strong>", keep them.
- Do not translate the string "Team Password Manager".
- Some strings contain words in square brackets, like
[PRJ]
; these are replaced by the "project - and derivates" or the name chosen with the PROJECT_NAME parameters in config.php, so please keep them too. - All the files are UTF-8.
Also keep this in mind:
- Keep a backup copy of the language folder and files. You'll need this when upgrading the software because you'll need to re-copy them after upgrading.
- If the software uses a new language version you'll have to update the version of the language (in config_lang.php) and also make the changes in the language files. We'll provide a document detailing the changes of the language files between versions.