NeutralResourcesLanguageAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir uygulamanın varsayılan kültürünü kaynak yöneticisine bildirir. Bu sınıf devralınamaz.
public ref class NeutralResourcesLanguageAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)]
public sealed class NeutralResourcesLanguageAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class NeutralResourcesLanguageAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)>]
type NeutralResourcesLanguageAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NeutralResourcesLanguageAttribute = class
inherit Attribute
Public NotInheritable Class NeutralResourcesLanguageAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnek, varsayılan veya geri dönüş kültürünü tanımlamak için özniteliğin NeutralResourcesLanguageAttribute kullanımını göstermek için basit bir "Merhaba Dünya" uygulaması kullanır. İngilizce (en), İngilizce (ABD) (en-US) ve Fransızca (Fransa) (fr-FR) kültürleri için ayrı kaynak dosyalarının oluşturulmasını gerektirir. Aşağıda, İngilizce kültürü için ExampleResources.txt adlı bir metin dosyasının içeriği gösterilmektedir.
# Resources for the default (en) culture.
Greeting=Hello
Kaynak dosyasını bir uygulamada kullanmak için Kaynak Dosya Oluşturucusunu (Resgen.exe) kullanarak dosyayı metin (.txt) biçiminden ikili (.resources) biçimine aşağıdaki gibi dönüştürmelisiniz:
resgen ExampleResources.txt
Uygulama derlendiğinde ikili kaynak dosyası ana uygulama derlemesine eklenir.
Aşağıda, İngilizce (ABD) kültürü için kaynaklar sağlayan ExampleResources.en-US.txt adlı bir metin dosyasının içeriği gösterilmektedir.
# Resources for the en-US culture.
Greeting=Hi
Metin dosyası, komut satırındaki Kaynak Dosya Oluşturucu (ResGen.exe) kullanılarak aşağıdaki gibi ikili kaynaklar dosyasına dönüştürülebilir:
resgen ExampleResources.en-US.txt ExampleResources.en-US.resources
İkili kaynak dosyası daha sonra Derleme Bağlayıcısı (Al.exe) kullanılarak bir derlemede derlenmeli ve aşağıdaki komutu vererek uygulama dizininin en-US alt dizinine yerleştirilmelidir:
al /t:lib /embed:ExampleResources.en-US.resources /culture:en-US /out:en-us\Example.resources.dll
Aşağıda, Fransızca (Fransa) kültürü için kaynaklar sağlayan ExampleResources.fr-FR.txt adlı bir metin dosyasının içeriği gösterilmektedir.
# Resources for the fr-FR culture.
Greeting=Bonjour
Metin dosyası, komut satırında ResGen.exe kullanılarak aşağıdaki gibi ikili kaynak dosyasına dönüştürülebilir:
resgen ExampleResources.fr-FR.txt ExampleResources.fr-FR.resources
İkili kaynaklar dosyası daha sonra Derleme Bağlayıcısı kullanılarak bir derlemede derlenmeli ve aşağıdaki komutu vererek uygulama dizininin fr-FR alt dizinine yerleştirilmelidir:
al /t:lib /embed:ExampleResources.fr-FR.resources /culture:fr-FR /out:fr-FR\Example.resources.dll
Aşağıdaki örnek, geçerli kültürü ayarlayan, kullanıcının adını soran ve yerelleştirilmiş bir dize görüntüleyen yürütülebilir kodu sağlar.
using System;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Threading;
[assembly: NeutralResourcesLanguageAttribute("en")]
public class Example
{
public static void Main()
{
// Select the current culture randomly to test resource fallback.
string[] cultures = { "de-DE", "en-us", "fr-FR" };
Random rnd = new Random();
int index = rnd.Next(0, cultures.Length);
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(cultures[index]);
Console.WriteLine($"The current culture is {CultureInfo.CurrentUICulture.Name}");
// Retrieve the resource.
ResourceManager rm = new ResourceManager("ExampleResources",
typeof(Example).Assembly);
string greeting = rm.GetString("Greeting");
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine($"{greeting} {name}!");
}
}
Imports System.Globalization
Imports System.Resources
Imports System.Threading
<Assembly:NeutralResourcesLanguageAttribute("en")>
Module Example
Public Sub Main()
' Select the current culture randomly to test resource fallback.
Dim cultures() As String = { "de-DE", "en-us", "fr-FR" }
Dim rnd As New Random()
Dim index As Integer = rnd.Next(0, cultures.Length)
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(cultures(index))
Console.WriteLine("The current culture is {0}",
CultureInfo.CurrentUICulture.Name)
' Retrieve the resource.
Dim rm As New ResourceManager("ExampleResources" , GetType(Example).Assembly)
Dim greeting As String = rm.GetString("Greeting")
Console.Write("Enter your name: ")
Dim name As String = Console.ReadLine()
Console.WriteLine("{0} {1}", greeting, name)
End Sub
End Module
Visual Basic'te aşağıdaki komut kullanılarak derlenebilir:
vbc Example.vb /resource:ExampleResources.resources
veya C# dilinde aşağıdaki komutu kullanarak:
csc Example.cs /resource:ExampleResources.resources
Açıklamalar
Masaüstü uygulamalarında özniteliği, NeutralResourcesLanguageAttribute bir uygulamanın varsayılan kültürünü ve kaynaklarının konumunu kaynak yöneticisine bildirir. Varsayılan olarak, kaynaklar ana uygulama derlemesine eklenir ve özniteliğini aşağıdaki gibi kullanabilirsiniz. Bu deyim, İngilizcenin (ABD) uygulamanın varsayılan kültürü olduğunu belirtir.
[assembly: NeutralResourcesLanguage("en-US")]
<Assembly:NeutralResourcesLanguage("en-US")>
NeutralResourcesLanguageAttribute özniteliğini, öznitelik deyiminde bir ResourceManager numaralandırma değeri sağlayarak UltimateResourceFallbackLocation'in varsayılan kültür kaynaklarını nerede bulabileceğini belirtmek için de kullanabilirsiniz. Bu en yaygın olarak kaynakların bir uydu derlemesinde bulunduğunu belirtmek için yapılır. Örneğin, aşağıdaki deyim İngilizcenin (ABD) uygulamanın varsayılan veya nötr kültürü olduğunu ve kaynaklarının bir uydu derlemesinde bulunduğunu belirtir. ResourceManager nesnesi bunları en-USadlı bir alt dizinde arar.
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
<Assembly:NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)>
Tip
Uygulamanızın varsayılan kültürünü tanımlamak için her zaman özniteliğini kullanmanızı NeutralResourcesLanguageAttribute öneririz.
özniteliği iki rol gerçekleştirir:
Varsayılan kültürün kaynakları uygulamanın ana derlemesine eklenmişse ve ResourceManager varsayılan kültürle aynı kültüre ait kaynakları almak zorundaysa, ResourceManager uydu derlemesi aramak yerine otomatik olarak ana derlemede bulunan kaynakları kullanır. Bu, olağan montaj denetimini atlayarak, yüklediğiniz ilk kaynak için arama performansını iyileştirir ve çalışma kümenizi düşürebilir. Kaynak dosyalarını araştırmak için kullanan işlemi, ResourceManager bölümüne bakın.
Varsayılan kültürün kaynakları ana uygulama derlemesi yerine bir uydu derlemesinde bulunuyorsa, NeutralResourcesLanguageAttribute özniteliği çalışma zamanının kaynakları yükleyebileceği kültürü ve dizini belirtir.
Oluşturucular
| Name | Description |
|---|---|
| NeutralResourcesLanguageAttribute(String, UltimateResourceFallbackLocation) |
Belirtilen nihai kaynak geri dönüş konumuyla sınıfının yeni bir örneğini NeutralResourcesLanguageAttribute başlatır. |
| NeutralResourcesLanguageAttribute(String) |
NeutralResourcesLanguageAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| CultureName |
Kültür adını alır. |
| Location |
ResourceManager kullanarak nötr kaynakları almak için kullanılacak sınıfın konumunu alır. |
| TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: Attribute) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
| Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |