Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 9087|Yanıt: 0

[Kaynak] Spring Boot Mesaj Kaynağı Uluslararasılaşmış dillerin çukuru

[Bağlantıyı kopyala]
2022-1-27 tarihinde 14:52:03 tarihinde yayınlandı | | | |
Uluslararasılaşma, i18n olarak da adlandırılıyor, neden bu isim? Uluslararasılaştırma İngilizcesi uluslararasılaştırma olduğu için, i ile n arasında 18 harf vardır, bu yüzden i18n olarak adlandırılır. Uygulamamız uluslararasılaşmışsa, farklı dil ortamlarında kolayca değiştirilebilir; en yaygın olanı Çince ile İngilizce arasında geçiş ve uluslararasılaştırma fonksiyonu da oldukça yaygındır.

Örneğin, belirli bir istek gönderirken, başlıkta bir anahtar-değer çifti ayarlayın: "Accept-Language":"zh"; Accept-Language karşılığındaki değer üzerinden sunucu hangi bölge dilini kullanacağına karar verebilir, ilgili kaynak dosyasını bulabilir, biçimlendirebilir ve istemciye geri gönderebilir.

Yeni bir Spring Boot projesi oluşturun, kaynaklar klasörü altında bir i18n dosyası oluşturun ve aşağıdaki şekilde gösterildiği gibi "Dil Kısaltma Tablosu" formatına göre bu klasör altında yeni bir yapılandırma dosyası oluşturun:




message.properties

message_en.properties

Yapılandırmamızı etkili kılmak için application.properties düzenleme parametreleri eklemeyi unutmayın:

Bahar tanımlarMesaj Kaynağıuluslararasılaştırılmış bilgiye erişim için arayüzler.

getMessage(String code, Object[] args, String defaultMessage, Locale locale)
getMessage(String code, Object[] args, Locale locale)
getMessage(MessageSourceResolvable resolvable, Locale locale)



Yeni bir kontrolcü oluşturun ve farklı bir kaynak dosyası çağırarak aşağıdaki kodla bir istem döndürmeye çalışın:



Proje, Çince bir Windows sunucusu altında dağıtılıyor ve Çinli kullanıcıların Çince'ye erişiminde hiçbir sorun yok. Linux'un İngilizce sürümüne dağıtıldığında, Çinli kullanıcılar İngilizce bir istem (İngilizce kaynak dosyasının yapılandırmasını okuyun) önerir.

Bunun sebebi bizden kaynaklanıyorYeni bir Çince .properties dosyası yoktur, bu sırada program mevcut sistem diline uyan kaynak dosyasını okur ve tekrar okunamazsa, tanımlanmış özellik dosyası yapılandırmasını okuyamaz。 Projeyi Linux İngilizce sistemine yayımladığımızda, program Çince yapılandırmasını okuyamaz ama _en.properties'in yapılandırma dosyasını okur, böylece arayüz Çince komutunu döndürür.

Çözüm, ayarFallbackToSystemLocaleyanlış, kod şöyledir:

(Son)





Önceki:Docker konteyner metriklerini toplamak için cAdvisor'ı pratik kullanmak
Önümüzdeki:Ön uç JS, blobları stringlere dönüştürür
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com