1

我從外部API獲取一些字符串到我的數據庫中,我想在顯示用戶之前將它們翻譯。我不想通過globalize3來翻譯每個對象,因爲我想翻譯的內容具有某種格式。如何在Ruby on Rails上通過格式轉換字符串?

比如我需要將所有的信息值與日期:

「遊戲從2013年8月22日推遲」 - >日期改變,但字符串是一樣的。

我嘗試使用字符串作爲關鍵,如果我沒有變它的工作原理:

配置/區域/ tr.yml文件

TR:

的Hello World: 「Merhaba敦雅」

軌控制檯

I18n.t(的 「Hello World」)

=> 「Merhaba敦雅」

我如何使用我的字符串具有可變關鍵和得到翻譯呢?

我要定義這樣的:

TR:

「遊戲自%推遲{日期}」=> 「的Mac%{日期} tarihinden ertelendi」

和我想使用它:

I18n.t( 「遊戲從2013年8月22日推遲」)

=>「的Mac 2013年8月22日tarihinden ertelendi」

使用的I18n可能不是我的情況下,最好的解決辦法,但我不知道我怎麼能解決這個問題。

回答

0

在你config/locale/tr.yml

'Game postponed from': 'Game postponed from %{date}' 

控制檯:

I18n.t 'Game postponed from', :date => some_date 
+0

我知道如何通過變量來國際化,但我的問題是我沒有一個變量。 「從22.08.2013推遲的遊戲」是保存在我的數據庫中的字符串。 – xaph

+0

將字符串拆分爲兩部分,使用I18n查找'遊戲推遲',然後使用日期字符串作爲變量 – Slicedpan

+1

@Slicedpan我正在尋找這種情況的一般解決方案。我有很多不同的格式「遊戲推遲...」只是一個例子。我可能需要本地化「%{name}得分第一個目標」和「遊戲裁判是%{name}」。如果我以編程方式拆分它們,我也可以交換它們,因爲我的網站只有一種語言。 – xaph

相關問題