3

今天面试官问我如何将阿拉伯语作为第二语言实现到 PHP Web 应用程序中。我谈到了为数据库和前端选择 unicode 编码,以及设计 RTL 友好的用户界面模块。他似乎对这个答案不太满意。我对多语言系统一无所知,你会如何回答这个问题?

4

5 回答 5

11
  1. 确保您在站点上使用 UTF-8 编码。即使这也不是像prakscant提到的那样万无一失。
  2. 字符串 - 您需要严格本地化可能出现在用户面前的每个字符串和短语。这意味着错误消息、状态栏消息、警告框、对话框等。您可以创建一个字符串映射或目录列表,让您可以按键查找字符串(可以是英文)。
  3. 本地化图像 - 如果您将图像用于按钮(包含文本),那么这些图像也需要本地化。您可以创建一个图像映射或目录文件,让您可以通过某个键找到适合文化的图像。
  4. 布局 - 由于阿拉伯语是从右到左的,您可能需要有单独的 CSS 文件来正确处理站点外观,以便正确读取和显示文本。例如,您可能希望屏幕右侧而不是左侧的侧边栏。
  5. 日期格式 - 您需要根据文化代码格式化日期,并确保正确解释基于日期的过滤器。
  6. 数据库排序规则 - 您需要确保数据库以 UTF-8 或 Unicode 格式存储数据。您还需要注意搜索字符串的查询中的任何过滤器,除非这些字符串是阿拉伯语用户无法查看且无法更改的系统值。
于 2010-05-13T00:25:41.023 回答
1

非常重要的是制作健壮的语言管理器,以灵活加载特定于语言的字符串和设置。在 PHP 中,即使使用 UTF-8 文件格式,您也必须小心,因为当前的 PHP 版本没有完整的 unicode 支持。在这里,您可以阅读更多关于 unicode 支持的信息:

http://schlueters.de/blog/archives/128-Future-of-PHP-6.html

您还需要处理更多问题:本地化格式、排序 - 排序、多货币和多时区逻辑。

于 2010-05-11T19:19:41.403 回答
0

全部使用 UTF-8:

php 文件格式 -> UTF-8。

MySQL 数据库 -> UTF-8 Unicode。

于 2010-05-08T11:10:26.113 回答
0

请看看我对这个问题的回答:Multiple Language (English, Dutch, Finnish, French, Hungarian, Bangla, Italian,) in ASP.NET with SQL server!.

于 2010-05-13T12:31:01.637 回答
0

不知道为什么他们会对你的回答不满意。所有文本的UTF-8 - 字符串/数据库等。单独的CSS(设置rtl文本属性)其他要考虑的事情......图像也是rtl。因此,如果您当前将图像用于导航栏等,您必须意识到它们会加载 rtl。
除此之外,阿拉伯语只是另一种语言,唯一的区别是它是双向的。

于 2010-07-23T19:22:36.687 回答