Почему нет языкового стандарта «Euro English»?

93

Я использовал несколько причудливый en_DK.UTF-8языковой стандарт при установке новой системы, потому что это привело бы (примерно) к желаемым языковым результатам, даже если я не в Дании.

  • Метрика измерений
  • Разумные форматы даты и времени, но названия дней и месяцев на английском языке
    • 24-часовой формат времени
    • Рабочая неделя начинается в понедельник
    • Числовая дата в (чем-то напоминающем) формате ISO, гггг-мм-дд
    • Неофициальная дата - дд / мм, а не наоборот
  • Размер бумаги A4
  • Евро валюта
  • Системные сообщения на английском языке

Увы, Ubuntu и Debian, похоже, больше не поддерживают en_DKлокаль. Я думал, что должно быть что-то вроде en_EU«евро-английского».

К каждому месту, где я работал, предъявлялись такие требования: официальным языком организации является английский, но мы хотим, чтобы по умолчанию континентальные европейские страны применялись по умолчанию.

Я представляю, что я не первый, кто думает, что английский язык, не зависящий от местоположения, пойдет на пользу и мне лично, и организациям, в которых я работаю. Так почему же его не существует, и где мне искать дальнейшие обсуждения и обоснование?

... Или я должен пойти дальше и предложить это? Кому?

tripleee
источник
1
Я уверен, что это был бы хороший вопрос где-нибудь в сети StackExchange, но это не проблема программирования, не так ли?
1
Вы меня здесь запутали. Дания никогда не принимала Евро AFAIK, и тестирование Debian, и нестабильная версия по-прежнему имеют локаль en_DK (с валютой DKK / kr)
Стефан Шазелас
1
На самом деле я только что жил с тем фактом, что у него была неправильная валюта; Мне действительно не нужна эта функция, но она стала одной из вещей, которую нужно включить в вопрос для полноты картины. Этот en_DKязык странное любопытство; откуда он возник, и почему нет случайных английских локалей для других стран? Вряд ли в Дании необычно высокое соотношение носителей английского языка.
tripleee
5
@Jeach: кто потеряет контроль? За что? Это плохо? Почему суверенное государство является хорошим и / или единственным приемлемым заинтересованным лицом для этого? Испанские настройки для Северной Америки звучат довольно аналогично моему сценарию; Я почти уверен, что на это будет спрос. И я не понимаю, почему сценарий Cree должен быть исключен, хотя реальный спрос был бы разумным требованием от стандартизирующего органа.
tripleee
2
Я сочувствую, но я также удивлен тем, что вы пишете «организация» с правописанием, характерным для двух или трех стран (например, en_US, может быть en_CA), а не так, как это делают большинство англоязычных на международном уровне. Реальное решение, IMHO, состоит в том, чтобы иметь отдельные настройки для разных контекстов. Например, когда я живу в США, я предпочитаю использовать нормальные английские и стандартные измерения, но размеры бумаги в США. Однако тот факт, что американцы называют свои странные измерения «английскими», добавляет путаницы - англичане использовали в основном метрики на протяжении десятилетий, и многие их единицы отличались от американских.
Майкл Шепер

Ответы:

13

(a) Сущность, известная как хранилище данных Unicode Common Locale, кажется, является местом, которое обрабатывает локали. Вики glibc указывает, что они будут следовать CLDR .

(b) У них есть локаль, известная как "en_150", которая, кажется, предназначена для того, чтобы делать то, что вы хотите. Я не уверен, что glibc это реализовал. Существует также похожая локаль, известная как en_BE, которая идентична en_150, за исключением того, что она имеет региональный охват BE, а не во всем мире.

SnakeRoot
источник
Интересно, но я попробовал export LC_TIME=en_150.UTF-8(и en_BE) на Xubuntu 14.04 LTS, и он отображаетbash: warning: setlocale: LC_TIME: cannot change locale (en_150.UTF-8): No such file or directory
baptx
79

en_IE.UTF-8 В английской (Ирландской) локали есть все, что вы просите:

  • Метрика измерений - да
  • 24-часовой формат времени - да
  • Рабочая неделя начинается в понедельник - да
  • Числовая дата в (чем-то напоминающем) формате ISO, гггг-мм-дд - нет , это локаль dd/mm/yy. Но это кажется достаточно близко к тому, что вы привыкли
  • Неформальная дата дд / мм, а не наоборот - да
  • Размер бумаги А4 - да
  • Евро валюта - да
  • Системные сообщения на английском языке - да

