Child pages
  • Cultures and Requirements
Skip to end of metadata
Go to start of metadata

This space describes the cultures in each locales which is supported, and the requirements to fulfill them in Sakai.

Person's Name

Name order

There are two orders as follows:

  • Eastern order (family-name given-name)
    It is used in China, Japan, Korea, Taiwan and Vietnam.
  • Western order (given-name family-name)
    It is used in some locales other than the above.

Basically, the Eastern people are called as the Eastern order from the Western people, and vice versa. However, Japanese who represent the own name by using the alphabet, are called in the Western order. When listing the names, the Western people use 'family-name, given-name' format.

Wikipedia: http://en.wikipedia.org/wiki/Name_order#Name_order

Requirements in Sakai

  1. When displaying the own username only, it should be switched to the Western or Eastern order along with the own language preferences. (e.g., the menu of the top right side icon in Sakai 2.9.)
  2. When displaying other user's name, it should be displayed in each user's order along with each language preferences. It should be also considered whether 'family-name, given-name' format should be applied or not when listing those names.
  3. When displaying Japanese user's name who represent the own first and last name in the alphabet and set the own language preferences to Japanese, it is better to be displayed in the Western order.

Date

Date format

Investigation codes:

((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, locale)).toPattern()
((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.MEDIUM, locale)).toPattern()
((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.LONG, locale)).toPattern()
((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.FULL, locale)).toPattern()

Results:

LanguageLocaleSHORTMEDIUMLONGFULL
Arabicardd/MM/yydd/MM/yyyydd MMMM, yyyydd MMMM, yyyy
BasqueeuM/d/yyMMM d, yyyyMMMM d, yyyyEEEE, MMMM d, yyyy
Catalan (Spain)ca_ESdd/MM/yydd/MM/yyyyd' / 'MMMM' / 'yyyyEEEE, d' / 'MMMM' / 'yyyy
Chinese (China)zh_CNyy-M-dyyyy-M-dyyyy'年'M'月'd'日'yyyy'年'M'月'd'日' EEEE
Chinese (Taiwan)zh_TWyyyy/M/dyyyy/M/dyyyy'年'M'月'd'日'yyyy'年'M'月'd'日' EEEE
Dutch (Netherlands)nl_NLd-M-yyd-MMM-yyyyd MMMM yyyyEEEE d MMMM yyyy
English (Australia)en_AUd/MM/yydd/MM/yyyyd MMMM yyyyEEEE, d MMMM yyyy
English (New Zealand)en_NZd/MM/yyd/MM/yyyyd MMMM yyyyEEEE, d MMMM yyyy
English (South Africa)en_ZAyyyy/MM/dddd MMM yyyydd MMMM yyyyEEEE dd MMMM yyyy
English (United Kingdom)en_GBdd/MM/yydd-MMM-yyyydd MMMM yyyyEEEE, d MMMM yyyy
English (United States)en_USM/d/yyMMM d, yyyyMMMM d, yyyyEEEE, MMMM d, yyyy
French (Canada)fr_CAyy-MM-ddyyyy-MM-ddd MMMM yyyyEEEE d MMMM yyyy
French (France)fr_FRdd/MM/yyd MMM yyyyd MMMM yyyyEEEE d MMMM yyyy
Japanese (Japan)ja_JPyy/MM/ddyyyy/MM/ddyyyy/MM/ddyyyy'年'M'月'd'日'
Korean (South Korea)ko_KRyy. M. dyyyy. M. dyyyy'년' M'월' d'일' '('EE')'yyyy'년' M'월' d'일' EEEE
MongolianmnM/d/yyMMM d, yyyyMMMM d, yyyyEEEE, MMMM d, yyyy
Polish (Poland)pl_PLdd.MM.yyyyyy-MM-ddd MMMM yyyyEEEE, d MMMM yyyy
Portuguese (Brazil)pt_BRdd/MM/yydd/MM/yyyyd' de 'MMMM' de 'yyyyEEEE, d' de 'MMMM' de 'yyyy
Portuguese (Portugal)pt_PTdd-MM-yyyyd/MMM/yyyyd' de 'MMMM' de 'yyyyEEEE, d' de 'MMMM' de 'yyyy
Russian (Russia)ru_RUdd.MM.yydd.MM.yyyyd MMMM yyyy 'г.'d MMMM yyyy 'г.'
Spanish (Mexico)es_MXd/MM/yyd/MM/yyyyd' de 'MMMM' de 'yyyyEEEE d' de 'MMMM' de 'yyyy
Spanish (Spain)es_ESd/MM/yydd-MMM-yyyyd' de 'MMMM' de 'yyyyEEEE d' de 'MMMM' de 'yyyy
Swedish (Sweden)sv_SEyyyy-MM-ddyyyy-MMM-dd'den 'd MMMM yyyy'den 'd MMMM yyyy
Turkish (Turkey)tr_TRdd.MM.yyyydd.MMM.yyyydd MMMM yyyy EEEEdd MMMM yyyy EEEE
Vietnamese (Vietnam)vi_VNdd/MM/yyyydd-MM-yyyy'Ngày' dd 'tháng' M 'năm' yyyyEEEE, 'ngày' dd MMMM 'năm' yyyy

