Browser 浏览器如何选择客户端语言环境值。?

Browser 浏览器如何选择客户端语言环境值。?,browser,internationalization,operating-system,locale,Browser,Internationalization,Operating System,Locale,浏览器如何获取客户端计算机区域设置值。我很好奇浏览器如何获取客户端机器的操作系统区域设置值的内部过程。(即,对于在客户端操作系统上运行的浏览器/任何应用程序,这些应用程序/浏览器将获取并发送哪个变量值作为请求头信息? Firefox根据不同的操作系统展示了它是如何做到这一点的: 基于此,我为您创建了一个列表 Windos XP: 如果QT库可用,则QLocale::system().name().toUtf8() Fallback是C++非常原始的< /LI> Mac使用此CFLocaleRef

浏览器如何获取客户端计算机区域设置值。我很好奇浏览器如何获取客户端机器的操作系统区域设置值的内部过程。(即,对于在客户端操作系统上运行的浏览器/任何应用程序,这些应用程序/浏览器将获取并发送哪个变量值作为请求头信息?

Firefox根据不同的操作系统展示了它是如何做到这一点的:

基于此,我为您创建了一个列表

  • Windos XP:
  • 如果QT库可用,则QLocale::system().name().toUtf8()
  • Fallback是C++非常原始的< /LI>
  • Mac使用此CFLocaleRef cflocale=CFLocaleCopyCurrent();更多信息请参见此处
  • 还使用C++语言构建的Android浏览器浏览器调用java. LoaluUTILL,使用java的LaaLe.GETDebug()/P>

    std::string GetDefaultLocaleString(){
    JNIEnv*env=base::android::AttachCurrentThread();
    ScopedJavaLocalRef区域设置=
    Java_LocaleUtils_getDefaultLocaleString(env);
    返回ConvertJavaStringToUTF8(区域设置);
    }
    

    std::string GetDefaultLocaleString() {
      JNIEnv* env = base::android::AttachCurrentThread();
      ScopedJavaLocalRef<jstring> locale =
          Java_LocaleUtils_getDefaultLocaleString(env);
      return ConvertJavaStringToUTF8(locale);
    }