2014-03-03 54 views
0

我正在一个网站,Laravel 4 3种语言支持(英语,法语,ES),XML在Laravel本地化4

我需要本地化的文件容易编辑由没有谁的用户PHP技能,但知道XML。

我的XML文件是这样的:

<data> 
    <menu> 
     <home>Home</home> 
     <contact>Contact</contact> 
    </menu> 
</data> 

我想自动解析这个XML文件并把它作为源定位。因为这是我与Laravel的第一个项目,有什么建议吗?我知道如何解析XML,但不知道如何告诉Laravel使用它作为本地化资源。

+1

如果你看看Laravel如何在[服务提供商](https://github.com/laravel/framework/blob/master/src/Illuminate/Translation/TranslationServiceProvider.php)中设置翻译,你会看翻译者和它的'配置加载器'是两件独立的事情。这是一件好事。这意味着你只需要改变加载器。您应该可以使用'$ app-> bindShared('translation.loader')'绑定Laravel自己的加载器的顶部,但您需要确保在翻译器的第一个解析器之前执行它,因为翻译器的集合-up获取容器的加载器。 – alexrussell

+0

显然你指定的加载器必须实现'Illuminate \ Translation \ LoaderInterface' – alexrussell

+0

谢谢,我会检查。 –

回答

0
  1. 创建实现照亮\翻译\ LoaderInterface,其中加载XML作为翻译源

  2. 打开app.php装载机,并改变照亮\翻译\ TranslationServiceProvider到自己的装载机

3.你应该能够通过调用trans(“yourXmlFile.yourTerms”)来检查它;