Page 1 of 1

ide中dp点名称和真机调试,显示不一致

Posted: 2024年 Sep 9日 18:41
by silverlight

项目类型:面板小程序
项目是否是 ray :是
描述:我显示设备中所有功能点名称,并且为了多语言做准备,所以以dp.code作为名称显示。
代码如下

Code: Select all

            {Object.keys(dpSchema || {}).map((dpCode, index) => {
              const dpname = Strings.getDpLang(dpCode);
              const props = dpSchema[dpCode];
              const isHighHumidity = dpname === '当前湿度' && (dpState[dpCode]/10) > alarmThreshold;
              const isHighTemperature = dpname === '当前温度' && (dpState[dpCode]/10) > temperatureThreshold;
              return (
                <React.Fragment key={dpCode}>
                  <View className={isHighHumidity || isHighTemperature ? styles.highHumidity : ''}>
                    {props?.property?.type === 'bool' ? (
                      <BoolCard dpCode={dpCode} />
                    ) : props?.property?.type === 'enum' ? (
                      <EnumCard dpCode={dpCode} />
                    ) : props?.property?.type === 'value' ? (
                      <ValueCard dpCode={dpCode} />
                    ) : (
                      <Text className={isHighHumidity || isHighTemperature ? styles.highHumidityText : styles.text}>
                        {dpname}: {dpState[dpCode]}
                      </Text>
                    )}
                  </View>
                  {index < Object.keys(dpSchema).length - 1 && (
                    <View className={styles.separator} />
                  )}
                </React.Fragment>
              );
            })}

当前现象:
1:此时我并没有在i18h中做好对应的多语言配置,ide中会在dpcode前面多一段前缀“dp_”。
2:而ide的面板工具和真机调试中,名称会显示为翻译后的名称。
3:但是真机调试此时翻译得到的名称和ide中不一致。
这是ide的显示

多语言.png

这是真机的显示

真机2.jpg

Re: ide中dp点名称和真机调试,显示不一致

Posted: 2024年 Sep 10日 08:18
by xuanyi

请问设备所属产品是项目绑定的产品吗。 如果不是会出现左侧预览窗口加载不到正确的产品多语言的情况。该问题我们持续优化中


Re: ide中dp点名称和真机调试,显示不一致

Posted: 2024年 Sep 10日 09:35
by silverlight
xuanyi 2024年 Sep 10日 08:18

请问设备所属产品是项目绑定的产品吗。 如果不是会出现左侧预览窗口加载不到正确的产品多语言的情况。该问题我们持续优化中

不是项目绑定的产品,我是先在虚拟设备中开发,并在测试产品中进行实机测试,发现多语言存在不一致。


Re: ide中dp点名称和真机调试,显示不一致

Posted: 2025年 Sep 18日 14:14
by xuanyi

IDE 加载的多语言为创建小程序时绑定的产品对应的多语言包,若调试时提示产品不一致,可能会导致多语言缺失的情况。而调试插件中的多语言在中文的情况下使用的是 schema 中的 name 字段,英文情况下是通过对应产品的 dp 多语言获取。为保持字段使用统一,10月份版本将都采用 dp 多语言形式处理。

目前 App 在调试时与线上加载流程一致,会根据设备id 加载对应的产品及面板多语言包。若后续出现真机调试时未正常加载到多语言的情况,建议上传一下 app 日志,供 app 研发人员进行链路排查。

为整体保障问题跟进效率,我们临时将此标记为已关闭,如有需要请回复并联系我们继续跟进。