히브리어, 스페인어, 영어, 카탈로니아 어, 헝가리어로 번역 된 앱이 있습니다. 히브리어를 제외하고 모든 언어가 훌륭하게 작동합니다. <string name="welcome">Welcome, %s</string>
히브리어의 UnknownFormatException
strings.xml의 히브리어 <string name="welcome">"ברוך/ה הבא/ה, s%\"</string>
영어 에 대한 strings.xml의 :
코드는이 라인에 보풀이 오류 보여줍니다 : 다음 lblUsername.setText(getString(R.string.welcome, mUserModel.getUserName()));
번역입니다 내 장치에 설정된 영어 로케일로 앱을 실행하면 정상적으로 실행됩니다. 다른 언어들과 동일합니다. 그러나 히브리어로 나는 다음과 같은 오류 메시지를 보게됩니다 :
java.lang.RuntimeException: Unable to resume activity {be.iminds.mresist/be.iminds.mresist.activities.MainActivity}: java.util.UnknownFormatConversionException: Conversion:
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.util.UnknownFormatConversionException: Conversion:
at java.util.Formatter$FormatSpecifierParser.unknownFormatConversionException(Formatter.java:2321)
at java.util.Formatter$FormatSpecifierParser.advance(Formatter.java:2315)
at java.util.Formatter$FormatSpecifierParser.parseConversionType(Formatter.java:2394)
at java.util.Formatter$FormatSpecifierParser.parseArgumentIndexAndFlags(Formatter.java:2365)
at java.util.Formatter$FormatSpecifierParser.parseFormatToken(Formatter.java:2298)
at java.util.Formatter.doFormat(Formatter.java:1071)
at java.util.Formatter.format(Formatter.java:1042)
at java.util.Formatter.format(Formatter.java:1011)
at java.lang.String.format(String.java:1554)
at android.content.res.Resources.getString(Resources.java:430)
at android.content.Context.getString(Context.java:425)
at be.iminds.mresist.activities.MainActivity.init(MainActivity.java:187)
...
히브리어가 아닌 다른 언어에서는 왜 작동합니까?
로
를 교체합니다. 이상하게도'% d '의 경우는 아닌 것 같습니다. – Ventis