如何将i18n用于一种语言cakephp

时间:2010-12-01 04:15:36

标签: cakephp localization internationalization

我需要用西班牙语启动一个网络应用程序,我需要翻译应用程序...

我已经修改了default.po并将configure :: write('Config.language','es')添加到core.php ......

现在怎么样?我现在不想添加路由选择。有什么建议吗?

PD:做了手册中的所有内容和@#$%^&%$ @@我无法让它工作

1 个答案:

答案 0 :(得分:0)

i18n是一个让你头脑发热的棘手问题。如果您正在制作一个只有西班牙语的网站,则无需使用它,但我确实使用po消息,以防万一

有一个组件可以帮助你很多:http://bakery.cakephp.org/articles/p0windah/2007/09/12/p28n-the-top-to-bottom-persistent-internationalization-tutorial

还有一个脚本可以允许翻译slug,以便SEO引导你使用正确的语言。上次我看,它已经消失了,但我会试着把它拼凑起来。

目前,这是我在router.php中使用的

//route to switch locale
Router::connect('/lang/*', array('controller' => 'p28n', 'action' => 'change'));

//forgiving routes that allow users to change the lang of any page
Router::connect('/eng?/*', array(
    'controller' => "p28n",
    'action' => "shuntRequest",
    'lang' => 'en-gb'
));

Router::connect('/ca?/*', array(
    'controller' => "p28n",
    'action' => "shuntRequest",
    'lang' => 'cat'
));

Router::connect('/es?/*', array(
    'controller' => "p28n",
    'action' => "shuntRequest",
    'lang' => 'es_es'
));

我会挖掘网址翻译,但可能需要一段时间......