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 i18ntü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 - encodestrbetiğ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_TIMEbölüm alanı t_fmtve 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_fmtmetni 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_fmtalanda 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_SECTIONDeğiştirmek istediğiniz bölüm nerede ve localeo 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 -vcustom
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/asdve 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/environmentdosyayı değiştirin . Değilse, ~/.profiledosyanızı veya başlangıçta kaynak yapılan herhangi birini değiştirebilirsiniz . İkincisinin ne anlama geldiğini bilmiyorsanız endişelenmeyin, ~/.profiledosyayı kullanın . Ne yazmanız gerektiğini bilmek için önce localekomutu çalıştırın . Sanki öğeler içeren bir liste çıkarması gerekir LANGUAGE, LC_MESSAGES, LC_CTYPEve 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 SECTIONbölümü ve localeadı 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":XXnerede XXistediğ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 .