Notes:

  • Because Basque and Mongolian are not fully supported in Java, their results are the same as English.

The SHORT format:

  • There are three orders as YMD, DMY and MDY.
  • They are separated with a slash, a hyphen or a dot.
  • Especially in Korea, it is separated with '. ' (dot and blank).

Requirements in Sakai

  1. Probably, the above SHORT format is used in the manual input. So the parsers and the validators should accept them.

Month

Investigation codes:

DateFormatSymbols.getInstance(locale).getShortMonths()[0]
DateFormatSymbols.getInstance(locale).getShortMonths()[1]
DateFormatSymbols.getInstance(locale).getShortMonths()[2]
DateFormatSymbols.getInstance(locale).getShortMonths()[3]
DateFormatSymbols.getInstance(locale).getShortMonths()[4]
DateFormatSymbols.getInstance(locale).getShortMonths()[5]
DateFormatSymbols.getInstance(locale).getShortMonths()[6]
DateFormatSymbols.getInstance(locale).getShortMonths()[7]
DateFormatSymbols.getInstance(locale).getShortMonths()[8]
DateFormatSymbols.getInstance(locale).getShortMonths()[9]
DateFormatSymbols.getInstance(locale).getShortMonths()[10]
DateFormatSymbols.getInstance(locale).getShortMonths()[11]
DateFormatSymbols.getInstance(locale).getMonths()[0]
DateFormatSymbols.getInstance(locale).getMonths()[1]
DateFormatSymbols.getInstance(locale).getMonths()[2]
DateFormatSymbols.getInstance(locale).getMonths()[3]
DateFormatSymbols.getInstance(locale).getMonths()[4]
DateFormatSymbols.getInstance(locale).getMonths()[5]
DateFormatSymbols.getInstance(locale).getMonths()[6]
DateFormatSymbols.getInstance(locale).getMonths()[7]
DateFormatSymbols.getInstance(locale).getMonths()[8]
DateFormatSymbols.getInstance(locale).getMonths()[9]
DateFormatSymbols.getInstance(locale).getMonths()[10]
DateFormatSymbols.getInstance(locale).getMonths()[11]

Results:

LanguageLocaleJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
Arabicarينافبرمارأبرماييونيولأغسسبتأكتنوفديس
ينايرفبرايرمارسأبريلمايويونيويوليوأغسطسسبتمبرأكتوبرنوفمبرديسمبر
BasqueeuJanFebMarAprMayJunJulAugSepOctNovDec
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
Catalan (Spain)ca_ESgen.feb.marçabr.maigjunyjul.ag.set.oct.nov.des.
generfebrermarçabrilmaigjunyjuliolagostsetembreoctubrenovembredesembre
Chinese (China)zh_CN一月二月三月四月五月六月七月八月九月十月十一月十二月
一月二月三月四月五月六月七月八月九月十月十一月十二月
Chinese (Taiwan)zh_TW一月二月三月四月五月六月七月八月九月十月十一月十二月
一月二月三月四月五月六月七月八月九月十月十一月十二月
Dutch (Netherlands)nl_NLjanfebmrtaprmeijunjulaugsepoktnovdec
januarifebruarimaartaprilmeijunijuliaugustusseptemberoktobernovemberdecember
English (Australia)en_AUJanFebMarAprMayJunJulAugSepOctNovDec
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
English (New Zealand)en_NZJanFebMarAprMayJunJulAugSepOctNovDec
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
English (South Africa)en_ZAJanFebMarAprMayJunJulAugSepOctNovDec
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
English (United Kingdom)en_GBJanFebMarAprMayJunJulAugSepOctNovDec
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
English (United States)en_USJanFebMarAprMayJunJulAugSepOctNovDec
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
French (Canada)fr_CAjanv.févr.marsavr.maijuinjuil.aoûtsept.oct.nov.déc.
janvierfévriermarsavrilmaijuinjuilletaoûtseptembreoctobrenovembredécembre
French (France)fr_FRjanv.févr.marsavr.maijuinjuil.aoûtsept.oct.nov.déc.
janvierfévriermarsavrilmaijuinjuilletaoûtseptembreoctobrenovembredécembre
Japanese (Japan)ja_JP123456789101112
1月2月3月4月5月6月7月8月9月10月11月12月
Korean (South Korea)ko_KR1월2월3월4월5월6월7월8월9월10월11월12월
1월2월3월4월5월6월7월8월9월10월11월12월
MongolianmnJanFebMarAprMayJunJulAugSepOctNovDec
JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember
Polish (Poland)pl_PLstylutmarkwimajczelipsiewrzpaźlisgru
styczeńlutymarzeckwiecieńmajczerwieclipiecsierpieńwrzesieńpaździerniklistopadgrudzień
Portuguese (Brazil)pt_BRJanFevMarAbrMaiJunJulAgoSetOutNovDez
JaneiroFevereiroMarçoAbrilMaioJunhoJulhoAgostoSetembroOutubroNovembroDezembro
Portuguese (Portugal)pt_PTJanFevMarAbrMaiJunJulAgoSetOutNovDez
JaneiroFevereiroMarçoAbrilMaioJunhoJulhoAgostoSetembroOutubroNovembroDezembro
Russian (Russia)ru_RUянвфевмарапрмайиюниюлавгсеноктноядек
ЯнварьФевральМартАпрельМайИюньИюльАвгустСентябрьОктябрьНоябрьДекабрь
Spanish (Mexico)es_MXenefebmarabrmayjunjulagosepoctnovdic
enerofebreromarzoabrilmayojuniojulioagostoseptiembreoctubrenoviembrediciembre
Spanish (Spain)es_ESenefebmarabrmayjunjulagosepoctnovdic
enerofebreromarzoabrilmayojuniojulioagostoseptiembreoctubrenoviembrediciembre
Swedish (Sweden)sv_SEjanfebmaraprmajjunjulaugsepoktnovdec
januarifebruarimarsaprilmajjunijuliaugustiseptemberoktobernovemberdecember
Turkish (Turkey)tr_TROcaŞubMarNisMayHazTemAğuEylEkiKasAra
OcakŞubatMartNisanMayısHaziranTemmuzAğustosEylülEkimKasımAralık
Vietnamese (Vietnam)vi_VNthg 1thg 2thg 3thg 4thg 5thg 6thg 7thg 8thg 9thg 10thg 11thg 12
tháng mộttháng haitháng batháng tưtháng nămtháng sáutháng bảytháng támtháng chíntháng mườitháng mười mộttháng mười hai

Notes:

  • Because Basque and Mongolian are not fully supported in Java, their results are the same as English.
  • It seems that there are no differences except for the translation.

Requirements in Sakai

  1. The date picker widget should be able to select or display those translated months.

Day of week

Investigation codes:

