1c1,2 < Locale Library --- > \input amigatexinfo > \input texinfo @c -*-Texinfo-*- 3c4,31 < This document has two parts: --- > @comment %**start of header > @c %** setfilename -> Name der Info Datei > @setfilename Locale.guide > @c %** settitle -> Titel für Seitenüberschrift bei .dvi Datei > @settitle Locale, texified file from NDUK 3.1 tutorials > @set VERSION 1.0 > @finalout > @setchapternewpage off > @c %** end of header > > @titlepage > @title Locale Library > @subtitle > @subtitle Introduction To Locale > @subtitle > @subtitle Writing Localized Applications > @subtitle > @author Commodore-Amiga Inc > @page > @vskip 0pt plus 1filll > @copyright{} Copyright 1991-93 Commodore-Amiga, Inc. All Rights Reserved > @end titlepage > > > @ifinfo > @node Top > @top > @unnumbered 5,6c33 < - Introduction To Locale < - Writing Localized Applications --- > This document has two parts: 7a35,38 > @itemize > @item Introduction To Locale > @item Writing Localized Applications > @end itemize 12a44,54 > @end ifinfo > > @menu > * Introduction to Locale:: > * Writing Localized Applications:: > * Index:: > @end menu > > @node Introduction to Locale > @chapter Introduction to Locale > @cindex Introduction to Locale 14,15d55 < Introduction to Locale < ====================== 38,39c78,95 < < Compatibility-Now and in the Future --- > @menu > * Compatibility-Now and in the Future:: > * Patching the ROM:: > * Disk Files:: > * Functions:: > * Locales:: > * Catalogs:: > * Date And Time:: > * Argument Positioning:: > * Sorting:: > * Example:: > * Structures:: > * Using Locale.library from ARexx:: > @end menu > > @node Compatibility-Now and in the Future > @section Compatibility-Now and in the Future > @cindex Compatibility-Now and in the Future 67,96c123,162 < locale.library - This is the central element to localization and < contains routines to allow management of locales, catalogs, and strings. < < Language drivers - Much of locale.library's functionality is < implemented through language drivers. There is one such driver for < every language supported. All the language drivers are stored in the < LOCALE:Languages directory. < < Country database - A set of files describing various attributes of < every country supported, including the country's currency symbol, < number format, measuring system, etc. Country files are stored in the < LOCALE:Countries directory. < < Locale preferences editor - A preferences editor found in the Prefs < drawer that lets the user select which languages he speaks, the country < in which he lives, and his time zone. < < Revised system programs - Most programs found on the Workbench and < Extras disks need to be updated in order to use locale.library. < < System catalogs - A set of system text catalogs stored in the < LOCALE:Catalogs directory. These provide all the strings needed to < operate the system in different languages. < < Application catalogs - A set of application text catalogs stored in < either the PROGDIR:Catalogs or LOCALE:Catalogs directories. These are < provided by applications and let them run in different languages. < < < Patching the ROM --- > @table @code > @item locale.library > This is the central element to localization and > contains routines to allow management of locales, catalogs, and strings. > > @item Language drivers > Much of locale.library's functionality is > implemented through language drivers. There is one such driver for > every language supported. All the language drivers are stored in the > LOCALE:Languages directory. > > @item Country database > A set of files describing various attributes of > every country supported, including the country's currency symbol, > number format, measuring system, etc. Country files are stored in the > LOCALE:Countries directory. > > @item Locale preferences editor > A preferences editor found in the Prefs > drawer that lets the user select which languages he speaks, the country > in which he lives, and his time zone. > > @item Revised system programs > Most programs found on the Workbench and > Extras disks need to be updated in order to use locale.library. > > @item System catalogs > A set of system text catalogs stored in the > LOCALE:Catalogs directory. These provide all the strings needed to > operate the system in different languages. > > @item Application catalogs > A set of application text catalogs stored in > either the PROGDIR:Catalogs or LOCALE:Catalogs directories. These are > provided by applications and let them run in different languages. > @end table > > @node Patching the ROM > @section Patching the ROM > @cindex Patching the ROM 104c170,171 < exec.library/RawDoFmt() --- > @table @code > @item exec.library/RawDoFmt() 109c176 < dos.library/DosGetString() (internal routine) --- > @item dos.library/DosGetString() (internal routine) 113c180 < dos.library/DateToStr() & dos.library/StrToDate() --- > @item dos.library/DateToStr() & dos.library/StrToDate() 116c183 < utility.library/ToLower() & utility.library/ToUpper() --- > @item utility.library/ToLower() & utility.library/ToUpper() 120c187 < utility.library/Strnicmp() & utility.library/Stricmp() --- > @item utility.library/Strnicmp() & utility.library/Stricmp() 122a190,191 > @end table > 129c198,200 < Disk Files --- > @node Disk Files > @section Disk Files > @cindex Disk Files 134c205,206 < o Preferences files --- > @itemize > @item Preferences files 140c212 < o Language drivers --- > @item Language drivers 145a218 > @example 148a222 > @end example 156c230 < o Message catalogs --- > @item Message catalogs 167a242 > @example 169a245 > @end example 182a259,260 > @end itemize > 187,188c265,267 < < Functions --- > @node Functions > @section Functions > @cindex Functions 199c278,280 < Locales --- > @node Locales > @section Locales > @cindex Locales 221c302,304 < Catalogs --- > @node Catalogs > @section Catalogs > @cindex Catalogs 241c324,327 < Date And Time --- > > @node Date And Time > @section Date And Time > @cindex Date And Time 251c337,339 < Argument Positioning --- > @node Argument Positioning > @section Argument Positioning > @cindex Argument Positioning 256a345 > @example 257a347 > @end example 260a351 > @example 261a353 > @end example 268a361 > @example 273a367 > @end example 276a371 > @example 278a374 > @end example 286a383 > @example 287a385 > @end example 290a389 > @example 291a391 > @end example 301c401,403 < Sorting --- > @node Sorting > @section Sorting > @cindex Sorting 334,335c436,438 < < Example --- > @node Example > @section Example > @cindex Example 339a443 > @example 363c467 < { --- > @{ 366c470 < }; --- > @}; 374,377c478,481 < { < "Hello World!\n", < "Bye, I'm leaving...\n" < }; --- > @{ > "Hello World!\\n", > "Bye, I'm leaving...\\n" > @}; 384c488 < { --- > @{ 389c493 < } --- > @} 396c500 < { --- > @{ 404c508 < { --- > @{ 407,408c511,513 < } < } --- > @} > @} > @end example 411c516,519 < Structures --- > @node Structures > @section Structures > @cindex Structures > 417c525,526 < STRPTR loc_LocaleName --- > @table @code > @item STRPTR loc_LocaleName 419c528 < STRPTR loc_LanguageName --- > @item STRPTR loc_LanguageName 421c530 < STRPTR loc_PrefLanguages[10] --- > @item STRPTR loc_PrefLanguages[10] 423c532 < ULONG loc_Flags --- > @item ULONG loc_Flags 426c535 < ULONG loc_CodeSet --- > @item ULONG loc_CodeSet 429c538 < ULONG loc_CountryCode --- > @item ULONG loc_CountryCode 431c540 < ULONG loc_TelephoneCode --- > @item ULONG loc_TelephoneCode 433c542 < LONG loc_GMTOffset --- > @item LONG loc_GMTOffset 435c544 < UBYTE loc_MeasuringSystem --- > @item UBYTE loc_MeasuringSystem 437c546 < UBYTE loc_CalendarType --- > @item UBYTE loc_CalendarType 439c548 < STRPTR loc_DateTimeFormat --- > @item STRPTR loc_DateTimeFormat 441c550 < STRPTR loc_DateFormat --- > @item STRPTR loc_DateFormat 443c552 < STRPTR loc_TimeFormat --- > @item STRPTR loc_TimeFormat 445c554 < STRPTR loc_ShortDateTimeFormat --- > @item STRPTR loc_ShortDateTimeFormat 448c557 < STRPTR loc_ShortDateFormat --- > @item STRPTR loc_ShortDateFormat 450c559 < STRPTR loc_ShortTimeFormat --- > @item STRPTR loc_ShortTimeFormat 452c561 < STRPTR loc_DecimalPoint --- > @item STRPTR loc_DecimalPoint 454c563 < STRPTR loc_GroupSeparator --- > @item STRPTR loc_GroupSeparator 457c566 < STRPTR loc_FracGroupSeparator --- > @item STRPTR loc_FracGroupSeparator 460c569 < STRPTR loc_Grouping --- > @item STRPTR loc_Grouping 464c573 < STRPTR loc_FracGrouping --- > @item STRPTR loc_FracGrouping 468c577 < STRPTR loc_MonDecimalPoint --- > @item STRPTR loc_MonDecimalPoint 470c579 < STRPTR loc_MonGroupSeparator --- > @item STRPTR loc_MonGroupSeparator 473c582 < STRPTR loc_MonFracGroupSeparator --- > @item STRPTR loc_MonFracGroupSeparator 476c585 < STRPTR loc_MonGrouping --- > @item STRPTR loc_MonGrouping 479c588 < STRPTR loc_MonFracGrouping --- > @item STRPTR loc_MonFracGrouping 482c591 < UBYTE loc_MonFracDigits --- > @item UBYTE loc_MonFracDigits 485c594 < UBYTE loc_MonIntFracDigits --- > @item UBYTE loc_MonIntFracDigits 488c597 < STRPTR loc_MonCS --- > @item STRPTR loc_MonCS 490c599 < STRPTR loc_MonSmallCS --- > @item STRPTR loc_MonSmallCS 492c601 < STRPTR loc_MonIntCS --- > @item STRPTR loc_MonIntCS 500c609 < STRPTR loc_MonPositiveSign --- > @item STRPTR loc_MonPositiveSign 503c612 < UBYTE loc_MonPositiveSpaceSep --- > @item UBYTE loc_MonPositiveSpaceSep 506c615 < UBYTE loc_MonPositiveSignPos --- > @item UBYTE loc_MonPositiveSignPos 509c618 < UBYTE loc_MonPositiveCSPos --- > @item UBYTE loc_MonPositiveCSPos 512c621 < STRPTR loc_MonNegativeSign --- > @item STRPTR loc_MonNegativeSign 514c623 < UBYTE loc_MonNegativeSpaceSep --- > @item UBYTE loc_MonNegativeSpaceSep 517c626 < UBYTE loc_MonNegativeSignPos --- > @item UBYTE loc_MonNegativeSignPos 520c629 < UBYTE loc_MonNegativeCSPos --- > @item UBYTE loc_MonNegativeCSPos 526,534c635,647 < < 255 No further grouping is to be performed. < < 0 The previous element is to be repeatedly used for the remainder < of the digits. < < 1..254 The integer value is the number of digits that comprise the < current group. The next element is examined to determine the size of < the next group of digits before the current group. --- > @table @code > @ item 255 > No further grouping is to be performed. > > @item 0 > The previous element is to be repeatedly used for the remainder > of the digits. > > @item 1..254 > The integer value is the number of digits that comprise the > current group. The next element is examined to determine the size of > the next group of digits before the current group. > @end table 539,546c652,668 < 0 Parentheses surround the quantity and currency symbol < 1 The sign string precedes the quantity and currency symbol < 2 The sign string succeeds the quantity and currency symbol < 3 The sign string immediately precedes the currency symbol < 4 The sign string immediately succeeds the currency symbol. < < < Using Locale.library from ARexx --- > @table @code > @item 0 > Parentheses surround the quantity and currency symbol > @item 1 > The sign string precedes the quantity and currency symbol > @item 2 > The sign string succeeds the quantity and currency symbol > @item 3 > The sign string immediately precedes the currency symbol > @item 4 > The sign string immediately succeeds the currency symbol. > @end table > @end table > > @node Using Locale.library from ARexx > @section Using Locale.library from ARexx > @cindex Using Locale.library from ARexx 558a681 > @example 562a686 > @end example 572c696,697 < CloseCatalog (CATALOG/N/A) --- > @table @code > @item CloseCatalog (CATALOG/N/A) 575c700 < ConvToLower (CHARACTER/A) --- > @item ConvToLower (CHARACTER/A) 578c703 < ConvToUpper (CHARACTER/A) --- > @item ConvToUpper (CHARACTER/A) 581c706 < GetCatalogStr (CATALOG/A,STRING/N/A,DEFAULT/A) --- > @item GetCatalogStr (CATALOG/A,STRING/N/A,DEFAULT/A) 588c713 < IsAlpha (CHARACTER/A) --- > @item IsAlpha (CHARACTER/A) 591c716 < IsCntrl (CHARACTER/A) --- > @item IsCntrl (CHARACTER/A) 594c719 < IsDigit (CHARACTER/A) --- > @item IsDigit (CHARACTER/A) 597c722 < IsGraph (CHARACTER/A) --- > @item IsGraph (CHARACTER/A) 600c725 < IsLower (CHARACTER/A) --- > @item IsLower (CHARACTER/A) 603c728 < IsPrint (CHARACTER/A) --- > @item IsPrint (CHARACTER/A) 606c731 < IsPunct (CHARACTER/A) --- > @item IsPunct (CHARACTER/A) 609c734 < IsSpace (CHARACTER/A) --- > @item IsSpace (CHARACTER/A) 612c737 < IsUpper (CHARACTER/A) --- > @item IsUpper (CHARACTER/A) 615c740 < IsXDigit (CHARACTER/A) --- > @item IsXDigit (CHARACTER/A) 618c743 < OpenCatalog (NAME/A,BUILTIN/A,VERSION/N/A) --- > @item OpenCatalog (NAME/A,BUILTIN/A,VERSION/N/A) 625c750 < StrnCmp(STRING1/A,STRING2/A,TYPE/N/A) --- > @item StrnCmp(STRING1/A,STRING2/A,TYPE/N/A) 634a760 > @example 649a776 > @end example 650a778 > @end table 654,655c782,784 < Writing Localized Applications < ============================== --- > @node Writing Localized Applications > @chapter Writing Localized Applications > @cindex Writing Localized Applications 711,712c840,849 < < Screen Layout --- > @menu > * Screen Layout:: > * Adapting GadTools:: > * Character Sets:: > * CatComp the Catalog Compiler:: > @end menu > > @node Screen Layout > @section Screen Layout > @cindex Screen Layout 732,733c869,872 < o make all gadgets large enough to hold any string < o dynamic screen layout --- > @itemize > @item make all gadgets large enough to hold any string > @item dynamic screen layout > @end itemize 752c891,893 < Adapting GadTools --- > @node Adapting GadTools > @section Adapting GadTools > @cindex Adapting GadTools 763,764c904,911 < < Localizing GadTools Gadgets --- > @menu > * Localizing GadTools Gadgets:: > * Localizing GadTools Menus:: > @end menu > > @node Localizing GadTools Gadgets > @subsection Localizing GadTools Gadgets > @cindex Localizing GadTools Gadgets 769a917 > @example 774c922 < { --- > @{ 783c931,932 < } --- > @} > @end example 786c935 < "catalog," and that your application has a function called GetAppStr() --- > ``catalog,'' and that your application has a function called GetAppStr() 798c947,949 < Localizing GadTools Menus --- > @node Localizing GadTools Menus > @subsection Localizing GadTools Menus > @cindex Localizing GadTools Menus 804a956 > @example 806c958 < { --- > @{ 812c964 < while (nm[i++].nm_Type != NM_END) {} --- > while (nm[i++].nm_Type != NM_END) @{@} 818c970 < { --- > @{ 822c974 < { --- > @{ 831,832c983,984 < } < } --- > @} > @} 837c989 < { --- > @{ 840c992 < { --- > @{ 843,844c995,996 < } < } --- > @} > @} 849c1001,1002 < } --- > @} > @end example 857,859c1010,1014 < "X\0Cut" < "C\0Copy" < "V\0Paste" --- > @example > "X\\0Cut" > "C\\0Copy" > "V\\0Paste" > @end example 865c1020,1022 < " \0Erase" --- > @example > " \\0Erase" > @end example 874c1031,1033 < Character Sets --- > @node Character Sets > @section Character Sets > @cindex Character Sets 906c1065,1067 < CatComp: the Catalog Compiler --- > @node CatComp the Catalog Compiler > @section CatComp the Catalog Compiler > @cindex CatComp the Catalog Compiler 916a1078,1087 > > > @page > @node Index > > @unnumbered Index > > @printindex cp > @contents > @bye