【问题标题】:Language translation in an array数组中的语言翻译
【发布时间】:2015-06-17 16:47:05
【问题描述】:

我有几个数组,其中一个带有微调器,但我怀疑这是否重要。

无论如何,我需要将它们翻译成其他语言。我的程序是一个 android 应用程序,我在大多数应用程序中都使用了 @string,但是数组让我很生气。

这里是微调器数组。

    private static final String[]paths = {"Click to select", "One", "Two", "Three"};

到底如何翻译数组中的文本?我在其他网站上尝试了几种方法,但都无法构建。

【问题讨论】:

    标签: android internationalization


    【解决方案1】:

    我终于解决了这个问题。

    字符串.xml

        <string-array name="paths_array">
             <item>Click to select</item>
             <item>One</item>
             <item>Two</item>
             <item>Three</item>
        </string-array>
    

    在代码中(java文件)

        String[] paths;
    
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.yourlayout);
    
        paths = getResources().getStringArray(R.array.paths_array);
        }
    

    超级简单,我在 Google LOL 的 Android 资源网站上找到了它,我以为我尝试过一次,但在查看 XML 条目后,我意识到它与我之前尝试过的完全不同。

    现在编译运行完美,终于可以翻译微调器了。

    感谢所有帮助,因为它引导我走上正确的道路。

    【讨论】:

    • 您可以将所有单独的字符串放入 strings.xml 文件中并在您的数组中引用它们。例如。 One 然后在数组中:@string/one
    【解决方案2】:

    只需在运行时解析字符串,然后将这些解析的字符串放入数组中。

    String s1 = context.getResources().getString(R.string.s1);
    String s2 = context.getResources().getString(R.string.s2);
    String s3 = context.getResources().getString(R.string.s3);
    String s4 = context.getResources().getString(R.string.s4);
    
    String[] paths = { s1, s2, s3, s4 };
    

    在你的字符串资源文件中:

     <string name="s1">Click to select</string>
     <string name="s2">One</string>
     <string name="s3">Two</string>
     <string name="s4">Three</string>
    

    【讨论】:

    • 从来没有遇到过这个......会试一试,看看会发生什么。大量的剪切和粘贴会发生,哈哈
    • 这不起作用。不断抱怨id1,2,3,4。说“无法解析符号 id1”
    • 我已经更正了答案。我输入了错误的字符串 ID。我放了“R.string.id1”,但应该是“R.string.s1”等等
    • 进行了这些更改,应用程序崩溃了。如果我恢复到常规数组,则不会崩溃。
    • 你有崩溃的logcat输出吗?
    猜你喜欢
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 2011-11-20
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    相关资源
    最近更新 更多