cuốn sách gpt4 ai đã làm

java Locale.Builder setExtension(Locale.UNICODE_LOCALE_EXTENSION

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 19:50:43 34 4
mua khóa gpt4 Nike

Tôi đã cố gắng để Java chuyển đổi số dựa trên ngôn ngữ. cơ hội gặp gỡbài đăng nàyĐiều này đã giúp tôi rất nhiều để hiểu trước điều này và tôi đã nghĩ ra cách riêng của mình để chuyển đổi số sang một ngôn ngữ cụ thể (theo các cuộc thảo luận khó hiểu khác về chủ đề này)

Vì vậy, hãy nói rằng tôi có:

Ngôn ngữ arabicLocale = new Locale.Builder().setLanguage("ar").setRegion("SA")
.setExtension(Locale.UNICODE_LOCALE_EXTENSION, "nu-arab").build();

Locale thaiLocale = new Locale.Builder().setLanguage("th").setRegion("TH")
.setExtension(Locale.UNICODE_LOCALE_EXTENSION, "nu-thai").build();

Ngôn ngữ HinduLocale = Locale.Builder().setLanguage("hi").setRegion("IN") mới
.setExtension(Locale.UNICODE_LOCALE_EXTENSION, "nu-hindu").build();

DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(arabicLocale);
NumberFormat numberFormat = NumberFormat.getNumberInstance(arabicLocale);
println" Tiếng Ả Rập ${numberFormat.format(123.22)}"

dfs = DecimalFormatSymbols.getInstance(thaiLocale);
numberFormat = NumberFormat.getNumberInstance(thaiLocale);
println" Tiếng Thái ${numberFormat.format(123.22)}"

dfs = DecimalFormatSymbols.getInstance(hinduLocale);
numberFormat = NumberFormat.getNumberInstance(hinduLocale);
println" Hindu ${numberFormat.format(123.22)}"

Điều này tạo ra đầu ra sau

 tiếng Ả Rập ١٢٣٫٢٢
Tiếng Thái ๑๒๓.๒๒
Tiếng Hindu १२३.२२

Mục đích của bài đăng này là để thử và xác định cách tôi có thể tìm hoặc lấy mã để trỏ đến đúng Ngôn ngữ.UNICODE_LOCALE_EXTENSION Bởi vì thứ đó và những thứ theo đạo Hindu chỉ là phỏng đoán của tôi đã kết thúc và tôi không thể hiểu cách làm điều tương tự đối với tiếng Nhật gốc Do Thái. Mặc dù tôi nghĩ người Trung Quốc và người Nhật có thể sử dụng hệ thống chữ số Ả Rập nhưng tôi có thể sai ở điểm này.

Dù sao, bất kỳ trợ giúp/gợi ý nào về cách tôi có thể tự động nắm bắt bit dữ liệu hoặc tiêu chí này, như trong một trang có tất cả các định nghĩa mà tôi có thể tạo ra enum từ đó, sẽ rất hữu ích

Tôi đang nghiên cứu thêm Tiện ích mở rộng ngôn ngữ

tĩnh {
CALENDAR_JAPANESE = LocaleExtensions mới("u-ca-japanese", Character.valueOf('u'), UnicodeLocaleExtension.CA_JAPANESE);
NUMBER_THAI = LocaleExtensions mới("u-nu-thai", Character.valueOf('u'), UnicodeLocaleExtension.NU_THAI);
}

Vì vậy bây giờ điều này có ý nghĩa hơn ngôn ngữ nu = số ca-ngôn ngữ = lịch

Nhưng khi chạy:

Ngôn ngữ japLocale = new Locale.Builder().setLanguage("ja").setRegion("JP")
.setExtension(Locale.UNICODE_LOCALE_EXTENSION, "nu-japanese").build();

Tôi nhận được số tiếng Anh.

Theo câu hỏi ban đầu, liên kết https://www.iana.org/taskments/lingu-subtag-registry/lingu-subtag-registry

tiếng Do Thái

Loại: ngôn ngữ
Thẻ phụ: anh ấy
Mô tả: tiếng Do Thái
Đã thêm: 2005-10-16
Ngăn chặn-Script:Hebr

Nhưng khi thử dưới đây:

Ngôn ngữ hebrewLocale = new Locale.Builder().setLanguage("he").setRegion("IL")
.setExtension(Locale.UNICODE_LOCALE_EXTENSION, "nu-hebr").build();

tôi hiểu 123,22

Để trả lời câu hỏi của riêng tôi, bạn có thể xây dựng một enum từ đây http://www.oracle.com/technetwork/java/javase/java8locales-2095355.html

Tiếng Hy Lạp (el) Hy Lạp (GR) (Hy Lạp) el-GR
Tiếng Do Thái (iw) Israel (IL) (Hebr) iw-IL

tóm lại

Đối với Hy Lạp, chiếm trường cuối cùng el-GR unicodeEXtension=-u số=-nu và chữ thường cuối cùng -hebr cung cấp cho Hy Lạp 'el-GR-u-nu-grek' hoặc cung cấp điều tương tự cho tiếng Do Thái 'iw-IL-un-hebr'

 Ngôn ngữ địa phương = new Locale.Builder().setLanguageTag('el-GR-u-nu-grek').build();

Nó sẽ in ra các chữ số Hy Lạp, nhưng tôi thấy rằng nó hoạt động ở một số quốc gia chứ không phải ở các quốc gia khác đối với chữ số tiếng Anh.

câu trả lời hay nhất

Trả lời câu hỏi của riêng tôi, vì đây là một chủ đề khá phức tạp chưa được giải thích rõ ràng.

Tóm lại, dựa trên nhận xét của tôi, tốt hơn hết bạn nên sử dụng icu4j . Bởi vì điều này cung cấp một giải pháp hoàn chỉnh hơn cho việc chuyển đổi số/ngày quốc tế.

Khó khăn là đưa ra tất cả các tiêu chuẩn cần thiết, vì nó dường như hỗ trợ tất cả các ngôn ngữ địa phương, v.v., vấn đề chỉ là biết cách sử dụng nó một cách chính xác.

Tôi sẽ cung cấp một đoạn mã - mã này cần được làm sạch nhưng cung cấp giải pháp chuyển đổi số và ngày cho ứng dụng Java của bạn:

nhập groovy.transform.CompileStatic

/**
*
* @author Vahid Hedayati
* Có vẻ phức tạp nhưng sẽ giải thích
*
*ar-SA u = unicode nu = số Ả Rập = tiếng Ả Rập
*
* https://www.iana.org/taskments/lingu-subtag-registry/lingu-subtag-registry
* để lấy mã ngôn ngữ như arab = subtag
*
* Phần còn lại được giải thích ở đây
* http://stackoverflow.com/questions/43456068/java-locale-builder-setextensionlocale-unicode-locale-extension
*
*
*/
@CompileStatic
enum LocaleCalendarExtensions {
SA('ar-SA-u-ca-arab'),
AM('hy-AM-u-ca-arevmda'),
CN('zh-TW-u-ca-hant'),
CZ('cs-CZ-u-ca-latn'),
DK('da-DK-u-ca-latn'),
NL('nl-NL-u-ca-latn'),
IE('ie-IE-u-ca-latn'),
FR('fr-FR-u-ca-latn'),
DE('de-DE-u-ca-latn'),
GR('el-GR-u-ca-grek'),
IL('iw-IL-u-ca-hebr'),
IN('hi-IN-u-ca-hindu'),
CNTT('it-IT-u-ca-latn'),
JP('ja-JP-u-ca-jpan'),
KHÔNG('nb-NO-u-ca-latn'),
IR(''), //fa-IR-u-ca-fars'),
PL('pl-PL-u-ca-latn'),
PT('pt-PT-u-ca-latn'),
RU('ru-RU-u-ca-cyrl'),
ES('es-ES-u-ca-latn'),
SE('sv-SE-u-ca-latn'),
TH('th-TH-u-ca-thai'),
TR('tr-TR-u-ca-latn'),
PK(''),//ur-PK-u-ca-arab'),
VN('vi-VN-u-ca-latn')

Giá trị chuỗi

LocaleCalendarExtensions(String val) {
giá trị này = val
}
Chuỗi công khai getValue(){
giá trị trả về
}
tĩnh LocaleCalendarExtensions byValue(String val) {
value().find { it.value == val }
}
tĩnh công khai EnumSet getArabicSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(SA)
trả về ret_val
}
tĩnh công khai EnumSet get JapanSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(JP)
trả về ret_val
}

