lib/output/website/prepareI18n.js
function prepareI18n(output) {
    var state = output.getState();
    var i18n = state.getI18n();
    var searchPaths = listSearchPaths(output);

    searchPaths
        .reverse()
        .forEach(function(searchPath) {
            var i18nRoot = path.resolve(searchPath, '_i18n');

            if (!fs.existsSync(i18nRoot)) return;
            i18n.load(i18nRoot);
        });

    return Promise(output);
}
function prepareI18n(output) {
    var state = output.getState();
    var i18n = state.getI18n();
    var searchPaths = listSearchPaths(output);

    searchPaths
        .reverse()
        .forEach(function(searchPath) {
            var i18nRoot = path.resolve(searchPath, '_i18n');

            if (!fs.existsSync(i18nRoot)) return;
            i18n.load(i18nRoot);
        });

    return Promise(output);
}
function prepareI18n ( output ) { var state = output . getState ( ) ; var i18n = state . getI18n ( ) ; var searchPaths = listSearchPaths ( output ) ; searchPaths . reverse ( ) . forEach ( function ( searchPath ) { var i18nRoot = path . resolve ( searchPath , '_i18n' ) ; if ( ! fs . existsSync ( i18nRoot ) ) return ; i18n . load ( i18nRoot ) ; } ) ; return Promise ( output ) ; }
Prepare i18n, load translations from plugins and book

@param {Output}
@return {Promise<Output>}
Prepare i18n load translations from plugins and book