Я обнаружил, что navigator.language иногда давал мне язык, а не язык (например, «en», а не «en-gb»). Для того, чтобы решить эту проблему в андроида я создал новый класс Java в ИПВ/COM под названием DeviceCulture.java с этим кодом:
package com;
import java.util.Locale;
public class DeviceCulture {
public String get() {
try{
return Locale.getDefault().toString();//get the locale from the Android Device
}catch(Exception e){
return "";
}
}
}
Затем добавить это до super.loadUrl строки в/SRC/COM/PhoneGap/YOUR_APP/App .java
DeviceCulture deviceCulture = new DeviceCulture();
appView.addJavascriptInterface(deviceCulture , "DeviceCulture");
Затем в JavaScript использовать эту функцию, чтобы получить локали (например, "eN_GB")
window.DeviceCulture.get();
Если вы знаете, широта/долгота Coords -> http://stackoverflow.com/questions/4497728/получить-страну от однолатового itude-longitude –