tĩnh công khai EnumSet getChinaSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(CN)
trả về ret_val
}

tĩnh công khai EnumSet getFarsiSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )

ret_val.add(IR)
trả về ret_val
}
tĩnh công khai EnumSet getUrduSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(PK)
trả về ret_val
}
tĩnh công khai EnumSet getAsianSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(JP)
ret_val.add(CN)
trả về ret_val
}
tĩnh công khai EnumSet getHebrewSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(IL)
trả về ret_val
}
tĩnh công khai EnumSet getHinduSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(IN)
trả về ret_val
}
tĩnh công khai EnumSet getThaiSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(TH)
trả về ret_val
}
tĩnh công khai EnumSet getGreekSupport() {
EnumSet cuối cùng< LocaleCalendarExtensions > ret_val = EnumSet.noneOf( LocaleCalendarExtensions.class )
ret_val.add(GR)
trả về ret_val
}
}

Bây giờ làm thế nào để chuyển đổi chính xác ngày sang địa phương quốc tế:

 /**
*
* @param lang nơi nhà cung cấp mã lang là ar en cn fr ur nó theo khai báo chính của LocaleCalendarExtensions Enum
* @param ngày đã cho
* Định nghĩa định dạng @param trong trường hợp đó tôi có mệnh đề để xử lý HH:mm, v.v. chỉ cần đọc qua mã bên dưới
* @trở lại
*/
public static String ConvertDate(String lang, java.util.Date date, String format) {
Đầu ra StringBuilder=StringBuilder mới()
if (lang != null && ngày) {
def đã tìm thấy = LocaleICUCalendarExtensions?.find{it.toString()==lang}
nếu (tìm thấy) {
def Found1 = LocaleExtensions?.valueOf(lang)
com.ibm.icu.util.ULocale locale = mới com.ibm.icu.util.ULocale(found1.value)
lịch com.ibm.icu.util.Calendar = com.ibm.icu.util.Calendar.getInstance(locale)
lịch.setTime(ngày)
com.ibm.icu.text.DateFormat df
if (định dạng == 'HH:mm') {
df = com.ibm.icu.text.DateFormat.getPatternInstance( com.ibm.icu.text.DateFormat.HOUR_MINUTE, ngôn ngữ)
} khác {
if (format=='dd MMM yyyy HH:mm:ss') {
df = com.ibm.icu.text.DateFormat.getDateInstance(DateFormat.FULL, miền địa phương)
} khác nếu (format=='dd MMM') {
df = com.ibm.icu.text.DateFormat.getPatternInstance( com.ibm.icu.text.DateFormat.ABBR_MONTH_DAY, ngôn ngữ)
} khác {
df = com.ibm.icu.text.DateFormat.getDateInstance(DateFormat.LONG, locale)
}
đầu ra << df.format(calendar)
}

}
}
trả về đầu ra.toString()
}

