Android 什么';s属性的含义';msgid';在strings.xml中?

Android 什么';s属性的含义';msgid';在strings.xml中?,android,Android,strings.xml中属性“msgid”的含义是什么 如何获取其值?如果使用字符串本地化,则strings.xml中存在属性“msgid”。例如,如果文件夹values es中有西班牙语的备用应用程序字符串,values.xml将包含“msgid” 当我查看西班牙语的strings.xml时,我看到一些长值,如 8340973892742019101 有趣的是,意大利语和其他语言的strings.xml包含相同字符串的相同msgid 我唯一想到的是,它是一些独特的资源ID,由应用程序内部生成。

strings.xml中属性“msgid”的含义是什么

如何获取其值?

如果使用字符串本地化,则strings.xml中存在属性“msgid”。例如,如果文件夹values es中有西班牙语的备用应用程序字符串,values.xml将包含“msgid”

当我查看西班牙语的strings.xml时,我看到一些长值,如

8340973892742019101

有趣的是,意大利语和其他语言的strings.xml包含相同字符串的相同msgid


我唯一想到的是,它是一些独特的资源ID,由应用程序内部生成。因此,我认为在它们中寻找额外的意义是没有意义的。它们在应用程序中是唯一的,这一点非常重要。

这些是操作系统的字符串,来自
com.android。支持:appcompat-v7
包。您可以看到它们已定义

没有与
strings.xml
相关的“msgid”:我认为您使用的是本地化的字符串文件。不理解为什么它们对您有用。但是,一个技巧是从非默认语言获取strings.xml,将其复制到raw/assets dir并使用它生成一个构建。然后从raw/assets以编程方式读取它,并使用xml解析器提取所需的值。