From owner-freebsd-doc Thu Nov 30 14:33:12 2000 Delivered-To: freebsd-doc@freebsd.org Received: from peorth.iteration.net (peorth.iteration.net [208.190.180.178]) by hub.freebsd.org (Postfix) with ESMTP id DECD137B699 for ; Thu, 30 Nov 2000 14:32:57 -0800 (PST) Received: by peorth.iteration.net (Postfix, from userid 1001) id E9265573A9; Thu, 30 Nov 2000 16:32:57 -0600 (CST) Date: Thu, 30 Nov 2000 16:32:57 -0600 From: "Michael C . Wu" To: doc@freebsd.org Subject: Handbook L10N chapter update Message-ID: <20001130163257.A20217@peorth.iteration.net> Reply-To: "Michael C . Wu" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="wac7ysb48OaltWcw" Content-Disposition: inline User-Agent: Mutt/1.2.5i X-PGP-Fingerprint: 5025 F691 F943 8128 48A8 5025 77CE 29C5 8FA1 2E20 X-PGP-Key-ID: 0x8FA12E20 Sender: owner-freebsd-doc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, I have updated the l10n chapter of the handbook and attached a cvs diff. However, I have a few questions regarding this. Why did someone change the examples to European languages only when I originally had CJK *and* European examples? The current version only has German and Russian examples, which does not help the Asian users very much. There are many many problems with CJK support and we do not address any of those after the changes. Please, I ask you to not just assume that everybody living in the world speaks ISO8859-1/15 languages. And please notify me before you make *any* changes to that chapter for a small peer review like what should happen in the monolithic peer-reviewed FreeBSD development system. I have been fighting these secret changes several times since Rev. 1.16, and it is now Rev.1.40, still fighting. -- +------------------------------------------------------------------+ | keichii@peorth.iteration.net | keichii@bsdconspiracy.net | | http://peorth.iteration.net/~keichii | Yes, BSD is a conspiracy. | +------------------------------------------------------------------+ --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="l10n.sgml.diff" Index: chapter.sgml =================================================================== RCS file: /home/ncvs/doc/en_US.ISO_8859-1/books/handbook/l10n/chapter.sgml,v retrieving revision 1.40 diff -u -r1.40 chapter.sgml --- chapter.sgml 2000/08/25 08:53:23 1.40 +++ chapter.sgml 2000/11/30 20:21:52 @@ -1,16 +1,16 @@ - + Localization - I18N/L10N Usage and Setup Contributed by &a.ache; - Rewritten by Michael Chin-Yuan Wu - keichii@mail.utexas.edu, 6 March 2000. + Rewritten by Michael C. Wu + keichii@iteration.net, 30 Nov 2000. Synopsis @@ -24,8 +24,8 @@ that is responsible for each language. The author realizes that he may have been incomplete in the - description of the i18n process in FreeBSD. Due to the various - levels of i18n implementation in both the system and application + description of the I18N process in FreeBSD. Due to the various + levels of I18N implementation in both the system and application levels, we advise you to refer to individual documentation, man pages, READMEs, and so forth. @@ -37,42 +37,42 @@ The Basics - What is i18n/l10n? + What is I18N/L10N? - Developers shortened internationalization into the term i18n, + Developers shortened internationalization into the term I18N, counting the number of letters between the first and the last - letters of internationalization. l10n uses the same naming + letters of internationalization. L10N uses the same naming scheme, coming from "localization". Combined - together, i18n/l10n methods, protocols, and applications allow + together, I18N/L10N methods, protocols, and applications allow users to use languages of their choice. - I18n applications are programmed using i18n kits under + I18N applications are programmed using I18N kits under libraries. It allows for developers to write a simple file and translate displayed menus and texts to each language. We strongly encourage programmers to follow this convention. - Why should I use i18n/l10n? + Why should I use I18N/L10N? - I18n/l10n is used whenever you wish to either view, input, or + I18N/L10N is used whenever you wish to either view, input, or process data in non-English languages. - What languages are supported in the i18n effort? + What languages are supported in the I18N effort? - I18n and l10n are not FreeBSD specific. Currently, one can + I18N and L10N are not FreeBSD specific. Currently, one can choose from most of the major languages of the World, including - but not limited to: Chinese, German, Japanese, French, Russian, - and others. + but not limited to: Chinese, German, Japanese, Korean, French, + Russian, Vietnamese and others. Using Localization - In all its splendor, i18n is not FreeBSD-specific and is a + In all its splendor, I18N is not FreeBSD-specific and is a convention. We encourage you to help FreeBSD in following this convention. @@ -87,7 +87,7 @@ Language and Country Codes In order to localize a FreeBSD system to a specific language - (or any other i18n-supporting UNIX's), the user needs to find out + (or any other I18N-supporting UNIX's), the user needs to find out the codes for the specify country and language (country codes tell applications what variation of given language to use). In addition, web @@ -134,9 +134,9 @@ usually do recognize 8-bit characters. Depending on the implementation, users may be required to compile an application with wide or multibyte characters support, or configure it correctly. - To be able to input and process wide or multibyte characters, the FreeBSD Ports collection has provided - each language with different programs. Refer to the i18n + each language with different programs. Refer to the I18N documentation in the respective FreeBSD Port. Specifically, the user needs to look at the application @@ -149,7 +149,7 @@ Language specific single C chars character sets (see &man.multibyte.3;), i.e., - ISO_8859-1, KOI8-R, CP437. + ISO_8859-1, ISO_8859-15, KOI8-R, CP437. @@ -163,10 +163,10 @@ - I18n applications + I18N applications - In the FreeBSD Ports and Package system, i18n applications - have been named with i18n in their names for + In the FreeBSD Ports and Package system, I18N applications + have been named with I18N in their names for easy identification. However, they do not always support the language needed. @@ -233,10 +233,31 @@ encoding: -me:My Account:\ +german:German User:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO_8859-1: + Here is an example of a + .login_conf that sets the variables + for Traditional Chinese in BIG-5 encoding. Notice the many + more variables set because some software does not respect + locale variables correctly for Chinese, Japanese, and Korean. + + +#Users who do not wish to use monetary units or time formats +#of Taiwan can manually change each variable +taiwan:Taiwanese User:\ + lang=zh_TW.Big5:\ + lc_all=zh_TW.Big:\ + lc_collate=zh_TW.Big5:\ + lc_ctype=zh_TW.Big5:\ + lc_messages=zh_TW.Big5:\ + lc_monetary=zh_TW.Big5:\ + lc_numeric=zh_TW.Big5:\ + lc_time=zh_TW.Big5:\ + charset=big5:\ + xmodifiers="@im=xcin": #Setting the XIM Input Server + See Administrator Level Setup and &man.login.conf.5; for more details. @@ -516,7 +537,7 @@ web site or whichever X11 Server you use. In ~/.Xresources, you can additionally - tune application specific i18n settings (e.g., fonts, menus, + tune application specific I18N settings (e.g., fonts, menus, etc.). @@ -574,15 +595,15 @@ Advanced Topics - If you wish to compile i18n applications or program i18n + If you wish to compile I18N applications or program I18N compliant applications, please read this section. - Compiling i18n Programs + Compiling I18N Programs - Many FreeBSD Ports have been ported with i18n support. Some - of them are marked with -i18n in the port name. These and many - other programs have built in support for i18n and need no special + Many FreeBSD Ports have been ported with I18N support. Some + of them are marked with -I18N in the port name. These and many + other programs have built in support for I18N and need no special consideration. However, some applications such as MySQL need to be have the @@ -593,43 +614,55 @@ - Programming i18n Compliant Applications + Programming I18N Compliant Applications To make your application more useful for speakers of other - languages, we hope that you will program i18n compliant. The GNU - gcc compiler, GUI Libraries like QT and GTK support i18n through - special handling of strings. Making a program i18n compliant is + languages, we hope that you will program I18N compliant. The GNU + gcc compiler, GUI Libraries like QT and GTK support I18N through + special handling of strings. Making a program I18N compliant is very easy. It allows contributors to port your application to - other languages quickly. Refer to library specific i18n + other languages quickly. Refer to library specific I18N documentation for more details. - To the contrary of common perception, i18n compliant code is + To the contrary of common perception, I18N compliant code is easy to write. Usually, it only involves wrapping your strings with library specific functions. In addition, please be sure to allow for wide or multibyte characters support. - A Call to Unify the i18n effort + A Call to Unify the I18N effort - It has come to our attention that the individual i18n/l10n + It has come to our attention that the individual I18N/L10N efforts for each country has been repeating each others' efforts. Many of us have been reinventing the wheel repeatedly and inefficiently. We hope that the various major groups in - i18n could congregate into a group effort similar to the Core + I18N could congregate into a group effort similar to the Core Team's responsibility. - Currently, we hope that, when you write or port i18n + Currently, we hope that, when you write or port I18N programs, you would send it out to each country's related FreeBSD mailing lists for testing. In the future, we hope to create applications that work in all the languages out-of-the-box without dirty hacks. + + The mailing list FreeBSD-I18N@FreeBSD.org + has been established. If you are an I18N/L10N developer, + please send your comments, ideas, questions, and anything + you deem related to it. + + Michael C. Wu will be maintaining an I18N works in progress + homepage at http://www.iteration.net/~keichii/i18n/index.html + Please also read the BSDCon2000 I18N paper and presentations + by Clive Lin, Chia-Liang Kao, and Michael C. Wu at http://www.ece.utexas.edu/~mwu Perl and Python - Perl and Python have i18n and wide characters handling - libraries. Please use them for i18n compliance. + Perl and Python have I18N and wide characters handling + libraries. Please use them for I18N compliance. In older FreeBSD versions, Perl may gives warning about not having a wide characters locale @@ -852,10 +885,10 @@ Traditional Chinese Localization for Taiwan - The FreeBSD-Taiwan Project has an i18n/l10n tutorial for - FreeBSD at http://freebsd.sinica.edu.tw/~ncvs/zh-l10n-tut/index.html + The FreeBSD-Taiwan Project has an I18N/L10N tutorial for + FreeBSD at http://freebsd.sinica.edu.tw/~ncvs/zh-l10n-tut/index.html using many /usr/ports/chinese/* applications. - The editor for the zh-l10n-tut is Clive Lin + The editor for the zh-L10N-tut is Clive Lin Clive@CirX.org. You can also cvsup the following collections at freebsd.sinica.edu.tw: @@ -876,7 +909,7 @@ - zh-l10n-tut tag=. + zh-L10N-tut tag=. Localizing FreeBSD Tutorial in BIG-5 Traditional Chinese @@ -893,7 +926,7 @@ Chuan-Hsing Shen s874070@mail.yzu.edu.tw has created the Chinese FreeBSD Collection (CFC) using FreeBSD-Taiwan's - zh-l10n-tut. The packages and the script files + zh-L10N-tut. The packages and the script files are available at ftp://ftp.csie.ncu.edu.tw/OS/FreeBSD/taiwan/CFC/. --wac7ysb48OaltWcw-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message