2017-07-27 129 views
-1

我有一個接受N個參數的字符串,我想將其國際化。每個區域必須有不同數量的參數。Android字符串資源多語言

實施例:

R.string.string_test

  1. PT-BR:TEMöparametro%1 $發E%2 $ S;
  2. es-AR:Tiene elparámetro%1 $ s;
  3. en-US:有參數%1 $ s,%2 $ s和%3 $ s;

的問題是,當我使用:

getString(R.string.string_test, param1, param2); 

的IDE顯示了一個錯誤,有這樣做的一種方式?或者我需要創建一個字符串每個地區?

回答

0

向您顯示錯誤和程序實際崩潰的IDE是兩個不同的事情(在這種情況下)。只要匹配的參數在每種語言中具有相同的含義,你所要做的就是好的。

確保您傳遞足夠的參數來滿足大多數格式說明符的字符串。在你的例子中,en-US有三個,但你只傳遞兩個參數到getString()。您可以使用@SuppressLint("StringFormatInvalid")讓IDE忽略該警告。

+0

它不會出現問題,我只是好奇,看看有沒有更好的方式來做到這一點。 – tiagoMissiato