= ZOO Translation page = You'll find here informations about how the ZOO Kernel use the gettext technology to translate on the fly both ZOO Kernel internal messages and also ZOO Services Provider internal messages and zcfg content. == Method to get your zcfg translated == First, use the following commands from your Services Provider directory to extract all translatable messages from your ZCFG files : {{{ #!sh for j in cgi-env/*zcfg ; do for i in Title Abstract; do grep $i $j | sed "s:$i = :_(\":g;s:$:\"):g" ; done; done > locale/.cache/my_service_string_to_translate.c }}} Now, produce the messages.po file based on the produced file and the Services Provider source code using the following command : {{{ #!sh xgettext service.c locale/.cache/my_service_string_to_translate.c -o message.po -p locale/po/ -k_ }}} Once you get the messages.po file, use the following command to create the po file for the language you want to translate into, let suppose that french language was choosen here : {{{ #!sh cd locale/po/ msginit -i messages.po -o fr_FR.utf8 -l fr }}} Obviously now you'll have to edit the fr_FR.utf8 file with your favorite text editor or using one of the following tools : * [http://www.poedit.net/ poedit] * [http://translate.sourceforge.net/wiki/virtaal/index virtaal] * [https://www.transifex.net/projects/p/grass6/c/grass64/ transifex] Once the fr_FR.utf8 file exists, you can produce and install the corresponding mo file using the following command : {{{ #!sh msgfmt locale/po/fr_FR.utf8 -o /usr/share/locale/fr/LC_MESSAGES/zoo-services.mo }}} Now, to test if your Services Provider ZCFG and internal messages are well translatable by the ZOO Kernel, please add the language argument to you request, for instance : for the following url [http://youserver/cgi-bin/zoo_loader.cgi?request=GetCapabilities&service=WPS] use now this one [http://youserver/cgi-bin/zoo_loader.cgi?request=GetCapabilities&service=WPS&language=fr_FR]