2013-10-15 73 views
0

我的YML文件已經失控,我已經開始組織它們。在這一點上,我正在處理約50個表格和8種語言。而那些只能增加。所以如果我按照推薦的重新分解方法,那麼我最終會得到大約50個文件夾和8個文件。平均而言,每個表格都有大約10-20個與之相關的翻譯。所以我想我會用這種方法去:Rails i18n - 在同一個YML文件中的多個語言環境

/config 
    /locales 
    en.yml  # will contain default English translations 
    es.yml  # will contain default Spanish translations 
    ......  # etc. default files for each language 
    form_1.yml # translations for form 1 and related 
    form_2.yml # translations for form 2 and related 
    .......... # etc. for the different forms 
    form_50.yml # of course, will be using actual form names and not form_1 .. form_50 :) 

en.yml的語言文件是顯而易見的,以什麼樣的格式,他們將包含在翻譯但是,像form_1.yml一個文件將包含以下內容:

en: 
    first_name: First Name 
    last_name: Last Name 

es: 
    first_name: Nombre 
    last_name: Apellido 

it: 
    first_name: Nome 
    last_name: Cognome 

fr: 
    first_name: Prénom 
    last_name: Nom 

...etc for more languages 

或者,在同一個文件中作爲根的多種語言。這減少了我需要維護從404到54的文件,加上同時查看所有語言的優點,以捕捉任何錯過的東西等。我已經測試了這一點,它的工作原理。但在我全力推進這個實施之前,我想知道鐵路社區對此的看法。這種方法的任何陷阱。

謝謝。

編輯:請注意,當我說表單時,我不只是指字幕的翻譯。它還將包含與表單相關的幫助信息,錯誤等。

回答

1

這裏有一個fewother有關如何爲i18n構建YAML文件的StackOverflow問題,我不認爲你的問題有一個「正確的」答案。如果它適合你,那麼太棒了!我會說任何你得到的答案都是完全主觀的,更多的是關於國際化和翻譯管理,而不是專門與Rails方式有關的任何問題。

話雖如此,這裏有關於你如何設置你的YAML文件夫婦現成的,袖口的主觀意見:

  • 看來你已經分手了翻譯成組件編程多就像你可以在Rails應用程序中分割視圖一樣。你想編輯一個表單翻譯(或一組翻譯),你直接找到該表單文件,並在一次打擊中完成工作。如果你是所有翻譯的管理員/翻譯人員,這很好,這可能意味着更少的文件。

  • 如果您需要第三方爲您不會說的語言完成(或重新完成)翻譯,可能會造成一種潛在的麻煩?你需要給他們一大堆帶有很多噪音的文件來篩選(語言未被審查),而不僅僅是基礎語言的文件和具有目標語言鍵的文件。這是假設你不直接處理文件,也不使用諸如LocaleappPhraseApp之類的工具。

  • 或許你能成爲一個快樂的媒介有配置/區域設置樹狀結構:

    form_1/form_1.en.yml 
    form_1/form_1.it.yml 
    form_2/form_2.en.yml 
    form_2/form_2.it.yml etc... 
    

    這讓你既組件化和語言分離......但可能更多的文件比你現在有了。

最終,儘管如此,我認爲最適合您的i18n工作流程的文件結構是最好的。

相關問題