Calendar.getInstance(locale).getFirstDayOfWeek()
DateFormatSymbols.getInstance(locale).getShortWeekdays()[1]
DateFormatSymbols.getInstance(locale).getShortWeekdays()[2]
DateFormatSymbols.getInstance(locale).getShortWeekdays()[3]
DateFormatSymbols.getInstance(locale).getShortWeekdays()[4]
DateFormatSymbols.getInstance(locale).getShortWeekdays()[5]
DateFormatSymbols.getInstance(locale).getShortWeekdays()[6]
DateFormatSymbols.getInstance(locale).getShortWeekdays()[7]
DateFormatSymbols.getInstance(locale).getWeekdays()[1]
DateFormatSymbols.getInstance(locale).getWeekdays()[2]
DateFormatSymbols.getInstance(locale).getWeekdays()[3]
DateFormatSymbols.getInstance(locale).getWeekdays()[4]
DateFormatSymbols.getInstance(locale).getWeekdays()[5]
DateFormatSymbols.getInstance(locale).getWeekdays()[6]
DateFormatSymbols.getInstance(locale).getWeekdays()[7]

Results:

LanguageLocaleFirst day of week1234567
Arabicar7حنثرخجس
الأحدالاثنينالثلاثاءالأربعاءالخميسالجمعةالسبت
Basqueeu1SunMonTueWedThuFriSat
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Catalan (Spain)ca_ES2dg.dl.dt.dc.dj.dv.ds.
diumengedillunsdimartsdimecresdijousdivendresdissabte
Chinese (China)zh_CN1星期日星期一星期二星期三星期四星期五星期六
星期日星期一星期二星期三星期四星期五星期六
Chinese (Taiwan)zh_TW1星期日星期一星期二星期三星期四星期五星期六
星期日星期一星期二星期三星期四星期五星期六
Dutch (Netherlands)nl_NL2zomadiwodovrza
zondagmaandagdinsdagwoensdagdonderdagvrijdagzaterdag
English (Australia)en_AU1SunMonTueWedThuFriSat
SundayMondayTuesdayWednesdayThursdayFridaySaturday
English (New Zealand)en_NZ1SunMonTueWedThuFriSat
SundayMondayTuesdayWednesdayThursdayFridaySaturday
English (South Africa)en_ZA1SunMonTueWedThuFriSat
SundayMondayTuesdayWednesdayThursdayFridaySaturday
English (United Kingdom)en_GB2SunMonTueWedThuFriSat
SundayMondayTuesdayWednesdayThursdayFridaySaturday
English (United States)en_US1SunMonTueWedThuFriSat
SundayMondayTuesdayWednesdayThursdayFridaySaturday
French (Canada)fr_CA1dim.lun.mar.mer.jeu.ven.sam.
dimanchelundimardimercredijeudivendredisamedi
French (France)fr_FR2dim.lun.mar.mer.jeu.ven.sam.
dimanchelundimardimercredijeudivendredisamedi
Japanese (Japan)ja_JP1
日曜日月曜日火曜日水曜日木曜日金曜日土曜日
Korean (South Korea)ko_KR1
일요일월요일화요일수요일목요일금요일토요일
Mongolianmn1SunMonTueWedThuFriSat
SundayMondayTuesdayWednesdayThursdayFridaySaturday
Polish (Poland)pl_PL2NPnWtŚrCzPtSo
niedzielaponiedziałekwtorekśrodaczwartekpiąteksobota
Portuguese (Brazil)pt_BR2DomSegTerQuaQuiSexSáb
DomingoSegunda-feiraTerça-feiraQuarta-feiraQuinta-feiraSexta-feiraSábado
Portuguese (Portugal)pt_PT2DomSegTerQuaQuiSexSáb
DomingoSegunda-feiraTerça-feiraQuarta-feiraQuinta-feiraSexta-feiraSábado
Russian (Russia)ru_RU2ВсПнВтСрЧтПтСб
воскресеньепонедельниквторниксредачетвергпятницасуббота
Spanish (Mexico)es_MX2domlunmarmiéjueviesáb
domingolunesmartesmiércolesjuevesviernessábado
Spanish (Spain)es_ES2domlunmarmiéjueviesáb
domingolunesmartesmiércolesjuevesviernessábado
Swedish (Sweden)sv_SE2tiontofr
söndagmåndagtisdagonsdagtorsdagfredaglördag
Turkish (Turkey)tr_TR2PazPztSalÇarPerCumCmt
PazarPazartesiSalıÇarşambaPerşembeCumaCumartesi
Vietnamese (Vietnam)vi_VN1CNTh 2Th 3Th 4Th 5Th 6Th 7
Chủ nhậtThứ haiThứ baThứ tưThứ nămThứ sáuThứ bảy

