Tại sao không có miền địa phương Euro Euro Tiếng Anh?


93

Tôi đã từng sử dụng en_DK.UTF-8ngôn ngữ hơi kỳ cục khi cài đặt một hệ thống mới bởi vì điều đó sẽ tạo ra (khoảng) kết quả miền địa phương tôi muốn, mặc dù tôi không ở Đan Mạch.

  • Số đo
  • Định dạng ngày và giờ hợp lý, nhưng tên ngày và tháng bằng tiếng Anh
    • Định dạng thời gian 24 giờ
    • Tuần làm việc bắt đầu vào thứ Hai
    • Ngày số ở dạng (ít nhất giống với định dạng ISO), yyyy-mm-dd
    • Ngày không chính thức là dd / mm, không phải cách khác
  • Khổ giấy A4
  • Đồng euro
  • Tin nhắn hệ thống bằng tiếng Anh

Than ôi, Ubuntu và Debian dường như không còn hỗ trợ en_DKngôn ngữ. Tôi đã nghĩ rằng nên có một cái gì đó giống như en_EU"Euro English".

Mọi nơi tôi từng làm việc đều có loại yêu cầu này - ngôn ngữ chính thức của tổ chức là tiếng Anh, nhưng chúng tôi muốn mặc định của châu Âu lục địa cho mọi thứ khác.

Tôi đang tưởng tượng tôi không phải là người đầu tiên nghĩ rằng một địa điểm tiếng Anh "không biết địa điểm" sẽ có lợi cho cả cá nhân tôi và các tổ chức tôi làm việc. Vậy tại sao nó không tồn tại, và tôi tìm kiếm các cuộc thảo luận và lý do tiếp theo ở đâu?

... Hay tôi nên đi trước và đề xuất nó? Cho ai?


1
Tôi chắc chắn đây sẽ là một câu hỏi hay ở đâu đó trên mạng StackExchange, nhưng nó không thực sự là một vấn đề lập trình, phải không?

1
Bạn làm tôi bối rối ở đây. Đan Mạch chưa bao giờ áp dụng Euro AFAIK và cả thử nghiệm Debian và không ổn định vẫn có ngôn ngữ en_DK (với tiền DKK / kr)
Stéphane Chazelas

1
Thật ra tôi đã sống với thực tế là nó có tiền tệ sai; Tôi không thực sự cần tính năng đó, nhưng nó xuất hiện như một trong những điều cần bao gồm trong câu hỏi vì sự hoàn chỉnh. Địa en_DKđiểm này là một sự tò mò kỳ lạ; nó bắt nguồn từ đâu và tại sao không có các địa phương tiếng Anh ngẫu nhiên cho các quốc gia khác? Hầu như Đan Mạch có tỷ lệ người nói tiếng Anh cao bất thường.
tripleee

5
@Jeach: ai sẽ mất kiểm soát? Hơn những gì? Đó có phải là một điều xấu? Tại sao một quốc gia có chủ quyền là tốt, và / hoặc là bên liên quan duy nhất được chấp nhận cho việc này? Các thiết lập của Tây Ban Nha cho Bắc Mỹ nghe có vẻ khá giống với kịch bản của tôi; Tôi khá chắc chắn rằng sẽ có nhu cầu cho điều đó. Và tôi cũng không thấy lý do tại sao kịch bản Cree nên bị loại trừ, mặc dù nhu cầu trong thế giới thực sẽ là một yêu cầu hợp lý từ một cơ thể tiêu chuẩn hóa.
tripleee

2
Tôi đồng cảm, nhưng tôi cũng thích thú rằng bạn đang đánh vần 'tổ chức' bằng cách đánh vần cụ thể cho hai hoặc ba quốc gia (ví dụ en_US, có thể en_CA), và không phải là cách mà hầu hết những người nói tiếng Anh quốc tế sẽ làm. Giải pháp thực sự, IMHO, là có các cài đặt riêng cho các bối cảnh khác nhau. Ví dụ, khi tôi sống ở Mỹ, tôi thích sử dụng các phép đo tiêu chuẩn và tiếng Anh thông thường, nhưng kích cỡ giấy của Hoa Kỳ. Việc người Mỹ gọi các phép đo kỳ quặc của họ là 'Tiếng Anh' làm tăng thêm sự nhầm lẫn, mặc dù người Anh đã sử dụng phần lớn số liệu trong nhiều thập kỷ và nhiều đơn vị của họ khác với Hoa Kỳ.
Michael Scheper

