mirror of https://github.com/rancher/ui.git
169 lines
4.7 KiB
JavaScript
169 lines
4.7 KiB
JavaScript
/* eslint-env node */
|
|
|
|
// Override translation-reducer to not tell us about missing 'none' keys
|
|
// var TranslationReducer = require('ember-intl/lib/broccoli/translation-reducer');
|
|
|
|
// function propKeys(object) {
|
|
// var result = [];
|
|
// var escaped;
|
|
|
|
// for (var key in object) {
|
|
// escaped = key.replace(/\./g, '\\.');
|
|
|
|
// if (object.hasOwnProperty(key)) {
|
|
// if (typeof object[key] === 'object') {
|
|
// result = result.concat(propKeys(object[key]).map(function (_key) {
|
|
// return escaped + '.' + _key;
|
|
// }));
|
|
// } else {
|
|
// result.push(escaped);
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// return result;
|
|
// }
|
|
|
|
// TranslationReducer.prototype.findMissingKeys = function(target, defaultTranslationKeys, locale) {
|
|
// var targetProps = propKeys(target);
|
|
// var log = this.options.log;
|
|
|
|
// var total = defaultTranslationKeys.length;
|
|
// var missing = {};
|
|
|
|
// defaultTranslationKeys.forEach(function (property) {
|
|
// if (targetProps.indexOf(property) === -1 && locale !== 'none') {
|
|
// missing[locale] = (missing[locale]||0) + 1;
|
|
// //log(property + '\' missing from ' + locale);
|
|
// }
|
|
// });
|
|
|
|
// Object.keys(missing).forEach(function(locale) {
|
|
// log(missing[locale] + ' keys missing in ' + locale);
|
|
// });
|
|
// };
|
|
|
|
module.exports = function(/* environment */) {
|
|
return {
|
|
/**
|
|
* The locales that the application needs to support.
|
|
*
|
|
* NOTE: this is optional and is automatically set *if* you store translations
|
|
* within the `inputPath` defined below.
|
|
*
|
|
* If you side load translations, you must then explicitly
|
|
* list out the locales. i.e: ['en-us', 'en-gb', 'fr-fr']
|
|
*
|
|
* @property locales
|
|
* @type {Array?}
|
|
* @default "null"
|
|
*/
|
|
locales: ['en-us', 'de-de'],
|
|
|
|
/**
|
|
* Merges the fallback l=ocale's translations into all other locales as a
|
|
* build-time fallback strategy.
|
|
*
|
|
* NOTE: a side effect of this option could result in missing translation warnings to be masked.
|
|
*
|
|
* @property fallbackLocale
|
|
* @type {String?}
|
|
* @default "null"
|
|
*/
|
|
fallbackLocale: 'en-us',
|
|
|
|
/**
|
|
* Path where translations are kept. This is relative to the project root.
|
|
* For example, if your translations are an npm dependency, set this to:
|
|
*`'./node_modules/path/to/translations'`
|
|
*
|
|
* @property inputPath
|
|
* @type {String}
|
|
* @default "'translations'"
|
|
*/
|
|
inputPath: 'translations',
|
|
|
|
/**
|
|
* Automatically inject the Intl.JS polyfill into index.html
|
|
*
|
|
* @property autoPolyfill
|
|
* @type {Boolean}
|
|
* @default "false"
|
|
*/
|
|
autoPolyfill: false,
|
|
|
|
/**
|
|
* Prevents the polyfill from being bundled in the asset folder of the build
|
|
*
|
|
* @property disablePolyfill
|
|
* @type {Boolean}
|
|
* @default "false"
|
|
*/
|
|
disablePolyfill: false,
|
|
|
|
/**
|
|
* Prevents the translations from being bundled with the application code.
|
|
* This enables asynchronously loading the translations for the active locale
|
|
* by fetching them from the asset folder of the build.
|
|
*
|
|
* See: https://ember-intl.github.io/ember-intl/docs/guide/asynchronously-loading-translations
|
|
*
|
|
* @property publicOnly
|
|
* @type {Boolean}
|
|
* @default "false"
|
|
*/
|
|
publicOnly: true,
|
|
|
|
/**
|
|
* Cause a build error if ICU argument mismatches are detected.
|
|
*
|
|
* @property errorOnNamedArgumentMismatch
|
|
* @type {Boolean}
|
|
* @default "false"
|
|
*/
|
|
errorOnNamedArgumentMismatch: false,
|
|
|
|
/**
|
|
* Cause a build error if missing translations are detected.
|
|
*
|
|
* See https://ember-intl.github.io/ember-intl/docs/guide/missing-translations#throwing-a-build-error-on-missing-required-translation
|
|
*
|
|
* @property errorOnMissingTranslations
|
|
* @type {Boolean}
|
|
* @default "false"
|
|
*/
|
|
errorOnMissingTranslations: false,
|
|
|
|
/**
|
|
* removes empty translations from the build output.
|
|
*
|
|
* @property stripEmptyTranslations
|
|
* @type {Boolean}
|
|
* @default false
|
|
*/
|
|
stripEmptyTranslations: false,
|
|
|
|
/**
|
|
* Add the subdirectories of the translations as a namespace for all keys.
|
|
*
|
|
* @property wrapTranslationsWithNamespace
|
|
* @type {Boolean}
|
|
* @default false
|
|
*/
|
|
wrapTranslationsWithNamespace: false,
|
|
|
|
/**
|
|
* Filter missing translations to ignore expected missing translations.
|
|
*
|
|
* See https://ember-intl.github.io/ember-intl/docs/guide/missing-translations#requiring-translations
|
|
*
|
|
* @property requiresTranslation
|
|
* @type {Function}
|
|
* @default "function(key,locale){return true}"
|
|
*/
|
|
requiresTranslation(/* key, locale */) {
|
|
return false;
|
|
}
|
|
};
|
|
};
|