Jawaban ini akan menunjukkan cara menyesuaikan sepenuhnya lokal, secara opsional menggunakan lokal yang ada sebagai basis. Jenis lokal yang akan digunakan dalam jawaban ini adalah i18n
tipe; jenis lokal semacam itu akan tersirat dalam setiap penyebutan kata "lokal" di badan jawaban.
Temukan panduan
Hal pertama yang Anda butuhkan untuk menyesuaikan lokal, adalah mengenal format lokal. Editor lokal web ini memiliki deskripsi komprehensif tentang setiap bidang di lokal, meskipun tidak dapat digunakan oleh sembarang orang dengan cara yang langsung. Ini akan menjadi panduan untuk digunakan.
Alat yang dibutuhkan
Satu-satunya alat yang Anda butuhkan untuk bekerja dengan lokal adalah
- Editor teks. Apa pun akan dilakukan, meskipun VIM akan unggul.
- Konverter teks ke unicode. Sangat diharapkan bahwa Anda tidak memilikinya, jadi saya akan memberi Anda yang sederhana. Baca subbagian berikutnya untuk mendapatkannya.
Saya sarankan Anda untuk membuat direktori dan menyimpan semua yang berhubungan dengan pekerjaan yang akan Anda lakukan pada lokasi itu.
Konverter text-to-unicode (encodestr)
CATATAN: jika Anda menggunakan karakter yang tidak umum, Anda mungkin memiliki masalah dengan skrip yang saya tulis di bawah ini; Anda mungkin ingin melihat skrip alternatif yang ditautkan oleh nass .
Simpan kode berikut ke file. File ini akan diidentifikasi oleh sistem Anda sebagai skrip python, yang tidak apa-apa karena itu adalah satu. Panduan ini mengasumsikan Anda memanggil skrip encodestr
.
#!/usr/bin/python
def encode(string):
newstring = str()
for ch in string:
newstring += "<U%04X>" % ord(ch)
return newstring
if __name__ == '__main__':
import sys
print encode(sys.argv[1])
Setelah Anda menyimpannya, berikan izin eksekusi file - ini akan berguna. Anda dapat melakukannya dengan menggunakan nautilus, atau dengan berjalan dari terminal perintah berikut, pada direktori di mana Anda menyimpan script: chmod +x encodestr
.
Sekarang Anda dapat menguji script ini dengan menjalankan pada direktori yang sama: ./encodestr hello
. Anda harus mendapatkan hasil yang sama dengan <U0068><U0065><U006C><U006C><U006F>
.
Ubah lokal yang ada
Memodifikasi lokal yang ada adalah yang paling mudah, karena idealnya Anda akan memilih lokal yang hampir sesuai dengan kebutuhan Anda, dalam hal ini Anda hanya perlu membuat sedikit modifikasi. Untuk menyesuaikannya, Anda dapat menggunakan panduan ini untuk mengetahui bagian mana yang ingin Anda ubah, dan bagaimana Anda dapat mengubahnya. Semua lokal yang terinstal berada /usr/share/i18n/locales
, namun panduan ini berisi hampir setiap lokal yang pernah dibuat.
Namun, hal pertama yang akan Anda perhatikan ketika membuka lokal adalah Anda akan membaca kata-kata bahasa Inggris sebanyak <UXXXX>
kode aneh . Anda harus dapat membuat kode-kode ini - ini adalah tempat encodestr
skrip datang.
Ketika Anda tahu bagian mana yang harus Anda ubah, Anda perlu tahu setiap bidang yang ada di bagian itu.
Misalnya, LC_TIME
bagian tersebut berisi bidang t_fmt
, dan banyak lainnya. Setiap bidang memiliki deskripsi sendiri pada panduan ini .
Sekarang Anda tahu bidang mana yang harus diubah, gunakan panduan ini lagi untuk mengetahui nilai apa yang diterima bidang itu.
Misalnya, bidang t_fmt
menerima teks dan variabel strfmt umum .
Hanya ketika Anda tahu apa yang harus ditulis pada bidang yang ingin Anda modifikasi, jalankan teks melalui encodestr
skrip untuk mendapatkan padanannya yang disandikan.
CATATAN: Tidak setiap bidang perlu dikodekan, gunakan lokal yang ada sebagai referensi jika diperlukan.
Misalnya, jika Anda ingin memiliki format waktu Time: %T
di t_fmt
bidang, jalankan ./encodestr "Time: %T"
; ini akan kembali <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
dan Anda akan memiliki garis t_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
di lokal Anda (tentu saja di bagian masing-masing).
Setelah Anda memodifikasi setiap bidang yang Anda inginkan, Anda harus melanjutkan untuk menginstal lokal ke sistem, sehingga dapat digunakan. Lanjutkan ke bagian instalasi untuk ini.
Membuat lokal dari awal
Berbeda dengan memodifikasi satu, metode lain yang dapat Anda gunakan untuk membuat lokal kustom Anda bekerja dari awal. Ini tidak terlalu sulit jika - lagi - Anda menggunakan panduan ini . Berikut tip yang bermanfaat: Anda dapat menyalin bagian dari lokal lain tanpa metode salin dan tempel yang sebenarnya . Anda hanya perlu mengikuti format ini:
LC_SECTION
copy "locale"
END LC_SECTION
Di mana LC_SECTION
bagian yang ingin Anda modifikasi, dan locale
adalah tempat Anda ingin menyalin bagian itu.
Misalnya, jika Anda ingin menyalin format waktu di lokal Inggris, Anda akan memiliki teks ini file lokal kustom Anda:
LC_TIME
copy "en_GB"
END LC_TIME
Dan itu menghemat banyak pekerjaan dan memastikan bahwa setiap perubahan yang dibuat untuk lokal yang dirujuk akan dicerminkan ke Anda.
Menginstal lokal kustom Anda
Langkah-langkah yang akan saya tunjukkan di bawah ini mungkin tidak optimal, tetapi bekerja.
Kompilasi lokal Anda. Jangan panik! Ini tidak membutuhkan waktu. Jalankan saja perintah di sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
mana custom
nama lokal Anda.
Salin lokal Anda ke /usr/share/i18n/locales/
direktori. Anda pasti akan memerlukan hak sudo untuk melakukan ini, dan Anda dapat melakukannya dengan perintah di sudo cp locale /usr/share/i18n/locales/
mana locale
nama file lokal kustom Anda.
Tentukan lokal Anda di /var/lib/locales/supported.d/
. Misalnya, buat nama file /var/lib/locales/supported.d/asd
dan tambahkan baris custom UTF-8
, di mana custom adalah nama lokal Anda.
Jalankan perintah ajaib. Saya sebenarnya tidak tahu persis apa yang dilakukan perintah ini, tetapi ini sangat penting. Lari sudo locale-gen
. Kemungkinan besar itu menghasilkan referensi ke lokal yang tersedia di mana diperlukan.
Beri tahu sistem Anda untuk menggunakan lokal. Jika Anda ingin lokal digunakan di seluruh sistem, ubah /etc/environment
file. Jika tidak, Anda dapat memodifikasi ~/.profile
file Anda , atau file lainnya yang bersumber saat startup. Jika Anda tidak tahu apa artinya yang terakhir jangan khawatir, gunakan saja ~/.profile
file tersebut. Untuk mengetahui apa yang harus Anda tulis di dalamnya, pertama jalankan locale
perintah. Ini harus mengeluarkan daftar dengan item seperti LANGUAGE
, LC_MESSAGES
, LC_CTYPE
dan banyak lainnya. Anda akan menulis, untuk setiap bagian yang Anda inginkan (dicantumkan oleh perintah sebelumnya), pada baris terpisah, di SECTION="locale"
sinilah SECTION
bagian dan locale
nama lokal kustom Anda.
Misalnya, jika Anda ingin menggunakan format waktu dari Belanda, tetapi bahasa Inggris, tulis:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
CATATAN: Jika Anda ingin menggunakan satu lokal untuk setiap pengaturan lokal, tulis di LC_ALL="locale"
mana locale
nama lokal kustom Anda. Jika Anda ingin menggunakan lokal untuk semua hal selain bahasa, Anda dapat menulis LANG="locale"
dan (di baris lain, tentu saja) di LANGUAGE="locale":XX
mana XX
kode 2 huruf untuk bahasa yang Anda inginkan.
Misalnya, jika Anda ingin menggunakan bahasa Belanda dan bahasa Inggris, Anda dapat menggunakan:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
Kamu telah selesai
Lain kali Anda masuk, lokal Anda harus digunakan. Anda dapat menguji ini dengan menjalankan locale
perintah lagi.
Berikan komentar tentang ketidakkonsistenan atau pernyataan salah dalam panduan ini!
πμ
, ini menghasilkan<U00CF><U0080><U00CE><U00BC>
, bukan karakter yang diharapkan<U03C0><U03BC>
. Berikut ini tautan yang berfungsi.custom UTF-8
untuk/usr/share/i18n/SUPPORTED
sebelum saya bisa menjalankansudo locale-gen
. Kalau tidak, itu tidak akan ada dalam daftar.Tidak yakin jenis penyesuaian apa yang Anda inginkan, tetapi Anda dapat menetapkan beberapa variabel lokal menggunakan
~/.locale
. Misalnya, untuk mendapatkan pesan bahasa Inggris tetapi waktu Jerman dan suka saya gunakanMenghasilkan lokal khusus juga dimungkinkan. Lihat misalnya panduan ini untuk tanggal.
sumber
en_US
untukLC_NUMERIC
dande_DE
untukLC_MONETARY
danLC_MEASUREMENT
memberi Anda efek samping lain? Lihat juga tautan baru untuk menghasilkan lokal pribadi.