Notes:

  • Because Basque and Mongolian are not fully supported in Java, their results are the same as English.
  • Most of the first day of week is Sunday or Monday.
  • Especially in Arabic, it starts from Saturday.

Requirements in Sakai

  1. The date picker widget should start from the proper day of week along with the current user's language preferences.

Time

Time format

Investigation codes:

((SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.SHORT, locale)).toPattern()
((SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.MEDIUM, locale)).toPattern()
((SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.LONG, locale)).toPattern()
((SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.FULL, locale)).toPattern()

Results:

LanguageLocaleSHORTMEDIUMLONGFULL
Arabicarhh:mm ahh:mm:ss az hh:mm:ss az hh:mm:ss a
Basqueeuh:mm ah:mm:ss ah:mm:ss a zh:mm:ss a z
Catalan (Spain)ca_ESHH:mmHH:mm:ssHH:mm:ss zHH:mm:ss z
Chinese (China)zh_CNah:mmH:mm:ssahh'时'mm'分'ss'秒'ahh'时'mm'分'ss'秒' z
Chinese (Taiwan)zh_TWa h:mma hh:mm:ssahh'時'mm'分'ss'秒'ahh'時'mm'分'ss'秒' z
Dutch (Netherlands)nl_NLH:mmH:mm:ssH:mm:ss zH:mm:ss' uur' z
English (Australia)en_AUh:mm ah:mm:ss ah:mm:ss ah:mm:ss a z
English (New Zealand)en_NZh:mm ah:mm:ss ah:mm:ss ah:mm:ss a z
English (South Africa)en_ZAh:mm ah:mm:ss ah:mm:ss ah:mm:ss a
English (United Kingdom)en_GBHH:mmHH:mm:ssHH:mm:ss zHH:mm:ss 'o''clock' z
English (United States)en_USh:mm ah:mm:ss ah:mm:ss a zh:mm:ss a z
French (Canada)fr_CAHH:mmHH:mm:ssHH:mm:ss zH' h 'mm z
French (France)fr_FRHH:mmHH:mm:ssHH:mm:ss zHH' h 'mm z
Japanese (Japan)ja_JPH:mmH:mm:ssH:mm:ss zH'時'mm'分'ss'秒' z
Korean (South Korea)ko_KRa h:mma h:mm:ssa h'시' mm'분' ss'초'a h'시' mm'분' ss'초' z
Mongolianmnh:mm ah:mm:ss ah:mm:ss a zh:mm:ss a z
Polish (Poland)pl_PLHH:mmHH:mm:ssHH:mm:ss zHH:mm:ss z
Portuguese (Brazil)pt_BRHH:mmHH:mm:ssH'h'm'min's's' zHH'h'mm'min'ss's' z
Portuguese (Portugal)pt_PTH:mmH:mm:ssH:mm:ss zHH'H'mm'm' z
Russian (Russia)ru_RUH:mmH:mm:ssH:mm:ss zH:mm:ss z
Spanish (Mexico)es_MXhh:mm ahh:mm:ss ahh:mm:ss a zhh:mm:ss a z
Spanish (Spain)es_ESH:mmH:mm:ssH:mm:ss zHH'H'mm'' z
Swedish (Sweden)sv_SEHH:mmHH:mm:ssHH:mm:ss z'kl 'H:mm z
Turkish (Turkey)tr_TRHH:mmHH:mm:ssHH:mm:ss zHH:mm:ss z
Vietnamese (Vietnam)vi_VNHH:mmHH:mm:ssHH:mm:ss zHH:mm:ss z

