我建立了一个多语言网站。最初,我将内容存储在数据库中,并在浏览器中显示UI,以便普通管理员用户可以编辑这些数据。每当admin在数据库中添加任何字符串时,只需按一个按钮,他/她就可以在管理面板的相应文件下的app / lang /下重新生成所有这些语言文件。
我的表结构是
id | location | key |hindi | english |
---------------------------------------
1 | global | welcome |namaste | Welcome |
并在echo trans('global.welcome');
现在我想自动从视图文件中收集数据。假设我在我的视图文件中添加了echo trans('global.hello');
,并且它不在 app / lang / en / global.php 中,因此后备语言会调用。我想跟踪这种情况,以便我可以在数据库表中添加一行,并将hello作为键。我想在开发时添加到数据库,而不是在生产中。
答案 0 :(得分:0)
如何拥有自己的翻译功能(仅用于开发或甚至用于生产)。在那里你可以先检查翻译是否存在,然后调用默认的trans方法。现在的方法是,如果您只想将它用于开发或生产(可能对某些其他功能有用)
仅限开发:直接在trans
文件中修改helpers.php
功能或覆盖它
(你必须在helpers.php
out)
开发与发展制作:使用自己的名称创建自己的功能
然而,代码保持不变
function trans($id, $parameters = array(), $domain = 'messages', $locale = null){
$translator = app('translator');
if(!$translator->has($id, Config::get('app.locale')){
// insert db row
}
return $translator->trans($id, $parameters, $domain, $locale);
}