Câu trả lời:


13

(a) Một thực thể được gọi là Kho lưu trữ dữ liệu địa phương chung Unicode dường như là nơi xử lý các ngôn ngữ. Wiki glibc chỉ ra rằng họ sẽ theo CLDR .

(b) Họ có một miền địa phương được gọi là "en_150" dường như được dự định để làm những gì bạn muốn. Tôi không chắc glibc đã thực hiện nó chưa. Ngoài ra còn có một địa điểm tương tự được gọi là en_BE giống hệt với en_150 ngoại trừ việc nó có phạm vi bảo hiểm khu vực của BE hơn là trên toàn thế giới.



Thú vị nhưng tôi đã thử export LC_TIME=en_150.UTF-8(và en_BE) trên Xubfox 14.04 LTS và nó hiển thịbash: warning: setlocale: LC_TIME: cannot change locale (en_150.UTF-8): No such file or directory
baptx

79

en_IE.UTF-8 Ngôn ngữ tiếng Anh (Ireland) có tất cả những điều bạn yêu cầu:

  • Số liệu đo -
  • Định dạng thời gian 24 giờ -
  • Tuần làm việc bắt đầu vào thứ Hai -
  • Ngày số ở dạng (ít nhất giống với định dạng ISO), yyyy-mm-dd - không , đây là ngôn ngữ địa phương dd/mm/yy. Nhưng điều đó dường như đủ gần với những gì bạn đã từng
  • Ngày không chính thức là dd / mm, không phải theo cách khác -
  • Khổ giấy A4 -
  • Tiền tệ Euro -
  • Tin nhắn hệ thống bằng tiếng Anh -

Tôi thực sự đang sử dụng địa điểm này, mặc dù tôi đang ở Amsterdam, vì không có địa điểm tiếng Anh (Paneur Europe) mà tôi biết.

BTW. đừng nhầm lẫn khi chọn ga_IE.UTF-8ngôn ngữ Ailen (Ireland), vì đó là ngôn ngữ Gaelic Ailen.


1
Ah, người Ailen tốt bụng! Tuyệt vời tìm thấy.

3
Tôi chấp nhận câu trả lời này vì nó giải quyết vấn đề cho sự hài lòng hoàn toàn của tôi. Tôi vẫn muốn tìm các gợi ý về việc liệu một ngôn ngữ "tiếng Anh phổ quát" đã được đề xuất trong quá khứ hay không và / hoặc nơi nào nên gửi một đề xuất như vậy. Phần quy trình chuẩn hóa thư viện của câu hỏi này là lý do ban đầu tôi đăng nó lên PSE, nhưng tôi không biết liệu nó có phù hợp ở đó không (hoặc bất kỳ nơi nào khác trong mạng * SE).
tripleee

@tripleee: điều duy nhất giống như vậy, mà tôi nghĩ đến là phiên bản Windows 98 Pan-European, bằng tiếng Anh, nhưng có ngôn ngữ châu Âu và hỗ trợ cho các ký tự châu Âu. Tôi chưa từng nghe về bất kỳ nỗ lực nào để tạo ra miền địa phương Pan-Euro chính thức.
vartec

Tôi đã gõ lệnh "sudo update-locale LANG = en_IE.UTF-8 LC_MESSAGES = POSIX" và sau khi khởi động lại, khi bạn trả lời email bằng Thunderbird, nó sẽ sử dụng dd / mm / yy tiêu chuẩn và không phải yyyy-mm-dd ( Tôi đã thử với Ubuntu 14.04 và Thunderbird 31.1.2).
baptx

