2014-10-08 141 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