diff --git a/platform/platform.android.ts b/platform/platform.android.ts index bb800a486..15e09bf0a 100644 --- a/platform/platform.android.ts +++ b/platform/platform.android.ts @@ -18,6 +18,7 @@ export class device implements definition.device { private static _sdkVersion: string; private static _deviceType: string; private static _uuid: string; + private static _language: string; static get os(): string { return platformNames.android; @@ -81,6 +82,16 @@ export class device implements definition.device { return device._uuid; } + + static get language(): string { + if (!device._language) { + var context = application.android.context; + var locale = context.getResources().getConfiguration().locale; + device._language = locale.getDefault().toString(); + } + + return device._language; + } } var mainScreenInfo: definition.ScreenMetrics; diff --git a/platform/platform.d.ts b/platform/platform.d.ts index c71b87e32..2b48a6e1b 100644 --- a/platform/platform.d.ts +++ b/platform/platform.d.ts @@ -56,6 +56,11 @@ declare module "platform" { * Gets the uuid */ static uuid: string; + + /** + * Gets the preferred language. For example "en" or "en_US" + */ + static language: string; } /** diff --git a/platform/platform.ios.ts b/platform/platform.ios.ts index b1d6dac6f..44e1ff22e 100644 --- a/platform/platform.ios.ts +++ b/platform/platform.ios.ts @@ -14,6 +14,7 @@ export class device implements definition.device { private static _osVersion: string; private static _sdkVersion: string; private static _deviceType: string; + private static _language: string; static get manufacturer(): string { return "Apple"; @@ -74,6 +75,15 @@ export class device implements definition.device { return app_uuid; } + + static get language(): string { + if (!device._language) { + var languages = NSLocale.preferredLanguages(); + device._language = languages[0]; + } + + return device._language; + } } var mainScreenInfo: definition.ScreenMetrics = null;