2013-01-25 57 views
1

請讓我先解釋我所做的。爲什麼語言環境不適用於我的項目?

我安裝了寶石rails-i18n然後我做了軌摹國際化ES命令 它產生translated_es.yml

型號名稱和它們的列名都在那裏,所以我翻譯這個樣子。

然後我重新啓動我的服務器來檢查它是否應用,但事實並非如此。爲什麼?我試圖提交一個空白字段的表單。

我看到驗證錯誤消息,但列名是英文的。我怎樣才能解決這個問題?

es: 
    activerecord: 
    models: 
     acts_as_taggable_on/tag: acts_as_taggable_on/tag #g 
     acts_as_taggable_on/tagging: acts_as_taggable_on/tagging #g 
     acts_as_votable/vote: acts_as_votable/vote #g 
     comment: comentario #g 
     community: comunidad #g 
     [...] 
+0

確保你沒有任何標籤使用.yml。只有你可以使用空格 – Vinay

+0

@Vinary謝謝!你是指列名和我鍵入的值之間的選項卡? – HUSTEN

+0

在整個.yml文件中,您不應該在任何地方使用製表符。只需使用中間的空格。價值將帶有單引號或雙引號 – Vinay

回答

1

如果此區域設置文件嵌套在一些目錄中config/locales您應該加載嵌套目錄試試這個,

es: 
    activerecord: 
    models: 
     community: "comunidad" 
     comment: "comentario" 
    attributes: 
     "community": 
     title: "titulo" 
     "comment": 
     title: "titulo" 
     [...] 

給兩個空格每不給標籤。 ..試着讓我們知道...

編輯後,你需要重新啓動服務器。

+0

你需要< and >?在型號名稱方面? – HUSTEN

+0

不是你叫什麼名字?您需要提及您的型號名稱而不是(您不需要箭頭) – Vinay

+0

正如您在我的問題,評論,社區等中看到的那樣 – HUSTEN

0

首先你必須切換你當前的語言環境。如果您的項目只支持一種語言,您可以將

I18n.locale = :es 

合併到您的一個初始值設定項中。

application.rb

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s] 
+0

內部服務器錯誤 服務器遇到內部錯誤或配置錯誤,並且無法完成您的請求。 請聯繫服務器管理員root @ localhost,並告知他們發生錯誤的時間以及可能導致錯誤的任何事情。 – HUSTEN

+0

您確定此內部服務器錯誤與i18n問題有關嗎?日誌輸出在使用'rails server'啓動服務器時會說什麼? –

0

設置默認,以及在你的config/application.rb當前語言:

config.i18n.default_locale = config.i18n.locale = :es 
相關問題