Anope Mutli Language Support ---------------------------- 1) Building Anope with gettext support 2) Adding a new language 3) Using languages with modules 1) Building Anope with gettext support To build Anope with gettext support gettext and its devlopmental libraries must be installed on the system. Anope does not require locales to be installed or enabled on the system, but does require the locales-all package on Debian and Debian based systems. Building Anope on Windows with gettext support is explained in docs/WIN32.txt 2) Adding a new language Anope uses gettext (http://www.gnu.org/software/gettext/) to translate messages for users. To add a new language install gettext and run `msginit -l language -o anope.language.po -i anope.pot`. For example if I was translating to Spanish I could run `msginit -l es_ES -o anope.es_ES.po -i anope.pot`. Open the newly generating .po file and start translating. Once you are done simply rerun ./Config; make && make install and add the language to your services.conf. Note that on Windows it is not quite this simple, windows.cpp must be edited and Anope recompiled and restarted. Poedit (http://www.poedit.net/) is a popular po file editor, and we recommend using it or another editor designed to edit po files (especially on Windows). If you have finished a language file translation and you want others to use it, please send it to team@anope.org (don't forget to mention clearly your (nick)name, your e-mail and the language name). You'll of course get full credit for it. 3) Using langages with modules Module authors can easially add the ability to have their modules translated by adding _() around the strings they need translated (messages to the user, etc). See a few of the modules in /modules/extras (cs_appendtopic, hs_request) for examples of this. If you want to translate a module someone has made, first generate a .pot file if there is none. Run `xgettext -s -d modulename -o modulename.pot --from-code=utf-8 modulename.cpp`. Then, run msginit on the .pot file with `msginit -l language -o modulename.language.po -i modulename.pot`. Translate the new .po file, then place it in the lang folder and rerun ./Config; make && make install.