เหตุใดจึงไม่มีโลแคล“ ยูโรอังกฤษ”


93

ฉันเคยใช้en_DK.UTF-8สถานที่แปลก ๆเมื่อทำการติดตั้งระบบใหม่เพราะนั่นจะทำให้เกิดผลลัพธ์ (โดยประมาณ) สถานที่ที่ฉันต้องการแม้ว่าฉันจะไม่ได้อยู่ในเดนมาร์กก็ตาม

  • ตัวชี้วัดการวัด
  • รูปแบบวันที่และเวลาที่เหมาะสม แต่ชื่อวันและเดือนเป็นภาษาอังกฤษ
    • รูปแบบเวลา 24 ชั่วโมง
    • สัปดาห์ทำงานเริ่มในวันจันทร์
    • วันที่ที่เป็นตัวเลขในรูปแบบ ISO (อย่างน้อยที่คล้ายกัน) yyyy-mm-dd
    • วันที่ไม่เป็นทางการคือ dd / mm ไม่ใช่วิธีอื่น
  • ขนาดกระดาษ A4
  • สกุลเงินยูโร
  • ข้อความระบบเป็นภาษาอังกฤษ

อนิจจาอูบุนตูและเดเบียนดูเหมือนจะไม่สนับสนุนen_DKภาษานั้นอีกต่อไป ฉันคิดว่าควรมีบางอย่างที่เหมือนกับen_EU"ยูโรอังกฤษ"

ทุกที่ที่ฉันทำงานมีข้อกำหนดเช่นนี้ - ภาษาราชการขององค์กรคือภาษาอังกฤษ แต่เราต้องการค่าเริ่มต้นจากยุโรปสำหรับทุกสิ่ง

ฉันจินตนาการว่าฉันไม่ใช่คนแรกที่คิดว่าสถานที่ภาษาอังกฤษ "ที่ไม่เชื่อเรื่องสถานที่" จะเป็นประโยชน์ต่อทั้งตัวฉันเองและองค์กรที่ฉันทำงานด้วย เหตุใดจึงไม่มีอยู่และฉันจะหาการสนทนาและเหตุผลเพิ่มเติมได้ที่ไหน

... หรือฉันควรจะนำเสนอหรือไม่ ถึงผู้ซึ่ง?


1
ฉันแน่ใจว่านี่จะเป็นคำถามที่ดีที่อยู่ในเครือข่าย StackExchange แต่มันไม่ใช่ปัญหาการเขียนโปรแกรมจริง ๆ ใช่ไหม?

1
คุณทำให้ฉันสับสนที่นี่ เดนมาร์กไม่เคยยอมรับ Euro AFAIK และการทดสอบ Debian และความไม่แน่นอนยังคงมีสถานที่ en_DK (ด้วยสกุลเงิน DKK / kr)
Stéphane Chazelas

1
อันที่จริงฉันเพิ่งอยู่กับความจริงที่ว่ามันมีสกุลเงินที่ไม่ถูกต้อง; ฉันไม่ต้องการฟีเจอร์นั้น แต่มันก็เป็นหนึ่งในสิ่งที่จะรวมไว้ในคำถามเพื่อประโยชน์ของความสมบูรณ์ นี้en_DKสถานที่เกิดเหตุเป็นอยากรู้อยากเห็นแปลก; มันมาจากที่ไหนและทำไมไม่มีตำแหน่งที่ตั้งภาษาอังกฤษแบบสุ่มสำหรับประเทศอื่น ๆ มันแทบจะไม่เหมือนเดนมาร์กที่มีอัตราส่วนของการพูดภาษาอังกฤษสูงผิดปกติ
tripleee

5
@Jeach: ใครจะสูญเสียการควบคุม? เหนืออะไร นั่นเป็นสิ่งที่ไม่ดีเหรอ? เหตุใดรัฐผู้ดีจึงเป็นผู้ดีและ / หรือผู้มีส่วนได้เสียที่ยอมรับได้สำหรับเรื่องนี้? การตั้งค่าภาษาสเปนสำหรับอเมริกาเหนือมีความคล้ายคลึงกับสถานการณ์ของฉัน ฉันค่อนข้างแน่ใจว่าจะมีความต้องการสำหรับสิ่งนั้น และฉันไม่เห็นว่าทำไมสถานการณ์สมมติ Cree ควรถูกตัดออกเช่นกันแม้ว่าความต้องการในโลกแห่งความเป็นจริงจะเป็นข้อกำหนดที่สมเหตุสมผลจากร่างกายที่ได้มาตรฐาน
tripleee

