blob: c5b9bc7223e19a0ccb84f9545fdeb487e8bbcd82 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
<TITLE>XlocaleData (an excerpt from the Developers Guide I18n chapter)</TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.0.3 (Solaris Sparc)">
<META NAME="AUTHOR" CONTENT="Eike Rathke">
<META NAME="CREATED" CONTENT="20030626;15471500">
<META NAME="CHANGEDBY" CONTENT="Eike Rathke">
<META NAME="CHANGED" CONTENT="20030626;16002100">
<STYLE>
<!--
@page { margin-left: 3.18cm; margin-right: 3.18cm; margin-top: 2.54cm; margin-bottom: 2.54cm }
TD P { margin-bottom: 0.21cm; color: #000000 }
P { margin-bottom: 0.21cm; color: #000000 }
H4 { margin-bottom: 0.21cm; color: #000000 }
H4.western { font-family: "Arial", sans-serif; font-size: 11pt; font-style: italic }
H4.cjk { font-style: italic; font-weight: medium }
H4.ctl { font-style: italic; font-weight: medium }
H4.head-4-western { margin-left: 2.54cm; margin-top: 0.89cm; margin-bottom: 0.2cm; font-family: "Palatino", serif; font-size: 14pt; so-language: af-ZA; font-style: normal; font-weight: medium }
H4.head-4-cjk { margin-left: 2.54cm; margin-top: 0.89cm; margin-bottom: 0.2cm; font-style: italic; font-weight: medium }
H4.head-4-ctl { margin-left: 2.54cm; margin-top: 0.89cm; margin-bottom: 0.2cm; font-style: italic; font-weight: medium }
P.paragraph-western { margin-left: 2.54cm; margin-top: 0.23cm; margin-bottom: 0.23cm; font-family: "Palatino", serif; font-size: 10pt; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
P.paragraph-cjk { margin-left: 2.54cm; margin-top: 0.23cm; margin-bottom: 0.23cm; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
P.paragraph-ctl { margin-left: 2.54cm; margin-top: 0.23cm; margin-bottom: 0.23cm; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
TH P { margin-bottom: 0.21cm; color: #000000 }
TH P.western { font-style: italic }
TH P.cjk { font-style: italic; font-weight: medium }
TH P.ctl { font-style: italic; font-weight: medium }
TH P.tablehead-western { font-family: "Palatino", serif; font-size: 10pt; font-style: normal; text-align: left; page-break-before: auto; page-break-after: auto }
TH P.tablehead-cjk { font-style: italic; font-weight: medium; text-align: left; page-break-before: auto; page-break-after: auto }
TH P.tablehead-ctl { font-style: italic; font-weight: medium; text-align: left; page-break-before: auto; page-break-after: auto }
TD P.textintable-western { margin-top: 0.28cm; margin-bottom: 0.28cm; font-family: "Palatino", serif; font-size: 9pt; page-break-before: auto; page-break-after: auto }
TD P.textintable-cjk { margin-top: 0.28cm; margin-bottom: 0.28cm; page-break-before: auto; page-break-after: auto }
TD P.textintable-ctl { margin-top: 0.28cm; margin-bottom: 0.28cm; page-break-before: auto; page-break-after: auto }
P.titledlisthead-western { margin-left: 2.54cm; margin-top: 0.28cm; margin-bottom: 0cm; font-family: "Palatino", serif; font-size: 10pt; font-style: italic; widows: 2; orphans: 2; page-break-before: auto; page-break-after: avoid }
P.titledlisthead-cjk { margin-left: 2.54cm; margin-top: 0.28cm; margin-bottom: 0cm; widows: 2; orphans: 2; page-break-before: auto; page-break-after: avoid }
P.titledlisthead-ctl { margin-left: 2.54cm; margin-top: 0.28cm; margin-bottom: 0cm; widows: 2; orphans: 2; page-break-before: auto; page-break-after: avoid }
P.titledlistbody-western { margin-left: 3.05cm; margin-bottom: 0.28cm; font-family: "Palatino", serif; font-size: 10pt; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
P.titledlistbody-cjk { margin-left: 3.05cm; margin-bottom: 0.28cm; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
P.titledlistbody-ctl { margin-left: 3.05cm; margin-bottom: 0.28cm; widows: 2; orphans: 2; page-break-before: auto; page-break-after: auto }
EM.cjk { font-style: normal }
EM.ctl { font-style: normal }
-->
</STYLE>
</HEAD>
<BODY LANG="en-US">
<H4 LANG="af-ZA" CLASS="head-4-western">XlocaleData (an excerpt from
the Developers Guide I18n chapter)</H4>
<p CLASS="paragraph-western">[TOPIC:com.sun.star.i18n.XLocaleData]One
of the most important tasks in implementing a new locale is to define
all the locale data to be used, listed in the following table as
types returned by the <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">[IDL:com.sun.star.i18n.XLocaleData]</FONT></FONT></FONT></SPAN>
interface methods:</P>
<DIV ALIGN=RIGHT>
<TABLE WIDTH=585 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
<COL WIDTH=321>
<COL WIDTH=246>
<thEAD>
<TR VALIGN=TOP>
<th WIDTH=321>
<p CLASS="tablehead-western">Type</P>
</th>
<th WIDTH=246>
<p CLASS="tablehead-western">Count</P>
</th>
</TR>
</THEAD>
<TBODY>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">[IDL:com.sun.star.i18n.LanguageCountryInfo]</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">exactly 1</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">[IDL:com.sun.star.i18n.LocaleDataItem]</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">exactly 1</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;[IDL:com.sun.star.i18n.Calendar]&gt;</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">1 or more</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;[IDL:com.sun.star.i18n.Currency]&gt;</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">1 or more</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;[IDL:com.sun.star.i18n.FormatElement]&gt;</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">at least all
[IDL:com.sun.star.i18n.NumberFormatIndex] format codes (see
below)</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;[IDL:com.sun.star.i18n.Implementation]&gt;
collator implementations</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">0 or more, if none specified the
ICU collator will be called for the language given in
&lt;LanguageCountryInfo&gt;</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;string&gt; search
options (transliteration modules)</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">0 or more</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;string&gt; collation
options (transliteration modules)</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">0 or more</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;string&gt; names of
supported transliterations (transliteration modules)</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">0 or more</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">[IDL:com.sun.star.i18n.ForbiddenCharacters]</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">exactly 1, though may have empty
elements</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;string&gt; reserved
words</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">all words of
[IDL:com.sun.star.i18n.reservedWords]</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;[IDL:com.sun.star.beans.PropertyValues]&gt;
numbering levels</P>
<p CLASS="textintable-western">(no public XLocaleData API method
available, used by and accessible through
[IDL:com.sun.star.text.XDefaultNumberingProvider] method
getDefaultContinuousNumberingLevels() implemented in i18npool)</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">exactly 8 &lt;NumberingLevel&gt;
entities</P>
</td>
</TR>
<TR VALIGN=TOP>
<td WIDTH=321>
<p CLASS="textintable-western">sequence&lt;[IDL:com.sun.star.container.XIndexAccess]&gt;
outline styles</P>
<p CLASS="textintable-western">(no public XLocaleData API method
available, used by and accessible through
[IDL:com.sun.star.text.XDefaultNumberingProvider] method
getDefaultOutlineNumberings() implemented in i18npool )</P>
</td>
<td WIDTH=246>
<p CLASS="textintable-western">exactly 8 &lt;OutlineStyle&gt;
entities consisting of 5 &lt;OutlineNumberingLevel&gt; entities
each</P>
</td>
</TR>
</TBODY>
</TABLE>
</DIV>
<p CLASS="paragraph-western">Locale data is defined in an XML file.
It is translated into a C++ source file during the build process,
which is compiled and linked together with other compiled locale data
files into shared libraries. The contents of the XML file, their
elements, and how they are to be defined are described in
<EM CLASS="western">i18npool/source/localedata/data/locale.dtd</EM>.
The latest revision available for a specific CVS branch of that file
provides up-to-date information about the definitions, as well as
additional information.</P>
<p CLASS="paragraph-western">If the language-country combination is
<I>not</I> already listed in <EM CLASS="western">tools/inc/lang.hxx</EM>
and <EM CLASS="western">tools/source/intntl/isolang.cxx</EM> and
<EM CLASS="western">svx/source/dialog/langtab.src,</EM>
OpenOffice.org is probably not prepared to deal with your specific
locale. For assistance, you can consult
<EM CLASS="western"><A HREF="http://l10n.openoffice.org/adding_language.html#step1">http://l10n.openoffice.org/adding_language.html#step1</A></EM>
(Add the New Language to the Resource System) and join the
<EM CLASS="western">L10N@openoffice.apache.org</EM> mailing list (see
also<EM CLASS="western">
<A HREF="http://l10n.openoffice.org/servlets/ProjectMailingListList">http://l10n.openoffice.org/servlets/ProjectMailingListList</A></EM>).</P>
<p CLASS="paragraph-western">In order to conform with the available
build infrastructure, the name of your locale data file should follow
the conventions used in the <EM CLASS="western">i18npool/source/localedata/data</EM>
directory: <EM CLASS="western">&lt;language&gt;_&lt;country&gt;.xml</EM>,
where <EM CLASS="western">language</EM> is a lowercase, two letter
ISO-639 code, and <EM CLASS="western">country</EM> is an uppercase
two letter ISO-3166 code. Start by copying the <EM CLASS="western">en_US.xml</EM>
file to your <EM CLASS="western">&lt;language&gt;_&lt;country&gt;.xml</EM>
file and adopt the entries to suit your needs. Add the corresponding
<EM CLASS="western">*.cxx</EM> and <EM CLASS="western">*.obj</EM>
target file name to the <EM CLASS="western">i18npool/source/localedata/data/makefile.mk.</EM>
Note that there is an explicit rule defined, so that you do not need
to add the <EM CLASS="western">*.xml</EM> file name anywhere. You
must also add the locale to the <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">aDllsTable</FONT></FONT></FONT></SPAN>
structure located in <EM CLASS="western">i18npool/source/localedata/data/localedata.cxx.</EM>
Make sure to specify the correct library name, since it must
correspond to the library name used in the makefile. Finally, the
public symbols to be exported must be added to the linker map file
corresponding to the library. You can use the
<EM CLASS="western">i18npool/source/localedata/data/linkermapfile-check.awk
script to assist you. Instructions for<EM CLASS="western"> how to use
the script are located </EM>the header comments of the file.</EM></P>
<p CLASS="titledlisthead-western" STYLE="margin-bottom: 0.5cm">&lt;LC_FORMAT&gt;&lt;FormatElement&gt;</P>
<p CLASS="titledlistbody-western">To be able to load documents of
versions up to and including StarOffice 5.2 (old binary file format),
each locale must define all number formats mentioned in
<SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">[IDL:com.sun.star.i18n.NumberFormatIndex]</FONT></FONT></FONT></SPAN>
and assign the proper <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">formatindex=&quot;...&quot;</FONT></FONT></FONT></SPAN>
attribute.<br />Failing to do so may result in data not properly
displayed or not displayed at all if a built-in &quot;System&quot; or
&quot;Default&quot; format code was used (as generally done by the
average user) and the document is loaded under a locale not having
those formats defined. Since old versions did merge some format
information of the [Windows] Regional Settings, it might be necessary
to define some duplicated codes to fill all positions. To verify that
all necessary elements are defined, use a non-product build of
OpenOffice.org and open a number formatting dialog, and select your
locale from the <B>Language</B> list box. An assertion message box
appears if there are any missing elements. The errors are only shown
the very first time the locale is selected in a given document.</P>
<p CLASS="titledlisthead-western" STYLE="margin-bottom: 0.5cm">&lt;LC_FORMAT&gt;&lt;FormatElement&gt;&lt;FormatCode&gt;</P>
<p CLASS="titledlistbody-western">In general, definition of number
format codes follows the user visible rules, apart from that any
non-ASCII character must be entered using UTF-8 encoding. For a
detailed description of codes and a list of possible keywords please
consult the OpenOffice.org English online help on section &quot;number
format codes&quot;.<br />Be sure to use the separators you declared in
the <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">&lt;LC_CTYPE&gt;</FONT></FONT></FONT></SPAN>
section in the number format codes, for example <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">&lt;DecimalSeparator&gt;</FONT></FONT></FONT></SPAN>,
<SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">&lt;ThousandSeparator&gt;</FONT></FONT></FONT></SPAN>,
otherwise the number formatter generates incorrect formats.<br />Verify
the defined codes again by using the number formatter dialog of a
non-product OpenOffice.org build. If anything is incorrect, an
assertion message box appears containing information about the
error.<br />The format indices 1..49 are reserved and, for backward
compatibility, <EM CLASS="western">must</EM> be used as stated in
<EM CLASS="western">offapi/com/sun/star/i18n/NumberFormatIndex.idl</EM>.
Note that 48 and 49 are used internally and must not be used in
locale data XML files. All other formats must be present.</P>
<p CLASS="titledlisthead-western" STYLE="margin-bottom: 0.5cm">&lt;FormatCode
usage=&quot;DATE&quot;&gt; and &lt;FormatCode usage=&quot;DATE_TIME&quot;&gt;</P>
<p CLASS="titledlistbody-western">Characters of date and time
keywords, such as YYYY for year, had previously been localized for a
few locales (for example, JJJJ in German). The new I18N framework no
longer follows that approach, because it may lead to ambiguous and
case insensitive character combinations that cannot be resolved at
runtime. Localized keyword support is only given for some old
locales, other locales must define their codes using English
notation.<br />The table below shows the localized keyword codes:</P>
<DIV ALIGN=RIGHT>
<TABLE WIDTH=565 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0 STYLE="page-break-after: avoid; page-break-inside: avoid">
<COL WIDTH=190>
<COL WIDTH=83>
<COL WIDTH=50>
<COL WIDTH=55>
<COL WIDTH=44>
<COL WIDTH=44>
<COL WIDTH=41>
<thEAD>
<TR VALIGN=TOP>
<th WIDTH=190>
<p CLASS="tablehead-western"><br />
</P>
</th>
<th WIDTH=83>
<p CLASS="tablehead-western">DayOfWeek</P>
</th>
<th WIDTH=50>
<p CLASS="tablehead-western">Era</P>
</th>
<th WIDTH=55>
<p CLASS="tablehead-western">Year</P>
</th>
<th WIDTH=44>
<p CLASS="tablehead-western">Month</P>
</th>
<th WIDTH=44>
<p CLASS="tablehead-western">Day</P>
</th>
<th WIDTH=41>
<p CLASS="tablehead-western">Hour</P>
</th>
</TR>
</THEAD>
<TBODY>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">English (and all other locales
not mentioned)</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western">A</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western">G</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">Y</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western">M</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western">D</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western">H</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">de_AT, de_CH, de_DE, de_LI, de_LU</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">J</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western">T</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western"><br />
</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">nl_BE, nl_NL</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">J</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western">U</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">fr_BE, fr_CA, fr_CH, fr_FR,
fr_LU, fr_MC</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western">O</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">A</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western">J</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western"><br />
</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">it_CH, it_IT</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western">O</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western">X</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">A</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western">G</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western"><br />
</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">pt_BR, pt_PT</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western">O</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">A</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western"><br />
</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">es_AR, es_BO, es_CL, es_CO,
es_CR, es_DO, es_EC, es_ES, es_GT, es_HN, es_MX, es_NI, es_PA,
es_PE, es_PR, es_PY, es_SV, es_UY, es_VE</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western">O</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">A</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western"><br />
</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">da_DK</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western">T</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">nb_NO, nn_NO, no_NO</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western">T</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">sv_FI, sv_SE</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western">T</P>
</td>
</TR>
<TR>
<td WIDTH=190 VALIGN=TOP>
<p CLASS="textintable-western">fi_FI</P>
</td>
<td WIDTH=83>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=50>
<p CLASS="textintable-western"><br />
</P>
</td>
<td WIDTH=55>
<p CLASS="textintable-western">V</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western">K</P>
</td>
<td WIDTH=44>
<p CLASS="textintable-western">P</P>
</td>
<td WIDTH=41>
<p CLASS="textintable-western">T</P>
</td>
</TR>
</TBODY>
</TABLE>
</DIV>
<p CLASS="titledlisthead-western" STYLE="margin-bottom: 0.5cm">&lt;FormatCode
usage=&quot;DATE&quot; formatindex=&quot;21&quot;&gt; and
<br />&lt;FormatCode usage=&quot;DATE_TIME&quot; formatindex=&quot;47&quot;&gt;</P>
<p CLASS="titledlistbody-western">The <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">formatindex=&quot;21&quot;</FONT></FONT></FONT></SPAN>
[IDL:com.sun.star.i18n.NumberFormatIndex] <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">DATE_SYS_DDMMYYYY</FONT></FONT></FONT></SPAN>
format code is used to edit date formatted data. It represents a date
using the most detailed information available, for example, a 4-digit
year and instead of a 2-digit year. The YMD default order (how a date
is assembled) is determined from the order encountered in this
format.<br />Similarly, the <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">formatindex=&quot;47&quot;</FONT></FONT></FONT></SPAN>
<SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">[IDL:com.sun.star.i18n.NumberFormatIndex]</FONT></FONT></FONT></SPAN>
<SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">DATETIME_SYS_DDMMYYYY_HHMMSS</FONT></FONT></FONT></SPAN>
format code is used to edit date-time data. Both format codes must
display data in a way that is parable by the application, in order to
be able to reassemble edited data. This generally means using only
YYYY,MM,DD,HH,MM,SS keywords and <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">&lt;DateSeparator&gt;</FONT></FONT></FONT></SPAN>
and <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">&lt;TimeSeparator&gt;</FONT></FONT></FONT></SPAN>.</P>
<p CLASS="titledlisthead-western" STYLE="margin-bottom: 0.5cm">&lt;FormatCode
usage=&quot;CURRENCY&quot;&gt;</P>
<p CLASS="titledlistbody-western">The [$xxx-yyy] notation is needed
for compatibility reasons. The <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">xxx</FONT></FONT></FONT></SPAN>
part denotes the currency symbol, and the <SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">yyy</FONT></FONT></FONT></SPAN>
part specifies the locale identifier in Microsoft Language ID
hexadecimal notation. For example, having &ldquo;409&rdquo; as the
locale identifier (English-US) and &ldquo;$&rdquo; as the currency
symbol results in [$$-409]. A list of available Language IDs known to
the OpenOffice.org application can be found at project util module
tools in file <EM CLASS="western">tools/inc/lang.hxx</EM>. Format
indices 12, 13, 14, 15, 17 with [$xxx-yyy] notation must use the xxx
currency symbol that has the attribute
usedInCompatibleFormatCodes=&quot;true&quot; (see element
<SPAN LANG="af-ZA"><FONT SIZE=2 STYLE="font-size: 9pt"><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">&lt;LC_CURRENCY&gt;</FONT></FONT></FONT></SPAN>
in the <EM CLASS="western">locale.dtd</EM> file).</P>
</BODY>
</HTML>