I18n Manager
A classe do gerenciador I18n expõe a API para criar instâncias específicas de localidade da classe I18n
e também estender os recursos padrão adicionando formatadores e carregadores personalizados.
Você pode importar a instância singleton da classe I18nManager
da seguinte forma:
import I18n from '@ioc:Adonis/Addons/I18n'
Métodos/Propriedades
A seguir está a lista de métodos/propriedades disponíveis na classe do Gerenciador I18n.
defaultLocale
Uma referência somente leitura para o defaultLocale
definido dentro do arquivo de configuração.
import I18n from '@ioc:Adonis/Addons/I18n'
console.log(I18n.defaultLocale)
locale
Retorna uma instância da classe I18n para uma localidade fornecida.
import I18n from '@ioc:Adonis/Addons/I18n'
const en = I18n.locale('en')
const fr = I18n.locale('fr')
getSupportedLocale
Retorna a melhor localidade compatível para o(s) idioma(s) do usuário. O método usa a negociação de conteúdo para encontrar a localidade compatível.
import I18n from '@ioc:Adonis/Addons/I18n'
const bestMatch = I18n.getSupportedLocale(['en', 'fr'])
getFallbackLocale
Retorna a localidade de fallback para uma localidade fornecida. O método procura o objeto fallbacks
definido no arquivo de configuração. Ele retorna o defaultLocale
quando nenhuma fallback é encontrada.
import I18n from '@ioc:Adonis/Addons/I18n'
I18n.getFallbackLocale('ca')
supportedLocales
Retorna uma matriz de localidades suportadas pelo aplicativo. O valor de configuração é usado quando definido explicitamente no arquivo de configuração. Caso contrário, inferiremos as localidades suportadas dos diretórios de idiomas.
import I18n from '@ioc:Adonis/Addons/I18n'
I18n.supportedLocales() // ['en', 'fr', 'it']
loadTranslations
Carrega as traduções usando os carregadores configurados. As traduções são armazenadas em cache na memória.
Se você quiser atualizar as traduções, use o método reloadTranslations.
NOTA
Este método é chamado automaticamente durante a inicialização do aplicativo.
import I18n from '@ioc:Adonis/Addons/I18n'
await I18n.loadTranslations()
reloadTranslations
Recarrega as traduções de todos os carregadores configurados. Cada chamada para este método fará com que os carregadores busquem as traduções da fonte.
import I18n from '@ioc:Adonis/Addons/I18n'
await I18n.reloadTranslations()
getTranslations
Retorna um objeto de traduções em cache. O objeto é uma cópia mesclada de todas as traduções carregadas de vários carregadores configurados.
import I18n from '@ioc:Adonis/Addons/I18n'
I18n.getTranslations()
getTranslationsFor
Retorna as traduções para um determinado local.
import I18n from '@ioc:Adonis/Addons/I18n'
I18n.getTranslationsFor('en')
I18n.getTranslationsFor('fr')
getFormatter
Retorna uma instância do formatador de traduções configurado.
import I18n from '@ioc:Adonis/Addons/I18n'
I18n.getFormatter()
prettyPrint
Um método auxiliar para imprimir de forma bonita a carga útil do evento i18n:missing:translation
.
import Event from '@ioc:Adonis/Core/Event'
import I18n from '@ioc:Adonis/Addons/I18n'
Event.on('i18n:missing:translation', I18n.prettyPrint)
extend
Estenda os recursos padrão adicionando formatadores e carregadores de traduções personalizados.
NOTA
Certifique-se de ler o guia de extensões para uma explicação detalhada sobre como adicionar formatadores e carregadores personalizados.
import I18n from '@ioc:Adonis/Addons/I18n'
I18n.extend('name', 'formatter', () => new Impl())
I18n.extend('name', 'loader', () => new Impl())