2013-09-30 41 views
1

在我的Laravel应用程序中,我希望允许我的(超)用户从前端定义语言翻译。 AFAIK没有Lang::all()或类似的东西,它提供了语言变量列表。我正在寻找一种方法来解析语言的语言键,并允许最终用户定义这些值。允许在Laravel中进行前端翻译编辑

回答

1

据我所知,你是正确的,没有任何Lang:all() - ish函数返回所有已注册的lang键。

如果你想拥有列出所有已注册变量的能力,配置可能是一种可行的方式 - 在那里你可以获取完整的密钥列表。在我看来,这是一个凌乱的解决方案,用lang替换config。更麻烦的是,你可以利用线条更换机制lang

echo Lang::get('messages.welcome', array('name' => 'Shakur')); 

但是,你需要写下围绕它的其余部分。

相反,我想这是最好的干你的出路问题(不要重复自己):)快速估摸展现给你的问题的解决方案已经是可用:

waavi/translation包装应满足您的需求,它的一个“翻译包Laravel 4数据库和缓存的支持”

从文档:

升级Laravel的定位模块保持项目的 翻译正确更新很麻烦。通常翻译人员 无法访问代码库,即使他们很难 记录每种语言的哪些翻译缺失,或者当原始文本的更新需要修改翻译时。

这个软件包允许开发者利用其数据库和缓存,以 管理多语言网站,同时还开发过程中的语言文件 工作,并从所有功能Laravel的 翻译捆绑有,像多元化或更换受益。

+0

感谢您的建议,我宁愿让我的laravel安装清洁模块。尽管有人认为这个模块有用,但我会接受答案。我希望Laravel的人会在运行时添加一种访问转换数组和设置语言变量的方法。 – Shakur

1

试试这个:

 

    $loader = app('translator')->getLoader(); 
    $locale = Config::get('app.locale'); 
    $lines = $loader->load($locale, 'messages', '*'); 
    foreach ($lines as $key=>$value){ 
      print($key . ":" . $value); 
    } 

+0

这正是我期待的。谢谢gijs。你是天才 –

相关问题