この素晴らしいガントスクリプトをhttp://blog.armbruster-it.de/2010/07/getting-a-list-of-all-i18n-properties-used-in-a-grails-application/で見つけました。ありがとうStefan !!
説明:Groovyコードとgspテンプレートで使用されるすべてのi18nプロパティのリストを作成します
def properties = []
new File(".").eachFileRecurse {
if (it.file) {
switch (it) {
case ~/.*\.groovy/:
def matcher = it.text =~ /code:\s*["'](.*?)["']/
matcher.each { properties << it[1] }
break
case ~/.*\.gsp/:
def matcher = it.text =~ /code=["'](.*?)["']/
matcher.each { properties << it[1] }
break
}
}
}
println properties.sort().unique().join("\n")
私はそれを次のように拡張しようとしました。次のようなsoemメッセージプロパティがあるとします。
message(code: 'product.label', default: 'Product')
スクリプトの出力として次のようなものが必要です。
product.label=Product
正規表現にいくつかの条件を追加しようとしました:
def matcher = it.text =~ /code=["'](.*?)["'] | default=\s*["'](.*?)["']/
そしてそれをプロパティに入力します。ただし、正規表現では「コードとデフォルト」のペアが見つからないため、これは機能しません。
これを行うために正規表現またはスクリプト全体を変更する方法はありますか?