UNPKG

ember-intl

Version:

Ember toolbox for internationalization.

40 lines (31 loc) 1.05 kB
/* globals requirejs */ /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ import ENV from '../config/environment'; function filterBy(type) { return Object.keys(requirejs._eak_seen).filter((key) => { return key.indexOf(`${ENV.modulePrefix}\/${type}\/`) === 0; }); } export function instanceInitializer(instance) { let service; if (typeof instance.lookup === 'function') { service = instance.lookup('service:intl'); } else { service = instance.container.lookup('service:intl'); } filterBy('cldrs') .map((cldr) => require(cldr, null, null, true)['default']) .forEach((lang) => lang.forEach(service.addLocaleData)); filterBy('translations').forEach((key) => { const localeSplit = key.split('\/'); const localeName = localeSplit[localeSplit.length - 1]; service.addTranslations(localeName, require(key, null, null, true)['default']); }); } export default { name: 'ember-intl', initialize: instanceInitializer }