From: Vadim Zeitlin Date: Sat, 27 Feb 1999 01:43:43 +0000 (+0000) Subject: i18n overview X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f8d8ae383a40f5e1bab31aa2f5d149f7e9377a42 i18n overview git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/latex/wx/ti18n.tex b/docs/latex/wx/ti18n.tex new file mode 100644 index 0000000000..3c667e5423 --- /dev/null +++ b/docs/latex/wx/ti18n.tex @@ -0,0 +1,54 @@ +\section{Internationalization}\label{internationalization} + +Although internationalization (i18n for short) of an application involves far +more than just translating its text messages to another message (date, time and +currency formats need changing too, some languages are written left to right +and others right to left, character encoding may differ and many other things +may need changing too), it is a necessary first step. wxWindows provides +facilities for the messages translation with its +\helpref{wxLocale}{wxlocale} class and is itself fully translated into several +languages (please consult wxWindows home page for the most up-to-date +translations - and if you may translate it in one of the languages not done +yet, your translations would be gratefully accepted for inclusion into the +future versions of the library!). + +The wxWindows approach to i18n closely follows GNU gettext package. wxWindows uses the +message catalogs which are binary compatible with gettext catalogs and this +allows to use all of the programs in this package to work with them. But note +that no additional libraries are needed during the run-time, however, so you +have only the message catalogs to distribute and nothing else. + +However, during the program development you will need the gettext package for +working with message catalogs. {\bf Warning:} gettext versions < 0.10 are known +to be buggy, so you should find a later version of it! + +There are two kinds of message catalogs: source catalogs which are text files +with extension .po and binary catalogs which are created from the source ones +with {\it msgfmt} program (part fo gettext package) and have the extension .mo. +Only the binary files are needed during program execution. + +The program i18n involves several steps: + +\begin{enumerate}\itemsep=0pt + +\item Translating the strings in the program text using +\helpref{wxGetTranslation}{wxgettranslation} or equivalently the \_() macro. + +\item Extracting the strings to be translated from the program: this uses the +work done in the previous step because {\it xgettext} program used for string +extraction may be told (using its -k option) to reckognize \_() and +wxGetTranslation and extract all strings inside the calls to these functions. +Alternatively, you may use -a option to extract all the strings, but it will +usually result in many strings being found which don't have to be translated at +all. This will create a text message catalog - a .po file. + +\item Translating the strings extracted in the previous step to other +language(s). It involves editing the .po file. + +\item Compiling the .po file into .mo file to be used by the program. + +\item Setting the appropriate locale in your program to use the strings for the +given language: see \helpref{wxLocale}{wxlocale}. + +\end{enumerate} +