Gettext
Mureakuha
Gettext on tapa lokalisoida helposti tekstiä. Useimmissa kielissä gettext-funktio on alaviiva _(). Hyvä editori gettextin käyttämien .po/.mo tiedostojen tuottamiseen on poEdit.
[muokkaa]
PHP
Tiedosto: /public_html/index.php:
<?php $language = 'fi_FI'; $language2 = "finnish"; putenv("LANG=$language"); putenv("LANGUAGE=$language"); putenv("LC_ALL=$language"); putenv("LC_MESSAGES=$language"); setlocale(LC_ALL, $language, $language2); setlocale(LC_MESSAGES, $language, $language2); $domain = 'messages'; bindtextdomain($domain, "./../locale"); textdomain($domain); echo _("This is written in finnish language."); ?>
Tiedosto (tallenna UTF-8-muodossa): /locale/fi_FI/LC_MESSAGES/messages.po:
msgid "" msgstr "" "Project-Id-Version: test\n" "POT-Creation-Date: \n" "PO-Revision-Date: 2005-06-03 13:42+0200\n" "Last-Translator: Teppo Testaaja <tt@localhost>\n" "Language-Team: test <test@test.test>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Finnish\n" "X-Poedit-Country: FINLAND\n" "X-Poedit-SourceCharset: utf-8\n" "X-Poedit-Basepath: .\\..\\..\\..\\public_html\\\n" "X-Poedit-SearchPath-0: .\n" #: index.php:16 msgid "This is written in finnish language." msgstr "Tämä on kirjoitettu suomeksi."
Tiedosto: /locale/fi_FI/LC_MESSAGES/messages.mo:
- binäärimössöä, joka on koostettu aiemmasta po-tiedostosta.
index.php tulostaa nyt:
Tämä on kirjoitettu suomeksi.
Nyt on helppoa muuntaa PHP-ohjelmasi usealle kielelle.
[muokkaa]
C#
Ole hyvä ja lisää esimerkki
[muokkaa]
C/C++
#include <libintl.h> #include <locale.h> #include <stdio.h> #include <stdlib.h> int main ( void ) { char domain[] = "messages"; setlocale ( LC_ALL, "" ); bindtextdomain ( domain, "./../locale" ); textdomain ( domain ); printf ( gettext("This is written in finnish language.") ); return EXIT_SUCCESS; }
