diff --git a/common/NumFormat.js b/common/NumFormat.js index fc731c2851..02e340673b 100644 --- a/common/NumFormat.js +++ b/common/NumFormat.js @@ -5419,50 +5419,66 @@ function setCurrentCultureInfo (LCID, decimalSeparator, groupSeparator) { } function getFormatByCulturalStandardId(id, opt_cultureInfo) { var cultureInfo = opt_cultureInfo ? opt_cultureInfo : g_oDefaultCultureInfo; - let standartNumFormatsByLocale = { - 1028: {//"zh-tw" - 27: '[$-404]e/m/d', - 28: '[$-404]e"年"m"月"d"日"', - 29: '[$-404]e"年"m"月"d"日"', - 30: 'm/d/yy', - 31: 'yyyy"年"m"月"d"日"', - 32: 'hh"時"mm"分"', - 33: 'hh"時"mm"分"ss"秒"', - 34: '上午/下午hh"時"mm"分"', - 35: '上午/下午hh"時"mm"分"ss"秒"', - 36: '[$-404]e/m/d', - 50: '[$-404]e/m/d', - 51: '[$-404]e"年"m"月"d"日"', - 52: '上午/下午hh"時"mm"分"', - 53: '上午/下午hh"時"mm"分"ss"秒"', - 54: '上午/下午hh"時"mm"分"', - 55: '上午/下午hh"時"mm"分"ss"秒"', - 56: '[$-404]e/m/d', - 57: '[$-404]e"年"m"月"d"日"', - 58: '[$-404]e"年"m"月"d"日"' - }, - 2052: {//"zh-cn" - 27: 'yyyy"年"m"月"', - 28: 'm"月"d"日"', - 29: 'm"月"d"日"', - 30: 'm-d-yy', - 31: 'yyyy"年"m"月"d"日"', - 32: 'h"时"mm"分"', - 33: 'h"时"mm"分"ss"秒"', - 34: '上午/下午h"时"mm"分"', - 35: '上午/下午h"时"mm"分"ss"秒"', - 36: 'yyyy"年"m"月"', - 50: 'yyyy"年"m"月"', - 51: 'm"月"d"日"', - 52: 'yyyy"年"m"月"', - 53: 'm"月"d"日"', - 54: 'm"月"d"日"', - 55: '上午/下午h"时"mm"分"', - 56: '上午/下午h"时"mm"分"ss"秒"', - 57: 'yyyy"年"m"月"', - 58: 'm"月"d"日"' - }, - 1041: {//"ja-jp" + let formats; + let localeStart = cultureInfo.Name.substring(0, 2); + let LCID = cultureInfo.LCID; + if ('zh' === localeStart) { + if (4 === LCID || 2052 === LCID || 30724 === LCID) { + // zh + // zh-Hans + // zh-CN + formats = { + 27: 'yyyy"年"m"月"', + 28: 'm"月"d"日"', + 29: 'm"月"d"日"', + 30: 'm-d-yy', + 31: 'yyyy"年"m"月"d"日"', + 32: 'h"时"mm"分"', + 33: 'h"时"mm"分"ss"秒"', + 34: '上午/下午h"时"mm"分"', + 35: '上午/下午h"时"mm"分"ss"秒"', + 36: 'yyyy"年"m"月"', + 50: 'yyyy"年"m"月"', + 51: 'm"月"d"日"', + 52: 'yyyy"年"m"月"', + 53: 'm"月"d"日"', + 54: 'm"月"d"日"', + 55: '上午/下午h"时"mm"分"', + 56: '上午/下午h"时"mm"分"ss"秒"', + 57: 'yyyy"年"m"月"', + 58: 'm"月"d"日"' + } + } else { + // zh-Hant + // zh-TW + // zh-HK + // zh-SG + // zh-MO + formats = { + 27: '[$-404]e/m/d', + 28: '[$-404]e"年"m"月"d"日"', + 29: '[$-404]e"年"m"月"d"日"', + 30: 'm/d/yy', + 31: 'yyyy"年"m"月"d"日"', + 32: 'hh"時"mm"分"', + 33: 'hh"時"mm"分"ss"秒"', + 34: '上午/下午hh"時"mm"分"', + 35: '上午/下午hh"時"mm"分"ss"秒"', + 36: '[$-404]e/m/d', + 50: '[$-404]e/m/d', + 51: '[$-404]e"年"m"月"d"日"', + 52: '上午/下午hh"時"mm"分"', + 53: '上午/下午hh"時"mm"分"ss"秒"', + 54: '上午/下午hh"時"mm"分"', + 55: '上午/下午hh"時"mm"分"ss"秒"', + 56: '[$-404]e/m/d', + 57: '[$-404]e"年"m"月"d"日"', + 58: '[$-404]e"年"m"月"d"日"' + } + } + } else if ('ja' === localeStart) { + //"ja-jp" + formats = { 27: '[$-411]ge.m.d', 28: '[$-411]ggge"年"m"月"d"日"', 29: '[$-411]ggge"年"m"月"d"日"', @@ -5482,8 +5498,10 @@ function setCurrentCultureInfo (LCID, decimalSeparator, groupSeparator) { 56: 'm"月"d"日"', 57: '[$-411]ge.m.d', 58: '[$-411]ggge"年"m"月"d"日"' - }, - 1042: {//"ko-kr" + } + } else if ('ko' === localeStart) { + //"ko-kr" + formats = { 27: 'yyyy"年" mm"月" dd"日"', 28: 'mm-dd', 29: 'mm-dd', @@ -5503,30 +5521,32 @@ function setCurrentCultureInfo (LCID, decimalSeparator, groupSeparator) { 56: 'yyyy-mm-dd', 57: 'yyyy"年" mm"月" dd"日"', 58: 'mm-dd' - }, - 1054: {//"th-th" + } + } else if ('th' === localeStart) { + //"th-th" + formats = { 59: 't0', - 60: 't0.00', - 61: 't#,##0', - 62: 't#,##0.00', - 67: 't0%', - 68: 't0.00%', - 69: 't# ?/?', - 70: 't# ??/??', - 71: 'ว/ด/ปปปป', - 72: 'ว-ดดด-ปป', - 73: 'ว-ดดด', - 74: 'ดดด-ปป', - 75: 'ช:นน', - 76: 'ช:นน:ทท', - 77: 'ว/ด/ปปปป ช:นน', - 78: 'นน:ทท', - 79: '[ช]:นน:ทท', - 80: '80 นน:ทท.0', - 81: 'd/m/bb' + 60: 't0.00', + 61: 't#,##0', + 62: 't#,##0.00', + 67: 't0%', + 68: 't0.00%', + 69: 't# ?/?', + 70: 't# ??/??', + 71: 'ว/ด/ปปปป', + 72: 'ว-ดดด-ปป', + 73: 'ว-ดดด', + 74: 'ดดด-ปป', + 75: 'ช:นน', + 76: 'ช:นน:ทท', + 77: 'ว/ด/ปปปป ช:นน', + 78: 'นน:ทท', + 79: '[ช]:นน:ทท', + 80: '80 นน:ทท.0', + 81: 'd/m/bb' } } - return standartNumFormatsByLocale[cultureInfo.LCID] && standartNumFormatsByLocale[cultureInfo.LCID][id] || null; + return formats && formats[id] || null; } function getFormatByStandardId(id, opt_cultureInfo) { var res = getFormatByCulturalStandardId(id, opt_cultureInfo);