Bu cevap isteğe bağlı olarak mevcut bir yerel ayarı temel alarak bir yerel ayarın nasıl tamamen özelleştirileceğini gösterir. Bu cevapta kullanılacak yerel ayar i18n
türü; bu tür bir yerel ayar, cevabın gövdesindeki "yerel" kelimesinin her bir sözünde belirtilecektir.
Bir rehber bulun
Bir yerel ayarı özelleştirmek için ihtiyacınız olan ilk şey, yerel ayarın biçimini bilmektir. Bu web yerel ayar düzenleyicisi , hemen hemen herkes tarafından kullanılamamasına rağmen, yerel olarak her alanın kapsamlı bir açıklamasına sahiptir. Bu kullanım kılavuzu olacaktır.
Gerekli aletler
Yerellerle çalışmak için ihtiyacınız olan tek araç
- Bir metin editörü. Herhangi biri yapacak, VIM mükemmel olsa da.
- Bir metin-unicode dönüştürücü. Bir tanesine sahip olmaman en çok beklenen şeydi, bu yüzden sana basit bir tane vereceğim. Bunu elde etmek için bir sonraki alt bölümü okuyun.
Bir dizin oluşturmanızı ve yerelde yapacağınız çalışmalarla ilgili her şeyi kendinize kaydetmenizi öneririm.
Metin-unicode dönüştürücü (encodestr)
NOT: Yaygın olmayan karakterler kullanıyorsanız , aşağıya yazdığım komut dosyasıyla ilgili sorunlar yaşayabilirsiniz; nass ile bağlantılı alternatif komut dosyalarına bakmak isteyebilirsiniz .
Aşağıdaki kodu bir dosyaya kaydedin. Bu dosya, sisteminiz tarafından bir python betiği olarak tanımlanacaktır, çünkü bu bir tanedir. Bu kılavuz size komut dosyasını çağırdığını varsayar 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])
Kaydettikten sonra, dosya yürütme iznini verin - bu kullanışlı olacaktır. Sen Nautilus kullanarak veya komut dosyasını kaydettiğiniz dizine üzerinde bir terminal aşağıdaki komutu çalıştırarak yapabilirsiniz: chmod +x encodestr
.
Artık aynı dizinde çalıştırarak bu senaryoyu test edebilirsiniz: ./encodestr hello
. Eşit bir çıktı almalısınız <U0068><U0065><U006C><U006C><U006F>
.
Mevcut bir yerel ayarı değiştirin
Mevcut bir yerel ayarı değiştirmek en kolay durumdur, çünkü ideal olarak ihtiyaçlarınızı neredeyse tamamen karşılayan bir yerel ayar seçersiniz, bu durumda sadece küçük değişiklikler yapmanız gerekir. Özelleştirmek için, hangi bölümlerden hangisini değiştirmek istediğinizi ve bunları nasıl değiştirebileceğinizi bilmek için kılavuzu kullanabilirsiniz. Yüklü yerel ayarların tümü bulunur /usr/share/i18n/locales
, ancak kılavuzda , şimdiye kadar oluşturulan her yerel ayar bulunur.
Ancak, bir yerel ayarı açtığınızda farkedeceğiniz ilk şey, ingilizce kelimeleri tuhaf <UXXXX>
kodlar kadar okuyacağınızdır . Bu kodları oluşturabilmek için ihtiyacınız olacak - encodestr
betiğin geldiği yer burası .
Hangi bölümleri değiştirmeniz gerektiğini bildiğiniz zaman, bu bölümdeki her bir alanı bilmeniz gerekir.
Örneğin, LC_TIME
bölüm alanı t_fmt
ve diğerlerini içerir. Her alanın kendi açıklaması vardır. kılavuzda .
Artık hangi alanları değiştireceğinizi bildiğinize göre, kullan , alanın hangi değerleri kabul ettiğini bulmak için kılavuzu tekrar kullanın.
Örneğin, alan t_fmt
metni ve genel durumu kabul eder. strfmt değişkenlerini .
Tam olarak değiştirmek istediğiniz alanlara ne yazacağınızı bildiğinizde encodestr
, kodlanmış eşdeğerini elde etmek için metni komut dosyası boyunca çalıştırın .
NOT: Her alanın kodlanması gerekmez, gerekirse referans olarak mevcut bir yerel ayarı kullanın.
Örneğin Time: %T
, t_fmt
alanda zaman formatının olmasını istiyorsanız , run ./encodestr "Time: %T"
; bu geri dönecek <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
ve böylece t_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
yerel bölgenizdeki çizgiye sahip olacaksınız (elbette ilgili bölümünde).
İstediğiniz her alanı değiştirdikten sonra, yerel ayarı sisteme yüklemeye devam etmeniz gerekecektir, böylece kullanılabilir. Bunun için kurulum bölümüne ilerleyin.
Sıfırdan bir yerel ayar oluşturma
Birini değiştirmenin aksine, özel yerel ayarınızı oluşturmak için kullanabileceğiniz diğer yöntem üzerinde sıfırdan çalışmaktır. Bu, - yine - kılavuzu kullanıyorsanız çok zor değildir . Yine de yararlı bir ipucu: bölümleri gerçek kopyala ve yapıştır yöntemleri olmadan diğer yerel ayarlardan kopyalayabilirsiniz . Sadece bu formatı takip etmelisiniz:
LC_SECTION
copy "locale"
END LC_SECTION
LC_SECTION
Değiştirmek istediğiniz bölüm nerede ve locale
o bölümü kopyalamak istediğiniz yerel alan.
Örneğin, İngilizce biçiminde zaman biçimini kopyalamak istiyorsanız, bu metni özel yerel ayar dosyanız olur:
LC_TIME
copy "en_GB"
END LC_TIME
Bu da size çok fazla iş kazandırır ve başvurulan yerel ayarda yapılan herhangi bir değişikliğin sizinkilere yansıtılmasını sağlar.
Özel yerel ayarlarınızı yükleme
Aşağıda göstereceğim adımlar uygun olmayabilir, fakat işe yarar.
Yerel ayarlarınızı derleyin. Panik yapmayın! Bu zaman alır. Sadece komutu çalıştırmak için yerel ayar adıdır.sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
custom
Yerel ayarlarınızı /usr/share/i18n/locales/
dizine kopyalayın . Kesinlikle gerek olacaktır Sudo bunu ayrıcalıkları ve komutla yapabilirsin özel yereli dosya adıdır.sudo cp locale /usr/share/i18n/locales/
locale
Yerel ayarınızı içinde belirtin /var/lib/locales/supported.d/
. Örneğin, bir dosya adı oluşturun /var/lib/locales/supported.d/asd
ve satırı custom UTF-8
, yerel ayarınızın adı özel olan yere ekleyin .
Sihirli komutu çalıştırın. Aslında bu komutun tam olarak ne yaptığını bilmiyorum, ama çok önemli. Run sudo locale-gen
. İhtiyaç duyulan yerlere referanslar oluşturması en muhtemel olanıdır.
Sisteminize yerel ayarları kullanmasını söyleyin. Yerel ayarın sistem genelinde kullanılmasını istiyorsanız, /etc/environment
dosyayı değiştirin . Değilse, ~/.profile
dosyanızı veya başlangıçta kaynak yapılan herhangi birini değiştirebilirsiniz . İkincisinin ne anlama geldiğini bilmiyorsanız endişelenmeyin, ~/.profile
dosyayı kullanın . Ne yazmanız gerektiğini bilmek için önce locale
komutu çalıştırın . Sanki öğeler içeren bir liste çıkarması gerekir LANGUAGE
, LC_MESSAGES
, LC_CTYPE
ve diğerleri. İstediğiniz bölümlerin her biri için (önceki komutla listelenen), ayrı satırlara yazacaksınız, SECTION="locale"
burada özel yerel ayarınızın SECTION
bölümü ve locale
adı burasıdır .
Örneğin, Hollanda’dan saat biçimini, ancak ingilizceyi kullanmak istiyorsanız, şunu yazın:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
NOT: Her yerel ayar için bir yerel kullanmak istiyorsanız, yazma LC_ALL="locale"
nerede locale
özel yerel ayarı adıdır. Her şey için ancak dil için bir yerel kullanmak istiyorsanız yazabilirsiniz LANG="locale"
ve (tabii ki, başka satırında) LANGUAGE="locale":XX
nerede XX
istediğiniz dil için 2 harfli bir koddur.
Örneğin, Hollanda yerel ayarını ve İngilizce dilini kullanmak istiyorsanız, şunları kullanabilirsiniz:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
Sen bitirdin
Bir sonraki oturum açışınızda yerel ayarınız kullanımda olmalıdır. Bunu çalıştırarak test edebilirsiniz.locale
komutu tekrar .
Lütfen bu kılavuzdaki tutarsızlıklar veya yanlış ifadeler hakkında yorum yapın!
πμ
,<U00CF><U0080><U00CE><U00BC>
beklenen karakterlerin yerine çıktı verir<U03C0><U03BC>
. İşte çalışan bir link .