Skip to content

ghas-results/front.i18n

 
 

Repository files navigation

front.i18n

O seletor front end de línguas.

Existem dois scripts no plugin: vtex-i18n.js e vtex-locale-selector.js. Sendo o segundo dependente do primeiro.

O vtex-i18n.js é responsável pelo locale, countryCode e currency do site. Enquanto o vtex-locale-selector.js cuida do plugin i18next.

Diferente do vtex-locale-selector.js, o vtex-i18n.js é iniciado automaticamente, não necessitando de nenhuma instanciação ou script extra.

O locale tem seu default definido na seguinte ordem de ocorrência:

    <!-- Atributo lang da tag html -->
    <html lang="en-US">
    
    <!-- Tag meta com language -->
    <meta name="language" content="en-US"/>
    
    <!-- Fallback para pt-BR -->

O countryCode irá setar como default :

    <!-- Tag meta com country -->
    <meta name="country" content="USA"/>
    
    <!-- Fallback para BRA -->

vtex-i18n.js

Dependência: jQuery.

vtex.i18n.setLocale(locale)

Troca a língua corrente.

Param tipo exemplo descrição
locale string "en-US" Locale da língua a ser usada.

vtex.i18n.getLocale()

Retorna o locale corrente.


vtex.i18n.setLocaleCallback(callback)

Seta uma função de callback ao trocar a língua.

Param tipo exemplo descrição
callback function ou string função ou "vtex.i18n.update" Caso seja do tipo function, o callback chamará a função passando como parametro o novo locale. Caso seja do tipo string, assume-se que será chamado um canal do Radio.
Ex: para o parametro do tipo string vtex.i18n.update, um possível callback a ser chamado seria: radio('vtex.i18n.update').broadcast('pt-BR')

vtex.i18n.setCountryCode(countryCode)

Troca o countryCode a ser usado pela função vtex.i18n.getCurrencySymbol

Param tipo exemplo descrição
countryCode string "USA" countryCode do país.

vtex.i18n.getCountryCode()

Retorna o countryCode corrente.


vtex.i18n.setCountryCodeCallback(callback)

Seta uma função de callback ao trocar o countryCode.

Param tipo exemplo descrição
callback function ou string função ou "vtex.countryCode.update" Caso seja do tipo function, o callback chamará a função passando como parametro o novo countryCode. Caso seja do tipo string, assume-se que será chamado um canal do Radio.
Ex: para o parametro do tipo string vtex.countryCode.update, um possível callback a ser chamado seria: radio('vtex.countryCode.update').broadcast('ARG')

vtex.i18n.getCurrency(countryCode)

Retorna o símbolo monetário do país.

Param tipo exemplo descrição
countryCode string "ARG" (opcional) Tem como default o valor de vtex.i18n.getCountryCode ou pelo countryCode passado como parametro.

vtex-locale-selector.js

Dependências: vtex-i18n.js, jQuery, Select2, i18next.

Primeiramente carregue todas as dependências. Em seguida, carregue seus arquivos de translations. Você pode encontrar um exemplo do formato a ser seguido em /src/coffee/translation-en-US.coffee.

Agora é só inicar o plugin no evento de $(document).ready() do jQuery com a função vtex.i18n.init().

Para traduzir um elemento na página, adicione o atributo data-i18n com o valor da chave do arquivo de translation. Por exemplo:

<p data-i18n="chave"></p>

Caso queira traduzir um atributo do elemento HTML, como o atributo title, alt ou placeholder. Use o seguinte formato:

<a data-i18n="[title]chave"></a>

Caso não queira ter um select para o usuário final trocar de língua, apenas não inclua o elemento com o id #vtex-locale-selector, tudo continuará a funcionar normalmente. Ou seja, você ainda poderá usar a API por Javascript.

vtex.i18n.init()

Inicia o plugin.

Podendo ser extensível com a biblioteca de pub/sub Radio.js.


VTEX - 2013

About

Front end locale selector plugin

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 85.7%
  • CoffeeScript 11.6%
  • HTML 2.0%
  • CSS 0.7%