Để chuyển đổi số sang hệ thống đánh số của quốc gia khác:

/**
* Chuyển đổi số sang ngôn ngữ nhất định
* @param lang
* số @param
* @trở lại
*/
public static String ConvertNumber(String lang, number) {
Đầu ra chuỗi=''
nếu (lang != null) {
boolean arabic = (LocaleCalendarExtensions.arabicSupport.find { it.toString() == lang } ? true : false)
boolean china = (LocaleCalendarExtensions.chinaSupport.find { it.toString() == lang } ? true : false)
boolean Japan = (LocaleCalendarExtensions.japanSupport.find { it.toString() == lang } ? true : false)
boolean farsi = (LocaleCalendarExtensions.farsiSupport.find { it.toString() == lang } ? true : false)
boolean tiếng Urdu = (LocaleCalendarExtensions.urduSupport.find { it.toString() == lang } ? true : false)
boolean hebrew = (LocaleCalendarExtensions.hebrewSupport.find { it.toString() == lang } ? true : false)
boolean greek = (LocaleCalendarExtensions.greekSupport.find { it.toString() == lang } ? true : false)
boolean Hindu = (LocaleCalendarExtensions.hinduSupport.find { it.toString() == lang } ? true : false)
boolean thai = (LocaleCalendarExtensions.thaiSupport.find { it.toString() == lang } ? true : false)
if (tiếng Ả Rập || tiếng Hin-ddi | tiếng Thái || tiếng Farsi|| tiếng Urdu) {
def đã tìm thấy = LocaleExtensions?.valueOf(lang)
nếu (tìm thấy) {
Ngôn ngữ địa phương = new Locale.Builder().setLanguageTag(found.value).build();
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(locale);
NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
số chắc chắn
if (number.toString().indexOf('.')>-1) {
số=số là gấp đôi
} khác {
số=số dài
}
đầu ra = (numberFormat?.format(numbers)) ?:''
}
}
if (Nhật Bản|Trung Quốc||tiếng Do Thái||Hy Lạp) {
// để mở rộng các kiểu tra cứu ở đây
//http://www.atetric.com/atetric/javadoc/com.ibm.icu/icu4j/49.1/src-html/com/ibm/icu/util/ULocale.html
//http://icu-project.org/~yoshito/jacoco_57.1/com.ibm.icu.util/ULocale.java.html
com.ibm.icu.util.ULocale miền địa phương

nếu (Nhật Bản) {
locale= new com.ibm.icu.util.ULocale("ja_JP_JP")//ja_JP_JP //
}
nếu (trung quốc) {
locale= new com.ibm.icu.util.ULocale("zh_Hans")//zh_CN_TRADITIONAL@collation=pinyin;
}
nếu (tiếng Do Thái) {
locale= com.ibm.icu.util.ULocale("he_IL") mới

}
nếu (tiếng Hy Lạp) {
locale= mới com.ibm.icu.util.ULocale("el_GR")
}
com.ibm.icu.text.NumberFormat nf = com.ibm.icu.text.NumberFormat.getInstance(locale)
số chắc chắn
if (number.toString().indexOf('.')>-1) {
số=số là gấp đôi
} khác {
số=số dài
}
đầu ra = nf.format(số)
}
}
trả về đầu ra ?: number.toString()
}

