2014-10-08 101 views
1

我们正在开发一个多语言网站,目前有5种不同的语言。它在symfony2中,我们正在使用i18n的yml翻译文件。虽然它对我们来说可行,但有时维护这些文件可能是一个巨大的麻烦。而且我们这几个月花费了另外3种语言,所以在很短的时间内,每次向翻译文件添加内容时都会更新所有文件。维护yml翻译文件

让我给你看一个例子。我有包含此文件的messages.en.yml文件:

index: 
    header: Some text in the header 

然后,我们需要在此默认翻译文件中添加或删除某些内容。这一次我添加了一个新行。

index: 
    header: Some text in the header 
    details: And some details, I've just added 

而且我必须用其他5种语言文件来搜索它们适合的行。 当然这是一个非常简单的例子,但我希望它能够显示问题。我们的语言文件长达一千多行,其中有5个。当我开发的时候,将同一行添加到5个不同的文件然后交给译员是非常烦人的。

我们尝试将默认文件与某个版本控制系统进行比较,但对于5种不同的语言进行比较仍然非常耗时。

总而言之,我的问题是,这是他们同时维护多个翻译文件的最佳实践。

谢谢你在前进,

亚当

+2

很愚蠢但您使用'translation:update'命令行symfony2工具? – Matteo 2014-10-08 13:54:50

回答

0

没有为这个translation:update命令,更新与树枝文件中找到的消息的所有翻译。但是,它目前仅适用于翻译组件的树枝使用。

您可以使用JMSTranslatorBundle从Symfony提供的所有其他翻译用法中提取。请参阅http://jmsyst.com/bundles/JMSTranslationBundle/master/usage

+0

我已经知道翻译:更新了一段时间,但从未真正使用过它。这个命令会破坏我的漂亮的文件结构,因为它会以“index.header.details”格式不加删除地排出每一行。以这种形式给翻译人员是不好的。 我有点儿希望有一个应用程序,或软件翻译翻译在一个更能呈现的形式,我可以给翻译。问题是,译者不太喜欢无格式的YML文件... :) 感谢您的答案,但。 – omgitsdrobinoha 2014-10-09 15:50:12