Internationalization library for Svelte
Go to file
2018-08-08 02:17:09 -03:00
src Make tests work again. New utility structure 2018-08-08 02:17:09 -03:00
test Make tests work again. New utility structure 2018-08-08 02:17:09 -03:00
.editorconfig I'm sorry Typescript, it's not you... 2018-08-07 18:53:07 -03:00
.eslintignore I'm sorry Typescript, it's not you... 2018-08-07 18:53:07 -03:00
.eslintrc I'm sorry Typescript, it's not you... 2018-08-07 18:53:07 -03:00
.gitignore Make tests work again. New utility structure 2018-08-08 02:17:09 -03:00
.npmignore I'm sorry Typescript, it's not you... 2018-08-07 18:53:07 -03:00
.prettierrc I'm sorry Typescript, it's not you... 2018-08-07 18:53:07 -03:00
LICENSE 👶 Initial commit 2018-07-25 22:50:55 -03:00
package-lock.json Make tests work again. New utility structure 2018-08-08 02:17:09 -03:00
package.json Make tests work again. New utility structure 2018-08-08 02:17:09 -03:00
README.md I'm sorry Typescript, it's not you... 2018-08-07 18:53:07 -03:00

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>

<script>
  import { upper } from 'svelte-i18n';
  export default {
    helpers: {
      upper,
    }
  }
</script>

Renders:

Message: SUCCESS