...
Existem alguns tipos de fontes de localização predefinidos, que o TNF traz suporte nativo.
...
Os textos de localização podem ser armazenados em arquivos XML:
...
Para arquivos XML tidos como embedded resources em nosso projeto, devemos marcar todos os arquivos XML de localização como resources do tipo embedded resources (Selecionar arquivos XML, abrir a janela de propriedades (F4) e alterar o seu Build Action para Embedded resource). Em seguida, podemos registrar a fonte de localização como mostrado abaixo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Configuration.Localization.Sources.Add( new DictionaryBasedLocalizationSource( "SimpleTaskSystem", new XmlEmbeddedFileLocalizationDictionaryProvider( Assembly.GetExecutingAssembly(), "MyCompany.MyProject.Localization.Sources" ) ) ); |
Os arquivos JSON podem ser usados para armazenar textos para uma fonte de localização. Um exemplo de arquivo de localização do JSON é mostrado abaixo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"culture": "en",
"texts": {
"TaskSystem": "Task system",
"Xtasks": "{0} tasks"
}
} |
Para distinção de cada arquivo e sua linguagem é usado a convenção através da linguagem. Seguindo o nosso exemplo acima onde temos duas linguagens (Inglês como padrão e português) teríamos dois arquivos json:
MySourceName.json
MySourceName-pt-BR.json
Os arquivos JSON podem ser armazenados em seu File System ou podem ser incorporados para o Assembly. Para JSONs armazenados no File System, podemos registrar uma fonte de localização JSON como mostrado abaixo (método PreInitialize de nosso modulo):
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Configuration.Localization.Sources.Add(
new DictionaryBasedLocalizationSource(
"MySourceName",
new JsonFileLocalizationDictionaryProvider(
HttpContext.Current.Server.MapPath("~/Localization/MySourceName")
)
)
); |
Para arquivos JSONs tidos como embedded resources em nosso projeto, devemos marcar todos os arquivos JSON de localização como resources do tipo embedded resources (Selecionar arquivos JSON, abrir a janela de propriedades (F4) e alterar o seu Build Action para Embedded resource). Em seguida, podemos registrar a fonte de localização como mostrado abaixo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Configuration.Localization.Sources.Add(
new DictionaryBasedLocalizationSource(
"MySourceName",
new JsonEmbeddedFileLocalizationDictionaryProvider(
Assembly.GetExecutingAssembly(),
"MyCompany.MyProject.Localization.Sources"
)
)
); |