`import { locale } from 'svelte-i18n'`
### `$locale`
The `locale` store defines what is the current locale. When its value is changed, before updating the actual stored value, `svelte-i18n` sees if there's any message loaders registered for the new locale:
- If yes, changing the `locale` is an async operation.
- If no, the locale's dictionary is fully loaded and changing the locale is a sync operation.
The `` attribute is automatically updated to the current locale.
#### Usage on component
To change the locale inside a component is as simple as assinging it a new value.
```svelte
```
#### Usage on regular script
```js
import { locale } from 'svelte-i18n'
// Set the current locale to en-US
locale.set('en-US')
// This is a store, so we can subscribe to its changes
locale.subscribe(() => console.log('locale change'))
```
### `$loading`
While changing the `$locale`, the `$loading` store can be used to detect if the app is currently fetching any enqueued message definitions.
```svelte
{#if loading}
Please wait...
{:else}
{/if}
```
> `$loading` will only be `true` if fetching takes more than 200ms.