Android Studio Translation Editor异常:默认值与翻译不显示求助
我之前也碰到过类似的问题,给你几个实际可行的排查方向,你可以逐个尝试:
检查资源文件的合法性和路径
先确认你的默认字符串文件res/values/strings.xml以及各翻译版本(比如res/values-zh/strings.xml)都放在正确的路径下,没有被误移动。然后检查文件本身有没有语法错误,比如未闭合的<string>标签、未转义的特殊字符(比如引号、&符号)。可以用Android Studio的代码检查工具快速排查:点击顶部菜单的Analyze -> Inspect Code,选择整个项目,然后查看Android Resources下的报错,这些错误很可能导致Translation Editor无法解析资源。检查Translation Editor的视图过滤设置
有时候不是没加载出来,而是被过滤掉了。打开Translation Editor后,看看右上角的过滤选项:确保没有勾选“Show only strings without translations”,或者其他窄范围的过滤条件;另外,确认视图模式是“All”而不是只显示某个语言的翻译。彻底清除Android Studio缓存和索引
普通重启和清理项目可能不够,试试更彻底的缓存清理:点击顶部菜单的File -> Invalidate Caches...,在弹出的窗口中选择“Invalidate and Restart”。这个操作会清除AS的缓存并重建项目索引,很多资源加载异常的问题都能通过这个解决。验证字符串键的一致性
检查默认strings.xml中的键名,和所有翻译文件中的键名是否完全一致(包括大小写、下划线/连字符的使用)。比如默认文件里是"welcome_message",翻译文件里写成"Welcome_Message"或者"welcome-message",都会导致编辑器无法匹配到对应翻译。可以用AS的全局搜索(双击Shift)搜索键名,快速确认所有翻译文件中都存在该键。检查Gradle配置兼容性
如果你的项目使用了较旧的Gradle插件版本,可能和当前Android Studio版本不兼容,导致资源解析异常。可以尝试同步Gradle(点击右上角的Sync Project with Gradle Files按钮),或者在build.gradle(Project)中把Gradle插件版本更新到和AS兼容的稳定版(比如AS Hedgehog对应插件版本8.2.x),注意不要跨太大版本,避免引入其他兼容性问题。测试新建项目的Translation Editor
新建一个空白的Android项目,添加几个带翻译的字符串,然后打开Translation Editor看看是否正常。如果新项目正常,说明问题出在当前项目的配置或资源文件上;如果新项目也不行,那可能是Android Studio本身的问题,可以尝试修复安装(Help -> Find Action搜索Repair IDE)或者更新到最新稳定版。
内容的提问来源于stack exchange,提问作者Petterson

