diff --git a/ant/host-source/source/project/src/moai/Moai.java b/ant/host-source/source/project/src/moai/Moai.java index e71e4e2399..1e52c9a0f2 100644 --- a/ant/host-source/source/project/src/moai/Moai.java +++ b/ant/host-source/source/project/src/moai/Moai.java @@ -24,6 +24,7 @@ import java.util.TimeZone; import java.util.ArrayList; import java.util.UUID; +import java.util.Locale; //================================================================// // Moai @@ -177,7 +178,8 @@ public static InputSensor valueOf ( int index ) { protected static native void AKUSetWorkingDirectory ( String path ); protected static native void AKUUntzInit (); protected static native void AKUUpdate (); - + protected static native void AKUSetDeviceLocale ( String langCode, String countryCode ); + //----------------------------------------------------------------// static { @@ -343,6 +345,8 @@ public static void init () { } AKUSetDeviceProperties ( appName, appId, appVersion, Build.CPU_ABI, Build.BRAND, Build.DEVICE, Build.MANUFACTURER, Build.MODEL, Build.PRODUCT, Runtime.getRuntime ().availableProcessors (), "Android", Build.VERSION.RELEASE, udid ); + + AKUSetDeviceLocale(Locale.getDefault().getLanguage(), Locale.getDefault().getCountry()); } } diff --git a/ant/libmoai/jni/src/moai.cpp b/ant/libmoai/jni/src/moai.cpp index 9b44b8cc6c..219f3119ce 100755 --- a/ant/libmoai/jni/src/moai.cpp +++ b/ant/libmoai/jni/src/moai.cpp @@ -596,3 +596,16 @@ AKUUpdate (); } + + extern "C" void Java_com_ziplinegames_moai_Moai_AKUSetDeviceLocale ( JNIEnv* env, jclass obj, jstring jlangCode, jstring jcountryCode ) { + JNI_GET_CSTRING ( jlangCode, langCode ); + JNI_GET_CSTRING ( jcountryCode, countryCode ); + + MOAIEnvironment& environment = MOAIEnvironment::Get (); + + environment.SetValue ( MOAI_ENV_languageCode, langCode ); + environment.SetValue( MOAI_ENV_countryCode, countryCode ); + + JNI_RELEASE_CSTRING ( jlangCode, langCode ); + JNI_RELEASE_CSTRING ( jcountryCode, countryCode ); + }