Notes:

  • Because Basque and Mongolian are not fully supported in Java, their results are the same as English.
  • There are 12-hour and 24-hour locales.

Requirements in Sakai

  1. The time picker widgets should be switched to 12-hour or 24-hour format along with the current user's language preferences.
  2. Probably, the SHORT or the MEDIUM format is used in the manual input. So the parsers and the validators should accept them.

AM/PM

Investigation codes:

DateFormatSymbols.getInstance(locale).getAmPmStrings()[0]
DateFormatSymbols.getInstance(locale).getAmPmStrings()[1]

Results:

LanguageLocaleAMPM
Arabicarصم
Chinese (China)zh_CN上午下午
Chinese (Taiwan)zh_TW上午下午
Japanese (Japan)ja_JP午前午後
Korean (South Korea)ko_KR오전오후
Swedish (Sweden)sv_SEfmem
Vietnamese (Vietnam)vi_VNSACH
(Other)-AMPM

Notes:

  • Because Basque and Mongolian are not fully supported in Java, their results are the same as English.
  • Those AM/PM strings can be gotten by the above codes from the 24-hour locales.

Requirements in Sakai

  1. The time picker widgets should be able to select the localized AM/PM strings along with the current user's language preferences.

Number

Number format

Investigation code:

NumberFormat.getInstance(locale).format(123456.789)
NumberFormat.getInstance(locale).format(-123456.789)
NumberFormat.getPercentInstance(locale).format(0.50)

Results:

LanguageLocalePositiveNegativePercentage

Arabic

ar123,456.789123,456.789-50%

Basque

eu123,456.789-123,456.78950%

Catalan (Spain)

ca_ES123.456,789-123.456,78950%

Chinese (China)

zh_CN123,456.789-123,456.78950%

Chinese (Taiwan)

zh_TW123,456.789-123,456.78950%

Dutch (Netherlands)

nl_NL123.456,789-123.456,78950%

English (Australia)

en_AU123,456.789-123,456.78950%

English (New Zealand)

en_NZ123,456.789-123,456.78950%

English (South Africa)

en_ZA123,456.789-123,456.78950%

English (United Kingdom)

en_GB123,456.789-123,456.78950%

English (United States)

en_US123,456.789-123,456.78950%

French (Canada)

fr_CA123 456,789-123 456,78950 %

French (France)

fr_FR123 456,789-123 456,78950 %

Japanese (Japan)

ja_JP123,456.789-123,456.78950%

Korean (South Korea)

ko_KR123,456.789-123,456.78950%

Mongolian

mn123,456.789-123,456.78950%
Polish (Poland)pl_PL123 456,789-123 456,78950%

Portuguese (Brazil)

pt_BR123.456,789-123.456,78950%

Portuguese (Portugal)

pt_PT123.456,789-123.456,78950%

Russian (Russia)

ru_RU123 456,789-123 456,78950%

Spanish (Mexico)

es_MX123,456.789-123,456.78950%

Spanish (Spain)

es_ES123.456,789-123.456,78950%

Swedish (Sweden)

sv_SE123 456,789-123 456,78950%

Turkish (Turkey)

tr_TR123.456,789-123.456,789% 50

Vietnamese (Vietnam)

vi_VN123.456,789-123.456,78950%

Notes:

  • Because Basque and Mongolian are not fully supported in Java, their results are the same as English.
  • The thousands separator is a comma, a dot or a blank.
  • The decimal separator is a comma or a dot.
  • Especially in Arabic, the minus sign is postfixed to the negative format.
  • Especially in Turkish, the percent sign is prefixed to the percentage format.

Requirements in Sakai

  1. The parsers and the validators should accept those formats which can be manually input.
  2. When displaying numbers with a thousands or a decimal separator, it should be formatted along with the current user's language preferences.


  • No labels