CX_COUNTRY_LOCALE
Klassenhierarchie
-
- CX_EXPANDABLE
- CX_LOCALE
- CX_STATE_LOCALE
- CX_COUNTRY_LOCALE
- CX_STATE_LOCALE
- CX_LOCALE
- CX_EXPANDABLE
Beschreibung:
Mit einem Country-Locale werden alle landesspezifischen Informationen verwaltet. Standardmäßig sind die Einstellungen für die USA implementiert.
Soll in der Locales-Datei (siehe auch
CX_LOCALE_FILENAME) ein neues Land aufgenommen werden, so muss der Eintrag mit dem Schlüsselwort "COUNTRY" beginnen. Daraufhin folgen die Definitionen der einzelnen Informationen, wobei nur die von den USA abweichenden aufgenommen werden müssen. Dieses gilt nicht für den countryCode, der zwingend angegeben werden muss. Die folgende Aufführung zeigt alle Informationen, die in einem Country-Locale enthalten sind, und wie die Standard-Einstellung aussieht. Die Angabe in der Locales-Datei erfolgt dabei durch den Feldnamen gefolgt von einem "=" und der gewünschten Einstellung. Alle Einstellungen, die in Anführungszeichen stehen, stellen dabei Strings dar, wobei deren Länge beliebig ist, so dass z.B.
die Definition für das Minuszeichen nicht nur aus einem Zeichen bestehen muss.Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
NewHoliday | OBJECT | neuen Feiertag hinzufügen | ||
RemoveHoliday | OBJECT | löscht einen Feiertag | ||
SortedHolidays | COLL | liefert alle Feiertage in aufsteigend sortierter Reihenfolge | ||
AllHolidayObjects | (OBJECT, OBJECT, INTEGER) | COLL | liefert alle Feiertagen in einem Zeitraum | |
BaseCentury | INTEGER | liefert aktuelles Jahrhundert | ||
BaseCenturyMA | * | Aktuelles Jahrhundert Ein/Ausgabe | ||
CodeMap | INTEGER | liefert die Zeichenumsetztabelle | ||
CodeMapMA | * | Zeichenumsetztabelle Ein/Ausgabe | ||
Country | STRING | liefert die Landesname | ||
CountryCode | INTEGER | liefert einen Landescode | ||
CountryCodeMA | * | der Landescode Ein/Ausgabe | ||
CountryMA | * | Landesname Ein/Ausgabe | ||
CurrencyUnitPrecedes | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob eine Währungs-Einheit vor dem Wert oder nach dem Wert angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt. | ||
CurrencyUnitPrecedesMA | * | Position einer Währungs-Einheit Ein/Ausgabe. | ||
CurrencyUnitSeparation | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen einer Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) ein Leerzeichen angezeigt werden soll. | ||
CurrencyUnitSeparationMA | * | Leerzeichen zwischen einer Währungs-Einheit Ein/Ausgabe | ||
DateFormat | INTEGER | liefert das aktuelle Datumsformat | ||
DateFormatMA | * | Datumsformat Ein/Ausgabe | ||
DateSeparator | STRING | liefert das Trennzeichen für ein Datum | ||
DateSeparatorMA | * | Trennzeichen für ein Datum Ein/Ausgabe | ||
DecimalSeparator | STRING | liefert das Trennzeichen für Dezimalzahlen | ||
DecimalSeparatorMA | * | Trennzeichen für Dezimalzahlen Ein/Ausgabe | ||
DiallingPrefix | STRING | - veraltet/ deprecated - | ||
DiallingPrefixMA | * | - veraltet/ deprecated - | ||
EndTimeZone | INTEGER | liefert die Endzeitzone des Landes in Minutenabweichung von der MEZ | ||
EndTimeZoneMA | * | Endzeitzone des Landes Ein/Ausgabe | ||
FirstDayOfWeek | INTEGER | liefert der erste Tag der Woche | ||
FirstDayOfWeekMA | * | Erster Tag der Woche Ein/Ausgabe | ||
FractionSeparator | STRING | liefert das Trennungszeichen für Zähler und Nenner bei Brüchen | ||
FractionSeparatorMA | * | Trennungszeichen für Zähler und Nenner bei Brüchen Ein/Ausgabe | ||
Grouping | STRING | liefert das Formatierungszeichen, die angeben, nach wie viel Stellen ein Tausendertrenner in eine Zahl eingefügt wird | ||
GroupingMA | * | Formatierungszeichen für Tausendertrenner in eine Zahl Ein/Ausgabe | ||
InsertHoliday | OBJECT | neuen Feiertag einfügen | ||
IntCurrencySymbol | STRING | liefert das internationale Währungssymbol | ||
IntCurrencySymbolMA | * | Internationales Währungssymbol Ein/Ausgabe | ||
IsAnniversary | (OBJECT) | INTEGER | testet, ob ein Tag ein Gedenktag ist | |
IsDateType | (OBJECT, INTEGER) | INTEGER | testet, ob es sich bei einem Datum um einen speziellen freien Tag handelt | |
IsHoliday | (OBJECT) | INTEGER | testet, ob ein Tag ein Feiertag ist | |
IsTerm | (OBJECT) | INTEGER | testet, ob ein Tag ein Termin ist | |
IsVacation | (OBJECT) | INTEGER | testet, ob ein Tag ein Ferientag ist | |
Language | MLSTRING | liefert der Name der Sprache als multipler String | ||
LanguageMA | * | Name der Sprache Ein/Ausgabe | ||
LanguagePos | INTEGER | liefert die Systemnummer der Landessprache | ||
LanguagePosMA | * | Systemnummer der Landessprache Ein/Ausgabe | ||
LocaleCode | STRING | liefert die Abkürzung des Landesnamen | ||
LocaleCodeMA | * | Abkürzung des Landesnamen Ein/Ausgabe | ||
LocaleName | STRING | aktuelle Localname (Landesname) | ||
MLLocaleName | MLSTRING | aktuelle Localname ( Landesname) als mehrsprachigen Text | ||
MLSpecialNameOfDay | (OBJECT, INTEGER) | MLSTRING | liefert einen bestimmten mehrsprachigen (Feiertags-) Namen des Tages eines Datums | |
NegativeSign | STRING | liefert das Minuszeichen | ||
NegativeSignMA | * | Minuszeichen Ein/Ausgabe | ||
NegSignPrecedes | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob das Minuszeichen vor der Zahl steht. Falls nicht, so steht es dahinter. | ||
NegSignPrecedesMA | * | die Position des Minuszeichens Ein/Ausgabe | ||
NegSpaceSeparation | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll | ||
NegSpaceSeparationMA | * | eine Leerstelle zwischen dem Vorzeichen und der Zahl Ein/Ausgabe | ||
NonCurrencyUnitPrecedes | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob eine Nicht-Währungs-Einheit vor oder nach dem Wert eines CX_VALUEs angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt. | ||
NonCurrencyUnitPrecedesMA | * | Position einer Nicht-Währungs-Einheit eines CX_VALUEs. Ein/Ausgabe. | ||
NonCurrencyUnitSeparation | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen einer nicht-Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) eines CX_VALUEs ein Leerzeichen angezeigt werden soll. | ||
NonCurrencyUnitSeparationMA | * | Steuert Leerzeichen zwischen dem Wert und einer Nicht-Währungs-Einheit eines CX_VALUEs | ||
NumPrecision | INTEGER | liefert die Anzahl an Nachkommastellen | ||
NumPrecisionMA | * | Anzahl an Nachkommastellen Ein/Ausgabe | ||
PathOfLocale | COLL | den kompletten Pfad eines Locales | ||
PositiveSign | STRING | liefert das Pluszeichen | ||
PositiveSignMA | * | Pluszeichen Ein/Ausgabe | ||
PosSignPrecedes | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob das Pluszeichen vor der Zahl steht. Falls nicht, so steht es dahinter. | ||
PosSignPrecedesMA | * | die Position des Pluszeichens Ein/Ausgabe | ||
PosSpaceSeparation | INTEGER | Zeigt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll | ||
PosSpaceSeparationMA | * | eine Leerstelle ob zwischen dem Vorzeichen und der Zahl Ein/Ausgabe | ||
RawHolidays | COLL | liefert alle Feiertage | ||
SpecialNameOfDay | (OBJECT, INTEGER) | STRING | liefert einen bestimmten mehrsprachigen (Feiertags-) Namen des Tages eines Datums | |
string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes | |
SummerWinterChangeDate | INTEGER | liefert der Monat, in dem von Sommer- auf Winterzeit umgestellt wird | ||
SummerWinterChangeDayDescription | INTEGER | liefert der Wochentag, an dem die Umstellung von Sommer- auf Winterzeit stattfindet | ||
SummerWinterChangeTime | STRING | liefert die Umstellzeit von Sommer- auf Winterzeit | ||
ThousandsSeparator | STRING | liefert das Trennzeichen für tausender Stellen | ||
ThousandsSeparatorMA | * | Trennzeichen für tausender Stellen Ein/Ausgabe | ||
TimeFormat | INTEGER | liefert das Zeitformat | ||
TimeFormatMA | * | Zeitformat Ein/Ausgabe | ||
TimeSeparator | STRING | liefert das Trennzeichen für eine Zeitangabe | ||
TimeSeparatorMA | * | Trennzeichen für eine Zeitangabe Ein/Ausgabe | ||
TimeZone | INTEGER | liefert die Startzeitzone des Landes in Minutenabweichung von der MEZ | ||
TimeZoneMA | * | Startzeitzone des Landes in Minutenabweichung von der MEZ Ein/Ausgabe | ||
UnknownPartOfDate | STRING | liefert das Zeichen für unbekannte Bestandteile eines unvollständigen Datums | ||
UnknownPartOfDateMA | * | Zeichen für unbekannte Bestandteile eines unvollständigen Datums Ein/Ausgabe | ||
WinterSummerChangeDate | INTEGER | liefert der Monat, in dem von Winter- auf Sommerzeit umgestellt wird | ||
WinterSummerChangeDayDescription | INTEGER | liefert der Wochentag, an dem die Umstellung von Winter- auf Sommerzeit stattfindet | ||
WinterSummerChangeTime | STRING | liefert die Umstellzeit von Winter- auf Sommerzeit | ||
WorkingDays | INTEGER | liefert die Arbeitstage des Landes | ||
WorkingDaysMA | * | Arbeitstage des Landes Ein/Ausgabe |
Feld | Typ | Bedeutung | Beispiel |
---|---|---|---|
countryCode | ENUMSHORT | Landescode numerisch nach ISO 3166-1 numerisch | 276 für Deutschland |
localeCode | STRING | Landescode alphanumerisch nach ISO 3166-1 3alpha | "DEU" oder "USA" |
language | MLSTRING | Name der Sprache als multipler String | T("English") |
languagePos | CHAR | Index der Landessprache | 1 |
name | MLSTRING | Bezeichnung des Landes als multipler String | T("USA") |
codeMap | CHAR | Zeichenumsetztabelle | 850 |
diallingPrefix | STRING | - veraltet/deprecated - DIALTRANSLATIONTABLE benutzen | |
decimalSeparator | STRING | Trennzeichen für Dezimalzahlen | "." |
thousandsSeparator | STRING | Trennzeichen für tausender Stellen | "," |
grouping | STRING | Formatierungszeichen, die angeben, nach wie viel Stellen ein Tausendertrenner in eine Zahl eingefügt wird | "\3" |
positiveSign | STRING | Pluszeichen | "+" |
posSignPrecedes | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob das Pluszeichen vor der Zahl steht. Falls nicht, so steht es dahinter. | 1 |
posSpaceSeparation | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll | 0 |
negativeSign | STRING | Minuszeichen | "-" |
negSignPrecedes | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob das Minuszeichen vor der Zahl steht. Falls nicht, so steht es dahinter. | 1 |
negSpaceSeparation | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen dem Vorzeichen und der Zahl eine Leerstelle liegen soll | 0 |
nonCurrencyUnitPrecedes | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob eine nicht-Währungs-Einheit vor dem Wert oder nach dem Wert angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt. | 0 |
nonCurrencyUnitSeparation | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen einer nicht-Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) ein Leerzeichen angezeigt werden soll. | 1 |
currencyUnitPrecedes | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob eine Währungs-Einheit vor dem Wert oder nach dem Wert angezeigt werden soll. Steht der Wert auf 1 wird die Einheit vor dem Wert angezeigt. | 0 |
currencyUnitSeparation | CHAR | Gibt mit Hilfe eines Wahrheitswertes an, ob zwischen einer Währungs-Einheit und dem Wert (egal in welcher Reihenfolge) ein Leerzeichen angezeigt werden soll. | 1 |
numPrecision | CHAR | Anzahl an Nachkommastellen | 2 |
fractionSeparator | STRING | Trennungszeichen für Zähler und Nenner bei Brüchen | "/" |
intCurrencySymbol | STRING | Internationales Währungssymbol | "USD" |
dateFormat | CHAR | Datumsformate: 0 (MM.TT.JJJJ), 1 (TT.MM.JJJJ) und 2 (JJJJ.MM.TT) |
0 |
dateSeparator | STRING | Trennzeichen für ein Datum | "/" |
firstDayOfWeek | CHAR | Erster Tag der Woche: 1 = Sonntag, 2 = Montag | 2 |
baseCentury | SHORT | Aktuelles Jahrhundert | 19 |
unknownPartOfDate | STRING | Zeichen für unbekannte Bestandteile eines unvollständigen Datums | "?" |
timeFormat | STRING | Zeitformat: 0 = 12 Std., 1 = 24 Std. | 0 |
timeSeparator | STRING | Trennzeichen für eine Zeitangabe | "." |
timeZone | SHORT | Startzeitzone des Landes in Minutenabweichung von der MEZ | -720 |
endTimeZone | SHORT | Endzeitzone des Landes in Minutenabweichung von der MEZ | -300 |
workingDays | CHAR | Arbeitstage des Landes: 0 = undefiniert, 1 = Montag, 2 = Dienstag, 4 = Mittwoch, 8 = Donnerstag, 16 = Freitag, 32 = Samstag, 64 = Sonntag |
0 |
day1 | SHORT | Wochentag, an dem die Umstellung von Winter- auf Sommerzeit stattfindet | 429 |
pos1 | SHORT | lfd. Nr. dieses Wochentags im Monat | 1 |
gran1 | SHORT | Bezugsbereich | 1 |
freq1 | SHORT | Frequenz | 0 |
date1 | INTEGER | Monat, in dem von Winter- auf Sommerzeit umgestellt wird | 4 |
changeTime1 | STRING | Umstellzeit von Winter- auf Sommerzeit | "2.00 - 3.00" |
day2 | SHORT | Wochentag, an dem die Umstellung von Sommer- auf Winterzeit stattfindet | 429 |
pos2 | SHORT | lfd. Nr. dieses Wochentags im Monat | 99 |
gran2 | SHORT | Bezugsbereich | 1 |
freq2 | SHORT | Frequenz | 0 |
date2 | INTEGER | Monat, in dem von Sommer- auf Winterzeit umgestellt wird | 10 |
changeTime2 | STRING | Umstellzeit von Sommer- auf Winterzeit | "3.00 - 2.00" |
accessCode | STRING | Eigene Telefonnummer im internationalen
Format; dieser Eintrag MUSS vorhanden sein! Hier ist soviel einzutragen, wie bekannt ist, also für Länder der Countrycode, für Städte zusätzlich die Vorwahl usw. |
"+1-" weitere Beispiele: "+49-", "+49-40-", "+49-40-209401-" für Land, Stadt und Firma |
dialingTone | STRING | Code zur Amtsholung | "" Beispiel: "0", falls eine 0 gewählt werden muss, um eine Amtsleitung zu bekommen |
maxLengthOfExtension | SHORT | Maximale Länge der Durchwahlen im eigenen Betrieb | 0 Dient der Unterscheidung zwischen internen und externen Anrufen Beispiel: Bei zweistelligen Durchwahlen ist hier eine 2 anzugeben |
DIALTRANSLATIONTABLE | Start der Umsetzungstabelle | ||
ENDDIALTRANSLATIONTABLE | Ende der Umsetzungstabelle | ||
upperLocale | REL_1M | übergeordneten Locale | |
sublocales | REL_M1 | untergeordneten Locale | |
sysLocale | STRING | Locale der C-Standard Lib. |
Modul | Kurzbeschreibung |
---|---|
locales.mod | Ortsspezifische Daten Editiermodul |
setlocal.mod | Ortsauswahl Basismodul |
wrldclck.mod | Weltuhr Basismodul |
Die Umstellzeitpunkte von Winter- auf Sommerzeit und umgekehrt sind als periodisches
Datum
Die Angaben unter "accessCode" und
"DIALTRANSLATIONSTABLE" werden an untergeordnete Locales vererbt. Das heißt in der Praxis, dass diese Daten, die für das COUNTRY Deutschland konfiguriert wurden, auch für die Bundesländer gelten. Sobald bei einer Sub-Locale der accessCode oder die Umsetzungstabelle definiert sind, ersetzen
sie die geerbten Daten.Umsetzungstabelle
Die Umsetzungstabelle enthält die Einträge, um eine Telefonnummer in
internationaler Form so umzuwandeln, dass sie anschließend an dem lokalen Telefon eingetippt werden kann und der gewünschte Anschluss erreicht wird. Die Tabelle muss sich zwingend vor den HOLIDAYS oder dem nächsten COUNTRY-, STATE- oder REGION-Abschnitt befinden! Eine leere oder nicht vorhandene Tabelle hat
eine fehlerhafte Interpretation von Telefonnummern zur Folge.Auf eine Zeile kommt jeweils ein Eintrag. Jeder Eintrag hat die Form "x y", wobei x der Teil ist, der von der Nummer ersetzt werden soll, und y der Teil ist, der stattdessen eingefügt wird. Beispiel für eine solche Tabelle:
+49-40-209401-
+49-40-
+49- 0
+ 00
Der lokale Telefonapparat befindet sich in den Geschäftsräumen der Firma
ClassiX®. Soll die Nummer +49-40-209401-12 gewählt werden, wird der Teil "+49-40-209401-" durch "" (nichts) ersetzt. Übrig bleibt die 12. Wird diese gewählt, wird der Nebenanschluss 12 erreicht. Soll
+49-341-9733333 gewählt werden, wird die Tabelle so lange abarbeitet, bis dererste Treffer gefunden ist. Hier stimmt es erst bei +49- überein. Dieser Teil wird durch 0 ersetzt und es bleibt 0341-9733333 übrig. Bei internationalen Nummern (Landescode ungleich 49) würde das + durch 00 ersetzt werden, was aus
+1-222-333-4444 hier 001-222-333-4444 machen würde.Beispiele:
Geschäftsräume Firma ClassiX®:
DIALTRANSLATIONTABLE
+49-40-209401-
+49-40-
+49- 0
+ 00
ENDDIALTRANSLATIONTABLE
Anschlüsse in der Uni Leipzig:
DIALTRANSLATIONTABLE
+49-341-97-
+49-341-
+49- 0
+ 00
ENDDIALTRANSLATIONTABLE
US-amerikanischer Standort:
DIALTRANSLATIONTABLE
+1-222-
+1- 1-
+ 011-
ENDDIALTRANSLATIONTABLE
(Dieser Standort hat keine Nebenstellenanlage, daher ist der Eintrag mit der eigenen Rufnummer unnötig.)