Bây giờ, nếu bạn đang sử dụng grails, bạn có thể tạo một taglib và ghi đè các định nghĩa formatDate và formatNumber để sử dụng mã ở trên:

 /**
* ghi đè định dạng ngày mặc định nếu dịch dịch
*/

định dạng defDate={attrs->
Bản ghi tìm thấy chuỗi
if (attrs.locale) {
Chuỗi lang = attrs.locale.country
FoundRecord = NumberHelper.convertDate(lang, attrs.date, attrs.format)
}
if (!foundRecord || FoundRecord=='null') {
out << g.formatDate(attrs)
} khác {
out << đã tìm thấyRecord
}
}


/**
* Ghi đè số định dạng mặc định và dịch số nếu có thể, nếu không thì chạy mặc định
*/
định dạng defNumber={attrs->
chắc chắn đã tìm thấyBản ghi
if (attrs.locale && attrs.number) {
Chuỗi lang = attrs.locale.country
FoundRecord = NumberHelper.convertNumber(lang, attrs.number)
}
if (!foundRecord) {
out << g.formatNumber(attrs)
} khác {
ra << "${foundRecord}"
}
}

Bảng liệt kê ICU4J ở trên:

nhập groovy.transform.CompileStatic


@CompileStatic
enum LocaleIUCCalendarExtensions {
SA('ar_SA@calendar=islamic'),
AM('hy_AM@calendar=armenian'),
CN('zh_Hans@calendar=chinese'),
CZ('cs_CZ@calendar=latin'),
DK('da_DK@calendar=latin'),
NL('nl_NL@calendar=latin'),
IE('ie_IE@calendar=latin'),
FR('fr_FR@calendar=latin'),
DE('de_DE@calendar=latin'),
GR('el_GR@calendar=greek'),
IL('iw_IL@calendar=tiếng Do Thái'),
IN('hi_IN@calendar=hindu'),
CNTT('it_IT@calendar=Latin'),
JP('ja_JP_TRADITIONAL@calendar=japanese'),
KHÔNG('nb_NO@calendar=latin'),
IR('fa_IR@calendar=persian'),
PL('pl_PL@calendar=latin'),
PT('pt_PT@calendar=latin'),
RU('ru_RU@calendar=cyrillic'),
ES('es_ES@calendar=latin'),
SE('sv_SE@calendar=latin'),
TH('th_TH_TRADITIONAL@calendar=buddhist'),
TR('tr_TR@calendar=latin'),
PK('ur_PK@calendar=pakistan'),
VN('vi_VN@calendar=latin')

Giá trị chuỗi

LocaleICUCalendarExtensions(String val) {
giá trị này = val
}
Chuỗi công khai getValue(){
giá trị trả về
}
tĩnh LocaleICUCalendarExtensions byValue(String val) {
value().find { it.value == val }
}
tĩnh công khai EnumSet getArabicSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(SA)
trả về ret_val
}
tĩnh công khai EnumSet get JapanSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(JP)
trả về ret_val
}

