Локализация чисел в Diablo III

Пару дней назад на официальном сайте Diablo 3 появилась новая статья. В ней были описаны проблемы локализации больших чисел и их сокращений. Разработчики в Blizzard делали сокращения больших чисел для урона, например 500м вместо 500 000 000 и 20т вместо 20 000. Обычному человеку задача может показаться весьма простой, но в многоязыковом приложении это уже не так просто, потому что числа представляются по-разному в разных языках. Для сравнения можно взять американский английский и русский языки. Во-первых, в американском английском используется запятая для разделения групп и точка для разделения десятичной и дробной части. Во-вторых, в американском английском другое обозначение тысяч, миллионов и биллионов.

Небольшая сравнительная таблица:

Американский английский (с сокращением) Русский (с сокращением) Американский английский (полное число) Русский (полное число)
тысячи 123.4k 123,4т 123,400 123 400
миллионы 123.4М 123,4м 123,400,000 123 400 000

Эта таблица ещё не отображает проблемы, возникающие в других языках. В некоторых языках могут цифры группироваться не по три, а по четыре или ещё как-нибудь.

Для решения проблем локализации чисел они использовали библиотеку  International Components for Unicode. Подобные проблемы в многоязыковых приложениях появляются не только с числами, но и с денежными суммами, датами и порой даже картинками.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *