feat: Support nested locale keys.

Example:

```js
{
  model: {
    user: {
      name: 'Real Name',
      createdAt: 'Joined At'
    }
  }
}
```

```js
ctx.__('model.user.name');
ctx.__('model.user.createdAt');
```

The before:

```js
{
  'model.user.name': 'Real Name',
  'model.user.createdAt', 'Joined At'
}
```

Benchmarks:

```
Deeps:  9
  2 tests completed.

  direct read a key x 85,993,593 ops/sec ±1.89% (96 runs sampled)
  by nested         x  4,203,837 ops/sec ±0.98% (93 runs sampled)
```
This commit is contained in:
Jason Lee
2015-09-17 18:20:10 +08:00
parent 1c347630f1
commit 58324a11ff
6 changed files with 193 additions and 3 deletions

View File

@@ -21,7 +21,7 @@ koa-locales
koa locales, i18n solution for koa:
1. All locales resources location on `options.dir`.
2. resources file supports: `*.js`, `*.json` and `*.properties`
2. resources file supports: `*.js`, `*.json` and `*.properties`, [examples](https://github.com/koajs/locales/tree/master/test/locales)
3. One api: `__(key[, value, ...])`
4. Auto detect request locale from `query`, `cookie` and `header: Accept-Language`