Tôi đang gặp phải một vấn đề ở đây.Bắt ngôn ngữ hệ điều hành trong java
Tôi là người Pháp và đang làm việc trên phiên bản tiếng Anh của Windows XP. Do đó, tôi đặt các tùy chọn khu vực thành tiếng Pháp, nhưng vẫn có giao diện người dùng bằng tiếng Anh.
Tôi đang làm việc trên một ứng dụng Java SE nhỏ và quyết định quốc tế hóa nó bằng cách sử dụng gói tài nguyên.
Để hiển thị ngôn ngữ thích hợp, tôi có thể tạo các bó với chức năng này:
private static ResourceBundle bundle = ResourceBundle
.getBundle("locale.Strings", Locale.getDefault());
Nhưng Locale.getDefault() chức năng trả về thiết lập khu vực (có nghĩa là: tiếng Pháp) và không phải là ngôn ngữ hệ thống giao diện người dùng. Do đó, giao diện người dùng của tôi mặc định là tiếng Pháp, trong môi trường tiếng Anh. Và tốt, đó không thực sự là những gì tôi mong đợi ...
Có ai biết cách khôi phục ngôn ngữ giao diện người dùng hệ thống độc lập không? Cảm ơn bạn trước!
Chỉnh sửa: cố định Local to Locale, cảm ơn.
Vâng, có vẻ như với tôi rằng những gì Java làm là điều đúng. Nếu bạn cấu hình hệ điều hành của bạn với các tùy chọn tiếng Pháp và hệ điều hành sẽ hiển thị tất cả mọi thứ bằng tiếng Anh, nhưng không phải Java, hệ điều hành là không đúng, nhưng Java là, phải không? Nếu bạn muốn tất cả mọi thứ bằng tiếng Anh, tại sao bạn không cấu hình nó với sở thích tiếng Anh? –
không nên là 'Locale.getDefault()' chứ không phải 'Local.getDefault()'? –
@ JBNizet nó không phải là một yêu cầu bất thường như vậy. Tôi là người Hà Lan và, như OP, tôi thích ngôn ngữ GUI của mình là tiếng Anh, trong khi vẫn có định dạng số và định dạng ngày hiển thị theo cách tôi đã sử dụng từ miền địa phương của mình (ví dụ: ngày tháng đầu tiên của Hoa Kỳ là khá gây nhầm lẫn cho tôi, yêu cầu phân tích thêm thời gian trong bộ não của tôi). Các bản dịch phần mềm thường rất khốc liệt, gấp đôi trong các lĩnh vực như lập trình mà thuật ngữ là tiếng Anh. – Barend