允许在 Laravel 中进行前端翻译编辑


Allow front-end translation editing in Laravel

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

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

如果你想拥有列出所有注册变量的能力,config 可能是要走的路 - 在那里你可以获取完整的键列表。不过在我看来,用配置替换 lang 有点混乱的解决方案。更混乱的是,您可以利用 lang 中的换行机制

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

但是,当然,您需要围绕它写下其余的想法。

相反,我想最好是干掉你的问题(不要重复自己(:)快速计算显示,您的问题的解决方案已经可用:

waavi/翻译包应该符合您的需求,它是一个"具有数据库和缓存支持的 Laravel 4 翻译包">

从文档中:

升级 Laravel 的本地化模块 保留项目的 正确更新的翻译很麻烦。通常翻译人员会这样做 无法访问代码库,即使他们这样做也很难 跟踪每种语言缺少哪些翻译或何时丢失 对原文的更新要求修改翻译。

此软件包允许开发人员利用其数据库和缓存来 管理多语言网站,同时仍处理语言文件 在开发过程中并从 Laravel 的所有功能中受益 翻译包有,像复数或替换。

试试这个:

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