2010-02-06 18 views
5

Bir ASP.NET MVC 2 uygulamasında çalışıyorum ve modelim için ayrı bir sınıf kitaplığı kullanıyorum. Kaynak kitaplarını, doğrulama mesajlarını gömmek ve meta veri sınıflarımda kullanmak için sınıf kitaplığı projemde kullandım ve Resource.resx'i Resource.en-US.resx olarak yeniden adlandırdığımdan projeme yeni bir dil eklemeye karar verene kadar her şey Tamam oldu ve aynı zamanda başka bir dil için yeni bir Resource.fa-IR.resx olarak kopyaladı ve kaydetti, ancak yeniden adlandırdıktan sonra, Designer.cs tamamlayıcı dosyasındaki her şey gitti ve artık Kaynak dosyasına erişemiyorum. Dil ismini (örneğin, en-US) dosya adından kaldırdığım anda düzgün çalışır.Bir sınıf kitaplığı projesindeki dile özgü kaynak dosyalarıyla ilgili sorun

Erişim Düzenleyiciyi zaten Genel olarak ayarlıyorum ancak sonuç yok.

Visual Studio 2008 SP1 kullanıyorum.

cevap

6

resources.resx'i yeniden adlandırmayın: bunun yerine, ihtiyaç duyduğunuz ek kültürler için kaynak dosyaları eklemeniz yeterlidir.

Resources.resx, ana topluluğunuzda derlenecek ve gerekli kültür için hiçbir uydu aksamı bulunmadığında geri dönüş olarak kullanılan "tarafsız" kaynakları içerir.

Her ek kaynak dosyası, ör. Resource.fa-IR.resx normal olarak kültüre özgü bir uydu düzeneğine derlenecektir.

Ayrıca AssemblyInfo.cs Eğer nötr kaynaklar için kullandık dilin ResourceManager bilgilendirir NeutralResourcesLanguageAttribute, ekleyebileceği: Sen Kaynaklar varsayılan dili adlandırmak gerekmez

assembly: [System.Resources.NeutralResourcesLanguage("en-US")] 
2

işlediğimizde-us.resx. Sadece Resources.resx olarak saklayın ve bir geri dönüş kaynağı dosyası olarak kullanılır, yani kullanıcıya özgü bir dil yoksa, örn.

Resource.resx

Resource.fa-IR.resx

: Arapça, bunu aşağıdaki şekilde adlandırılır dosyaları olmalıdır kullandığından dolayı edilecektir
İlgili konular