วิธีการเปลี่ยน / แก้ไขภาษาของระบบเมื่อคุณติดตั้งในภาษาที่ไม่เป็นทางการในประเทศของคุณ?


16

ฉันจะตั้งค่าสถานที่ส่วนกลางสำหรับคอมพิวเตอร์ได้อย่างไร

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

ตอนนี้ทุกแอปพลิเคชันบ่นว่าสถานที่นั้นผิด check-language-supportบอกฉันว่าฉันใช้en_ES.UTF-8เป็นภาษาของระบบและสถานที่นั้นผิดแน่นอนไม่มีภาษาสำหรับภาษาอังกฤษในสเปน

ฉันลองใช้การตั้งค่าประเทศ / ภูมิภาคและภาษาของ Kubuntu แต่ไม่สามารถแก้ไขได้ ฉันพยายามใช้export LANG=en_GB.UTF-8และexport LC_ALL=en_GB.UTF-8แล้วsudo dpkg-reconfigure localesและที่เกิดจากการcheck-language-supportที่จะบอกว่าตอนนี้ผมมีการกำหนดค่าที่ถูกต้อง แต่ถ้ามันเป็นก็เพียงในเซสชั่น konsole ว่า ปัญหานี้ยังป้องกันไม่ให้ konsole แสดงตัวอักษรยูนิโค้ดและฉันไม่สามารถใช้ปุ่มกดหรือป้อน 'อักขระนานาชาติ' เช่นñหรือç (ทำงานบนแอปพลิเคชันอื่นเช่น Firefox ที่ฉันใช้เพื่อโพสต์คำถามนี้)

ดังนั้นคำถามคือฉันจะตั้งค่าสถานที่ส่วนกลางสำหรับคอมพิวเตอร์ได้อย่างไร

นี่ไม่ใช่รายงานข้อผิดพลาดฉันอาจจะติดตั้งคอมพิวเตอร์ใหม่ในที่สุดหากฉันไม่สามารถแก้ไขได้ แต่ฉันอยากรู้ว่าฉันสามารถทำงานพื้นฐานนี้ได้อย่างไร

ขอขอบคุณ.

$ check-language-support
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
hunspell-en-ca libreoffice-help-en-gb libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au wspanish

$ cat /etc/default/locale
LANG="en_US.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"


$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_ES.UTF-8
LANGUAGE=en:es:en
LC_CTYPE="en_ES.UTF-8"
LC_NUMERIC=en_ES.UTF-8
LC_TIME=en_ES.UTF-8
LC_COLLATE="en_ES.UTF-8"
LC_MONETARY=en_ES.UTF-8
LC_MESSAGES="en_ES.UTF-8"
LC_PAPER=en_ES.UTF-8
LC_NAME=en_ES.UTF-8
LC_ADDRESS=en_ES.UTF-8
LC_TELEPHONE=en_ES.UTF-8
LC_MEASUREMENT=en_ES.UTF-8
LC_IDENTIFICATION=en_ES.UTF-8
LC_ALL=
$ update-locale
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en:es:en",
        LC_ALL = (unset),
        LC_PAPER = "en_ES.UTF-8",
        LC_ADDRESS = "en_ES.UTF-8",
        LC_MONETARY = "en_ES.UTF-8",
        LC_NUMERIC = "en_ES.UTF-8",
        LC_TELEPHONE = "en_ES.UTF-8",
        LC_IDENTIFICATION = "en_ES.UTF-8",
        LC_MEASUREMENT = "en_ES.UTF-8",
        LC_TIME = "en_ES.UTF-8",
        LC_NAME = "en_ES.UTF-8",
        LANG = "en_ES.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

คำตอบ:


9

มีรายงานข้อผิดพลาดที่นี่: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968 - "การเปลี่ยนประเทศนำไปสู่สถานที่ที่ไม่ถูกต้อง"

วิธีการแก้ปัญหา:

  1. เลือกประเทศภาษาอังกฤษแบบอังกฤษ - ไม่ใช่แบบอังกฤษอเมริกัน (และภาษาสเปน)
  2. หรือแก้ไขด้วยตนเอง~/.kde/env/setlocale.shหลังจากเปลี่ยนการตั้งค่าประเทศ / ภูมิภาคและภาษา

8

ฉันได้แก้ไขปัญหานี้แล้วโดยทำตามขั้นตอนด้านล่าง ฉันกำลังศึกษาว่าโลแคลทำงานอย่างไรและชุดการตั้งค่าที่แตกต่างกันระหว่างดิสทริบิวชันบางตัว (Debian Based เดิม)

ฉันใช้ Linux Mint เป็นระบบจำหน่ายหลักและ Debian เป็นเซิร์ฟเวอร์ระบบของฉัน

แม้ว่าที่จริงแล้ว Ubuntu จะได้รับมาจาก Debian แต่การตั้งค่าภาษาจะแตกต่างกันเล็กน้อย

1) ตรวจสอบว่ามีการติดตั้งและสร้างตำแหน่งที่ตั้งใดในระบบของคุณ:

sudo locale -a

2) ลบโลแคลที่ไม่ต้องการออกโดยใช้คำสั่งต่อไปนี้:

sudo localedef --delete-from-archive <YOUR DESIRED LOCALE HERE>

ตัวอย่างเช่น:

sudo localedef --delete-from-archive en_AG

การกำหนดค่าเริ่มต้นที่อยู่ใน/etc/default/localeนั้นจะถูกแทนที่ด้วยการตั้งค่าส่วนบุคคล (ผู้ใช้ท้องถิ่นเท่านั้น) ที่สร้างโดยแอประบบภาษา การตั้งค่าเหล่านี้อยู่ใน$HOME/.pam_environment( $HOME= ตำแหน่งของโฟลเดอร์หลักของคุณ)

ล้างไฟล์นี้และเขียนการกำหนดค่าที่คุณอาจต้องการ

.pam_environmentไฟล์ของฉัน:

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_CTYPE=pt_BR.UTF-8

ตัวแปร LANG ตั้งค่า LC_ * ที่ไม่ได้กำหนดค่าเป็นชุดของค่าที่ตั้งค่าไว้ที่นั่น ตัวอย่างเช่น:

หากระบบทำการค้นหาตัวแปร LC_TIME และไม่ได้ตั้งค่าระบบจะใช้ค่า LANG เป็นค่าเริ่มต้นสำหรับตัวแปรนั้น (LC_TIME ในกรณีนี้)

.pam_environmentโดยทั่วไปฉันพูดว่า: ตั้งค่าตัวแปรเกือบทั้งหมดpt_BR.UTF-8และภาษาของระบบเป็นภาษาอังกฤษ

ฉันหวังว่าข้อมูลนี้อาจมีประโยชน์


1

คุณจะต้องการใช้คำสั่งupdate-locale เยี่ยมชมหน้านั้นเกี่ยวกับวิธีการใช้งาน โดยทั่วไปคุณเรียกใช้ (ด้วย sudo) โดยมีอาร์กิวเมนต์ตั้งค่าภาษาตามที่คุณต้องการ "Modif [ies] การตั้งค่าสถานที่ส่วนกลาง" ตามความต้องการของคุณ

แก้ไข 1: คุณอาจดูเป็นlocale-genหากหน้าที่ก่อนหน้านี้ไม่เหมาะกับคุณ


ขอขอบคุณ. ฉันลองแล้ว dpkg-reconfigure localesสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดสำหรับภาษาอังกฤษและสเปน ดูเหมือนว่าจะเรียก locale-gen สำหรับชุดภาษาที่ติดตั้งทั้งหมด ฉันยังเรียกlocale-genหาสถานที่หลายแห่งในกรณี ปัญหาคือว่า en_ES ไม่อยู่
Calabacin

ดีมากฉันจะคอยหาทางแก้ไขต่อไป ฉันไม่ได้เห็นปัญหาแบบนี้มานานแล้ว
Zzzach ...

1

เช่นเดียวกับ Freddy Vulto แสดงความคิดเห็นในคำตอบของเขานี่เป็นข้อผิดพลาดที่รู้จักที่รายงานที่นี่: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/1322968

โปรดดูรายงานข้อผิดพลาดนั้นหากคุณต้องการแก้ไขด้วยตนเอง มันสามารถแก้ไขการโทร ~ / .kde / env / setlocale.sh (อาจเป็นไปได้หลังจากการแก้ไข) ท่ามกลางการแก้ไขที่เป็นไปได้อื่น ๆ


1

วิธีแก้ไขปัญหาอื่นคือการใช้นามแฝงภาษาอังกฤษ (สเปน) เป็นภาษาอังกฤษ (สหรัฐอเมริกา):

echo en_ES.UTF-8 en_US.UTF-8 >> /etc/locale.aliases


แม้ว่านี่จะเป็นเพียงวิธีแก้ปัญหา แต่ฉันคิดว่ามันฉลาดและฉันก็ชอบ อาจเป็นไปได้ด้วยเช่นกัน :)
Calabacin

0

ฉันจัดการเพื่อแก้ไขปัญหาชั่วคราวโดยการเปลี่ยนภาษาของระบบจาก American English เป็น British English ตามที่แนะนำไว้ข้างต้น ฉันทำผ่านการตั้งค่าระบบ KDE> กล่องโต้ตอบ> ภาษา มันแสดงข้อความแสดงข้อผิดพลาดว่าไม่อนุญาตให้เปลี่ยนภาษาปัจจุบัน แต่ในทางปฏิบัติมันเป็นเพราะการตั้งค่าใหม่ถูกนำไปใช้เมื่อฉันกดปุ่ม "ใช้" และรีสตาร์ทเครื่อง


0

ฉันมีปัญหาเดียวกันในระบบของฉัน: Kubuntu 16.04 LTS (เคอร์เนล: 4.4.0-31-generic (x86_64)) แต่ฉันแก้ไขมันด้วยวิธีที่ง่ายมาก:

ใน " การตั้งค่าระบบ " ภายใต้แท็บ" การตั้งค่าส่วนบุคคล " คลิกที่ " การตั้งค่าภูมิภาค " เลือก " รูปแบบ " จากเมนูด้านขวา ในด้านซ้ายตรวจสอบ " การตั้งค่าโดยละเอียด " และเปลี่ยนรายละเอียดเช่นตัวเลขหรือเวลาให้เป็นภาษาและภูมิภาคที่คุณต้องการ

(การตั้งค่าระบบ> การตั้งค่าภูมิภาค> รูปแบบ> การตั้งค่าโดยละเอียด)

ฉันรู้ว่ามันเป็นประถม แต่อาจมีประโยชน์สำหรับใครบางคน


-3

พวกคุณทำไมจะบ้า? เพียงคุณไปที่แถบค้นหาหรือ Unity Lens (ถ้า Ubuntu) พิมพ์ "ภาษา" คุณจะพบแอปพลิเคชั่น "ประเทศ / ภูมิภาคและภาษา" ในแท็บ "ประเทศ" เลือกภาษาของสถานที่ที่คุณต้องการ

หากคุณต้องการรักษาสถานที่ปัจจุบันและเปลี่ยนแปลงตัวเลือกอื่น ๆ เช่นรูปแบบวันที่หรืออิมพีเรียลเป็นการวัดแบบเมตริกให้ใช้แท็บอื่น! :)

มีให้ใน Ubuntu distro 14.04 LTS และใหม่กว่า


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