2
ฉันเห็นอกเห็นใจ แต่ฉันก็ยังขบขันว่าคุณสะกด 'องค์กร' ด้วยการสะกดที่เฉพาะเจาะจงสำหรับสองหรือสามประเทศ (เช่น en_US อาจ en_CA) และไม่ใช่วิธีที่ผู้พูดภาษาอังกฤษส่วนใหญ่ใช้ในระดับสากล ทางออกที่แท้จริงคือ IMHO คือต้องมีการตั้งค่าแยกต่างหากสำหรับบริบทที่แตกต่างกัน ตัวอย่างเช่นเมื่อฉันอาศัยอยู่ในสหรัฐอเมริกาฉันชอบใช้ภาษาอังกฤษปกติและการวัดขนาดมาตรฐาน แต่ใช้ขนาดกระดาษของสหรัฐอเมริกา ข้อเท็จจริงที่ว่า USAns เรียกว่าการวัดของลูกบอลผิดเพี้ยน 'ภาษาอังกฤษ' จะเพิ่มความสับสนแม้ว่าภาษาอังกฤษนั้นใช้เมตริกเป็นส่วนใหญ่มานานหลายทศวรรษและหลายหน่วยของพวกเขาแตกต่างจากสหรัฐอเมริกา
Michael Scheper

คำตอบ:


13

(a) เอนทิตีที่รู้จักในชื่อUnicode Common Locale Data Repositoryเป็นที่ที่จัดการโลแคล วิกิพีเดีย glibc แสดงให้เห็นว่าพวกเขาจะตาม CLDR

(b) มีสถานที่ที่รู้จักกันในชื่อ "en_150" ซึ่งดูเหมือนว่าตั้งใจจะทำสิ่งที่คุณต้องการ ฉันไม่แน่ใจว่า glibc ใช้งานได้หรือยัง นอกจากนี้ยังมีสถานที่คล้ายกันที่รู้จักกันในชื่อ en_BE ซึ่งเหมือนกับ en_150 ยกเว้นว่ามีการครอบคลุมระดับภูมิภาคของ BE มากกว่าทั่วโลก



ที่น่าสนใจ แต่ฉันได้ลอง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, yyyy-mm-dd - ไม่มันคือตำแหน่งที่ตั้งdd/mm/yyนี้ แต่ดูเหมือนจะใกล้เคียงกับสิ่งที่คุณคุ้นเคย
  • วันที่เป็นทางการคือวัน / เดือนไม่วิธีอื่น ๆ - ใช่
  • ขนาดกระดาษ A4 - ใช่
  • สกุลเงินยูโร - ใช่
  • ข้อความระบบเป็นภาษาอังกฤษ - ใช่

ที่จริงฉันใช้ภาษานี้ถึงแม้ว่าฉันจะอยู่ในอัมสเตอร์ดัมเนื่องจากไม่มีภาษาอังกฤษ (Paneuropean) ที่ฉันรู้

BTW อย่าทำผิดพลาดในการเลือกga_IE.UTF-8ภาษาไอริช (ไอร์แลนด์) เนื่องจากเป็นภาษาเกลิคไอริช


1
ชาวไอริชผู้ดี! หาที่ดี

3
ฉันยอมรับคำตอบนี้เพราะมันแก้ปัญหาเพื่อความพึงพอใจโดยสมบูรณ์ของฉัน ฉันยังต้องการค้นหาตัวชี้ว่าสถานที่ "สากลภาษาอังกฤษ" ได้รับการเสนอในอดีตและ / หรือตำแหน่งที่ควรส่งข้อเสนอดังกล่าว ส่วนหนึ่งของกระบวนการกำหนดมาตรฐานห้องสมุดของคำถามนี้คือเหตุผลที่ฉันโพสต์ไว้ที่ PSE แต่ฉันไม่รู้ว่าเหมาะสมหรือไม่ (หรือที่อื่นในเครือข่าย * SE)
tripleee

@tripleee: สิ่งเดียวที่เป็นเช่นนั้นซึ่งอยู่ในใจคือ Windows 98 Pan-European ซึ่งเป็นภาษาอังกฤษ แต่มีที่ตั้งในยุโรปและรองรับอักขระยุโรป ฉันไม่เคยได้ยินความพยายามใด ๆ ในการสร้างสถานที่เป็นทางการของ 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 และฉันก็ไม่ทราบว่าจะใช้'เลขเศษส่วนที่ไหน
Aaron McDaid

9

