我曾经看过一个Android教程,它允许一个简单的android:text,就像下面的例子一样:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Android Application"
android:textColor="#ffffff" />
但在我的日食中, 它说:
[I18N]硬编码字符串“Android Application”,应该使用@string资源
我该怎么办?
我需要插入很多文本,就像
一样自远古以来,会计就已经开始。想一想这个真理:上帝对挪亚说; “凡有肉体活着的,各样各有两样,你要带进方舟,与他们同活。他们应该是男性和女性。在他们的善良之后的家禽,以及在他们的善良之后的牛,以及在他的善良之后的地上的每一个爬行的东西中,各种各样的两个将来到你面前,让他们活着。你要把所吃的食物都带到你那里,然后将它收集到你那里;它应该是为了你和他们的食物。“圣经 - 创世纪6:19-20。 “在每一只洁净的兽中,你要用七人,男人和他的女人,以及两个不洁净的野兽,男人和女人。由七人制的空中飞鸟,男性和女性;使种子活在地上。“圣经 - 创世记7:2-3
有任何建议或告诉我最好做什么?
答案 0 :(得分:1)
这只是一个警告。
但是通过使用字符串资源,您可以支持多语言。
您只需在文件strings.xml
(res/values/strings.xml
)中创建新的字符串资源。
然后添加以下行:
<string name="your_name">Your text</string>
只是改变:
android:text="Android Application"
的 android:text="@string/your_name"
现在,如果你想为你的应用程序添加一种新语言,让我们说法语,你只需要在名为res
的{{1}}文件夹中创建一个新文件夹并复制/粘贴文件values-fr
您已经拥有并最终翻译您定义的字符串(即strings.xml
)
您可以查看this(使用屏幕截图解决问题)。
答案 1 :(得分:0)
您可以在布局(或代码中)使用硬编码字符串,这只是一个警告,eclipse在编译时不会失败。
但 Android最佳做法是从您的应用和布局中删除所有字符串和文本并将其放在一个位置 - 以便以后翻译会更容易。
那么eclipse建议你将“Android应用程序”文本解压缩到strings.xml文件(应该包含你所有应用程序的字符串)。
如果仅仅是教程,你可以忽略它,甚至更好 - 只需让eclipse使用快速修复将文本提取到strings.xml