diff options
Diffstat (limited to 'i18npool/source/localedata/data/locale.dtd')
-rw-r--r-- | i18npool/source/localedata/data/locale.dtd | 128 |
1 files changed, 100 insertions, 28 deletions
diff --git a/i18npool/source/localedata/data/locale.dtd b/i18npool/source/localedata/data/locale.dtd index b9ee78f69e79..d47d4ad26edc 100644 --- a/i18npool/source/localedata/data/locale.dtd +++ b/i18npool/source/localedata/data/locale.dtd @@ -19,14 +19,17 @@ A second possiblity is: - - temporarily change the DOCTYPE of your file to read (all on one line) - <!DOCTYPE Locale SYSTEM "http://svn.services.openoffice.org/ooo/trunk/i18npool/source/localedata/data/locale.dtd"> + - temporarily (!) change the DOCTYPE of your file to read (all on one line) + <!DOCTYPE Locale SYSTEM "http://hg.services.openoffice.org/DEV300/raw-file/tip/i18npool/source/localedata/data/locale.dtd"> - upload it to the form available at http://www.validome.org/ - This will validate the file against the HEAD revision of locale.dtd, for - other revisions you'll have to specify the corresponding tags or cws branch - instead of trunk. + This will validate the file against the HEAD revision of locale.dtd on the + DEV300 development code line, for other revisions you'll have to specify + the corresponding tags or cws branch instead. For example, to validate + against a modified locale.dtd in CWS locales33 you would use + + <!DOCTYPE Locale SYSTEM "http://hg.services.openoffice.org/cws/locales33/raw-file/tip/i18npool/source/localedata/data/locale.dtd"> Please test locale data files either in a non-product (!) build, which @@ -56,16 +59,22 @@ <!ENTITY % UNOModule 'unoid CDATA #IMPLIED'> + <!ENTITY % MessageID 'msgid CDATA #REQUIRED'> + <!ENTITY % RefLocale 'ref CDATA #IMPLIED'> +<!-- Where given, an element can be inherited from another locale, e.g. + ref="en_US" --> + <!ENTITY % LIBModule 'module CDATA #IMPLIED'> -<!-- The locale referred to for the sub categories --> +<!-- The locale referred to for the sub categories, implementation detail. --> <!ENTITY % replaceFrom 'replaceFrom CDATA #IMPLIED'> <!ENTITY % replaceTo 'replaceTo CDATA #IMPLIED'> +<!-- See below for the LC_FORMAT element. --> <!ELEMENT DefaultName (#PCDATA)> @@ -84,28 +93,35 @@ --> <!ATTLIST Locale allowUpdateFromCLDR (yes|no) #REQUIRED> <!-- Whether some data elements may be (automatically) updated from the Common - Locale Data Repository, see http://www.unicode.org/cldr/ + Locale Data Repository, see http://cldr.unicode.org/ + Note: This mechanism currently (2010-02-21) is outdated. --> <!ATTLIST Locale version CDATA #REQUIRED> <!-- Valid number, may designate versioned data --> + <!ELEMENT LC_INFO (Language, Country, Platform?, Variant?)> <!ELEMENT Language (LangID, DefaultName) > <!ELEMENT LangID (#PCDATA) > -<!-- LangID must be valid two or three letter language identifier defined by ISO-639 - Use ISO 639-1 two letter code where available, else ISO 639-2 three letter code. +<!-- LangID must be a valid two or three letter language identifier defined by + ISO 639. Use ISO 639-1 two letter code where available, else ISO 639-2 or + 639-3 three letter code. --> <!ELEMENT Country (CountryID, DefaultName) > <!ELEMENT CountryID (#PCDATA) > -<!-- CountryID must be valid two letter country identifier defined by ISO-3166 --> +<!-- CountryID must be a valid two letter country identifier defined by ISO 3166. --> <!ELEMENT Platform (PlatformID) > <!ELEMENT PlatformID (#PCDATA) > -<!-- can be generic|unix|win32|macos --> +<!-- Unused, deprecated, can be generic|unix|win32|macos, best Platform element + be absent. +--> <!ELEMENT Variant (#PCDATA) > +<!-- Reserved for future use, currently unused. --> + <!-- The LC_FORMAT element contains number format codes and may actually appear twice (with the second ocurrence named LC_FORMAT_1). One section is @@ -122,18 +138,22 @@ --> <!ELEMENT LC_FORMAT (FormatElement*) > +<!-- All FormatElement elements must be given if the RefLocale mechanism is not used! --> <!ATTLIST LC_FORMAT %RefLocale;> <!ATTLIST LC_FORMAT %replaceFrom;> -<!-- Define placeholder for currency code --> +<!-- Define placeholder for currency code, usually "[CURRENCY]" --> <!ATTLIST LC_FORMAT %replaceTo;> -<!-- Currency code to be used to replace the placeholder --> +<!-- Currency code to be used to replace the placeholder, e.g. "[$R-1C09]". + Note: The brackets and the leading $ character are mandatory, the + hyphen-minus separates the currency symbol from the hexagesimal MS-LCID, + letters contained in the LCID have to be in upper case, leading zeros are + to be omitted. LCIDs are defined in i18npool/inc/i18npool/lang.h +--> <!ELEMENT LC_FORMAT_1 (FormatElement*) > <!ATTLIST LC_FORMAT_1 %RefLocale;> <!ATTLIST LC_FORMAT_1 %replaceFrom;> -<!-- Define placeholder for currency code --> <!ATTLIST LC_FORMAT_1 %replaceTo;> -<!-- Currency code to be used to replace the placeholder --> <!ELEMENT FormatElement ( FormatCode, DefaultName?)> <!ATTLIST FormatElement %MessageID;> @@ -234,34 +254,54 @@ <!ELEMENT FormatCode (#PCDATA)> +<!-- The LC_CALENDAR element defines calendars used with a locale. --> <!ELEMENT LC_CALENDAR (Calendar* ) > +<!-- At least one Calendar element must be given if the RefLocale mechanism is not used! --> <!ATTLIST LC_CALENDAR %RefLocale;> + <!ELEMENT Calendar (DaysOfWeek, MonthsOfYear, Eras, StartDayOfWeek, MinimalDaysInFirstWeek) > <!ATTLIST Calendar %UNOModule;> -<!-- the unoid of a gregorian calendar MUST be lower case "gregorian" --> +<!-- The unoid of a gregorian calendar MUST be lower case "gregorian", + calendars MUST match the names defined in the OASIS OpenDocument Format + (ODF) 1.2 or later specification. The implementation name registered with + the OOo service resgistry MUST match, e.g. + com.sun.star.i18n.Calendar_gregorian +--> <!ATTLIST Calendar default (true|false) #REQUIRED > +<!-- Exactly one Calendar element has to be the default calendar. --> + <!ELEMENT DaysOfWeek (Day*)> +<!-- All Day elements of a Calendar must be given if the RefLocale mechanism is not used! --> <!ATTLIST DaysOfWeek %RefLocale;> -<!-- Sequence of days is important, MUST start with Sunday --> +<!-- Sequence of days is important, MUST start with Sunday. --> <!ELEMENT Day (DayID, DefaultAbbrvName, DefaultFullName)> <!ELEMENT DayID (#PCDATA)> -<!-- DayID is preferably the lower case abbreviated English name like sun for Sunday --> +<!-- Preferably the lower case abbreviated English name like sun for Sunday. --> <!ELEMENT DefaultAbbrvName (#PCDATA)> +<!-- The abbreviated day name, e.g. Sun for Sunday. --> <!ELEMENT DefaultFullName (#PCDATA)> +<!-- The full day name, e.g. Sunday for Sunday. --> + <!ELEMENT MonthsOfYear (Month*)> +<!-- All Month elements of a Calendar must be given if the RefLocale mechanism is not used! --> <!ATTLIST MonthsOfYear %RefLocale;> +<!-- Sequence of months is important, MUST start with the first month of a + year, e.g. January in a Gregorian calendar. + --> <!ELEMENT Month (MonthID, DefaultAbbrvName, DefaultFullName)> <!ELEMENT MonthID (#PCDATA)> -<!-- preferably the lower case abbreviated English name like jan for January --> +<!-- Preferably the lower case abbreviated English name like jan for January. --> + <!ELEMENT Eras (Era*)> -<!-- The eras MUST be in chronological order, e.g. first BC then AC --> +<!-- All Era elements of a Calendar must be given if the RefLocale mechanism is not used! --> <!ATTLIST Eras %RefLocale;> +<!-- The eras MUST be in chronological order, e.g. first BC then AC. --> <!ELEMENT Era (EraID, DefaultAbbrvName, DefaultFullName)> <!ELEMENT EraID (#PCDATA)> <!-- If a calendar has special eras (like zh_TW ROC or ja_JP Gengou calendar) and a date before those eras is undefined, a leading (first) dummy era with EraID="Dummy" has to be defined to enable the number formatter to - fall back to a gregorian calendar for those date values if the XCalendar + fall back to a Gregorian calendar for those date values if the XCalendar implementation returns an era value of 0. --> @@ -276,10 +316,14 @@ is in the new year. --> + +<!-- The LC_CURRENCY element defines currencies used with a locale. --> <!ELEMENT LC_CURRENCY (Currency* ) > +<!-- At least one Currency element must be given if the RefLocale mechanism is not used! --> <!ATTLIST LC_CURRENCY %RefLocale;> <!ELEMENT Currency (CurrencyID, CurrencySymbol, BankSymbol, CurrencyName, DecimalPlaces)> <!ATTLIST Currency default (true|false) #REQUIRED > +<!-- Exactly one Currency element has to be the default currency. --> <!ATTLIST Currency usedInCompatibleFormatCodes (true|false) #REQUIRED > <!-- If this currency is the one used in compatible number format codes with <member>FormatElement::formatIndex</member> values in the range 12..17. @@ -296,35 +340,49 @@ 'usedInCompatibleFormatCodes' must both be "false". --> <!ELEMENT CurrencyID (#PCDATA)> +<!-- The ISO 4217 three letter currency code, e.g. USD or EUR. --> <!ELEMENT CurrencySymbol (#PCDATA)> +<!-- The currency symbol, e.g. $ or €. --> <!ELEMENT BankSymbol (#PCDATA)> +<!-- The ISO 4217 three letter currency code, e.g. USD or EUR. --> <!ELEMENT CurrencyName (#PCDATA)> +<!-- The native currency name, e.g. Dollar or Euro. --> <!ELEMENT DecimalPlaces (#PCDATA)> +<!-- Number of decimal places used with the currency, usually 2 or 0, e.g. 2 + for cents. +--> + <!ELEMENT LC_CTYPE (Separators?, Markers?, TimeAM?, TimePM?, MeasurementSystem?)> +<!-- All elements must be given if the RefLocale mechanism is not used! --> <!ATTLIST LC_CTYPE %RefLocale;> <!ATTLIST LC_CTYPE %UNOModule;> + <!ELEMENT Separators (DateSeparator, ThousandSeparator, DecimalSeparator, TimeSeparator, Time100SecSeparator, ListSeparator, LongDateDayOfWeekSeparator, LongDateDaySeparator, LongDateMonthSeparator, LongDateYearSeparator)> -<!ELEMENT Markers (QuotationStart, QuotationEnd, DoubleQuotationStart, DoubleQuotationEnd)> <!ELEMENT DateSeparator (#PCDATA)> <!ELEMENT ThousandSeparator (#PCDATA)> <!ELEMENT DecimalSeparator (#PCDATA)> <!ELEMENT TimeSeparator (#PCDATA)> <!ELEMENT Time100SecSeparator (#PCDATA)> -<!ELEMENT TimeAM (#PCDATA)> -<!ELEMENT TimePM (#PCDATA)> <!ELEMENT ListSeparator (#PCDATA)> +<!ELEMENT LongDateDayOfWeekSeparator (#PCDATA)> +<!ELEMENT LongDateDaySeparator (#PCDATA)> +<!ELEMENT LongDateMonthSeparator (#PCDATA)> +<!ELEMENT LongDateYearSeparator (#PCDATA)> + +<!ELEMENT Markers (QuotationStart, QuotationEnd, DoubleQuotationStart, DoubleQuotationEnd)> <!ELEMENT QuotationStart (#PCDATA)> <!ELEMENT QuotationEnd (#PCDATA)> <!ELEMENT DoubleQuotationStart (#PCDATA)> <!ELEMENT DoubleQuotationEnd (#PCDATA)> + +<!ELEMENT TimeAM (#PCDATA)> +<!ELEMENT TimePM (#PCDATA)> <!ELEMENT MeasurementSystem (#PCDATA)> -<!ELEMENT LongDateDayOfWeekSeparator (#PCDATA)> -<!ELEMENT LongDateDaySeparator (#PCDATA)> -<!ELEMENT LongDateMonthSeparator (#PCDATA)> -<!ELEMENT LongDateYearSeparator (#PCDATA)> + <!ELEMENT LC_COLLATION (Collator*, CollationOptions?)> +<!-- All elements must be given if the RefLocale mechanism is not used! --> <!ATTLIST LC_COLLATION %RefLocale;> <!-- Optional ICU tailoring. @@ -345,13 +403,21 @@ <!ELEMENT CollationOptions (TransliterationModules+)> <!ELEMENT TransliterationModules (#PCDATA)> + <!ELEMENT LC_SEARCH (SearchOptions?)> +<!-- All elements must be given if the RefLocale mechanism is not used! --> <!ATTLIST LC_SEARCH %RefLocale;> <!ELEMENT SearchOptions (TransliterationModules+)> + <!ELEMENT LC_INDEX (IndexKey*, UnicodeScript*, FollowPageWord*)> <!ATTLIST LC_INDEX %RefLocale;> + <!-- + The IndexKey element is optional, but should be given if the locale + requires a specific sort order in Writer's index tables or entries are to + be combined under keys. + Index key for the algorithm and language, like >A-Z< for English => A, B, C, ..., Y, Z. The letters specify under which key an entry goes and the order the keys are sorted. Keys may be reordered or letters inserted to @@ -391,16 +457,22 @@ <!ATTLIST IndexKey %LIBModule;> <!ATTLIST IndexKey default (true|false) #REQUIRED > <!ATTLIST IndexKey phonetic (true|false) #REQUIRED > + <!-- The Unicode script types are those of offapi/com/sun/star/i18n/UnicodeScript.idl, they define the code range for the language. --> <!ELEMENT UnicodeScript (#PCDATA)> + <!-- The FollowPageWord entries were originally hard-coded in ../../indexentry/indexentrysupplier.cxx, most locales used the English ``p.'' and ``pp.'', valid data should be provided by native speakers. + These words or abbreviations are used in the Writer's index table. The + first FollowPageWord element is the abbreviation for "page" (p.), the + second FollowPageWord element the abbreviation for "page and following + pages" (pp.). --> <!ELEMENT FollowPageWord (#PCDATA)> |