【问题标题】:Tips for internationalization of a plugin插件国际化的提示
【发布时间】:2009-07-08 13:01:20
【问题描述】:
我不确定这是否是重复的帖子。但我有一个插件(js + forms + html + php),可以添加到各种站点。这些网站可能有不同的编码,比如 ISO-8859-1、ISO-8859-9、utf8 等。我无法控制它们对 html 或任何东西的编码。
我想知道让我的 php + js + html + forms + mysql 支持国际化的最佳方法是什么。即使页面有不同的编码,我的表单是否可以接受不同的编码?
在这些级别进行国际化的最佳方法是什么:
1.PHP
2. JS + HTML + 表单
3. MYSQL
感谢您的宝贵时间。
【问题讨论】:
标签:
php
javascript
mysql
internationalization
【解决方案1】:
国际化是一个看似简单,但实现起来却非常复杂的特性。如果您有一个紧密耦合的架构,那么实现这个野兽将是一件非常痛苦的事情。
大量国际化将在您的数据库的后端处理 - 假设您专注于数据驱动的网站。如果是这种情况,它可能只会导致对您的表结构和对该数据执行的查询进行一些更改。
例如,假设您的网站必须显示欢迎消息。您可以将其推送到后端的表格中,类似于以下内容:
MessageTable
:id
:message
:lang_code
lang_code 是从您的浏览器计算得出的。所以你可以有这样的记录:
MessageTable
1 Hello There en-us
2 Hola es-sp
3 مرحبا ar-sa
并且您可以将语言代码作为您的 sql 查询的一部分。当然,您可以在更大程度上将其标准化,但我认为您可能会明白。
在编码方面,我真的不能说太多,因为我还没有完全掌握它。就表单提交而言,我认为这并不重要,这只是您处理字符串的方式。您可能需要通过查看编码并决定如何操作字符串来进行一些额外的处理,尽管它们可能是 unicode。