Although WordPress displays in U.S. English by default, the software can be used in any language, or 'localized' (see WordPress in Your Language for more information).
Usually, WordPress localization is performed using the Gnu gettext system (see Translating WordPress for more information). The gettext system runs text messages produced by WordPress PHP files through a look-up function, which finds and uses the non-English equivalent of a given word or phrase.
Gettext works well for most aspects of WordPress. However, there are a few components of the software that do not lend themselves to localization with gettext. This article explains why that is the case, and how to localize those components of WordPress.
There are some components of WordPress that cannot or should not be localized with gettext:
To internationalize or localize components of WordPress that cannot use gettext, you will need to replace the English version of the files with a manually translated version. A list of the files you should translate is given below.
Translate the instructions in the PHP comments (so that they can be used by non-English speakers), and set the WPLANG variable to the correct locale. For example, you would change define ('WPLANG', ''); to define ('WPLANG', 'bg_BG');if you were using the bg_BG locale.
Replace the text after each salt and key definition with a similar phrase in the desired language. For example, the Bulgarian file would look like this:
dist/wp-config-sample.php:
[...] define('AUTH_KEY', 'вашата супер-ултра-уникална фраза сложете тук'); define('SECURE_AUTH_KEY', 'вашата супер-ултра-уникална фраза сложете тук'); define('LOGGED_IN_KEY', 'вашата супер-ултра-уникална фраза сложете тук'); [...]
Note: Be careful of version conflicts if you plan to release your localized files for use by others. You will need to keep track of the version of WordPress that each file corresponds to, or release different versions of the files for different versions of WordPress.
You can find a list of different WordPress versions in the Release Archive. Alternatively, you can check the Trac Browser, which allows you to browse the WordPress SVN source code repository and offers even greater detail on version numbers.