Using requiresTranslation in ember-intl.js config to silence missing translations for the non-default locale works fine
module.exports = function() {
return {
disablePolyfill: true,
publicOnly: true,
requiresTranslation(key, locale) {
return locale === 'en-us';
}
};
};
If the en-us translation uses arguments in a translation key and the other locales are not translated then "ICU argument missing warnings" appear for the key
en-us or locale translation mistakes are buriedI've read through the docs but haven't stumbled upon anything that would achieve this.
en-us.yaml
timeUnits:
years: "{count, plural, =1 {year} other {years}}"
string: "Example"
es-es.yaml
string: "Ejemplo"
build output
[ember-intl] "timeUnits.years" ICU argument missing: "es-es": "count"

https://github.com/ember-intl/ember-intl/pull/1180 is trying to solve this. I don't yet have an API in mind for it - feel free to propose one.
This will be resolved in the next 5.0.0 prerelease
Thanks @sandstrom
Reopening because the current implementation has issues & we'll need to tackle it differently.
In retrospect, requiresTranslation should not have been used in two different contexts (mismatch arguments and missing translations). A new hook will need to be added - and I'm not a fan of adding more options for the linter in the configs current form. I want to rethink the linting config API - which will need to happen in 6.0.0 because it will likely involve breaking changes.
My incoming fix to 5.x will make ensure that ICU argument mismatch warnings no longer are emitted for translations that are missing. requiresTranslation will not have any baring on mismatched arguments.
cc @sandstrom
5.0.7 corrects the behavior.
Most helpful comment
This will be resolved in the next 5.0.0 prerelease
Thanks @sandstrom
https://github.com/ember-intl/ember-intl/pull/1224