【问题标题】:a bilingual application on Agile Toolkit ? with language selector for the user?敏捷工具包上的双语应用程序?为用户提供语言选择器?
【发布时间】:2012-02-12 20:52:32
【问题描述】:

我正计划使用 Agile Toolkit 开发双语 PHP 应用程序,每个页面上都有一个语言选择器(法语和英语).. ATK4 可以适应这个吗?我想是的.. 但是.. 像我这样的新手如何使用 ATK4 来解决这个问题?任何线索将不胜感激...我希望创建一个文件(某种保存翻译的数据库文件)并通过各种页面视图(甚至菜单项)的变量访问所有内容。对此的任何帮助或提示将不胜感激。 谢谢

不要

【问题讨论】:

标签: php atk4


【解决方案1】:

PHP 已经有了localization function,您需要做的就是确保敏捷工具包的所有内部消息都通过本地化功能进行路由。敏捷工具包的 API contains a _() method too。您需要在“lib/Frontend.php”中重新定义它,并通过获取文本或 SQL 进行路由,无论您想要哪种方式。

您需要执行的另一大部分翻译是模板翻译。模板通常包含可能因语言而异的图形和文本。 “探路者”是理想的选择。 Agile Toolkit 网站实际上使用该技术进行波兰语翻译:

当您将第三个参数传递给构造函数时,它会指示 PathFinder 查找本地化模板文件的不同目录。如果在那里找不到它们,则默认为常规位置。

【讨论】:

  • 谢谢你 Romaninsh .. 所以总结一下:我会改变你指出给我的函数,像这样 "function _($str){ return gettext($str); }" for the要在应用程序中显示的所有文本的翻译。但对于模板翻译,“探路者”将是理想的方式!如果我对“探路者”方法有问题,我会大声疾呼! ..因为我还在努力弄清楚! ..再次感谢..你是一个真正的王子。
  • 谢谢你 Romaninsh .. 所以总结一下:除了英语,我必须有法语可用(法语加拿大义务)所以我会改变你向我指出的功能,像这样“功能_( $str){ putenv('LC_ALL=fr_CA'); setlocale(LC_ALL,'fr_CA'); bindtextdomain("my_App_mo_file", "./locale"); textdomain("my_App_mo_file"); return gettext($str); } " 用于在应用程序中显示的所有文本的翻译。这看起来对吗?再次感谢
  • 我已经有一段时间没有制作多语言应用程序了,但看起来还可以。如果您在此过程中有任何建议或问题,请通过开发者的邮件列表与我联系。
猜你喜欢
  • 2012-10-06
  • 1970-01-01
  • 2017-09-19
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多