in sample/app/src/main/java/com/whatsapp/stringpacks/sample/LocaleUtil.java [20:48]
public static void overrideCustomLanguage(Context context, String languageTag) {
String language = languageTag;
String country = "";
int dashIndex = languageTag.indexOf('-');
if (dashIndex > 0) {
language = languageTag.substring(0, dashIndex);
country = languageTag.substring(dashIndex + 1);
}
final Locale newLocale = new Locale(language, country);
final Context overriddenContext;
if (UPDATE_CONFIGURATION_WORKS) {
// On API < 26, we modify the existing Context directly.
final Resources res = context.getResources();
final Configuration config = res.getConfiguration();
config.locale = new Locale(language, country);
res.updateConfiguration(config, res.getDisplayMetrics());
overriddenContext = context;
} else {
final Configuration config = new Configuration();
config.setLocale(newLocale);
overriddenContext = context.createConfigurationContext(config);
}
StringPacks.getInstance().setUp(overriddenContext);
}