ASP.NET MVC uygulaması nasıl yerelleştirilir?


121

ASP.NET MVC uygulamanızı yerelleştirmek için en iyi uygulama ne olabilir?

İki durumu ele almak istiyorum:

  • IIS'de birden çok dili işleyecek bir uygulama dağıtımı
  • tek dil / uygulama dağıtımı.

İlk durumda ~ / View / EN, ~ / View / FI, ~ / View / SWE veya farklı bir şey gibi bir tür görünüm tabanlı şeyle gitmelisiniz?

İkinci durum, sadece Web.config aracılığıyla uygulama tabanlı yapılandırma ve bu farklı dilleri farklı URL'lere yönlendirmeye ne dersiniz?


Yinelenen görünümlere alternatif olarak, kültüre özgü dizeleri depolamak için standart ResX dosyalarını kullanabilirsiniz. Ne yazık ki, bu dosyaları özellikle çevirmenler tarafından yönetmek ve düzenlemek biraz rahatsız edici ve zordur. Kaynakları veritabanında depolayarak ve bazı harici yerelleştirme araçları kullanarak basitleştirilebilir. Veritabanı kaynak sağlayıcısı sağlayan bu ücretsiz kitaplığa bakabilirsiniz: globsite.net/GlobsiteGlobalizationLibrary
Kryszal

Yanıtlar:


72

Ayrıca buraya göz atabilirsiniz ASP.NET MVC 2 Yerelleştirme tam kılavuzu ve ASP.NET MVC 2 Model Doğrulama Yerelleştirme ile bu girişler, ASP.NET MVC 2 ile çalışıyorsanız size yardımcı olacaktır.


Bu güncellenmiş cevap için teşekkürler! Bir yıl önce Matt Hawley'in yaklaşımını kullandım ancak Birim testlerinde ciddi sorunlarla karşılaştım. Denetleyici bağlamıyla alay etmeyi denedim, ancak başka bir şey eksikti ve pes ettim. Bu MVC2 yolundan geçeceğim ve umarım bunu çözmüşlerdir.
Lauri Larjo

Eskiden bu yaklaşımı projelerimde kullanırdım, bu yaklaşımın daha iyi olduğunu söylemeliyim.
fyasar

@fyasar merhaba, asp mvc'de bir alışveriş web sitemiz var, bu nedenle kullanıcı arapça dilini seçtiğinde tüm siteyi arapça yapmak istiyoruz, microsoft bing translator veya microsoft translator API kullanabilir miyiz veya bunu hızlı bir şekilde elde etmek için localize.js satın almalı mıyım ?
shaijut

22

ASP.NET MVC uygulamanızı, klasik bir ASP.NET Web Formu uygulamasında yaptığınız gibi yerelleştirebilirsiniz.

Her dil için farklı sayfalar / görünümler kullanmazsınız, ancak her sayfa uydu montajlarını kullanan birden çok dili destekler.

Daha fazla açıklama ve örnek için Matt Hawley'in blog girişine bakabilirsiniz .




2

Elijah'ın önerdiği gibi yerelleştirmeyi bir form içinde ele almaya asla ikna olmadım - farklı uzunluklar ve yönler çok karmaşık veya farklı naff görünümlü formlara yol açabilir.

Sadece MVC ile başlıyorum, ancak dekuplaj yöntemini kullanarak, dilden bağımsız olarak aynı denetleyiciyi kullanmak isteyeceksiniz (dili sadece bir görünüm olarak ele almak) - bu size / Denetleyici / Eylem / dil / form verecektir


2

DisplayName yerelleştirme, Doğrulama, Yönlendirme kullanma (URL'de kültür adını saklama), çıktı önbelleği ile ilgili sorunlar vb. Dahil olmak üzere tüm yönleri kapsayan asp.net mvc uygulamasının nasıl yerelleştirileceğine ilişkin son güncellemeyle ilgili iyi bir eğitim var ... Alex Adamyan Blog - Süre klavyem nazikçe ağlıyor


1

DataAnnotationsMetadaDataProvider'ı geçersiz kılarak aslında tamamen farklılaştık . Orada, DisplayNameAttribute değerlerinin doğru dile çözümlendiğinden emin olabilirsiniz. Aslında bu öznitelikten kurtulabilir ve alan adlarına göre çözebilirsiniz, ancak bu herhangi bir yardımcı olabilir.


0

Bu makaleyi bir süre önce yazdım. Özel bir görünüm motoru kullanır. http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/


1
Yazınızın aslında soruya cevap olsa da, tercih edildiğini burada cevabın temel parçalarını kapsadığı ve başvuru için bağlantı sağlar. Stack Overflow yalnızca soruları ve yanıtları kadar kullanışlıdır ve blog barındırıcınız kapanırsa veya URL'leriniz hareket ederse, bu yanıt işe yaramaz hale gelir. Teşekkürler!
sarnold

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.