有一些解决方案使用CakePHP路由与参数只有当不是空的?
现在我在下面编码,但我想要一些更好的:
if(Configure::read('Config.language') !== 'en') { // en is default language
$language = '/:language';
} else {
$language = '';
}
Router::connect($language .'/'. __('register', true), array(
'controller' => 'users',
'action' => 'register'));
这段代码工作得很好,但我仍然必须通过url()方法在AppHelper中设置语言。
在旧的应用程序中,我总是重复路由器::连接:
Router::connect('/:language/'. __('register', true), array(
'controller' => 'users',
'action' => 'register')); // for all languages without default language
Router::connect('/'. __('register', true), array(
'controller' => 'users',
'action' => 'register')); // only for default language (en)
也许有最简单的解决办法?
好的,这些东西工作得更好,但我还有其他问题。
我设置默认语言配置e::写('Config.language');
en在bootstrap.php
接下来,我为url编写了shema,如下所示:
Router::connect('/:language/'. __('register', true), array('controller' => 'users', 'action' => 'register'), array('persist' => array('lang')));
Router::connect('/'. __('register', true), array('controller' => 'users', 'action' => 'register'));
当用户通过在AppController(设置新的Config.language)中的beForeFilter更改语言时,将内容从静态. po和db Worsk完美,但链接没有翻译。参数:语言
工作,但神奇的功能__()
在路由器:连接()
不工作。
因为首先加载的是引导。php,接下来是路由器。最后是AppController。php
我的问题是,如何强制路由器。php来翻译链接(\uuuuuux0()
)?
对不起,我还是学英语。。。
您需要使用2个路由,但为基于语言的路由添加“持久化”选项。添加“persist”将避免每次生成URL时都必须指定“language”键。
// for all languages without default language.
Router::connect(
'/:lang/'. __('register', true),
array(
'controller' => 'users',
'action' => 'register'
),
array(
'persist' => array('lang')
)
);
// only for default language (en)
Router::connect(
'/'. __('register', true),
array(
'controller' => 'users',
'action' => 'register'
)
);
您可能还想签出CakeDC的I18n插件。
我有一个i18n项目在Symfony 4.1上运行。 我想实现一些路由,如: /= 在本文之后,我将使用注释处理路由,并为注释路由设置全局前缀: 这样,从'.../src/Controller/'注释中定义的所有路由都带有前缀,这导致我的“选择语言”页面和主页之间的冲突。 我想从i18n前缀中排除“选择语言”页面,这样当主页可以停留在 /fr或 /en.时,我就可以使用“/”了 有什么办法可以做到
我有一个简单的(目前)应用程序,使用react router和redux,我想为它添加国际化功能。 我已经安装了npm包,并且能够安装和运行提供的示例。我已经将适当的导入添加到我自己的应用程序中,并将国际化标签添加到根渲染方法中。 当我将I18nextProvider标记添加到render方法时,我得到了错误 找不到模块“react” 这并不是特别有用,尤其是因为如果我删除标签,react应用程序
Installation and configuration of locales. Locale installation This chapter describes the installation of locales in SliTaz GNU/Linux from a SliTaz GNU/Linux host system. The installation of locales c
This tutorial will walk you through the basis of the Docusaurus i18n system. We will add French translations to a newly initialized English Docusaurus website. Initialize a new site with npx @docusaur
i18n-chain 是一个 TypeScript 高性能 i18n(国际化)操作组件,支持 React、React-Native、Taro 与 NodeJS。 采用链式操作,并具有提示功能,代码可以自动补全。 支持以下浏览器:
Nuiton-I18n 是一个 Java 国际化开发包,基于 ResourceBundles 类。 示例代码: I18n.init(new DefaultI18nInitializer("myBundle"), Locale.FR);System.out.println(I18n._("This text will be translated"));