On Mon, Feb 20, 2006 at 09:23:14AM -0500, Rudy Godoy wrote: [...] > I've read Christian's howto about d-i i18n and the new language process > chapter[0], which was very helpful. I've collected some information > regarding language information to build a locale, but since I'm not a > native speaker, unfortunately nor able to speak much of some words, > and not a locale expert either. I'like to make sure this is done right. > > I'm going to ask some native speakers and people that have plenty > experience on the language to get feedback on the information needed. > So, finally, my questions are: Do I need to check for something > else/important than the information a locale needs[1]? > Second, there are any tools/places where I can get more details about > building the codes for LC_*?
Hi, Unfortunately writing a locale is not currently an easy task, with no good reason. Here is a first try to lower barriers. If you can have this form filled in, I will translate it into a locale definition file. Ideally someone will write a converter some day, or an online tool so that anyone can produce her own locale file ;) Some fields are already filled in by values taken from es_PE, hopefully they are right but you can change them if needed. When values are uncertain, please mark them with a FIXME comment. Do not hesitate to ask if you have questions. Thanks. Denis
This file must be UTF-8 encoded. Strings are enclosed in double quotes. General information =-=-=-=-=-=-=-=-=-= # 1. Descriptive name of this locale file, in English title "Quechua locale for Peru" # 2. Contact information contact "" address "" email "" organization "" tel "" fax "" # 3. ISO codes # 2- or 3-letter ISO code for this language # http://www.loc.gov/standards/iso639-2/langcodes.html language "qu" # 2-letter ISO code for this territory # http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html territory "PE" # 4. Charsets # List of supported charsets. The first one is the default for # this locale. New locales should not need any other chanrset # than UTF-8. # Example: # charset "UTF-8" charset "" A. Mandatory sections =-=-=-=-=-=-=-=-=- These sections are commonly used, and should be quite easily filled in by native speakers. A.1 Section LC_MESSAGES ------------------- # 1. Regular expressions matching yes/no answers. # English answers should also be taken into account # for convenience, except when there is a conflict # with localized strings. # Example: # yesexpr "^[sSyY]" # noexpr "^[nN]" yesexpr "" noexpr "" A.2 Section LC_NUMERIC ------------------ # 1. Formatting of numbers. # The formatted output of the number 1234567890.12 is # used to determine localized values for: # a. decimal point # b. thousands separator # c. grouping # Example: # sample_numeric "1 234 567 890,12" sample_numeric "" A.3 Section LC_MONETARY ------------------- # 1. Currency symbol currency_symbol "S/" # 2. Number of fraction digits frac_digits "2" # 3. Sample display for positive and negative amounts # The formatted output of the number 1234567890.12 associated # with currency symbol is used to determine localized values for: # a. decimal point # b. thousands separator # c. grouping # d. positive and negative signs # e. relative position of currency symbol, sign and amount. # Example: # sample_positive "S/ 1 234 567 890,12" # sample_negative "- S/ 1 234 567 890,12" sample_positive "" sample_negative "" # 4. ISO 3-letter code currency symbol int_curr_symbol "PEN" # 5. If the fields in 2 and 3 have different values when # used in conjunction with the 3-letter code above, # define int_frac_digits, int_sample_positive and # int_sample_negative A.4 Section LC_TIME --------------- # This section deals with Gregorian calendar. # 1. List of localized days of the week, starting from Sunday # Example: # day "Sunday";"Monday";"Tuesday";"Wednesday";"Thursday";"Friday";"Saturday" day "";"";"";"";"";"";"" # 2. List of localized abbreviated days of the week, # starting from Sunday # Example: # abday "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat" abday "";"";"";"";"";"";"" # 3. List of localized months, starting from January # Example: # mon "January";"February";"March";"April";"May";"June";"July";"August";"September";"October";"November";"December" mon "";"";"";"";"";"";"";"";"";"";"";"" # 4. List of localized abbreviated months, starting from January # Example: # abmon "Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec" abmon "";"";"";"";"";"";"";"";"";"";"";"" # 5. First day of the week in calendar display # Example: # first_weekday "Sunday" first_weekday "" # 6. Date formats. These formats use the following escape sequences: # # %a abbreviated weekday name # %A full weekday name # %b abbreviated month name # %B full month name # %d day of the month as a decimal number (range 01 to 31) # %e Like %d, but a leading zero is replaced by a space # %H hour as a decimal number using a 24-hour clock (range 00 to 23) # %I hour as a decimal number using a 12-hour clock (range 01 to 12) # %k Like %H, but a leading zero is replaced by a space # %l Like %I, but a leading zero is replaced by a space # %m month as a decimal number (range 01 to 12) # %M minute as a decimal number (range 00 to 59) # %p either ‘AM’ or ‘PM’ according to the given time value # %S second as a decimal number (range 00 to 60) # %T time in 24-hour notation (%H:%M:%S) # %Y year as a decimal number including the century # %z time-zone as hour offset from GMT # %Z time zone or name or abbreviation # # To make tests, run date +"<format>", for instance # date +"%a %d %b %Y %H:%M:%S %Z" # 6.1 Date representation # Example: # d_fmt "%m/%d/%Y" d_fmt "" # 6.2 Time representation # Example: # t_fmt "%I:%M:%S %p" t_fmt "" # 6.3 Time representation in the 12-hour clock format. # Leave it empty if it is not supported. # Example: # t_fmt_ampm "%I:%M:%S %p" t_fmt_ampm "" # 6.4 Strings for AM/PM. # Leave empty if 12-hour clock format is not supported. # Example: # am_pm "AM";"PM" am_pm "";"" # 6.5 Output of the Unix 'date' command # Example: # date_fmt "%a %b %e %H:%M:%S %Z %Y" date_fmt "" # 6.6 Date and time representation. It is usually shorter # than date_fmt # Example: # d_t_fmt "%a %d %b %Y %H:%M:%S %Z" d_t_fmt "" A.5 Section LC_PAPER ---------------- # 1. Paper format # Example: # format "letter" format "" A.6 Section LC_ADDRESS ------------------ # 1. The localized name of this territory country_name "" # 2. The localized name of this language lang_name "" # 3. Optional fields: car abbreviation, country postal code, # country ISBN code. Put values only if you know that # they are right/ # Example: # country_car "F" # country_post "FR" # country_isbn "2" country_car "" country_post "" country_isbn "" B. Sections with good default values =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= These sections are much more technical, but have good defaults. B.1 Section LC_CTYPE ---------------- # Define character classes. # See the LC_TYPE section of /usr/share/i18n/locales/i18n # This section may also be used to define transliteration rules. B.2 Section LC_COLLATE ------------------ # Define sorting order. To determine whether the default value # can be safely used, write a file containing one or several words # per line, and run the 'sort' command through it under en_US.UTf-8 # locale. If the result is wrongly sorted according to your # cultural conventions, this section needs to be modified. # Of course, results are more accurate if corner cases are tested, # as with testing character case, diacritics, etc. C. Unused sections =-=-=-=-=-=-=-= These sections are currently not used, and are mentioned here for reference. C.1 Section LC_TELEPHONE -------------------- # 1. International prefix int_prefix "51" # 2. Optional fields # Example: # tel_int_fmt "+%c %a %l" # tel_dom_fmt "%a %l" # int_select "00" tel_int_fmt "" tel_dom_fmt "" int_select "" C.2 Section LC_MEASUREMENT ---------------------- # 1. Measurement system. 1=metric system, 2=USA measurement "1" C.3 Section LC_NAME --------------- name_fmt "" name_gen "" name_mr "" name_mrs "" name_miss "" name_ms ""

