feat: support header lang from localeAlias (#27)

master
Tao Xu 2017-04-27 16:04:15 +08:00 committed by fengmk2
parent 6857227777
commit dddb4c0c2e
2 changed files with 28 additions and 1 deletions

View File

@ -141,7 +141,7 @@ module.exports = function (app, options) {
if (languages.length > 0) {
for (let i = 0; i < languages.length; i++) {
const lang = formatLocale(languages[i]);
if (resources[lang]) {
if (resources[lang] || localeAlias[lang]) {
locale = lang;
break;
}

View File

@ -213,6 +213,33 @@ describe('koa-locales.test.js', function () {
.expect('Set-Cookie', /^locale=de; path=\/; expires=\w+/)
.expect(200, done);
});
it('should use localeAlias header', function (done) {
request(cookieFieldMapApp.callback())
.get('/')
.set('Accept-Language', 'ja,de-de;q=0.8')
.expect({
email: 'Emailde',
hello: 'Hallo fengmk2, wie geht es dir heute?',
message: 'Hallo fengmk2, wie geht es dir heute? Wie war dein 18.',
empty: '',
notexists_key: 'key not exists',
empty_string: '',
empty_value: 'emptyValue',
novalue: 'key %s ok',
arguments3: '1 2 3',
arguments4: '1 2 3 4',
arguments5: '1 2 3 4 5',
arguments6: '1 2 3 4 5. 6',
values: 'foo bar foo bar {2} {100}',
object: 'foo bar foo bar {z}',
'gender': 'model.user.fields.gender',
'name': 'model.user.fields.name',
})
.expect('Set-Cookie', /^locale=de; path=\/; expires=\w+/)
.expect(200, done);
});
});
describe('cookie.locale', function () {