检测语言的最佳方法是什么? [关闭]

2024-01-20

我正在制作一个网站(wordpress multisite),该网站支持两种用户语言,有两种方法我们将使用它:

-通过Geo IP检测语言

- 通过互联网浏览器检测语言

哪种方法是最好的使用方法?

提前致谢!


如果我是你,我会遵循这个列表:

  1. 如果用户是注册用户,请根据他/她的喜好设置语言

  2. 如果用户之前曾使用语言 X 访问过该网站,则使用该语言(将语言选项存储在 cookie 中)。

  3. 如果http标头Accept-Language存在,尝试使用它(显然你不支持世界上所有的语言)。在 PHP 中,您可以通过以下方式获取该值$_SERVER['ACCEPT_LANGUAGE'].

    我见过人们利用Accept-Charset同样,如果无法使用指定的语言(在 Accept-Language 中),则尝试缩小范围,但这是一个不太可能的情况。

  4. 最后的选择是使用 Geo IP 来尝试找出用户可能位于世界上的哪个位置以及那里使用什么语言。但这是一项艰巨的任务,因为一个国家/地区的官方语言可能不是最终用户首选使用的语言。


只要用户可以轻松更改语言并且不受任何上述预设的约束,就不应该有任何问题。

..请;尝试跟踪用户之前使用的语言,以便他或她不必每次访问您的网站时都更改语言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测语言的最佳方法是什么? [关闭] 的相关文章

  • 选择选项“selected”属性

    我这里脑子一片空白 基本上我所做的是创建一个迷你文章管理器 每篇文章都可以分配到在选择下拉列表中定义的以下类别之一 Design 发展 Other 当我去编辑一篇文章时 我从数据库中检索了数据并填充了输入和文本区域 我现在想做的是应用sel
  • 在php中生成随机字符串作为文件名[重复]

    这个问题在这里已经有答案了 我将如何创建与文件名一起使用的随机文本字符串 我正在上传照片并在完成后重命名它们 所有照片都将存储在一个目录中 因此它们的文件名必须是唯一的 有这样做的标准方法吗 有没有办法在尝试覆盖之前检查文件名是否已经存在
  • 将来自另一个表的每行作为数组连接起来

    我正在使用 PHP 为自己编写一个电影存档脚本 我正在从 IMDb 获取电影信息并将其添加到我的数据库中 我正在使用另一个名为 链接 的表添加我选择的电影的链接 这是我用来从数据库获取电影的查询 movies this gt db gt q
  • 循环遍历 POST 数组

    我需要循环遍历 post 数组并提交它 stuff 1
  • 如何将控制器放入 Laravel 5.1.3 的文件夹中?

    我是 Laravel 的新手 我试图通过将控制器放入文件夹中来组织控制器 但它似乎不起作用 我的文件夹结构是这样的 app Http Controllers Admin ShowDashboard php My 显示仪表板 php文件是这样
  • 如何使用 codeigniter 生成 5 位字母数字唯一 ID?

    我有一个项目 需要为用户生成唯一的 5 位数字母数字 ID 我怎样才能使用 codeigniter 实现这一点 thanks 字符串助手中有一个名为 random string 的函数 this gt load gt helper stri
  • 使用 'with' 时 Laravel ownsTo 返回 null

    我刚刚开始使用 Laravel 所以请原谅任何菜鸟 我有一个User and Order模型中 一个用户有多个订单 Inside User model public function orders this gt hasMany Order
  • 如何解析这个 OFX 文件?

    这是原始 ofx 文件 因为它来自 m 银行 不用担心 没有什么敏感信息 我剪掉了所有交易的中间部分 开放金融交易所 OFX 是一个 用于交换的数据流格式 演变的财务信息 来自微软的开放金融 连接 OFC 和 Intuit 的 Open 交
  • 从 onclick 函数将方法发布到 URL

    我需要一些听起来很简单但对我来说很难的帮助 所以当有人点击这个 div 时 div Click Me div 我希望它将数据发送到 PHP 文件 该文件将获取我想要的信息 我会使用 GET 函数 但我听说它很容易被破解 如果他们是更简单的解
  • 如何处理 pcntl_fork(): 错误 35?

    我有 php7 CLI 守护进程 它连续解析文件大小超过 50M 的 json 我试图使用 pcntl fork 的单独进程将每 1000 个解析数据条目保存到 mysql 对于约 200k 行 它工作得很好 然后我得到pcntl fork
  • PHP:如果我以非静态方式调用静态方法怎么办?

    我不是面向对象编程专业人士 我有一个愚蠢的问题 class test public static function doSomething arg foo I ate your arg return foo 那么正确的调用方式doSomet
  • 为什么 PHP 中加密的内容与 Ruby 中加密的相同字符串不匹配?

    这是我的要求 我需要使用 AES 加密 包括随机 iv 对 PHP 中的字符串进行加密 对其进行 Base64 编码 然后对其进行 URL 编码 以便可以将其作为 URL 参数传递 我试图在 PHP 和 Ruby 中获得相同的结果 但我无法
  • 按任意顺序对 SQL 行输出进行排序?

    因此 在我的数据库中 我存储乐器名称 以及各种其他属性 比方说id是主键 并且name是唯一的密钥 在 PHP 脚本中 我按仪器类别选择项目 如下所示 name mysql real escape string POST name row
  • 使 Chrome 即使在 500 或 404 代码上也能显示页面(表现得像 Firefox)

    我们正在 Symfony 中开发一个新网站 当 Symfony 遇到错误 例如 找不到路由 并且 debug 设置为 true 时 它 不仅会输出 404 代码 而且实际上会在页面上显示错误 Firefox 显示服务器返回的内容 但 Chr
  • mod_fcgid + PHP + apache 锁定

    我正在运行一个相当典型的 LAMP 堆栈 其中 PHP 通过 mod fcgid 运行 考虑到服务器收到的流量 我认为服务器处于 高负载 状态 存在一个间歇性问题 当访问依赖 PHP 的站点时 Apache 报告所有连接都处于 正在发送内容
  • php 中

    的新行

    我目前在数据库中有很多笑话 这些笑话都是用 nl2br 格式化的 它会产生 This is just dummy text Lorem ipsum dolor sit amet consectetur adipiscing elit br
  • 使用 CURL post 方法的 Google 翻译 API

    有人有过使用 Google 翻译 API v2 在 POST 方法上使用 PHP CURL 翻译 HTML 的经验吗 我已经尝试了 github 上的几个代码和库 但没有一个适合我 我发现的是 GET 方法 由于通过 GET 或查询字符串解
  • cmd的字符集

    C Users Kolink gt php r echo C Users Kolink gt echo 正如你所看到的 一个程序输出一个 结果是 但使用echo命令给出所需的字符 并且 我可以配置 PHP 也许是脚本开头的某个命令 来输出正
  • 最简单的问题:从数组中提取值

    这是一个例子 Array 0 gt Array title gt Title 1 checkout gt 1 no gateway gt 0 1 gt Array title gt Title 2 checkout gt 1 no gate
  • CentOs Php 和 MySql 配置

    我已经安装了 php 并运行了一段时间 但我开始从事一个连接到数据库 即 mysql 的项目 所以我安装了 mysql 5 1 73 现在当我使用它连接到数据库时线 dbhandle mysql connect hostname usern

