ฉันต้องการเปลี่ยนภาษาของ git (เป็นภาษาอังกฤษ) ในการติดตั้ง Linux โดยไม่เปลี่ยนภาษาสำหรับโปรแกรมอื่นและไม่พบการตั้งค่า ทำอย่างไร?
ฉันต้องการเปลี่ยนภาษาของ git (เป็นภาษาอังกฤษ) ในการติดตั้ง Linux โดยไม่เปลี่ยนภาษาสำหรับโปรแกรมอื่นและไม่พบการตั้งค่า ทำอย่างไร?
คำตอบ:
เพิ่มบรรทัดเหล่านี้ใน~/.bashrc
หรือ~/.bash_profile
เพื่อบังคับให้คอมไพล์แสดงข้อความทั้งหมดเป็นภาษาอังกฤษ:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
นามแฝงความต้องการที่จะลบล้างLC_ALL
ในบางระบบเมื่อตัวแปรสภาพแวดล้อมมีการตั้งค่าที่มีความสำคัญมากกว่าLC_ALL
LANG
ดูข้อกำหนดUNIX - ตัวแปรสภาพแวดล้อมสำหรับคำอธิบายเพิ่มเติม
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
ในกรณีที่คุณเพิ่มบรรทัดเหล่านี้~/.bashrc
ในนามแฝงจะถูกกำหนดเมื่อเชลล์แบบโต้ตอบใหม่เริ่มทำงาน ในกรณีที่คุณเพิ่มลง~/.bash_profile
ในนามแฝงจะถูกนำไปใช้เมื่อเข้าสู่ระบบ
.bash.rc
แทนที่จะเป็น.bashrc
) คุณต้องปิดและเริ่มเชลล์อีกครั้งเพื่อที่.bashrc
จะดำเนินการ ฉันได้เพิ่มบันทึกเกี่ยวกับเรื่องนี้เช่นกัน
.bashrc
แม้จะรีสตาร์ท นามแฝงทำงาน เป็นเพียงภาษาที่ไม่เปลี่ยนแปลง
.bashrc
ดำเนินการสำเร็จคุณสามารถเพิ่มการทดสอบได้เช่นเดียวecho "This is .bashrc"
กับส่วนท้ายของไฟล์ . .bashrc
นอกจากนี้คุณยังจะได้รับมันได้ดำเนินการตามความต้องการโดยไม่ต้องรีสตาร์ทสถานีหรือทั้งระบบโดย สุดท้ายฉันขอแนะนำให้ลองตั้งค่าLC_ALL
ตัวแปรสภาพแวดล้อมแทนLANG
เนื่องจากตัวแปรแรกมีความสำคัญ
.bashrc
จริงๆ ถ้าLC_ALL
มีลำดับความสำคัญนี่จะเป็นปัญหามันถูกตั้งค่าเป็นภาษาของฉัน แต่ฉันไม่ต้องการเปลี่ยนการตั้งค่าภาษาทั่วไป ... ฉันไม่สามารถเขียนทับสำหรับหนึ่งโปรแกรมได้หรือไม่?
$ LC_ALL="en_US" man
แล้ว$ man
หากคุณต้องการมีเพียงคำสั่งเดียวเป็นภาษาอังกฤษแทนคุณสามารถเขียนLC_ALL=C
ก่อนคำสั่งเช่น:
LC_ALL=C git status
จะส่งผลให้
# On branch master
nothing to commit, working directory clean
ภาษาที่ใช้C
เป็นภาษาอังกฤษและสามารถใช้ได้ตลอดเวลาโดยไม่ต้องติดตั้งชุดภาษาเพิ่มเติม
(ดูhttps://askubuntu.com/a/142814/34298 )
หากต้องการเปลี่ยนสำหรับเซสชันทุบตีปัจจุบันทั้งหมดให้ป้อน
LANG=C
หากต้องการเปลี่ยนเช่นป้อนภาษาเยอรมัน
LANG=de_DE.UTF-8
LC_ALL=C
คำแนะนำเนื่องจากฉันมีปัญหาบางอย่างเกี่ยวกับภาษาจึงใช้LC_ALL="en_US"
งานไม่ได้อีกต่อไปเมื่อเร็ว ๆ นี้
การเพิ่มบรรทัดนี้ช่วยแก้ปัญหาให้ฉัน:
$ more ~/.bash_profile
export LANG=en_US
หมายเหตุ: ตั้งแต่ Git 2.3.1+ (Q1 / Q2 2015) Git จะเพิ่มส่วนหัว Accept-Language ถ้าเป็นไปได้
ดูการกระทำ f18604bโดยYi EungJun ( eungjun-yi
)
เพิ่ม
Accept-Language
ส่วนหัวซึ่งบ่งชี้ว่าภาษาที่ต้องการของผู้ใช้ที่กำหนดโดย$LANGUAGE
,$LC_ALL
, และ$LC_MESSAGES
$LANG
สิ่งนี้ทำให้เซิร์ฟเวอร์ git มีโอกาสแสดงข้อความแสดงข้อผิดพลาดระยะไกลในภาษาที่ผู้ใช้ต้องการ
คุณมีสถานที่สำหรับ GUI คอมไพล์หรืออื่น ๆ GUIs ,แต่ไม่ใช่สำหรับบรรทัดคำสั่งเนื่องจากเป็นหนึ่งในคำถามของ GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
แน่นอนตั้งแต่ปี 2010 เป็นต้นมา po/README
อธิบายไว้:
ก่อนที่จะแปลสตริงได้จะต้องมีการทำเครื่องหมายสำหรับการแปลก่อน
Git ใช้อินเทอร์เฟซสากลที่ห่อหุ้ม
gettext
ไลบรารีดังนั้นคำแนะนำส่วนใหญ่ในเอกสาร gettext ของคุณ (บนระบบ GNUinfo gettext
ในเทอร์มินัล) จะนำไปใช้
ในสถานที่ตั้งแต่ git 1.7.9+ (มกราคม 2012):
Git ใช้
gettext
ในการแปลข้อความมากที่สุดติดต่อกันเป็นภาษาของผู้ใช้ถ้าแปลที่มีอยู่และสถานที่เกิดเหตุเป็นที่ตั้งที่เหมาะสม
ผู้จัดจำหน่ายสามารถวางจำหน่ายใหม่PO
ไฟล์po/
เพื่อเพิ่มคำแปลใหม่
ดังนั้นหากการอัปเดตของคุณทำให้การแปลสับสนให้ตรวจสอบสิ่งที่gettext
ใช้:
ดูตัวอย่างเช่น " Locale Environment Variables "
โลแคลประกอบด้วยหมวดหมู่โลแคลหลายประเภทโปรดดูที่แง่มุม เมื่อโปรแกรมค้นหาค่าที่ขึ้นกับโลแคลโปรแกรมจะดำเนินการตามตัวแปรสภาพแวดล้อมต่อไปนี้ตามลำดับความสำคัญ:
LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG
ตัวแปรที่มีการตั้งค่า แต่ว่างเปล่าจะถูกละเว้นในการค้นหานี้
LANG
เป็นตัวแปรสภาพแวดล้อมปกติสำหรับระบุโลแคล ในฐานะผู้ใช้โดยปกติคุณจะตั้งค่าตัวแปรนี้ (เว้นแต่ตัวแปรอื่น ๆ บางตัวได้รับการตั้งค่าโดยระบบใน/etc/profile
หรือไฟล์เริ่มต้นที่คล้ายกัน)
LC_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
และอื่น ๆ เป็นตัวแปรสภาพแวดล้อมหมายถึงการแทนที่LANG
และมีผลกระทบเป็นหมวดหมู่สถานที่เกิดเหตุเพียงคนเดียว
ตัวอย่างเช่นสมมติว่าคุณเป็นผู้ใช้ภาษาสวีเดนในสเปนและคุณต้องการให้โปรแกรมของคุณจัดการกับตัวเลขและวันที่ตามแบบแผนของสเปนและข้อความควรเป็นภาษาสวีเดนเท่านั้น จากนั้นคุณสามารถสร้างโลแคลชื่อ 'sv_ES
' หรือ 'sv_ES.UTF-8
' โดยใช้localedef
โปรแกรม แต่จะง่ายกว่าและได้ผลเช่นเดียวกันตั้งค่าLANG
ตัวแปรเป็นes_ES.UTF-8
และLC_MESSAGES
ตัวแปรเป็นsv_SE.UTF-8
; ตำแหน่งที่ตั้งทั้งสองนี้ได้รับการติดตั้งมาพร้อมกับระบบปฏิบัติการแล้ว
LC_ALL
เป็นตัวแปรสภาพแวดล้อมที่แทนที่สิ่งเหล่านี้ทั้งหมด โดยทั่วไปจะใช้ในสคริปต์ที่เรียกใช้โปรแกรมเฉพาะ ยกตัวอย่างเช่นสคริปต์การกำหนดค่าที่สร้างโดย GNUautoconf
การใช้งานLC_ALL
เพื่อให้แน่ใจว่าการทดสอบการกำหนดค่าไม่ได้ดำเนินการในรูปแบบขึ้นอยู่กับสถานที่เกิดเหตุน่าเสียดายที่บางระบบตั้งค่า
LC_ALL
ใน/etc/profile
หรือในไฟล์การเริ่มต้นที่คล้ายกัน ในฐานะผู้ใช้คุณจึงต้องยกเลิกการตั้งค่าตัวแปรนี้หากคุณต้องการตั้งค่าLANG
และเลือกLC_xxx
ตัวแปรอื่น ๆ
LANG
ในเซสชัน bash / shell / DOS ที่คุณใช้git
ใน (หรือเรียกใช้git-gui
จาก) มีเพียงgit
(หรือgit-gui
) เท่านั้นที่จะใช้การตั้งค่าเฉพาะนั้น โปรแกรมอื่น ๆ ทั้งหมดจะสืบทอดมาจากตัวแปรสภาพแวดล้อมของระบบ / ผู้ใช้
เรียกใช้LC_MESSAGES=C git
ไม่ใช่ LC_ALL = C หรือ LANG = C และไม่จำเป็นต้องลบหรือเปลี่ยนชื่อไฟล์
คำสั่งนี้เปลี่ยนเอาต์พุตข้อความ Git เป็นภาษาอังกฤษ
GIT เริ่มต้นเป็นภาษาอังกฤษหากไม่พบภาษาโลแคล
ดังนั้นหากคุณต้องการให้ GIT เป็นภาษาอังกฤษให้ทำลายไฟล์ภาษาที่กำลังทำงานอยู่ ในกรณีของฉันมันมักจะทำงานด้วยภาษาเยอรมัน (เช่น: de.msg )
ถ้าฉันลบมันหรือเปลี่ยนชื่อมันแสดงว่าค่าเริ่มต้นเป็นภาษาอังกฤษ
ที่นี่ฉันเปลี่ยนชื่อไฟล์
C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
.
/usr/local/Cellar/git/2.21.0/share/locale/
ไฟล์.
ตามที่ Bengt แนะนำ: เพิ่มบรรทัดเหล่านี้ในของคุณ~/.bashrc
หรือ~/.bash_profile
เพื่อบังคับให้คอมไพล์แสดงข้อความทั้งหมดเป็นภาษาอังกฤษ:
vim ~/.bashrc
- สำหรับโปรไฟล์นี้ (หากคุณเป็นผู้ใช้ubuntu
และคุณแก้ไขสิ่งนี้จะเป็นสำหรับผู้ใช้รายนี้เท่านั้น) เพิ่มบรรทัดนี้:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also
LANG=en_GB
และหลังจากคุณปิดไฟล์คุณต้องเขียนในเชลล์:
source ~/.bashrc
เพื่อโหลดการตั้งค่าใหม่หรือออกจากเทอร์มินัลและเชื่อมต่ออีกครั้ง :)
LANG=en_GB
ใน~/.bashrc
ควรจะทำอย่างไร นั่นไม่ใช่แค่กำหนดตัวแปรท้องถิ่นLANG
หรือไม่?
นี่คือคำตอบของฉันที่จะเปลี่ยนภาษาคอมไพล์ติดตามคำตอบนี้และนี้
1) nano ~/.bashrc
2) เพิ่มลงalias git='LANG=en_GB git'
ในไฟล์
2) บันทึกไฟล์
4)source ~/.bashrc
ตอนนี้คอมไพล์ของคุณเปลี่ยนภาษาแล้ว อย่างไรก็ตามหากหลังจากเทอร์มินัลรีสตาร์ทของคุณและมันไม่ทำงานอีกต่อไปคุณต้อง
4.1) nano ~/.profile
4.2) เพิ่มsource ~/.bashrc
4.3) บันทึกไฟล์
มันจะsource ~/.bashrc
ทำงานทุกครั้งที่คุณเปิดเทอร์มินัล
หวังว่ามันจะช่วยได้