...
Existem alguns tipos de fontes de localização predefinidos, que o TNF traz suporte nativo.
O .NET Core ainda mantem suporte a Globalização e Localização default do framework.
Os textos de localização podem ser armazenados em arquivos XML:
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Configuration.Localization.Sources.Add( new DictionaryBasedLocalizationSource( "MySourceName", new JsonEmbeddedFileLocalizationDictionaryProvider( Assembly.GetExecutingAssembly(), "MyCompany.MyProject.Localization.Sources" ) ) ); |
Para utilizar a estrutura do TNF para localização em banco de dados você irá precisar criar em seu banco duas tabelas TnfLanguages e TnfLanguageTexts.
A tabela TnfLanguages representa os idiomas suportados e TnfLanguageTexts as suas traduções:
Para criação do estrutura você deverá executar o seguinte script: Localization-Script.sql
Agora para criar suporte a uma nova linguagem você pode inserir via SQL:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
INSERT INTO [dbo].[TnfLanguages] ([TenantId],[IsDeleted],[Name],[DisplayName],[CreationTime])
VALUES (NULL,0,'pt-BR','Português',GETDATE()) |
Note que a tabela contém o campo TenantId. Preencha esta informação caso você esteja trabalhando com Multi-tenancy.
Para incluir uma nova chave de tradução utilize o SQL:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
INSERT INTO [dbo].[TnfLanguageTexts] ([TenantId],[LanguageName],[Source],[Key],[Value],[CreationTime])
VALUES (NULL,'pt-BR','ArchitectureApp','President_Title','Página Inicial',GETDATE()) |
Note que a tabela contém o campo TenantId. Preencha esta informação caso você esteja trabalhando com Multi-tenancy.