summaryrefslogtreecommitdiff
path: root/docs/LANGUAGE
blob: 0a2831e6905d5505bb78c24456d38d9151867110 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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.