Интернационализация расстояний в java

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

Я имею в виду, что это можно обрабатывать с датой, временем, валютами, цифрами...

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

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

Ответ 1

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

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

Ответ 2

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

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

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