Một địa phương tiếng Anh phổ quát có thể cần phải xem xét hàng ngàn riêng biệt. Có, tất cả những người nói tiếng Anh (bản ngữ) đều sử dụng dấu phẩy (tôi nghĩ vậy?), Nhưng nhiều người châu Âu sử dụng dấu chấm ( .) ngay cả khi viết tiếng Anh. Tôi bắt đầu bị thuyết phục rằng dấu nháy đơn '(được sử dụng bởi người Thụy Sĩ), với .phần phân số, sẽ là một ứng cử viên sáng giá. Nó hoạt động trong các tệp csv và tôi không biết bất cứ nơi nào sử dụng 'cho các số phân số.
Aaron McDaid

9

Địa điểm en_DK thực sự không liên quan gì đến Đan Mạch ngoại trừ tên của nó. Ban đầu nó được tạo ra bởi một người muốn điều tương tự như được yêu cầu ở đây - một bộ mặc định hợp lý cho một người nói tiếng Anh ở châu Âu. Tên "en_DK" là một trò đùa - tất cả các tên địa phương tại thời điểm đó bao gồm mã ngôn ngữ và mã quốc gia (không có mã lục địa hoặc bất kỳ thứ gì khác ở vị trí thứ hai) và vì lý do nào đó Đan Mạch được chọn là mã quốc gia giữ chỗ. (... và có lẽ đã khiến nhiều người bí ẩn kể từ đó nghiên cứu tỷ lệ người Đan Mạch có ngôn ngữ đầu tiên là tiếng Anh. :))


5
Bạn có một nguồn cho DK đã được chọn một cách kỳ lạ? (Tôi đồng ý rằng đó là địa điểm duy nhất ngoài đó với các cài đặt hợp lý ...)
Celada

1
Đồng ý rằng câu trả lời này sẽ được hưởng lợi từ ít nhất các con trỏ giai thoại để nghiên cứu thêm. Nhưng cảm ơn vì miếng ngon này rồi.
tripleee

Rõ ràng là thực sự có miền địa phương en_DK trong unicode
sanmai

1
Vấn đề duy nhất là nó sử dụng DKK làm tiền tệ.
Alen Siljak

4

Đây là lý do tại sao bạn sử dụng ngôn ngữ khác nhau cho những thứ khác nhau.

Trong trường hợp của tôi, tôi trộn en_GB và sv_SE để có được thứ tôi cần và nó trông như thế này:

$> 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=

Nhưng bạn có thể sẽ thay thế sv_SE bằng dk_DK.

Và để nhận €, hãy sử dụng LC_MONETARY = en_IE.UTF-8

Sau đó tôi lưu cấu hình của mình dưới dạng nhiều bản xuất trong ~ / .profile

export LC_MONETARY="en_IE.UTF-8"

Điều này sẽ cho bạn cơ hội để chọn những thứ "chính xác" từ các khu vực khác nhau.


Trên thực tế tôi sẽ không thay thế sv_SEbằng dk_DK- như tôi đã nêu trong câu hỏi của mình, tôi đã chọn cài đặt của Đan Mạch vì chúng trùng hợp và hơi khó hiểu khi cung cấp các tính năng tôi muốn, mặc dù tôi không có lý do hoặc mong muốn có bất cứ điều gì cụ thể về Đan Mạch trong cài đặt của mình, và trên thực tế, đó là những gì tôi đang cố gắng tránh. Tương tự như vậy, sv_SElàm cho (một số loại) có ý nghĩa cho LC_TIMEdù bạn ở đâu trên thế giới, bởi vì Thụy Điển sử dụng ngày ISO theo tiêu chuẩn, không giống như nhiều địa phương khác.
tripleee

3

Trên thực tế, tôi tin rằng có một miền địa phương phù hợp với yêu cầu của bạn tốt hơn en_IE. Nó không chính thức, nhưng nó là en_SE.UTF-8. Đó là một liên kết trỏ đến tập tin miền địa phương.

