messages.properties
構文の行を持つファイルがあります<key>=<string>
。それぞれkey
がユニークですが、string
そうではありません。多くのキーが同じ文字列を持つことができます。また、同じフォルダーに、から文字列を読み取る Java クラスがいくつかありますmessages.properties
。メソッドを介して文字列を取得しますMessages.getString("<key>")
。だから私がする必要があるのは、から値を読み取ることによってMessages.getString("<key>")
Javaクラスをに変換することです。これは、トリックを行う @potong の sed onliner です。"<key>"
messages.properties
sed 's|^\([^=]*\)=\(.*\)|s@Messages.getString("\1")@"\2"@g|;s/\\/\\\\/g' messages.properties |
sed -i -f - *.java
ただし、これに関する問題は、一部のバージョンでは機能しないことですmessages.properties
。これを解決するには、スクリプトをどのように変更すればよいですか? これは関連する質問です検索して sed に置き換え ます。
サンプルの messages.properties
Sting.1=Str
Sting.2=String
Sting.3=String
Sting.4=Strring
Sting.5=Str
サンプル Java クラス
System.Out.println(Messages.getString("Sting.1"));
System.Out.println(Messages.getString("Sting.2"));
System.Out.println(Messages.getString("Sting.3"));
System.Out.println(Messages.getString("Sting.4"));
System.Out.println(Messages.getString("Sting.5"));
必要な Java クラス
System.Out.println("Str");
System.Out.println("String");
System.Out.println("String");
System.Out.println("Strring");
System.Out.println("Str");