ember-cli-i18n
Version:
Simple Internationalization support for ember-cli apps.
34 lines (26 loc) • 934 B
JavaScript
import Ember from 'ember';
import { read } from 'ember-cli-i18n/utils/stream';
export default function(keys, value, result, path, countryCode, fn) {
var type;
// Handle results that come in as a Stream
value = read(value);
if (hasValidKey(keys, result)) {
if(Ember.typeOf(value) === 'number') {
type = fn(value);
} else {
Ember.assert('Translation for key "' + path + '" expected a count value.', false);
}
} else {
Ember.assert('Translation for key "' + path + '" does not contain valid pluralization types for language "' + countryCode + '". Must contain one of the follow keys: ' + keys.join(', '), false);
}
return { result: result[type], path: path + '.' + type };
}
function hasValidKey(keys, result) {
var resultKeys = Ember.keys(result);
for(var i = 0; i < resultKeys.length; i++) {
if (keys.indexOf(resultKeys[i]) > -1) {
return true;
}
}
return false;
}