0

我看过一个 Android 教程,它允许一个简单的 android:text 就像下面的例子:

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Android Application" android:textColor="#ffffff" />

但在我的日食中,它说:

[I18N] 硬编码字符串“Android 应用程序”,应使用@string 资源

我应该怎么办?

我需要插入很多文本,就像,

会计从远古时代就开始了。想想这个真理:上帝对挪亚说;“凡有血肉的活物,各取两只,你要带进方舟,使它们与你同在;他们应该是男性和女性。飞鸟各从其类,牲畜各从其类,地上的昆虫各从其类,每样两个,要到你那里,保全它们的生命。把所吃的一切食物拿来给你,你要收集给你;这将是你和他们的食物。” 圣经——创世记 6:19-20。“凡洁净的牲畜,你要按七公分母,把不洁净的牲畜按公母分两个交给你。空中的飞鸟,有公有母;让种子在整个地球上存活。” 圣经 – 创世纪 7:2-3

有什么建议或告诉我该怎么做更好吗?

4

2 回答 2

1

这只是一个警告。

但是通过使用字符串资源,您可以支持多语言。

您只需在文件strings.xml( res/values/strings.xml) 中创建一个新的字符串资源。

然后添加行:

<string name="your_name">Your text</string>

并改变:

android:text="Android Application" 经过android:text="@string/your_name"

现在,如果您想为您的应用程序添加一种新语言,比如说法语,您只需在res名为的文件夹中创建一个新文件夹values-fr并复制/粘贴strings.xml您已有的文件,最后翻译您定义的字符串(即<string name="your_name">Your text translated in french</string>)

你可以看看这个(使用屏幕截图解决的问题)。

于 2013-09-22T10:56:45.233 回答
0

您可以在布局(或代码)中使用硬编码字符串,这只是一个警告,eclipse 不会在编译时失败。

android 的最佳实践是从您的应用和布局中删除所有字符串和文本,并将其放在一个地方 - 这样以后翻译会容易得多。

因此,eclipse 建议您将“Android 应用程序”文本提取到 strings.xml 文件(应包含您应用程序的所有字符串)。

如果只是为了教程,你可以忽略它,甚至更好 - 让 eclipse 使用快速修复将文本提取到 strings.xml

于 2013-09-22T10:57:34.793 回答