随机推荐

  • 有没有办法对 Firebase 用户创建和/或密码重置进行电子邮件确认?

    问题说明了一切 在 Firebase 中 当用户创建帐户时如何确认电子邮件 或者通过电子邮件重置密码 我可以更广泛地问 有什么方法可以从 Firebase 发送电子邮件吗 例如 通知等 这不是您通常在客户端执行的操作 Update 请注意
  • 在 Visual Studio 2010 中更改文本光标/插入符号

    我不小心将 Visual Studio 2010 中的文本光标 插入符号从一行更改为带有突出显示整个字符的框的光标 但不知道如何将其更改回来 谁能告诉我怎么做 谢谢 按插入键
  • 如何将可观察集合写入txt文件?

    将可观察集合写入 txt 文件的最佳方法是什么 我目前有以下内容 public ObservableCollection
  • pytqt图形线的鼠标坐标

    每当我将鼠标移动到图表顶部时 我都试图获取随机函数图的 x y 值 我正在使用 pyqtgraph SignalProxy 并将其连接到回调 mousedMoved 我收到此错误 NameError 未定义全局名称 mouseMoved 这
  • 在 Play 2.x 中覆盖 WebJar 资源

    只是想知道 是否有一种方法可以在一个文件中覆盖某些资产 确切地说是 JS 和 LESS 文件WebJars http www webjars org 资产与位于app assets 目录 说吧 我有一个引导程序 3 1 1 webjar h
  • 将 Matplotlib 图形保存为全屏图像

    我正在使用 Pandas 和 MatPlotLib 构建一个小型图形实用程序来解析工作机器中的数据和输出图形 当我使用输出图表时 plt show 我最终得到了一个不清晰的图像 其中的图例和标签就像这样相互排斥 However expand
  • 无法使用 pip 安装 Python 成像库

    尝试使用 PIP 安装 Python Imaging Library PIL 时 安装失败并出现以下错误 SyntaxError invalid syntax Complete output from command python setu
  • 没有找到类“androidx.core.widget.DrawerLayout”

    使用 Android Studio 菜单选项 Refactor gt Refactor to Androidx 迁移到 Androidx 包后 我的 build gradle 看起来像 implementation androidx app
  • facebook graph api 和 php sdk,删除事件!

    在我的一生中 我找不到一种方法来删除 取消或移除我使用 FB PHP SDK 和 Graph API 创建和更新的 Facebook 事件 我已经尝试了 facebook 文档和堆栈溢出中找到的每一个排列 以下是我在探索中发现的一些线索 h
  • 适合初学者的松耦合和面向对象实践

    保持类松散耦合是编写易于理解 修改和调试的代码的一个重要方面 我明白了 然而 作为一个新手 几乎任何时候我都很难超越最简单的例子 我或多或少地了解如何将字符串 整数和简单数据类型封装在它们自己的类中 然而 当我开始处理富文本格式等信息时 事
  • 在Linux上安装特定的adb版本

    我想使用特定的 adb 版本来连接设备 为了连接外部模拟器 我尝试使用adb connect localhost 5555 我得到这个结果 adb adb server version 36 doesn t match this clien
  • 如何在 Asp.Net Core 2.2 中禁用/启用运行时身份验证?

    网站默认只能匿名访问 管理员有一个按钮可以将站点切换到维护模式 这应该使用内置的 Cookie 身份验证启用授权 在数据库中稍微翻转一下 与本文无关 为了实现这一点 我首先配置了 cookie 身份验证 在startup cs中 publi
  • 如何在 MVC 3 中的 PartialView 加载上执行 JavaScript 函数

    code public ActionResult mapPartial DataTable dt string strEvents foreach DataRow row in dt Rows strEvents row Lat ToStr
  • dijit.byId 不适用于 IE8 和 dojo.addOnLoad

    当我使用 IE8 加载此脚本时 出现异常Object does not support this property or method 但它适用于其他浏览器 我用的是dijit 1 3 1 我不明白 dojo addOnLoad init
  • 如何将使用事务的代码包装在事务中然后回滚?

    我正在设置我的集成测试设备 我正在使用beforeEach and afterEach挂钩将每个测试包装在回滚的事务中 以便测试不会相互影响 一个简化的例子可能是这样的 const repository require library de
  • 如何从左到右解压元组?

    有没有一种干净 简单的方法来从左到右解压右侧的Python元组 例如对于 j 1 2 3 4 5 6 7 1 2 3 4 5 6 7 v b n j 4 7 我可以修改切片符号以便v j 6 b j 5 n j 4 我意识到我可以只订购左侧
  • React js:无法将数组中的第一个对象作为道具发送

    我正在尝试构建一个小型 React js 应用程序 我的组件结构如下所示 MainComponent CategoryList Category ItemsList Item 我的 MainContent 组件对其状态数据执行 ajax 请
  • 如何找到最接近的旋转

    考虑从 0 T 开始按递增顺序给出的点 Y 我们将这些点视为位于圆周 T 的圆上 现在考虑点 X 也来自 0 T 并且也位于圆周 T 的圆上 我们说 X 和 Y 之间的距离是 X 中每个点与其 Y 中最近点之间的绝对距离之和 回想一下 两者
  • 将滚动平均值与数据一起绘制

    我有一个看起来像这样的数据框 delays Worst case Avg case 2014 10 27 2 861433 0 953108 2014 10 28 2 899174 0 981917 2014 10 29 3 080738
  • 检测语言的最佳方法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi