是否有更好的方法可以存储大量文本以便在laravel中进行本地化?如果我的整个页面只是纯文本很容易,但我的几个页面都有复杂的布局,我需要添加多个字符串来围绕内容,如图像/链接/媒体.
如果我需要使用斜体/粗体或为文本执行任何类型的HTML以及我需要将它们分成几部分以便能够做到这一点,这是一种痛苦.
我正在使用的一个例子:
return array( 'exchange_rate' => array( 'title' => 'Exchange Rate', 'p1' => 'Disclaimer', 'p2' => 'Currency rate displayed is subject to change.', 'p3' => 'View All Rates to Date' ),
第一个数组是页面,第二个是页面的内容.为了更复杂的布局,我经常需要更深入地使用多个数组,例如:
return array( 'exchange_rate' => array( 'title' => 'Exchange Rate', 'p1' => 'Disclaimer', 'p2' => 'Currency rate displayed is subject to change.', 'p3' => 'View All Rates to Date', 'table1' => array( 'title' => 'Currency Table', 'row1' => array( 'l1' => 'Current Rate' ), 'row2' => array('etc') ) );
我这样做了吗?有没有更好的方法来格式化我的语言文件,以便我可以在我的视图中解决布局?我只是好奇大型网站如何管理本地化.
非常感谢任何帮助,谢谢!
编辑:我也知道您可以在本地化数组中添加占位符,例如:
'title' => ':title'
但是,在一个页面上为我的所有链接,图像和媒体添加占位符可能会变得混乱.Laravel也不支持语言数组中的HTML,因此我不能只在语言文件中填充内容.- 是的,它确实
现在看来,似乎有两种不同的方式去这里.
继续将它们分成小部分以不同方式格式化文本.
将页面文本粘贴到每页一个"内容"数组中,使用Waavi将它们传输到数据库,然后使用网站上的WYSIWYG编辑器正确格式化它们以格式化数据库条目.(虽然这也有问题因为你不能使用刀片模板,因为Lang :: get()只返回安全文本)
编辑(2015年2月10日):
经过大量搜索,我已经创建了一个适合我需求的包.它完全消除了对laravel中任何文本数组的需求.它会自动将文本添加到数据库并将其转换为您的设置区域设置.此外,您无需管理和破译带点标记的转换路径.
https://github.com/stevebauman/translation