wxWidgets/samples/internat
Mattia Barbon 996994c714 Allow displaying Japanese character with wxMotif/ANSI under a
Japanese EUC-JP locale:

- add a #define (wxMOTIF_NEW_FONT_HANDLING) defaulting to
  off
- factor the code for getting text extents in a central
  wxGetTextExtent function
- when the new font handling is enabled load a fontset instead of
  a single font. For non-Japanese locales this should load a fontset
  containing a single font.
- on a Japanese locale set the default point size to 15: the Japanese
  fonts I have are much more readable like this.
- do not set the wordwrap property for multiline wxTextCtrl with
  OpenMotif 2.1, otherwise it crashes when text is added


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-31 09:42:16 +00:00
..
bg added Bulgarian translations 2003-07-01 11:42:35 +00:00
cs added Czech translation to the sample 2003-10-04 22:42:06 +00:00
de merged 2.4 branch into the trunk 2002-12-04 14:11:26 +00:00
fr updated Japanese translation, minor changes to the code 2003-03-29 14:19:46 +00:00
ja updated Japanese translation, minor changes to the code 2003-03-29 14:19:46 +00:00
ka added Georgian translation 2003-04-12 18:37:05 +00:00
pl Polish translation to i18n sample. 2004-08-26 10:58:39 +00:00
ru added gettext plural forms support (patch #785660 with modifications) 2003-10-04 22:38:00 +00:00
sv Applied patch [ 1217859 ] Swedish translation for the internat sample 2005-06-16 17:57:23 +00:00
.cvsignore Applied cvsignore patch 2003-01-08 10:01:33 +00:00
internat.bkl Applied patch [ 1217859 ] Swedish translation for the internat sample 2005-06-16 17:57:23 +00:00
internat.cpp Allow displaying Japanese character with wxMotif/ANSI under a 2005-07-31 09:42:16 +00:00
internat.dsp Renewed makefiles after reverting run-time lib change 2005-04-17 20:08:49 +00:00
internat.pro added new project files for all samples and demos; removed the old ones 2001-10-09 22:30:29 +00:00
internat.rc Initial revision 1998-05-20 14:01:55 +00:00
internatM5.xml added CarbonFrameworkLib to CodeWarrior 5 projects 2003-01-25 11:52:00 +00:00
makefile.bcc Rebake for 2.6.2 2005-07-28 12:48:14 +00:00
makefile.dos wxPaintDC -> wxDC in wxListCtrl; fixed compile problems in wxTreeCtrl (return 1998-12-20 23:49:21 +00:00
makefile.gcc Rebake for 2.6.2 2005-07-28 12:48:14 +00:00
Makefile.in Rebake for 2.6.2 2005-07-28 12:48:14 +00:00
makefile.sc relative path to wxwin in samples for Digital Mars (fixes SF bug 757845) 2003-06-20 15:20:31 +00:00
makefile.unx replaced "CC = gcc" and even stranger "CPP = gcc -g" (huh?) with 2001-11-28 18:10:15 +00:00
makefile.vc Rebake for 2.6.2 2005-07-28 12:48:14 +00:00
makefile.vms Initial revision 1998-05-20 14:01:55 +00:00
makefile.wat Rebake for 2.6.2 2005-07-28 12:48:14 +00:00
makemac6.mcp added carbonaccessors.o 2001-08-19 17:18:03 +00:00
mondrian.ico Initial revision 1998-05-20 14:01:55 +00:00
mondrian.xpm Added bitmaps and icons to samples 1998-07-31 20:04:04 +00:00
readme.txt added wxPLURAL() macro 2005-06-01 21:16:30 +00:00

This is the README file for the internationalization sample for wxWindows 2.0.

Q. What does this stupid program do?
A. It demonstrates how to translate all program messages to a foreign language.
   In any program using wxWindows there is going to be 3 kinds of messages: the
   messages from the program itself, the messages from the wxWindows library and
   the messages from the system (e.g. system error messages). This program
   translates the first 2 kinds of messages but the system messages will be only
   translated if your system supports it.

   Brief usage summary: "Test|File" tries to open a non existing file (provoking
   system error message), "Test|Play" shows a message box asking for a number.
   Hint: try some special values like 9 and 17.

Q. Why the error message when I try to open a non existing file is only partly
   translated?
A. Your system doesn't have the translation in the language you use, sorry.

Q. Why the message when I enter '9' is not translated?
A. This is on purpose: the corresponding string wasn't enclosed in _() macro and
   so didn't get into the message catalog when it was created using xgettext.
   
Q. Why the message when I enter '17' is only partly translated?
A. This will only work under some versions of Linux, don't worry if the second
   half of the sentence is not translated.

Q. I don't speak french, what about translations to <language>?
A. Please write them - see the next question. French is chosen by default
   because it's the only translation which is currently available. To test
   translations to the other languages please run the sample with 2 command line
   arguments: the full language name and the name of the directory where the
   message catalogs for this language are (will be taken as 2 first letters of
   the language name if only 1 argument is given).

Q. How to do translations to other language?
A. First of all, you will need the GNU gettext tools (see the next question).
   After you've probably installed them, type the following (example is for Unix
   and you should do exactly the same under Windows).
   
   # all translations forgiven language should be in a separate directory.
   # Please use the standard abbreviation for the language names!
   mkdir <language>
   cd <language>

   # generate the .po file for the program itself
   # see `xgettext --help' for options, "-C" is important!
   xgettext -C -n -k_ -kwxPLURAL:1,2 -kwxTRANSLATE -o internat.po ../internat.cpp
   
   # .po file for wxWindows might be generated in the same way. An already 
   # generated wxstd.po as well as translations for some languages can be 
   # found in the locale directory.
   cp ../../locale/<language>.po ./wxstd.po
   - or -
   cp ../../locale/wxstd.po .

   # now edit the files and do translate strings (this isn't done by gettext)
   # you can use another editor if you wish :-) No need to edit wxstd.po if you
   # already got a translated one.
   vi internat.po wxstd.po

   # create the message catalog files
   msgfmt -o internat.mo internat.po
   msgfmt -o wxstd.mo wxstd.po

   # run the sample to test it
   cd ..
   ./internat <language> 

Q. How to get the gettext tools?
A. For Unix, you should be able to get the source distribution of any GNU mirror
   (see www.gnu.org for a start). gettext() version 0.10 is buggy, try to get at
   least version strictly greater than 0.10. gettext RPMs can be downloaded from
   the standard locations for Linux. For Windows, you can get the precompiled
   binaries from wxWindows web page.

Q. What's i18n?
A. Count the number of letters in the word "internationalization".

Q. Where to send comments,
                 additional translations,
                 flames,
                 money?
A. To Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>,
      wxWindows list <wxwin-developers@wx.dent.med.uni-muenchen.de>,
      /dev/null (platform-dependent),
      wxWindows dev team Swiss bank account.