Internationalization library for Svelte
Go to file
Christian Kaisermann 6526245bf9 feat: 🎸 make date,time and number formatters tree-shakeable
BREAKING CHANGE: Changes completely the API. Now, to format a number, date or time, the
developer must explicitly import the formatter store:

`import { time, date, number } from 'svelte-i18n'`
2020-02-03 11:24:50 -03:00
.github chore: 🤖 test on latest node (for Intl purposes) 2019-11-28 23:16:05 -03:00
docs docs: ✏️ move docs out of wiki 2020-01-21 10:00:45 -03:00
example test: 💍 add flatObj and getIn tests 2020-01-15 13:59:31 -03:00
src feat: 🎸 make date,time and number formatters tree-shakeable 2020-02-03 11:24:50 -03:00
test feat: 🎸 make date,time and number formatters tree-shakeable 2020-02-03 11:24:50 -03:00
.babelrc Namespace i18n store methods with "i18n" property 2018-08-08 20:17:08 -03:00
.editorconfig I'm sorry Typescript, it's not you... 2018-08-07 18:53:07 -03:00
.eslintignore feat: 🎸 add waitInitialLocale helper 2019-11-22 13:51:18 -03:00
.eslintrc test: 💍 add tests for formatters 2019-11-27 13:26:18 -03:00
.gitignore chore: 🤖 oops, fix actual build-time types being git ignored 2020-01-23 10:32:56 -03:00
.nvmrc chore: 🤖 change nvmrc version 2019-11-28 23:19:05 -03:00
.prettierrc refactor: 💡 separation of a lot of concerns 2019-11-22 13:51:18 -03:00
CHANGELOG.md chore(release): v2.3.1 🎉 2020-01-29 11:47:19 -03:00
LICENSE 👶 Initial commit 2018-07-25 22:50:55 -03:00
package.json chore: 🤖 add lint-staged and husky 2020-01-29 11:49:28 -03:00
README.md docs: ✏️ move docs out of wiki 2020-01-21 10:00:45 -03:00
rollup.config.js feat: 🎸 add runtime typings 2020-01-23 10:11:04 -03:00
tsconfig.json feat: 🎸 add runtime typings 2020-01-23 10:11:04 -03:00
yarn.lock chore: 🤖 add lint-staged and husky 2020-01-29 11:49:28 -03:00

npm version

svelte-i18n

Internationalization for Svelte.

svelte-i18n helps you localize your app using the reactive tools Svelte provides. By using stores to keep track of the current locale, dictionary of messages and to format messages, we keep everything neat, in sync and easy to use on your svelte files.

Requirements

  • Node: >= 11.15.0
  • Browsers: Chrome 38+, Edge 16+, Firefox 13+, Opera 25+, Safari 8+.
<script>
  import { _ } from 'svelte-i18n'
</script>

<h1>{$_('page.home.title')}</h1>

<nav>
  <a>{$_('page.home.nav', { default: 'Home' })}</a>
  <a>{$_('page.about.nav', { default: 'About' })}</a>
  <a>{$_('page.contact.nav', { default: 'Contact' })}</a>
</nav>
// en.json
{
  "page": {
    "home": {
      "title": "Homepage",
      "nav": "Home"
    },
    "about": {
      "title": "About",
      "nav": "About"
    },
    "contact": {
      "title": "Contact",
      "nav": "Contact Us"
    }
  }
}

Go see the documentation