Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Existem alguns tipos de fontes de localização predefinidos, que o TNF traz suporte nativo.

Arquivos XML

...

Os textos de localização podem ser armazenados em arquivos XML:

...

Para arquivos XML tidos como embedded resourceem 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
languagec#
firstline1
titleRegistrando um embedded resource
linenumberstrue
Configuration.Localization.Sources.Add(
    new DictionaryBasedLocalizationSource(
        "SimpleTaskSystem",
        new XmlEmbeddedFileLocalizationDictionaryProvider(
            Assembly.GetExecutingAssembly(),
            "MyCompany.MyProject.Localization.Sources"
            )
        )
    );

Arquivos JSON

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
languagec#
firstline1
titleRegistrando um fonte de localização JSON
linenumberstrue
{
  "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

Registrando Fontes de Localização 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
languagec#
firstline1
titleConfigurando uma fonte de localização JSON
linenumberstrue
Configuration.Localization.Sources.Add(
    new DictionaryBasedLocalizationSource(
        "MySourceName",
        new JsonFileLocalizationDictionaryProvider(
            HttpContext.Current.Server.MapPath("~/Localization/MySourceName")
            )
        )
    );

Para arquivos JSONs tidos como embedded resourceem nosso projetodevemos 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
languagec#
firstline1
titleRegistrando uma fonte de localização JSON
linenumberstrue
Configuration.Localization.Sources.Add(
    new DictionaryBasedLocalizationSource(
        "MySourceName",
        new JsonEmbeddedFileLocalizationDictionaryProvider(
            Assembly.GetExecutingAssembly(),
            "MyCompany.MyProject.Localization.Sources"
            )
        )
    );