Saya ingin mengubah bahasa git (ke bahasa Inggris) di instalasi Linux saya tanpa mengubah bahasa untuk program lain dan tidak dapat menemukan pengaturannya. Bagaimana cara melakukannya?
Saya ingin mengubah bahasa git (ke bahasa Inggris) di instalasi Linux saya tanpa mengubah bahasa untuk program lain dan tidak dapat menemukan pengaturannya. Bagaimana cara melakukannya?
Jawaban:
Tambahkan baris ini ke Anda ~/.bashrc
atau ~/.bash_profile
untuk memaksa git menampilkan semua pesan dalam bahasa Inggris:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
Alias perlu diganti LC_ALL
pada beberapa sistem, ketika variabel lingkungan LC_ALL
disetel, yang didahulukan LANG
. Lihat Spesifikasi UNIX - Variabel Lingkungan untuk penjelasan lebih lanjut.
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
Jika Anda menambahkan baris ini ke ~/.bashrc
alias akan ditentukan saat shell interaktif baru dimulai. Jika Anda menambahkannya ke ~/.bash_profile
alias akan diterapkan saat masuk.
.bash.rc
bukan .bashrc
). Anda juga harus menutup dan memulai shell lagi .bashrc
agar dapat dieksekusi. Saya juga menambahkan catatan tentang ini.
.bashrc
bahkan dengan memulai ulang. Alias berfungsi. Hanya saja bahasanya tidak berubah.
.bashrc
berhasil dieksekusi, Anda dapat menambahkan tes seperti echo "This is .bashrc"
di akhir file. Anda juga dapat menjalankannya sesuai permintaan tanpa harus memulai ulang terminal atau seluruh sistem . .bashrc
. Akhirnya, saya akan menyarankan untuk mencoba mengatur LC_ALL
variabel lingkungan daripada LANG
, karena yang pertama lebih diutamakan.
.bashrc
, sungguh. Jika LC_ALL
diutamakan maka ini akan menjadi masalah, ini diatur ke bahasa saya. Tetapi kemudian saya tidak ingin mengubah pengaturan bahasa umum ... Tidak bisakah saya menimpanya untuk satu program?
$ LC_ALL="en_US" man
dan kemudian$ man
Jika Anda hanya ingin memiliki satu perintah dalam bahasa Inggris, Anda dapat menulis LC_ALL=C
sebelum perintah, misalnya:
LC_ALL=C git status
akan menghasilkan
# On branch master
nothing to commit, working directory clean
Lokal yang digunakan dalam C
bahasa Inggris dan selalu tersedia tanpa menginstal paket bahasa tambahan
(lihat https://askubuntu.com/a/142814/34298 )
Untuk mengubahnya untuk seluruh sesi bash saat ini, cukup masuk
LANG=C
Untuk mengubahnya misalnya ke jerman enter
LANG=de_DE.UTF-8
LC_ALL=C
sarannya, karena saya memiliki beberapa masalah dengan lokal, LC_ALL="en_US"
akhir-akhir ini tidak berfungsi lagi.
Menambahkan baris ini memecahkan masalah bagi saya:
$ more ~/.bash_profile
export LANG=en_US
Catatan: sejak Git 2.3.1+ (Q1 / Q2 2015), Git akan menambahkan header Accept-Language jika memungkinkan.
Lihat komit f18604b oleh Yi EungJun ( eungjun-yi
)
Tambahkan
Accept-Language
sundulan yang menunjukkan bahasa pilihan pengguna didefinisikan oleh$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
dan$LANG
.Hal ini memberikan kesempatan kepada server git untuk menampilkan pesan kesalahan jarak jauh dalam bahasa pilihan pengguna.
Anda memiliki tempat untuk git gui atau GUI lainnya ,tetapi tidak untuk baris perintah, mengingat itu adalah salah satu pertanyaan GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Tentu saja, sejak 2010, seperti yang po/README
dijelaskan:
Sebelum string dapat diterjemahkan, string harus ditandai terlebih dahulu untuk diterjemahkan.
Git menggunakan antarmuka internasionalisasi yang membungkus
gettext
pustaka sistem , sehingga sebagian besar saran dalam dokumentasi gettext Anda (pada sistem GNUinfo gettext
di terminal) berlaku.
Berlaku sejak git 1.7.9+ (Januari 2012):
Git menggunakan
gettext
untuk menerjemahkan pesan antarmuka yang paling umum ke dalam bahasa pengguna jika terjemahan tersedia dan lokalnya disetel dengan tepat .
Distributor dapat memasukkanPO
file barupo/
untuk menambahkan terjemahan baru.
Jadi, jika pembaruan Anda mengacaukan terjemahan, periksa gettext
kegunaannya:
Lihat, misalnya, " Variabel Lingkungan Lokal "
Lokal terdiri dari beberapa kategori lokal, lihat Aspek. Ketika sebuah program mencari nilai-nilai dependen lokal, ia melakukan ini sesuai dengan variabel lingkungan berikut, dalam urutan prioritas:
LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG
Variabel yang nilainya ditetapkan tetapi kosong diabaikan dalam pencarian ini.
LANG
adalah variabel lingkungan normal untuk menentukan lokal. Sebagai pengguna, Anda biasanya menyetel variabel ini (kecuali beberapa variabel lain telah disetel oleh sistem, di/etc/profile
atau file inisialisasi serupa).
LC_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
, Dan sebagainya, adalah variabel lingkungan dimaksudkan untuk menimpaLANG
dan mempengaruhi kategori lokal tunggal saja.
Misalnya, asumsikan Anda adalah pengguna Swedia di Spanyol, dan Anda ingin program Anda menangani nomor dan tanggal menurut konvensi Spanyol, dan hanya pesan yang harus dalam bahasa Swedia. Kemudian Anda dapat membuat lokal bernama 'sv_ES
' atau 'sv_ES.UTF-8
' dengan menggunakanlocaledef
program. Tapi itu lebih sederhana, dan mencapai efek yang sama, untuk mengaturLANG
variabel kees_ES.UTF-8
danLC_MESSAGES
variabel kesv_SE.UTF-8
; kedua lokal ini sudah diinstal sebelumnya dengan sistem operasi.
LC_ALL
adalah variabel lingkungan yang menggantikan semua ini. Ini biasanya digunakan dalam skrip yang menjalankan program tertentu. Misalnya, konfigurasikan skrip yang dihasilkan olehautoconf
penggunaan GNULC_ALL
untuk memastikan bahwa pengujian konfigurasi tidak beroperasi dengan cara yang bergantung pada lokal.Beberapa sistem, sayangnya, mengatur
LC_ALL
di/etc/profile
atau di file inisialisasi yang sama. Sebagai pengguna, Anda harus meng-unset variabel ini jika ingin menyetelLANG
dan secara opsional beberapaLC_xxx
variabel lainnya .
LANG
dalam sesi bash / shell / DOS yang Anda gunakan git
(atau meluncurkan git-gui
dari), hanya git
(atau git-gui
) yang akan menggunakan pengaturan khusus itu. Semua program lain akan mewarisi dari variabel lingkungan sistem / pengguna.
GIT default ke bahasa Inggris jika tidak dapat menemukan bahasa Lokal.
Jadi jika Anda ingin GIT dalam bahasa Inggris, cukup sabotase file bahasa yang sedang berjalan. Dalam kasus saya, itu selalu berjalan dengan bahasa Jerman (yaitu: de.msg ).
Jika saya menghapusnya atau mengganti namanya, maka defaultnya adalah bahasa Inggris.
Di sini saya mengganti nama file
C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
.
/usr/local/Cellar/git/2.21.0/share/locale/
.
Seperti yang disarankan Bengt: Tambahkan baris ini ke Anda ~/.bashrc
atau ~/.bash_profile
untuk memaksa git menampilkan semua pesan dalam bahasa Inggris:
vim ~/.bashrc
- untuk profil ini (jika Anda adalah pengguna ubuntu
dan Anda mengedit ini, ini hanya untuk pengguna ini); tambahkan baris ini:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also
LANG=en_GB
dan setelah Anda menutup file, Anda perlu menulis di shell:
source ~/.bashrc
untuk memuat ulang pengaturan baru atau keluar dari terminal dan menghubungkan kembali :)
LANG=en_GB
di ~/.bashrc
lakukan? Bukankah itu hanya mendefinisikan variabel lokal LANG
?
Inilah solusi saya untuk mengubah bahasa git ikuti jawaban ini dan ini
1) nano ~/.bashrc
2) tambahkan alias git='LANG=en_GB git'
ke file
2) simpan file
4)source ~/.bashrc
Sekarang git Anda sudah mengubah bahasa. Namun, JIKA setelah terminal restart Anda dan tidak berfungsi lagi, Anda perlu
4.1) nano ~/.profile
4.2) tambahkan source ~/.bashrc
4.3) simpan file
itu akan source ~/.bashrc
berjalan setiap kali Anda membuka terminal
Semoga membantu