Cultures and Requirements

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:

Excel: spreadsheet preview is finally here!

You can now display this file as a spreadsheet, instead of a PDF. Re-upload Results.xlsx to display the new preview. You can access the file here.

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:

Excel: spreadsheet preview is finally here!

You can now display this file as a spreadsheet, instead of a PDF. Re-upload Results.xlsx to display the new preview. You can access the file here.

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:

Excel: spreadsheet preview is finally here!

You can now display this file as a spreadsheet, instead of a PDF. Re-upload Results.xlsx to display the new preview. You can access the file here.

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:

Excel: spreadsheet preview is finally here!

You can now display this file as a spreadsheet, instead of a PDF. Re-upload Results.xlsx to display the new preview. You can access the file here.


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:

Excel: spreadsheet preview is finally here!

You can now display this file as a spreadsheet, instead of a PDF. Re-upload Results.xlsx to display the new preview. You can access the file here.


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.