>建立多语言网站可能是吸引新客户进入您的业务或获得更多参与者的好方法。在启动多种语言支持时,使用一些静态页面的简单站点可能不会复杂,但是更复杂的PHP Web应用程序可能需要大量工作。在本文中,我将介绍不同类型的内容,在国际化网站时需要考虑这些内容。请继续阅读以了解如何处理将它们转换为不同的语言。
但是如何完成实际翻译?处理多种语言内容的常见方法是使用GetText - 一种用于处理用不同编程语言编写的应用程序中的翻译创建的软件解决方案。它也可以在PHP中作为单独的扩展名提供。使用GetText可以使您可以将应用程序翻译与源代码分开。结果,负责准备翻译的人不必挖掘代码,并且可以独立于Web开发人员工作。当准备就绪时,将它们放入一个由PHP脚本读取的单独文件中。该应用程序将翻译与代码中存储的源文本字符串匹配,最后最终用户可以看到以正确的语言显示的站点。
作为开发人员,您需要做的是将PHP应用程序中的纯文本字符串转换为可以由GetText传递的字符串。您必须将文本包裹在getText()函数中,该函数通常使用别名_()访问(函数名称是下划线)。通过这样做,您可以指定需要翻译某个文本字符串,并且可以通过getText处理。
如果您想了解有关如何管理PHP应用程序中的GetText翻译的详细信息,则可以在Abdullah Abouzekry撰写的详细信息上进行完整的教程,该主题是由Abdullah Abouzekry编写的:将PHP应用程序定位为“正确的方式”。我鼓励您阅读它,以查看我上面描述的逻辑的一些实际示例。
还请记住,如果您将框架用作PHP应用程序的基础,则它可能具有负责管理翻译的组件。查看您的框架的文档,以检查是否有任何工具可以简化处理多种语言支持。
>了解如何为多语言站点创建数据库结构的最佳实践是什么,您可以查看不同框架使用的解决方案。一些框架提供了负责处理指定模型翻译的行为(为模型提供附加功能的模块)。将翻译行为附加到模型之后,该框架将使用能够处理多种语言支持的数据库结构编写和读取不同的语言版本。
> 例如,CakePHP框架提供了可能附在模型上的翻译行为。为此,您需要指定哪些模型字段取决于语言。让我们想象您有具有两个这样的字段的文章表:标题和文字:
为了存储翻译,您需要将这些依赖语言的字段移动到单独的翻译表中。翻译表中的每一行均通过语言版本,模型和字段名称标识,引用了基本表。因此,文章表将如下如下:
文章标题和文本已移至包含翻译的单独表格。如您所见,每个字段的单个翻译都存储在一个单独的行中:
最重要的是,CakePHP框架会自动处理数据库读取和写入数据库。连接翻译行为后,您可以像以前一样调用模型方法,框架将主表与翻译表本身链接。您不必担心在保存新行时加入选择语句或将数据插入多个表中。只需浏览文档以这种方式查看处理翻译的一些代码示例即可。
>
其他框架通常提供类似的解决方案,例如上述框架。如果您将Symfony2框架与学说ORM一起使用,只需检查可翻译的行为即可查看一个示例。如果您的网站不在任何框架上运行,则可以参考上述解决方案,以实现自己处理数据库中翻译的方式。
>用户提交的内容
>如果您的网站允许访问者编写评论或连接到帖子或产品的评论,则您也必须处理此类内容的翻译。
首先,您需要在用户提交表格时保存用户输入的内容的语言版本。您可能只需要假设它等于用户设置的网站的语言版本。您还可以使用外部API(例如Google Translate API)来检测特定文本的语言。
然后,您需要将给定文本转换为您网站支持的所有语言版本。您可以只使用外部API,而不是手动进行操作,该API可以为您提供网站访问者提交的内容的机器翻译。可编程网站列出了网络上可用的60多个翻译API,因此您可能很容易找到适合您需求的解决方案。如果您正在寻找有关如何在PHP应用程序中实现翻译API的特定教程,我建议您在Google Translate API上阅读我的文章:>
- 使用与PHP一起使用Google Translate API,该API解释了将PHP脚本与API集成的基础知识
- 使用Google Translate API自动翻译用户提交的内容,其中包含一个完整的代码示例,介绍了如何处理PHP网站上的翻译用户提交的内容。
当然,您可以选择不翻译用户提交的内容并以原始语言版本显示。但是,在我看来,显示机器翻译的内容比以不同语言显示内容更好,即使从API中获取的翻译并不完美。
资源
>处理上述内容类型的翻译通常不足以最终得到完全支持不同语言版本的站点。请记住,PHP网站通常包括其他内容来源。修改DOM树或显示通知消息的JavaScript代码通常包含必须翻译的文本字符串。另外,当使用外部API或附加到网页上的小部件(例如社交插件)时,请不要忘记设置适当的语言版本。在实施多种语言支持之前浏览网站可能会为您提供更多类型的内容,这些内容在准备翻译时必须考虑使用。
如果您对本文有任何疑问或评论,请随时在下面发布它们。您也可以通过Google Plus与我联系。
>有关实施多语言支持的常见问题
>我如何优化我的多语言网站以供SEO? SEO的多语言网站涉及多个步骤。首先,您需要确保搜索引擎可以访问每个语言版本。这可以通过使用Hreflang标签来完成,该标签告诉搜索引擎您在特定页面上使用的是哪种语言。其次,您需要优化相关关键字的每个语言版本。这涉及对每种语言进行关键字研究并相应地优化您的内容。最后,您需要确保每个语言版本都具有高质量的独特内容。重复的内容可能会对您的SEO产生负面影响,因此避免简单地将相同的内容转换为不同的语言很重要。
>如何管理多语言网站的翻译过程?管理多语言网站的翻译过程可能具有挑战性,但是您可以使用几种策略。一种方法是使用翻译管理系统,该系统可以帮助您管理和跟踪翻译过程。另一种方法是与专业翻译人员或翻译机构合作。这可以确保您的翻译质量,但也可能更昂贵。另外,您可以使用社区翻译,邀请用户帮助翻译您的网站。这可能是一个具有成本效益的解决方案,但是需要仔细管理才能确保翻译的质量。
测试多语言网站涉及多个步骤。首先,您需要测试语言切换器的功能,以确保用户可以在不同的语言版本之间轻松切换。其次,您需要测试翻译以确保它们在文化上是准确且适当的。这可能涉及与每种语言的母语人士合作。最后,您需要测试网站性能,以确保加载多个语言版本不会放慢您的网站。
如何在多语言网站上改善用户体验?在多语言网站上的经验涉及多种策略。首先,您需要确保用户可以轻松地在不同的语言版本之间切换。这可以通过使用突出的语言切换器来完成。其次,您需要确保翻译在文化上是准确且适当的。这可能涉及与每种语言的母语人士合作。最后,您需要考虑每个语言版本的设计和布局。不同的语言可以具有不同的阅读模式和设计惯例,因此重要的是要适应您的设计。
以上是实施多语言支持的详细内容。更多信息请关注PHP中文网其他相关文章!