2015-10-01 00:30:16 +02:00

55 lines
1.1 KiB
JavaScript

'use strict';
/**
* Module dependencies
*/
// Node.js core.
const path = require('path');
// Public node modules.
const _ = require('lodash');
/**
* i18n hook
*/
module.exports = function (strapi) {
const hook = {
/**
* Default options
*/
defaults: {
i18n: {
defaultLocale: 'en',
modes: ['query', 'subdomain', 'cookie', 'header', 'url', 'tld'],
cookieName: 'locale'
}
},
/**
* Initialize the hook
*/
initialize: function (cb) {
if (_.isPlainObject(strapi.config.i18n) && !_.isEmpty(strapi.config.i18n)) {
strapi.middlewares.locale(strapi.app);
strapi.app.use(strapi.middlewares.i18n(strapi.app, {
directory: path.resolve(strapi.config.appPath, strapi.config.paths.config, 'locales'),
locales: strapi.config.i18n.locales,
defaultLocale: strapi.config.i18n.defaultLocale,
modes: strapi.config.i18n.modes,
cookieName: strapi.config.i18n.cookieName,
extension: '.json'
}));
}
cb();
}
};
return hook;
};