2022-08-11 10:42:49 +02:00
> :information_source: `svelte-i18n` is due to some reworking, like moving from a singleton to instances. This will be worked on when I find the time and priority :pray:
2019-11-21 05:51:22 +01:00
[![npm version ](https://badge.fury.io/js/svelte-i18n.svg )](https://badge.fury.io/js/svelte-i18n) ![](https://github.com/kaisermann/svelte-i18n/workflows/CI/badge.svg)
2019-11-21 02:50:00 +01:00
2018-07-26 06:40:19 +02:00
# svelte-i18n
2018-07-26 03:40:38 +02:00
2019-05-19 04:02:24 +02:00
> Internationalization for Svelte.
2019-11-21 05:51:22 +01:00
`svelte-i18n` helps you localize your app using the reactive tools Svelte provides. By using [stores ](https://svelte.dev/docs#svelte_store ) 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.
2019-05-19 03:59:26 +02:00
2019-11-21 05:51:22 +01:00
**Requirements**
2019-11-21 03:31:31 +01:00
2019-12-03 03:41:34 +01:00
- Node: `>= 11.15.0`
- Browsers: `Chrome 38+` , `Edge 16+` , `Firefox 13+` , `Opera 25+` , `Safari 8+` .
2019-11-22 19:05:00 +01:00
```svelte
< 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 >
```
```jsonc
// en.json
{
2019-12-03 03:41:34 +01:00
"page": {
"home": {
"title": "Homepage",
"nav": "Home"
},
"about": {
"title": "About",
"nav": "About"
},
"contact": {
"title": "Contact",
"nav": "Contact Us"
}
}
2019-11-22 19:05:00 +01:00
}
```
2020-05-31 18:26:35 +02:00
- [Documentation ](/docs/Getting%20Started.md )
- [Sapper Template ](https://github.com/kaisermann/sapper-template-i18n )
2020-11-07 14:58:17 +01:00
- [i18n VSCode extension (3rd party) ](https://github.com/antfu/i18n-ally )