From owner-p4-projects@FreeBSD.ORG Mon Mar 23 15:18:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 148F31065673; Mon, 23 Mar 2009 15:18:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C76CC106564A for ; Mon, 23 Mar 2009 15:18:17 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B36558FC08 for ; Mon, 23 Mar 2009 15:18:17 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2NFIHZb026410 for ; Mon, 23 Mar 2009 15:18:17 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2NFIHwb026408 for perforce@freebsd.org; Mon, 23 Mar 2009 15:18:17 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 23 Mar 2009 15:18:17 GMT Message-Id: <200903231518.n2NFIHwb026408@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 159680 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Mar 2009 15:18:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=159680 Change 159680 by rene@rene_self on 2009/03/23 15:17:59 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#17 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#16 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/developers-handbook/l10n/chapter.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#17 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#24 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/share/sgml/authors.ent#15 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing-ports/article.sgml#9 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/contributing/article.sgml#15 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/explaining-bsd/article.sgml#12 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/problem-reports/article.sgml#16 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#28 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/appendix.decl#4 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml#19 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml#11 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml#19 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#21 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/articles.ent#3 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/bibliography.sgml#3 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/bookinfo.ent#4 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/books.ent#5 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/catalog#4 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/mirrors-local.xsl#3 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/newsgroups.ent#3 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/teams.ent#4 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/trademarks.ent#2 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/trademarks.sgml#2 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/transtable-local.xsl#2 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/share/sgml/transtable.xml#3 integrate .. //depot/projects/docproj_nl/share/pgpkeys/dchagin.key#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/dhn.key#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/fabient.key#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys-developers.sgml#13 integrate .. //depot/projects/docproj_nl/share/pgpkeys/pgpkeys.ent#13 integrate .. //depot/projects/docproj_nl/share/sgml/freebsd-html.dsl#2 integrate .. //depot/projects/docproj_nl/www/en/community/social.xsl#5 integrate .. //depot/projects/docproj_nl/www/en/developers.sgml#13 integrate .. //depot/projects/docproj_nl/www/en/docproj/translations.sgml#5 integrate .. //depot/projects/docproj_nl/www/en/multimedia/multimedia-input.xml#5 integrate .. //depot/projects/docproj_nl/www/en/news/2008/Makefile#2 integrate .. //depot/projects/docproj_nl/www/en/news/2008/press.xml#2 delete .. //depot/projects/docproj_nl/www/en/projects/2009-freebsd-gsoc-thumbnail.jpg#1 branch .. //depot/projects/docproj_nl/www/en/projects/2009-freebsd-gsoc.pdf#1 branch .. //depot/projects/docproj_nl/www/en/projects/Makefile#2 integrate .. //depot/projects/docproj_nl/www/en/projects/ideas/ideas.xml#3 integrate .. //depot/projects/docproj_nl/www/en/projects/ideas/ideas.xsl#2 integrate .. //depot/projects/docproj_nl/www/en/projects/summerofcode.xsl#3 integrate .. //depot/projects/docproj_nl/www/en/releases/7.2R/Makefile#1 branch .. //depot/projects/docproj_nl/www/en/releases/7.2R/docbook.css#1 branch .. //depot/projects/docproj_nl/www/en/releases/7.2R/schedule.sgml#1 branch .. //depot/projects/docproj_nl/www/en/releases/7.2R/status.sgml#1 branch .. //depot/projects/docproj_nl/www/en/releases/Makefile#3 integrate .. //depot/projects/docproj_nl/www/en/releng/index.sgml#14 integrate .. //depot/projects/docproj_nl/www/en/search/opensearch/Makefile#3 integrate .. //depot/projects/docproj_nl/www/en/search/opensearch/opensearch.sgml#3 integrate .. //depot/projects/docproj_nl/www/en/search/opensearch/portoverview.xml#1 branch .. //depot/projects/docproj_nl/www/share/sgml/advisories.xml#9 integrate .. //depot/projects/docproj_nl/www/share/sgml/events.xml#15 integrate .. //depot/projects/docproj_nl/www/share/sgml/libcommon.xsl#6 integrate .. //depot/projects/docproj_nl/www/share/sgml/news.xml#30 integrate .. //depot/projects/docproj_nl/www/share/sgml/notices.xml#2 integrate .. //depot/projects/docproj_nl/www/share/sgml/press.xml#9 integrate .. //depot/projects/docproj_nl/www/share/sgml/usergroups.xml#4 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#17 (text+ko) ==== @@ -1,4 +1,4 @@ - + + @@ -58,4 +58,215 @@ libraries. Please use them for I18N compliance. - + + + + + + Gábor + Kövesdán + Contributed by + + + + + Localized Messages with POSIX.1 Native Language Support (NLS) + + Beyond the basic I18N functions, like supporting various input + encodings or supporting national conventions, such as the different + decimal separators, at a higher level of I18N, it is possible to localize the + messages written to the output by the various programs. A common way of doing + this is using the POSIX.1 NLS functions, which are provided as a part + of the &os; base system. + + + Organizing Localized Messages into Catalog Files + + POSIX.1 NLS is based on catalog files, which contain the + localized messages in the desired encoding. The messages are + organized into sets and each message is identified by an integer + number in the containing set. The catalog files are conventionally + named after the locale they contain localized messages for, followed + by the .msg extension. For instance, the + Hungarian messages for ISO8859-2 encoding should be stored in a file + called hu_HU.ISO8859-2. + + These catalog files are common text files that contain the + numbered messages. It is possible to write comments by starting + the line with a $ sign. Set boundaries are also separated by + special comments, where the keyword set must + directly follow the $ sign. The set keyword + is then followed by the set number. For example: + + $set 1 + + The actual message entries start with the message number and + followed by the localized message. The well-known + modifiers from &man.printf.3; are accepted: + + 15 "File not found: %s\n" + + The language catalog files have to be compiled into a binary + form before they can be opened from the program. This conversion + is done with the &man.gencat.1; utility. Its first argument is the + filename of the compiled catalog and its further arguments are the + input catalogs. The localized messages can also be organized into + more catalog files and then all of them can be processed with + &man.gencat.1;. + + + + Using the Catalog Files from the Source Code + + Using the catalog files is simple. To use + the related functions, nl_types.h must be included. Before + using a catalog, it has to be opened with &man.catopen.3;. + The function takes two arguments. The first parameter is the name of the + installed and compiled catalog. Usually, the name of the + program is used, such as grep. + This name will be used when looking for the compiled + catalog file. The &man.catopen.3; call looks for this file + in /usr/share/nls/locale/catname + and in /usr/local/share/nls/locale/catname, + where locale is the locale set and + catname is the catalog name being + discussed. The second parameter is a constant, which can have + two values: + + + + NL_CAT_LOCALE, which means that + the used catalog file will be based on + LC_MESSAGES. + + + 0, which means that + LANG has to be used to open + the proper catalog. + + + The &man.catopen.3; call returns a catalog identifier of + type nl_catd. Please refer to the manual page for a list of possible returned error + codes. + + After opening a catalog &man.catgets.3; can be used to retrieve + a message. The first parameter is the catalog identifier returned + by &man.catopen.3;, the second one is the number of the set, the + third one is the number of the messages, and the fourth one is a + fallback message, which will be returned if the requested message + cannot be retrieved from the catalog file. + + After using the catalog file, it must be closed by calling + &man.catclose.3;, which has one argument, the catalog id. + + + + A Practical Example + + The following example will demonstrate an easy solution on how to + use NLS catalogs in a flexible way. + + The below lines need to be put into a common header file of + the program, which is included into all source files where + localized messages are necessary: + + +#ifdef WITHOUT_NLS +#define getstr(n) nlsstr[n] +#else +#include <nl_types.h> + +extern nl_catd catalog; +#define getstr(n) catgets(catalog, 1, n, nlsstr[n]) +#endif + +extern char *nlsstr[]; + + Next, put these lines into the global declaration part of the + main source file: + + +#ifndef WITHOUT_NLS +#include <nl_types.h> +nl_catd catalog; +#endif + +/* + * Default messages to use when NLS is disabled or no catalog + * is found. + */ +char *nlsstr[] = { + "", +/* 1*/ "some random message", +/* 2*/ "some other message" +}; + + Next come the real code snippets, which open, read, and + close the catalog: + + +#ifndef WITHOUT_NLS + catalog = catopen("myapp", NL_CAT_LOCALE); +#endif + +... + +printf(getstr(1)); + +... + +#ifndef WITHOUT_NLS + catclose(catalog); +#endif + + + + Making use of <filename>bsd.nls.mk</filename> + + Using the catalog files requires few repeatable steps, + such as compiling the catalogs and installing them to the + proper location. In order to simplify this process even + more, bsd.nls.mk introduces some macros. + It is not necessary to include bsd.nls.mk + explicitly, it is pulled in from the common Makefiles, + such as bsd.prog.mk or + bsd.lib.mk. + + Usually it is enough to define NLSNAME, + which should have the catalog name mentioned as the first + argument of &man.catopen.3; and list the catalog files in + NLS without their .msg + extension. Here is an example, which makes it possible to + to disable NLS when used with the code examples before. + The WITHOUT_NLS &man.make.1; variable has + to be defined in order to build the program without NLS + support. + + +.if !defined(WITHOUT_NLS) +NLS= es_ES.ISO8859-1 +NLS+= hu_HU.ISO8859-2 +NLS+= pt_BR.ISO8859-1 +.else +CFLAGS+= -DWITHOUT_NLS +.endif + + Conventionally, the catalog files are placed under the + nls subdirectory and + this is the default behaviour of bsd.nls.mk. + It is possible, though to override the location of the + catalogs with the NLSSRCDIR &man.make.1; + variable. The default name of the precompiled catalog files + also follow the naming convention mentioned before. It can be + overriden by setting the NLSNAME variable. + There are other options to fine tune the processing of the catalog + files but usually it is not needed, thus they are not described + here. For further information on bsd.nls.mk, + please refer to the file itself, it is short and easy to + understand. + + + ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#17 (text+ko) ==== @@ -12,7 +12,7 @@ The &os; Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1109 2009/02/02 19:46:41 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1110 2009/03/10 06:01:59 pgj Exp $ 1995 @@ -5035,7 +5035,7 @@ &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a /mnt &prompt.root; cd /mnt -&prompt.root; dump 0af - / | restore xf - +&prompt.root; dump 0af - / | restore rf - Rearranging your partitions with dump takes a bit more work. To merge a partition like @@ -5047,9 +5047,9 @@ &prompt.root; newfs /dev/ad1s1a &prompt.root; mount /dev/ad1s1a /mnt &prompt.root; cd /mnt -&prompt.root; dump 0af - / | restore xf - +&prompt.root; dump 0af - / | restore rf - &prompt.root; cd var -&prompt.root; dump 0af - /var | restore xf - +&prompt.root; dump 0af - /var | restore rf - To split a directory from its parent, say putting /var on its own partition when it was @@ -5063,7 +5063,7 @@ &prompt.root; mkdir /mnt/var &prompt.root; mount /dev/ad1s1d /mnt/var &prompt.root; cd /mnt -&prompt.root; dump 0af - / | restore xf - +&prompt.root; dump 0af - / | restore rf - You might prefer &man.cpio.1;, &man.pax.1;, &man.tar.1; to &man.dump.8; for user data. At the time of this writing, ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#24 (text+ko) ==== @@ -1,7 +1,7 @@ PERL_VERSION The full version of perl installed (e.g., - 5.00503). - - - - PERL_VER - - The short version of perl installed (e.g., - 5.005). + 5.8.9). PERL_LEVEL The installed perl version as an integer of the form MNNNPP - (e.g., 500503). + (e.g., 500809). @@ -8396,13 +8389,11 @@ %%PERL_VERSION%% will be substituted for appropriately. The value of %%OSREL%% is the numeric revision of the operating system (e.g., - 4.9). %%PERL_VERSION%% is - the full version number of perl (e.g., - 5.00502) and %%PERL_VER%% - is the perl version number minus - the patchlevel (e.g., 5.005). Several other - %%VARS%% related to - port's documentation files are described in 4.9). %%PERL_VERSION%% and + %%PERL_VER%% is the full version number of + perl (e.g., 5.8.9). + Several other %%VARS%% + related to port's documentation files are described in the relevant section. If you need to make other substitutions, you can set the @@ -9820,1233 +9811,1450 @@ __FreeBSD_version values - + + Value + Date Release - __FreeBSD_version + 119411 + 2.0-RELEASE - 119411 + 199501, 199503 + March 19, 1995 2.1-CURRENT - 199501, 199503 + 199504 + April 9, 1995 2.0.5-RELEASE - 199504 + 199508 + August 26, 1995 2.2-CURRENT before 2.1 - 199508 + 199511 + November 10, 1995 2.1.0-RELEASE - 199511 + 199512 + November 10, 1995 2.2-CURRENT before 2.1.5 - 199512 + 199607 + July 10, 1996 2.1.5-RELEASE - 199607 + 199608 + July 12, 1996 2.2-CURRENT before 2.1.6 - 199608 + 199612 + November 15, 1996 2.1.6-RELEASE - 199612 + 199612 + 2.1.7-RELEASE - 199612 + 220000 + February 19, 1997 2.2-RELEASE - 220000 + (not changed) + 2.2.1-RELEASE - 220000 (no change) + (not changed) + 2.2-STABLE after 2.2.1-RELEASE - 220000 (no change) + 221001 + April 15, 1997 2.2-STABLE after texinfo-3.9 - 221001 + 221002 + April 30, 1997 2.2-STABLE after top - 221002 + 222000 + May 16, 1997 2.2.2-RELEASE - 222000 + 222001 + May 19, 1997 2.2-STABLE after 2.2.2-RELEASE - 222001 + 225000 + October 2, 1997 2.2.5-RELEASE - 225000 + 225001 + November 20, 1997 2.2-STABLE after 2.2.5-RELEASE - 225001 + 225002 + December 27, 1997 2.2-STABLE after ldconfig -R merge - 225002 + 226000 + March 24, 1998 2.2.6-RELEASE - 226000 + 227000 + July 21, 1998 2.2.7-RELEASE - 227000 + 227001 + July 21, 1998 2.2-STABLE after 2.2.7-RELEASE - 227001 + 227002 + September 19, 1998 2.2-STABLE after &man.semctl.2; change - 227002 + 228000 + November 29, 1998 2.2.8-RELEASE - 228000 + 228001 + November 29, 1998 2.2-STABLE after 2.2.8-RELEASE - 228001 + 300000 + February 19, 1996 3.0-CURRENT before &man.mount.2; change - 300000 + 300001 + September 24, 1997 3.0-CURRENT after &man.mount.2; change - 300001 + 300002 + June 2, 1998 3.0-CURRENT after &man.semctl.2; change - 300002 + 300003 + June 7, 1998 3.0-CURRENT after ioctl arg changes - 300003 + 300004 + September 3, 1998 3.0-CURRENT after ELF conversion - 300004 + 300005 + October 16, 1998 3.0-RELEASE - 300005 + 300006 + October 16, 1998 3.0-CURRENT after 3.0-RELEASE - 300006 + 300007 + January 22, 1999 3.0-STABLE after 3/4 branch - 300007 + 310000 + February 9, 1999 3.1-RELEASE - 310000 + 310001 + March 27, 1999 3.1-STABLE after 3.1-RELEASE - 310001 + 310002 + April 14, 1999 3.1-STABLE after C++ constructor/destructor order change - 310002 + 320000 + 3.2-RELEASE - 320000 + 320001 + May 8, 1999 3.2-STABLE - 320001 + 320002 + August 29, 1999 3.2-STABLE after binary-incompatible IPFW and socket changes - 320002 + 330000 + September 2, 1999 3.3-RELEASE - 330000 + 330001 + September 16, 1999 3.3-STABLE - 330001 + 330002 + November 24, 1999 3.3-STABLE after adding &man.mkstemp.3; to libc - 330002 + 340000 + December 5, 1999 3.4-RELEASE - 340000 + 340001 + December 17, 1999 3.4-STABLE - 340001 + 350000 + June 20, 2000 3.5-RELEASE - 350000 + 350001 + July 12, 2000 3.5-STABLE - 350001 + 400000 + January 22, 1999 4.0-CURRENT after 3.4 branch - 400000 + 400001 + February 20, 1999 4.0-CURRENT after change in dynamic linker handling - 400001 + 400002 + March 13, 1999 4.0-CURRENT after C++ constructor/destructor order change - 400002 + 400003 + March 27, 1999 4.0-CURRENT after functioning &man.dladdr.3; - 400003 + 400004 + April 5, 1999 4.0-CURRENT after __deregister_frame_info dynamic linker bug fix (also 4.0-CURRENT after EGCS 1.1.2 integration) - 400004 + 400005 + April 27, 1999 4.0-CURRENT after &man.suser.9; API change (also 4.0-CURRENT after newbus) - 400005 + 400006 + May 31, 1999 4.0-CURRENT after cdevsw registration change - 400006 + 400007 + June 17, 1999 4.0-CURRENT after the addition of so_cred for socket level credentials - 400007 + 400008 + June 20, 1999 4.0-CURRENT after the addition of a poll syscall wrapper to libc_r - 400008 + 400009 + July 20, 1999 4.0-CURRENT after the change of the kernel's dev_t type to struct specinfo pointer - 400009 + 400010 + September 25, 1999 4.0-CURRENT after fixing a hole in &man.jail.2; - 400010 + 400011 + September 29, 1999 4.0-CURRENT after the sigset_t datatype change - 400011 + 400012 + November 15, 1999 4.0-CURRENT after the cutover to the GCC 2.95.2 compiler - 400012 + 400013 + December 4, 1999 4.0-CURRENT after adding pluggable linux-mode ioctl handlers - 400013 + 400014 + January 18, 2000 4.0-CURRENT after importing OpenSSL - 400014 + 400015 + January 27, 2000 4.0-CURRENT after the C++ ABI change in GCC 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by default - 400015 + 400016 + February 27, 2000 4.0-CURRENT after importing OpenSSH - 400016 + 400017 + March 13, 2000 4.0-RELEASE - 400017 + 400018 + March 17, 2000 4.0-STABLE after 4.0-RELEASE - 400018 + 400019 + May 5, 2000 4.0-STABLE after the introduction of delayed checksums. - 400019 + 400020 + June 4, 2000 4.0-STABLE after merging libxpg4 code into libc. - 400020 + 400021 + July 8, 2000 4.0-STABLE after upgrading Binutils to 2.10.0, ELF branding changes, and tcsh in the base system. >>> TRUNCATED FOR MAIL (1000 lines) <<<