====== Localizing DokuWiki (the Software) ====== [[DokuWiki]]'s user interface can be configured to use any language by setting the appropriate option in the [[config:lang|config]]. You can help translating DokuWiki to your language by visiting the [[https://translate.dokuwiki.org/|DokuWiki Localization Hub]]. We recommend to join the [[mailinglist#I18N Mailing List]] to be informed when new strings are added and need to be translated. ===== Localizing DokuWiki and its plugins and templates ===== Most of DokuWiki and its plugins and templates only provide localization for English and some other languages. We encourage you to translate them into your native language. Important things to keep in mind when translating: * Please try to **complete your countries main official language** before starting another dialect. * If you do major translation work it is recommended to check your translations in the [[https://download.dokuwiki.org/|development snapshot]]. This gives you the opportunity to correct errors and verify the layout in your language. * In some languages words and sentences tend to get longer than the original English words. Keep in mind that **your translation needs to work on any screen size** and it often looks better if **words are in line with other items on the page**. * When translating technical descriptions of external origin like the API's delivered by Github, Twitter, Google etc please **read the external manual first**. This is especially important for translating interfaces. Maybe a localized version of the manual or helppages is already at the external source and you can use all or part of these. * As DokuWiki wants to be **standards-compliant**, consider learning about these regarding your language first. You can learn about correct spelling and interpunction from dictionaries or webpages maintained by public institutions. * Always **keep the format strings intact**, i.e. identical. Strings like these ''%1$d'' and ''%%%s%%'' and ''%%Update:%%''. The word ''Update:'' should be translated but the word ''%%%%'' **not**. ==== Howto add a new language ==== To prevent spam, https://translate.dokuwiki.org/ only has languages which exist in the source code DokuWiki. To initiate a new language you can send a pull request with some translated lines or if you do not program you can open an issue in our Bug tracker. Please use ISO 639-1 (2-letter) and ISO 639-3 (3-letter) language code format, see... When accepted the language becomes available for easier translation via the translation tool. ==== Directions for consistent translations ==== At the [[teams:i18n:consistenttranslations|consistent translations]] page you can find: * some preferred translations for regularly used words * and how to handle placeholder order in non-english strings. ==== Plugins ==== Plugin authors can register their plugin at [[https://translate.dokuwiki.org/]] where you can easily help to translate the plugin. If a plugin is not translatable via the translation tool you can do it manually: * Copy the content of ''lib/plugins//lang/en/'' to\\ ''lib/plugins//lang//'' * Edit the contained ''.php'' and ''.txt'' files in a [[utf-8|UTF-8 capable]] text editor * Zip up the new language folder and send it to the author for inclusion in future releases For any further questions or general help you could send a mail to the [[mailinglist#i18n_mailing_list|I18N-Mailinglist]] or ask for help in the [[irc|IRC-Channel]]. ===== Changing some localized texts and strings in your installation ===== There are many localized texts in DokuWiki like emails that are sent on registration, password forgotten, the text above the edit form, and more. Also the strings used in the buttons and links are translated. You can modify these by creating custom files with your version of the texts. This way your changes aren't overwritten on upgrades. You can change these texts by copying the ''.txt'' files or copying some strings from ''lang.php'': * from ''inc/lang/<[[https://www.loc.gov/standards/iso639-2/php/English_list.php|ISO 639-1]]-lang-code>/'' * to ''**conf/lang/**/'' and editing the copied content. You can do the same thing for plugins and templates by copying ''.txt'' or some strings from ''lang.php'': * from ''lib/plugins//lang//'' * to ''**conf/plugin_lang/**//'' * from ''lib/tpl/