svelte-i18n/README.md
2018-07-26 23:33:02 -03:00

906 B

svelte-i18n

Internationalization for svelte

Work-in-progress

Usage

On the store

import i18n from 'svelte-i18n'
import { Store } from 'svelte/store'

const store = new Store()

/** i18n(svelteStore, arrayOfLocalesObjects) */
i18n(store, [
  {
    'pt-BR': {
      message: 'Mensagem',
      messages: {
        alert: 'Alerta',
        error: 'Erro'
      }
    },
    'en-US': {
      message: 'Message',
      messages: {
        alert: 'Alert',
        error: 'Error'
      }
    }
  },
  /** Locales are deeply merged */
  {
    'pt-BR': {
      messages: {
        warn: 'Aviso',
        success: 'Sucesso'
      }
    },
    'en-US': {
      messages: {
        warn: 'Warn',
        success: 'Success'
      }
    }
  }
])

On templates

<div>
  {$_('message')}: {$_.upper('messages.success')}
</div>

<!-- Will render for en-US -->
Message: SUCCESS