Về cơ bản, nó sao chép sv-SE, sẽ mang lại cho bạn mọi thứ bạn muốn (mặc dù tôi chưa kiểm tra hai lần), nhưng cung cấp cho bạn các thông báo hệ thống tiếng Anh, menu, v.v. Tôi đã sử dụng nó trước đây và nó hoạt động rất tốt cho tôi thực hành mặc dù có sự cẩn thận trong khối bình luận ở đầu tập tin.

Để cài đặt:

  1. tải xuống để tập tin miền địa phương có thể truy cập như /usr/share/i18n/locales/en_SE
  2. chạy sudo localedef -i en_SE -f UTF-8 en_SE.UTF-8
  3. thêm vào /var/lib/locales/supported.d/localdòng en_SE.UTF-8 UTF-8(có thể khác nhau dựa trên phân phối; Debian Squeeze / 6.0 có vẻ hài lòng với /etc/locale.gen)
  4. chạy sudo locale-gen
  5. đặt ngôn ngữ mặc định của hệ thống hoặc tài khoản của bạn thành en_SE.UTF-8(ví dụ: thông qua /etc/default/localecác hệ thống giống như Debian)
  6. khởi động lại, hoặc đăng xuất và bật lại, để kích hoạt miền địa phương mới

6
Nhưng Thụy Điển đã không chấp nhận €.
mouviciel

@mouviciel Có phải Ireland không?
một CVn


1
Ngoài ra, điều này có một nhược điểm nhất định (cùng với en_DK) rằng đó là một cách giải quyết không thể chối cãi đối với những người không sống ở quốc gia cụ thể đó. Bạn có thể lập luận rằng en_IEkhông hoàn toàn vượt qua yêu cầu (bổ sung) đó; nhưng ít nhất có thể suy luận một cách logic về vấn đề và đạt được điều đó như một kết luận đủ công bằng (mặc dù cá nhân tôi đã không đạt được nó, dựa trên nhiều giả định sai về cách mọi thứ được thực hiện ở Ireland).
tripleee

1
Ngoài ra, miền địa phương đi cùng bạn khi bạn sshđến các hệ thống từ xa và bạn sẽ nhận được tất cả các loại cảnh báo gây phiền nhiễu nếu miền địa phương của bạn cũng không được cài đặt trên hệ thống từ xa.
tripleee

1

tôi sử dụng en_IE@euro ISO-8859-15

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

... nhưng tôi không chắc chắn về các phép đo, xem xét sử dụng nl_NL.UTF-8hoặc nl_BE.UTF-8, vấn đề duy nhất tôi gặp phải là một khi tôi cho phép một thư viện như vậy, các ứng dụng khác có thể sẽ sử dụng nó làm tài liệu tham khảo cho lib cục bộ và lại bắt đầu tải xuống ứng dụng và dịch vụ bằng tiếng Hà Lan hoặc thậm chí tiếng Đức.

winetricks đã đưa tôi lên tường đêm qua vcrun6thậm chí sau khi thay đổi locale-genbất kỳ gợi ý nào về lib của Đức, nó vẫn tiếp tục tải xuống một phiên bản tiếng Đức redistributablec++, cuối cùng đã làm nó bằng tay, hoàn toàn bằng cách khởi động exe bằng rượu vang.

Không ngờ tôi lại ở đây vì vấn đề tương tự; lần này là APT và địa ngục repo địa phương của Bỉ đã quyết định chỉnh sửa cấu hình ngôn ngữ của tôi, không thể vì tôi đã chỉnh sửa các quyền nên thay vào đó tôi chỉ nhận được khiếu nại lỗi:

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 

Tôi không thỏa hiệp, tất cả hoặc không có gì .. giải pháp duy nhất khác là thay đổi repo tôi đoán nhưng tôi sẽ không bao giờ hoàn toàn không gặp rắc rối vì bàn phím là AZERTY và theo luật, nó chỉ có tiếng Pháp của Bỉ Hà Lan ....: ' (


Nghe có vẻ kì lạ. Các cài đặt LC_MONETARYhoặc LC_MEASUREMENTchắc chắn không được cho là ảnh hưởng đến ngôn ngữ danh mục tin nhắn.
tripleee

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.