HarmonyOS 鸿蒙Next 自定义创建的限定词资源里的json报错:xxxx is translated here but not found in the default locale,求助

HarmonyOS 鸿蒙Next 自定义创建的限定词资源里的json报错:xxxx is translated here but not found in the default locale,求助 刚开始在resource/base/string.json文件中增加{"name":"login","value":"登录"},报错:login is translated here but not found in the default locale

我以为默认的string.json是系统自带的,不支持中文,所以我就再创建了个本地的string:如下图所示:

在这个新的string.json中增加{"name":"login","value":"登录"},依然报错:login is translated here but not found in the default locale。此时,base下默认的string.json中的json也报同样的错误,我就把它删除掉了。如下图所示:

在华为论坛里搜索这个问题,搜到一两篇相关的帖子,说是要再建一个英文版的,所以我再建了一个,en_us,但依然报这个错误:

我的IDE版本是3.1.1 Release,操作系统是MAC

![cke_48017.png](data-originheight=“530” data-originwidth=“854” src=“https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/000/199/218/0010086000000199218.20231112211545.13493154571453643194976568388259:50001231000000:2800:FCFAAFE56767967DE5D5155930A008C93B7A1A6F5583808F168290F912BFE2FC.png”)


更多关于HarmonyOS 鸿蒙Next 自定义创建的限定词资源里的json报错:xxxx is translated here but not found in the default locale,求助的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

点击”open editor“

在这里添加

更多关于HarmonyOS 鸿蒙Next 自定义创建的限定词资源里的json报错:xxxx is translated here but not found in the default locale,求助的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你应该使用Open editor在所有注册的地方进行同步修改,你这样是因为有某些地方没有修改导致的

你的意思是通过Open editor改一次,所有地方会自动同步被修改?若是,如何在IDE中打开,我在右键中没有找到这个操作项,

应该是在base/element/string.json下先添加这个,才能在某个语言的配置里加这个值

找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

没错,这样解决了问题了,感谢,

在HarmonyOS鸿蒙Next中,自定义创建的限定词资源中的JSON文件报错“xxxx is translated here but not found in the default locale”,通常是由于在限定词资源中定义了某个字符串的翻译,但未在默认区域(default locale)中定义该字符串。鸿蒙的资源管理系统要求所有限定词资源中的字符串必须在默认区域中有对应的定义,否则会抛出此错误。

默认区域通常是en_US(美国英语),它是所有限定词资源的基础。当你在其他限定词资源(如zh_CN)中定义了一个字符串的翻译时,必须确保在默认区域的资源文件中也有该字符串的定义。

例如,如果你在zh_CNstrings.json中定义了如下内容:

{
  "app_name": "应用名称"
}

那么你必须在默认区域的strings.json中也定义app_name,例如:

{
  "app_name": "App Name"
}

如果默认区域中缺少app_name的定义,系统会报错“app_name is translated here but not found in the default locale”。

解决方法是在默认区域的资源文件中添加缺失的字符串定义,确保所有限定词资源中的字符串在默认区域中都存在对应项。

回到顶部