Я на самом деле использую эту локаль, хотя я нахожусь в Амстердаме, поскольку я не знаю ни одной английской (паневропейской) локали.

КСТАТИ. не делайте ошибку, выбирая ga_IE.UTF-8ирландский язык (Ирландия), так как это ирландский гэльский язык.

Vartec
источник
1
Ах, старый добрый ирландец! Отличная находка.
3
Я принимаю этот ответ, так как он решает проблему к моему полному удовлетворению. Я все еще хотел бы найти указатели на то, предлагался ли «универсальный английский» языковой стандарт в прошлом и / или куда такое предложение следует отправлять. Часть этого вопроса, касающаяся процесса стандартизации библиотек, является причиной, по которой я первоначально разместил ее в PSE, но я не знаю, подходит ли она там (или где-либо еще в сети * SE).
tripleee
@tripleee: единственное, что приходит на ум, это панъевропейская версия Windows 98 на английском языке, но с европейским языком и поддержкой европейских символов. Я не слышал о каких-либо попытках создать официальную локаль Pan-Euro.
vartec
Я набрал команду "sudo update-locale LANG = en_IE.UTF-8 LC_MESSAGES = POSIX" и после перезагрузки, когда вы отвечаете на электронное письмо с помощью Thunderbird, он будет использовать стандартный dd / mm / yy, а не yyyy-mm-dd ( Я пробовал с Ubuntu 14.04 и Thunderbird 31.1.2).
baptx
Универсальная английская локаль, возможно, должна рассматривать тысячи отдельно. Да, все (носители) носителей английского языка используют запятую (я думаю?), Но многие европейцы используют точку ( .) даже при написании английского. Я начинаю убеждаться, что апостроф '(используемый швейцарцами), с .дробной частью, будет хорошим кандидатом. Это работает в CSV-файлах, и я не знаю нигде, где используются 'для дробных чисел.
Аарон МакДейд
9

Язык en_DK на самом деле не имеет ничего общего с Данией, кроме ее названия. Первоначально он был создан кем-то, кто хотел того же, что и здесь, - разумного набора значений по умолчанию для говорящего на английском языке в Европе. Название en_DK является своего рода шуткой - все названия локалей в то время состояли из кода языка и кода страны (во второй позиции не было кодов континентов или чего-либо еще), и по какой-то причине Дания была выбрана в качестве код страны-заполнителя. (... и, вероятно, с тех пор более чем один мистифицированный человек исследовал долю людей в Дании, чей родной язык - английский. :))

Дэвид
источник
5
Есть ли у вас источник для DK, который был выбран причудливо? (Я согласен, что это единственная локаль с разумными настройками ...)
Celada
1
Согласитесь, что этот ответ выиграет, по крайней мере, от отдельных указателей для дальнейшего исследования. Но спасибо за этот лакомый кусочек уже.
tripleee
По-видимому, в Unicode есть локаль
en_DK
1
Единственная проблема заключается в том, что он использует DKK в качестве валюты.
Ален Сильяк
4

Вот почему вы используете разные локали для разных вещей.

В моем случае я смешиваю en_GB и sv_SE, чтобы получить то, что мне нужно, и это выглядит так:

$> locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=sv_SE.utf8
LC_TIME=sv_SE.utf8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=sv_SE.utf8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=sv_SE.utf8
LC_NAME=sv_SE.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.utf8
LC_IDENTIFICATION=sv_SE.UTF-8
LC_ALL=

Но вы, вероятно, замените sv_SE на dk_DK.

И чтобы получить € используйте LC_MONETARY = en_IE.UTF-8

Затем я сохраняю свой конфиг как много экспортов в ~ / .profile

export LC_MONETARY="en_IE.UTF-8"

Это даст вам возможность выбирать «правильные» вещи из разных областей.

Johan
источник
На самом деле я бы не стал заменять sv_SEна dk_DK- как я уже говорил в своем вопросе, я выбрал датские настройки, потому что они по совпадению и несколько смущающе предлагали нужные мне функции, даже если у меня нет причин или желания иметь что-то конкретное для Дании в моих настройках, и на самом деле это то, чего я пытаюсь избежать. В некоторой степени аналогично, sv_SEимеет (какой-то) смысл, LC_TIMEнезависимо от того, где вы находитесь в мире, потому что Швеция использует даты ISO по стандарту, в отличие от многих других языков.
tripleee
3

На самом деле, я считаю, что есть язык, который соответствует вашим требованиям лучше, чем en_IE. Это неофициально, но это так en_SE.UTF-8. Это ссылка, которая указывает на файл локали.

Он в основном копирует sv-SE, который должен получить все, что вы хотите (хотя я не проверял дважды), но дает вам системные сообщения на английском языке, меню и т. Д. Я использовал его раньше, и он работал очень хорошо для меня в попрактикуйтесь, несмотря на предостережения в блоке комментариев в верхней части файла.

Установить:

  1. скачать так, чтобы файл локали был доступен как /usr/share/i18n/locales/en_SE
  2. бегать sudo localedef -i en_SE -f UTF-8 en_SE.UTF-8
  3. добавить /var/lib/locales/supported.d/localв строку en_SE.UTF-8 UTF-8(может отличаться в зависимости от дистрибутива; Debian Squeeze / 6.0, кажется, доволен /etc/locale.gen)
  4. бегать sudo locale-gen
  5. установите язык системы или учетной записи по умолчанию en_SE.UTF-8(например, через /etc/default/localeсистемы, подобные Debian)
  6. перезагрузите или выйдите и снова включите, чтобы активировать новую локаль
CVn
источник
6
Но Швеция не приняла €.
Mouviciel
@mouviciel Разве Ирландия?
CVN
5
Да
Mouviciel
1
Кроме того, у этого есть определенный недостаток (наряду с en_DK), что это явно неочевидный обходной путь для людей, не живущих в этой конкретной стране. Вы можете утверждать, что en_IEэто не полностью соответствует этому (дополнительному) требованию; но, по крайней мере, можно логически рассуждать о проблеме и прийти к ней как к достаточно справедливому выводу (хотя я лично не пришел к нему, основываясь на множественных ложных предположениях о том, как все происходит в Ирландии).
tripleee
1
Кроме того, локаль путешествует с вами, когда вы sshподключаетесь к удаленным системам, и вы получите всевозможные раздражающие предупреждения, если ваша локаль также не установлена ​​в удаленной системе.
tripleee
1

я использую en_IE@euro ISO-8859-15

$ export LC_MONETARY= "en_IE@euro ISO-8859-15" 

... но я не совсем уверен насчет измерений, учитывая использование nl_NL.UTF-8или nl_BE.UTF-8, единственная проблема, с которой я столкнулся, это то, что как только я разрешаю такую ​​библиотеку, другие приложения могут в конечном итоге использовать ее в качестве ссылки для локальной библиотеки и снова начать загружать приложения и сервис на голландском или даже немецком языке.

Прошлой ночью winetricks подвез меня до стены, и vcrun6даже после того, как я изменил все locale-genвозможные подсказки немецкой библиотеки, она все еще продолжала загружать немецкую версию redistributablec++, а потом делала это вручную, полностью запустив exe с вином.

Невероятно, я снова здесь по той же проблеме; на этот раз это APT и местный ад бельгийского репо, склонный к редактированию моей конфигурации локали, он не может, потому что я отредактировал разрешения, поэтому вместо этого я просто получаю жалобы об ошибках:

Fetched 207 kB in 0s (1381 kB/s)
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en",
    LC_ALL = (unset),
    LC_TIME = "nl_BE.UTF-8",
    LC_MONETARY = "en_IE@euro ISO-8859-15",
    LC_ADDRESS = "nl_BE.UTF-8",
    LC_TELEPHONE = "nl_BE.UTF-8",
    LC_MESSAGES = "en_IE.UTF-8",
    LC_NAME = "en_IE.UTF-8",
    LC_MEASUREMENT = "nl_BE.UTF-8",
    LC_IDENTIFICATION = "en_GB.UTF-8",
    LC_NUMERIC = "nl_BE.UTF-8",
    LC_PAPER = "en_IE.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory 

Никаких компромиссов, все или ничего ... единственное другое решение было бы изменить репо, я думаю, но я никогда не буду полностью беспроблемным, поскольку клавиатура - это АЗЕРБАЙДЖАН и по закону она делает только французский из бельгийского голландского ....: ' (

marxengels02
источник
Это звучит странно. Параметры LC_MONETARYили LC_MEASUREMENT, безусловно, не должны влиять на язык каталога сообщений.
tripleee
0

См. Https://github.com/PanderMusubi/locale-en-nl для правильной английской локали для Нидерландов, которую невозможно установить путем повторного микширования существующих локалей в соответствии с их настройками среды LC_.

user10653206
источник