tĩnh công khai EnumSet getChinaSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(CN)
trả về ret_val
}

tĩnh công khai EnumSet getFarsiSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )

ret_val.add(IR)
trả về ret_val
}
tĩnh công khai EnumSet getUrduSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(PK)
trả về ret_val
}

tĩnh công khai EnumSet getHebrewSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(IL)
trả về ret_val
}
tĩnh công khai EnumSet getHinduSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(IN)
trả về ret_val
}
tĩnh công khai EnumSet getThaiSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(TH)
trả về ret_val
}
tĩnh công khai EnumSet getGreekSupport() {
EnumSet cuối cùng< LocaleICUCalendarExtensions > ret_val = EnumSet.noneOf( LocaleICUCalendarExtensions.class )
ret_val.add(GR)
trả về ret_val
}
}

Bảng liệt kê LocaleExtensions hơi giống LocaleCalendar, ngoại trừ việc nó có nu thay vì ca.

nhập groovy.transform.CompileStatic

/**
* Có vẻ phức tạp nhưng sẽ giải thích
*
*ar-SA u = unicode nu = số Ả Rập = tiếng Ả Rập
*
* https://www.iana.org/taskments/lingu-subtag-registry/lingu-subtag-registry
* để lấy mã ngôn ngữ như arab = subtag
*
* Phần còn lại được giải thích ở đây
* http://stackoverflow.com/questions/43456068/java-locale-builder-setextensionlocale-unicode-locale-extension
*
*
*/
@CompileStatic
enum LocaleExtensions {
SA('ar-SA-u-nu-arab'),
AM('hy-AM-u-nu-arevmda'),
CN('zh-TW-u-nu-arab'), //'zh-TW-u-nu-hant'
CZ('cs-CZ-u-nu-latn'),
DK('da-DK-u-nu-latn'),
NL('nl-NL-u-nu-latn'),
IE('ie-IE-u-nu-latn'),
FR('fr-FR-u-nu-latn'),
DE('de-DE-u-nu-latn'),
GR('el-GR-u-nu-grek'),
IL('iw-IL-u-nu-hebr'),
IN('hi-IN-u-nu-hindu'),
CNTT('it-IT-u-nu-latn'),
JP('ja-JP-u-nu-arab'),
KHÔNG('nb-NO-u-nu-latn'),
IR('fa-IR-u-nu-arab'),
PL('pl-PL-u-nu-latn'),
PT('pt-PT-u-nu-latn'),
RU('ru-RU-u-nu-cyrl'),
ES('es-ES-u-nu-latn'),
SE('sv-SE-u-nu-latn'),
TH('th-TH-u-nu-thai'),
TR('tr-TR-u-nu-latn'),
PK('ur-PK-u-nu-arab'),
VN('vi-VN-u-nu-latn')

Giá trị chuỗi

LocaleExtensions(String val) {
giá trị này = val
}
Chuỗi công khai getValue(){
giá trị trả về
}
LocaleExtensions tĩnh byValue(String val) {
value().find { it.value == val }
}
tĩnh công khai EnumSet getArabicSupport() {
EnumSet cuối cùng< LocaleExtensions > ret_val = EnumSet.noneOf( LocaleExtensions.class )
ret_val.add(SA)
//TODO
ret_val.add(JP)
ret_val.add(CN)
trả về ret_val
}
tĩnh công khai EnumSet getFarsiSupport() {
EnumSet cuối cùng< LocaleExtensions > ret_val = EnumSet.noneOf( LocaleExtensions.class )
ret_val.add(PK)
ret_val.add(IR)
trả về ret_val
}

tĩnh công khai EnumSet getAsianSupport() {
EnumSet cuối cùng< LocaleExtensions > ret_val = EnumSet.noneOf( LocaleExtensions.class )
ret_val.add(JP)
ret_val.add(CN)
trả về ret_val
}
công khai EnumSet getHebrewSupport() {
EnumSet cuối cùng< LocaleExtensions > ret_val = EnumSet.noneOf( LocaleExtensions.class )
ret_val.add(IL)
trả về ret_val
}
công khai EnumSet getHinduSupport() {
EnumSet cuối cùng< LocaleExtensions > ret_val = EnumSet.noneOf( LocaleExtensions.class )
ret_val.add(IN)
trả về ret_val
}
tĩnh công khai EnumSet getThaiSupport() {
EnumSet cuối cùng< LocaleExtensions > ret_val = EnumSet.noneOf( LocaleExtensions.class )
ret_val.add(TH)
trả về ret_val
}
tĩnh công khai EnumSet getGreekSupport() {
EnumSet cuối cùng< LocaleExtensions > ret_val = EnumSet.noneOf( LocaleExtensions.class )
ret_val.add(GR)
trả về ret_val
}
}

Điều này rõ ràng bao gồm nhiều ngôn ngữ và theo cách nói đầy châm biếm của Bernard Manning, nó hoạt động tốt với tôi

Ngày được chia thành java và icu4j được hỗ trợ theo mặc định và sau đó khi được hiểu rõ hơn, tất cả đều được chuyển sang icu4j. Tôi nghĩ hệ thống đánh số vẫn được sử dụng một nửa và cũng có thể được chuyển sang icu4j.

Dù sao thì câu trả lời là một đoàn tàu trật bánh, từ lúc bắt đầu đến nay nó đang chuyển đổi các ký tự số thành các ký tự số như từ tiếng Latin sang tiếng Ả Rập, điều này thật khó hiểu khi công việc được đưa ra trong năm tiếng Ả Rập năm 2016 ở Ả Rập Saudi, năm tương đương và chính xác sẽ là 1354, hoặc ở Thái Lan tôi nghĩ là 2056

Về java Locale.Builder setExtension(Locale.UNICODE_LOCALE_EXTENSION, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/43456068/

34 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress