2017-03-16 44 views
0

之前,我有以下情況:在我的一些國際化屬性文件都存在包含了一個特殊的詞屬性:訪問過程中的i18n屬性文件編譯

  • prop.example = specialword只是舉例
  • 道具。測試=只是爲了測試specialword

我想在我的Config.groovy中某處有一個屬性的一種可能性,即包含了該0123一特定值所以,如果我指定:

specialword=Value of special word 

Config.groovy中那麼我希望我的國際化特性有待解決,如:

  • prop.example = Value of special word只是舉例
  • 道具.test =僅供測試Value of special word

爲此,在構建項目時,I wan t訪問屬性文件以查找specialword的出現次數,並用值Config.groovy中的值specialword替換它們。

這是可能的嗎?也許,有人面臨類似的情況?我真的很感激任何幫助。 謝謝,乾杯

+1

也許你正試圖以錯誤的方式解決根本問題。當你做消息代碼解析時,爲什麼不把它作爲參數傳遞給你的屬性?這樣,你可以在'Config.groovy'中將它定義爲你想要的應用程序配置的一部分,而不必在編譯過程中「破解」它?似乎你在這裏與系統作鬥爭...... –

+0

@JoshuaMoore但是如果發生什麼情況,可以說,EN語言環境和特定標籤,我需要這個功能,我使用這個參數,但是對於FR語言環境和相同的標籤I不需要這個特殊的詞,因此不要使用參數,如果我嘗試在那裏傳遞參數,最終不會有異常。 –

+1

不,如果在消息代碼中沒有使用該參數,它將被忽略。 –

回答

1

而不是試圖改變屬性編譯的方式,你最好將特殊值作爲參數傳遞給你的消息代碼(正如你的問題的評論中所討論的那樣)。

例如: <g:message code="my.key.code" args="[someVariableWithAValueFromConfig]" />

如果你的郵件代碼不使用它只會被忽略的參數。這似乎是您嘗試解決問題的最佳方法。