Интернационализация расстояний в Яве - PullRequest
11 голосов
/ 05 октября 2011

Возможно ли в Java без какой-либо дополнительной библиотеки интернационализировать расстояния?

Я имею в виду, что это возможно с датой, временем, валютами, числами ...

Я бы ожидал найти NumberFormat.getDistanceInstance или что-то в этом роде.

Есть ли что-то подобное уже встроено, или я должен сделать свою собственную систему интернационализации для расстояний (в основном, миль против километров)

Ответы [ 2 ]

5 голосов
/ 05 октября 2011

Мне бы очень хотелось услышать о таком форматере, но, к сожалению, я этого не сделал. Проблема в том, что в CLDR таких данных еще нет, поэтому сделать это непросто.

То есть, люди на самом деле долго об этом думают - см. класс ICU . К сожалению, на данный момент кажется, что вы можете приблизиться к определению системы измерения - см. LocaleData и LocaleData.MeasurementSystem .
После этого ты сам по себе. Вы должны оставить это для переводчиков (они должны фактически переводить единицы измерения, а также шаблон форматирования).

2 голосов
/ 05 октября 2011

Нет, в расстояниях, весах и большинстве других единиц измерения JDK-i18n нет ничего, кроме календарей (я знаю, что это не единица измерения, но лунный календарь сильно отличается от григорианского календаря). Даже ОС не имеет такой информации.

Единственное, что вы можете сделать со временем, валютами и цифрами - это форматирование. Нет функции для изменения единицы измерения.

Так что вам нужно построить свой собственный для расстояний: S.

...