2011-10-05 30 views
10

Có thể trong Java mà không có bất kỳ thư viện phụ nào để quốc tế hóa khoảng cách không?Quốc tế hóa khoảng cách trong java

Tôi có nghĩa là nó có thể xử lý rằng với ngày, giờ, tiền tệ, số ...

tôi dự kiến ​​sẽ có để tìm một NumberFormat.getDistanceInstance hoặc một cái gì đó.

Có một cái gì đó như thế đã được nhúng hay tôi nên làm cho hệ thống quốc tế hóa của riêng mình cho khoảng cách (chủ yếu dặm vs km)

Trả lời

4

Tôi rất thích nghe về trình định dạng như vậy nhưng tiếc là tôi chưa bao giờ làm. Vấn đề là, không có dữ liệu như vậy trong CLDR được nêu ra, do đó, nó không phải là dễ dàng để làm.

Điều đó có nghĩa là mọi người thực sự nghĩ về điều này trong một thời gian dài - xem Measure class của ICU. Thật không may cho bây giờ, có vẻ như gần bạn có thể nhận được là để xác định hệ thống đo lường - xem LocaleDataLocaleData.MeasurementSystem.
Sau đó bạn tự làm. Bạn sẽ cần phải để lại điều này cho người dịch (họ cần phải thực sự dịch đơn vị cũng như định dạng mẫu).

+0

Xem: http://unicode.org/cldr/trac/ticket/4045 –

2

Không, không có gì trong JDK để i18n khoảng cách, trọng lượng và hầu hết các đơn vị đo lường khác là, ngoại trừ cho lịch (Tôi biết nó không thực sự là một đơn vị, nhưng âm lịch là khá khác với lịch Gregorian). Ngay cả hệ điều hành cũng không có loại thông tin đó.

Chỉ i18n bạn có thể thực hiện với thời gian, tiền tệ, số là định dạng. Không có tính năng nào để thay đổi đơn vị đo lường.

Vì vậy, bạn sẽ cần phải xây dựng của riêng bạn cho khoảng cách: S.

+0

'Ngay cả HĐH cũng không có loại thông tin đó' - MS lưu giữ thông tin về việc liệu người dùng có sử dụng hệ mét hoặc hệ thống' Hoa Kỳ', vì vậy điều đó không thực sự đúng. Mặc dù rõ ràng GUI vẫn chịu trách nhiệm về cách nó muốn hiển thị thông tin, nhưng hệ điều hành không cung cấp cho nó thông tin cần thiết. – Voo

+0

Ồ, tôi không biết rằng các cửa sổ có thông tin đó (và chỉ phát hiện ra rằng OS X cũng có nó). Tôi tự hỏi nếu * nix có thông tin này. – Augusto

Các vấn đề liên quan