ฉันจะตั้งค่าภาษา UI เป็นกลุ่มได้อย่างไร


102

ผมเห็นนี้เมื่อ Reddit และมันทำให้ผมนึกถึงหนึ่งในความเจ็บปวดที่เป็นกลุ่มของฉัน: มันแสดงให้เห็น UI ในเยอรมัน ไอ้คุณกลุ่ม! ฉันต้องการภาษาอังกฤษแต่เนื่องจากระบบปฏิบัติการของฉันตั้งค่าเป็นภาษาเยอรมัน (มาตรฐานที่สำนักงานของเรา) ฉันคิดว่ากลุ่มคนพยายามจะเป็นประโยชน์จริงๆ

ฉันต้องใช้เวทย์มนตร์อะไรบ้างเพื่อให้เป็นกลุ่มเพื่อเปลี่ยนภาษา UI ฉันได้ลองใช้ googling ในหลาย ๆ ครั้ง แต่ดูเหมือนจะหาคำตอบไม่ได้ (ไม่ใช่ Google คุณเป็นเพื่อนของฉัน * pat *, * pat * แต่ฉันรู้วิธีเปลี่ยนการเน้นไวยากรณ์แล้วขอบคุณ!) ...

แก้ไข: เมื่อใช้เคล็ดลับที่ดีทั้งหมดด้านล่างฉันลงเอยด้วยการเพิ่มสิ่งนี้ที่ด้านบนของฉัน.vimrc(ใช้ Vim 7.2 บน Windows 7)

set langmenu=en_US.UTF-8    " sets the language of the menu (gvim)
language en                 " sets the language of the messages / ui (vim)

ในด้านของฉันภาษา en มักทำให้ฉันมีข้อผิดพลาดเมื่อฉันเริ่ม gVim ฉันใช้ภาษา C และได้ผลอย่างมีเสน่ห์!
ghigad

คำตอบ:


34

ในฐานะที่เป็นเคนสังเกตคุณต้องการคำสั่ง:language

โปรดทราบว่าการใส่สิ่งนี้ในเมนูของคุณ.vimrcหรือ.gvimrcจะไม่ช่วยคุณในการใช้งานเมนูใน gvim เนื่องจากคำจำกัดความจะถูกโหลดหนึ่งครั้งเมื่อเริ่มต้นใช้งานเร็วมากและจะไม่อ่านซ้ำอีกในภายหลัง ดังนั้นคุณจำเป็นต้องตั้งค่าLC_ALL(หรือเฉพาะเจาะจงมากกว่านั้นLC_MESSAGES) ในสภาพแวดล้อมของคุณ - หรือบนระบบที่ไม่ใช่ Unixoid (เช่น Windows) คุณสามารถส่งผ่าน--cmdสวิตช์ (ซึ่งเรียกใช้คำสั่งที่กำหนดเป็นสิ่งแรกซึ่งตรงข้ามกับ-cตัวเลือก):

gvim --cmd "lang en_US"

ดังที่ฉันได้กล่าวไปแล้วคุณไม่จำเป็นต้องใช้LC_ALLซึ่งจะบังคับให้เปลี่ยนทุกแง่มุมของสภาพแวดล้อมคอมพิวเตอร์ของคุณ คุณสามารถทำสิ่งที่เหมาะสมยิ่งขึ้น F.ex. การตั้งค่าภาษาของฉันเองมีลักษณะดังนี้:

LANG=en_US.utf8
LC_CTYPE=de_DE.utf8
LC_COLLATE=C

ซึ่งหมายความว่าฉันได้รับระบบภาษาอังกฤษเป็นส่วนใหญ่ แต่มีความหมายภาษาเยอรมันสำหรับตัวอักษรยกเว้นว่าลำดับการจัดเรียงเริ่มต้นเป็น ASCIIbetical (เช่นเรียงลำดับตามจุดรหัสไม่ใช่ตามแบบแผนของภาษา) คุณสามารถใช้รูปแบบอื่น ดูman 7 localeข้อมูลเพิ่มเติม


1
ฉันจะต้องตรวจสอบสิ่งนี้เพิ่มเติม - ขณะนี้ AFAIR ใช้งานไม่ได้ แต่จะสามารถเข้าถึงเครื่องที่เป็นปัญหาได้ในวันพุธหน้าเท่านั้น ขอบคุณสำหรับการตอบกลับของคุณ.
Daren Thomas

ไม่ได้ผลสำหรับฉัน (กลุ่มบ่นว่าไม่พบ en_US ?!) แต่โซลูชัน @ August-Lilleaas ใช้งานได้!
Stefano

17
ใน Windows 7 ฉันต้องใช้gvim --cmd "lang English_United States"
hfs

2
คุณยังสามารถเพิ่มlanguage messages envimrc ของคุณ (หมายเหตุ: ควรอยู่ในช่วงเริ่มต้น)
vorou

4
@hfs ขอบคุณมากสำหรับความคิดเห็นของคุณ ฉันได้เพิ่มlanguage English_United Statesใน_vimrcไฟล์ของฉันและมันช่วยฉันใน VIM 7.4 และ Windows 8
Artyom

98

สำหรับการอ้างอิงใน Windows (7) C:\Program Files (x86)\Vim\vim72\langฉันเพิ่งลบไดเรกทอรี นั่นทำให้ทางเลือกกลับเป็น en_US


14
ฉันเปลี่ยนเป็น lang_ori ในกรณีที่ต้องการใช้ในภายหลัง
หน้าแข้ง

1
\usr\share\vim\vim80\langสำหรับผู้ใช้MinGWหรือCygwinบน Windows ช่วยได้
it3xl

@AugustLilleaas คุณคิดว่าการลบlangโฟลเดอร์นั้นปลอดภัยหรือไม่?
Danny

38

ลองใช้ใน _vimrc มันใช้ได้กับ win7 ของฉัน

set langmenu=en_US
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

เหมือนกันที่นี่อันนี้ใช้ได้ ฉันเชื่อว่าdelmenu - menuวัฏจักรมีความสำคัญ
ThomasH

18

วางรหัสบรรทัดนี้ไว้ที่ด้านบนของไฟล์ _vimrc ของฉันบันทึกวันของฉัน:

set langmenu=en_US.UTF-8

9
จริงๆแล้วนั่นคือตั้งค่า langmenu = en_US.UTF-8 อย่างน้อยใน gVim 7.2 ของฉัน
Rytmis

แน่นอนว่าทำงานได้อย่างมีเสน่ห์ตามที่ Rytmis กล่าวโดยไม่มีลำไส้ใหญ่ (:)
Piotr Owsiak

หมายเหตุ: สิ่งนี้จะตั้งค่าภาษาของเมนู แต่ข้อความอื่น ๆ จำเป็นต้องใช้: ชุดภาษา
Daren Thomas

โปรดทราบว่าคุณสามารถทำให้ง่ายขึ้นโดยใช้set langmenu=noneแทนการระบุภาษา (อังกฤษ) จริง
Rabarberski

11

สิ่งนี้ใช้ได้กับการเปลี่ยนภาษาเมนูของกลุ่ม

set langmenu=en_US.UTF-8  [or just set langmenu=en for short]

แต่

language en 

แจ้งข้อผิดพลาดให้ฉันว่าไม่สามารถตั้งค่า en เป็นภาษาได้ แต่บรรทัดนี้ใช้งานได้

:let $LANG = 'en'

หลังมาจากเอกสารที่เป็นกลุ่มของ ฉันเพิ่มทั้งสองบรรทัดที่จุดเริ่มต้นของไฟล์ _vimrc ฉันใช้คอมพิวเตอร์ Windows 7 64

PS: บรรทัดนี้เปลี่ยนทั้งภาษาและภาษาของเมนู

language messages en

ในไฟล์. vimrc (หรือไฟล์ _vimrc ถ้าคุณอยู่ใน Windows)


6

Ubuntu 10.10 + VIM 7.2 ปรับปรุงแล้ว โค้ดด้านล่างเปลี่ยนภาษาสำหรับคอนโซล vim เพิ่มที่ด้านบนของ vim.rc ของคุณ

if has('unix')
    language messages C
else
    language messages en
endif

4

สองบรรทัดนี้ที่จุดเริ่มต้นของไฟล์. vimrc ของคุณจะทำงาน:

let $LANG = 'en'
set langmenu=none

4

การเพิ่มสิ่งนี้ใน _vimrc ใช้ได้ผลกับฉันใน windows 8:

set langmenu=en_US
let $LANG = 'en_US'

(โปรดทราบว่า _vimrc อยู่ในไดเร็กทอรีเดียวกับที่มี vim74 dir ของฉันนั่นคือไฟล์ _vimrc ที่ vim อ่านเมื่อเริ่มต้น)


3

เริ่มกลุ่มด้วยภาษาที่เปลี่ยนไป:

LC_ALL=en_GB.utf-8 vim

หรือส่งออกตัวแปรนั้นตามค่าเริ่มต้นใน bashrc / profile ของคุณ



1

ฉันไม่รู้ว่าทำไมคำตอบทั้งหมดข้างต้นไม่ได้ผลสำหรับฉัน ฉันได้รับข้อผิดพลาดเกี่ยวกับภาษาที่ไม่มีอยู่ อาจจะเป็นของ Windows ไม่ว่าอย่างไรก็ตามวิธีแก้ปัญหาของฉันคือเพิ่มสิ่งนี้ลงใน vimrc ของฉัน: ให้ $ LANG = 'en'

ฉันพูดเร็วเกินไป เมนูของ gVim ยังคงเป็นภาษาญี่ปุ่น แต่หน้าจอแนะนำเป็นภาษาอังกฤษ


1

Windows - สองกลุ่ม

จากที่นี่ไม่มีอะไรช่วยฉันได้จนกว่าฉันจะรู้ว่าฉันมี 2 Vim

  1. Git Bash ผ่าน MinGW (Cygwin, mintty)
  2. การติดตั้งแยกต่างหากใน Program Files บน Windows

คำสั่งถัดไปจะกรองคุณทั้งหมดที่ดูvimrc -files และตำแหน่งของพวกเขา

vim --version | grep vimrc
  • _vimrc (Windows และ CMD)
  • .vimrc (Bash สำหรับ Git)
  • vimrc (มีตำแหน่งที่แตกต่างกันสำหรับทั้งสองอย่าง)

1: เป็นกลุ่มบน Windows และ CMD

การเปลี่ยนชื่อ (การลบ) ของโฟลเดอร์lang เท่านั้นที่ช่วยฉันได้

คุณสามารถค้นหาได้ที่นี่ C:\Program Files (x86)\Vim\vim80\lang

ฉันได้ลองใช้การตั้งค่าคอนฟิกทั้งหมดที่ระบุไว้ที่นี่ มันไม่มีประโยชน์

2.1: Git Bash ผ่าน MinGW, Cygwin, mintty

สำหรับ Git Bash ฉันได้เพิ่มlanguage messages en_USที่ด้านบนของไฟล์C:\Program Files\Git\etc\vimrc

แน่นอนถ้าคุณต้องการลบโฟลเดอร์langคุณสามารถค้นหาได้ที่นี่

  • C:\Program Files\Git\usr\share\vim\vim80\lang
  • C:\Users\User_name_xxx\AppData\Local\Programs\Git\usr\share\vim\vim80\lang สำหรับการติดตั้งผู้ใช้ภายใน

2.2: ปรับแต่ง Git's Bash เท่านั้น (MinGW64, Cygwin, mintty)

ในตอนท้ายสำหรับ Bash บน Windows ฉันเลือกที่จะข้ามการปรับแต่งด้วยvimrc

ฉันเปิดC:\Program Files\Git\etc\bash.bashrc และเพิ่มบรรทัดถัดไป

LANG='en_US'

หรือ

LANG=C

แต่ไม่ใช้en_US.UTF-8เพราะมันสร้างตัวอักษรแปลก ๆ ให้กับคำสั่ง bash ตัวอย่างเช่นใน `find 'xxx_yyy_zzz_aaa.bbbddd' สำหรับไฟล์ที่ไม่มีอยู่



0

มีปัญหาที่คล้ายกัน แต่วิธีใดวิธีหนึ่งข้างต้นไม่ได้ผล: /superuser/552504/vim-ui-language-issue/552523

ฉันได้รับการแก้ไขโดยการเอามันแพ็คเก็ตที่เป็นกลุ่มและสร้างเสียงเรียกเข้าจากแหล่งที่มา

หวังว่ามันจะช่วยใครสักคน


0

หากคุณใช้ Windows และไม่ต้องการกังวลกับการออกคำสั่ง

เพื่อป้องกันไม่ให้ GUI โหลดไฟล์โลคัลไลเซชัน

เพียงไปที่Program Files\Vim\vim80\langและใส่ขีดล่างเป็นคำนำหน้าไฟล์ทั้งหมดที่ดูเหมือนว่ามีอะไรเกี่ยวข้องกับภาษาของคุณ

เพื่อป้องกันไม่ให้ VIM โหลดไฟล์โลคัลไลเซชัน

ในโฟลเดอร์เดียวกันกับด้านบนให้นำหน้าด้วยขีดล่างของโฟลเดอร์ที่มีชื่อรหัสประเทศของคุณ

หมายเหตุ : Windows 10 อาจขอสิทธิ์ผู้ดูแลระบบโดยการแจ้งเตือน UAC

ยังไงซะ

เทคนิคเดียวกันนี้สามารถนำไปใช้กับเครื่องมือ Unix / Linux จำนวนมากที่พอร์ตบน Windows และโดยทั่วไปแล้วชุดซอฟต์แวร์ทั้งหมดที่สามารถเข้าถึงไฟล์โลคัลไลเซชันได้อย่างง่ายดาย หากคุณเปลี่ยนชื่อเพื่อป้องกันไม่ให้แอปพลิเคชันค้นหาภาษาทางเลือกส่วนใหญ่อาจเป็นภาษาอังกฤษ

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