Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vtex/front.i18n
Front end locale selector plugin
https://github.com/vtex/front.i18n
srv-checkout-ui xp-shopping
Last synced: about 1 month ago
JSON representation
Front end locale selector plugin
- Host: GitHub
- URL: https://github.com/vtex/front.i18n
- Owner: vtex
- License: mit
- Created: 2013-05-23T17:56:33.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2018-11-27T14:49:59.000Z (about 6 years ago)
- Last Synced: 2024-04-14T22:51:54.612Z (9 months ago)
- Topics: srv-checkout-ui, xp-shopping
- Language: JavaScript
- Size: 403 KB
- Stars: 0
- Watchers: 214
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```html
```O countryCode irá setar como default :
```html
```## vtex-i18n.js
Dependência: [jQuery](http://jquery.com/).
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 tipofunction
, o callback chamará a função passando como parametro o novo locale. Caso seja do tipostring
, assume-se que será chamado um canal do Radio.
Ex: para o parametro do tipo stringvtex.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 tipofunction
, o callback chamará a função passando como parametro o novocountryCode
. Caso seja do tipostring
, assume-se que será chamado um canal do Radio.
Ex: para o parametro do tipo stringvtex.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 devtex.i18n.getCountryCode
ou pelocountryCode
passado como parametro.
## vtex-locale-selector.js
Dependências: vtex-i18n.js, [jQuery](http://jquery.com/), [Select2](http://ivaynberg.github.io/select2/), [i18next](http://i18next.com/).
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:
```html
```
Caso queira traduzir um atributo do elemento HTML, como o atributo `title`, `alt` ou `placeholder`. Use o seguinte formato: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](http://radio.uxder.com/).
-------
VTEX - 2013