โลแคล en_DK ไม่มีส่วนเกี่ยวข้องใด ๆ กับเดนมาร์กยกเว้นชื่อ ตอนแรกมันถูกสร้างขึ้นโดยคนที่ต้องการสิ่งเดียวกันตามที่ร้องขอ - ชุดค่าเริ่มต้นที่สมเหตุสมผลสำหรับผู้พูดภาษาอังกฤษในยุโรป ชื่อ "en_DK" เป็นเรื่องตลก - ชื่อสถานที่ทั้งหมดในเวลานั้นประกอบด้วยรหัสภาษาและรหัสประเทศ (ไม่มีรหัสทวีปหรือสิ่งอื่นใดในตำแหน่งที่สอง) และด้วยเหตุผลใดก็ตามที่เดนมาร์กได้รับเลือกให้เป็น รหัสประเทศของตัวยึดตำแหน่ง (... และอาจก่อให้เกิดบุคคลที่ลึกลับมากกว่าหนึ่งคนตั้งแต่นั้นมาเพื่อศึกษาสัดส่วนของผู้คนในประเทศเดนมาร์กซึ่งภาษาแรกเป็นภาษาอังกฤษ :))


5
คุณมีแหล่งที่มาสำหรับ DK ที่ได้รับเลือกอย่างกระทันหันหรือไม่? (ฉันจะเห็นมันเป็นสถานที่เดียวที่ออกมามีการตั้งค่าที่เหมาะสม ... )
Celada

1
ยอมรับว่าคำตอบนี้จะได้รับประโยชน์จากตัวชี้วัดอย่างน้อยสำหรับการวิจัยเพิ่มเติม แต่ขอบคุณสำหรับชิ้นอาหารอันโอชะนี้แล้ว
tripleee

เห็นได้ชัดว่ามีจริงen_DK สถานที่ใน Unicode
Sanmai

1
ปัญหาเดียวคือมันใช้ DKK เป็นสกุลเงิน
Alen Siljak

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"

สิ่งนี้จะทำให้คุณมีโอกาสเลือกสิ่งที่ "ถูกต้อง" จากส่วนต่างๆ


ในความเป็นจริงฉันจะไม่แทนที่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บนระบบที่คล้ายเดเบียน)
  6. รีบูตหรือออกจากระบบแล้วเปิดใหม่เพื่อเปิดใช้งานโลแคลใหม่

6
แต่สวีเดนไม่ได้รับรอง€
mouviciel

@mouviciel ได้ไอร์แลนด์
CVn


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ปัญหาเดียวที่ฉันมีคือเมื่อฉันอนุญาตให้ไลบรารีแอปอื่น ๆ อาจใช้มันเป็นข้อมูลอ้างอิงสำหรับ lib ท้องถิ่นและเริ่มดาวน์โหลดแอปอีกครั้ง และบริการในภาษาดัตช์หรือภาษาเยอรมัน

winetricks ขับรถฉันขึ้นกำแพงเมื่อคืนด้วยvcrun6แม้หลังจากเปลี่ยนการlocale-genลบคำใบ้ของ lib เยอรมันใด ๆ มันก็ยังคงดาวน์โหลดเวอร์ชั่นภาษาเยอรมันredistributablec++ในที่สุดก็ทำมันเองด้วยตนเองโดยเปิด exe ด้วยไวน์

ไม่น่าเชื่อฉันอยู่ที่นี่อีกครั้งในประเด็นเดียวกัน; ครั้งนี้เป็น APT และ local repo Hell Belgian ในการแก้ไขการตั้งค่าภาษาของฉันมันไม่สามารถทำได้เพราะฉันแก้ไขสิทธิ์ดังนั้นแทนที่จะได้รับข้อผิดพลาดแทน:

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 

ไม่มีการประนีประนอมทั้งหมดหรือไม่มีอะไร .. วิธีแก้ปัญหาอื่นเท่านั้นที่จะเปลี่ยน repo ฉันเดา แต่ฉันจะไม่มีปัญหาอย่างสมบูรณ์เพราะแป้นพิมพ์เป็น AZERTY และตามกฎหมายมันทำแค่ภาษาฝรั่งเศสของเบลเยียมดัตช์ .... : ' (


ฟังดูแปลก ๆ การตั้งค่าLC_MONETARYหรือLC_MEASUREMENTการตั้งค่าไม่ควรส่งผลกระทบต่อภาษาแค็ตตาล็อกข้อความอย่างแน่นอน
tripleee

0

ดูhttps://github.com/PanderMusubi/locale-en-nlสำหรับสถานที่ภาษาอังกฤษที่เหมาะสมสำหรับเนเธอร์แลนด์ซึ่งไม่สามารถตั้งค่าได้โดยการตั้งค่าสถานที่ที่มีอยู่ของ LC_ ใหม่อีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.