@nativescript-community/l
Version:
Native internationalization plugin for NativeScript using native capabilities of each platform
31 lines • 992 B
JavaScript
import { vsprintf } from 'sprintf-js';
import { convertAtSignToStringSign } from './placeholder';
let bundle;
const getBundle = (function () {
return function () {
if (!bundle) {
bundle = NSBundle.mainBundle;
}
return bundle;
};
})();
export function localizeNative(key, ...args) {
try {
const localizedString = getBundle().localizedStringForKeyValueTable(key, key, null);
return vsprintf(convertAtSignToStringSign(localizedString), args);
}
catch (error) {
return key;
}
}
export function overrideNativeLocale(locale) {
const path = NSBundle.mainBundle.pathForResourceOfType(locale.substring(0, 2), 'lproj');
if (!path) {
return false;
}
bundle = NSBundle.bundleWithPath(path);
NSUserDefaults.standardUserDefaults.setObjectForKey([locale], 'AppleLanguages');
NSUserDefaults.standardUserDefaults.synchronize();
return true;
}
//# sourceMappingURL=localizenative.ios.js.map