ArkUI组件的字符串中如何实现字符串变量拼接

​ArkUI组件的字符串中如何实现字符串变量拼接,结合限定词目录的资源文件,例如语言切换时候,字符串内容自动跟随切换。例如实现Text()组件的字符串变量拼接功能,如何实现?

Text($r('app.string.EntryAbility_desc', 'Hello'))
  • 1.
HarmonyOS
2024-01-21 12:44:45
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
maxdl

可以结合资源文件结合%d、%s的方式进行实现。使用样例如下所示。

1.修改"src/main/resources/zh_CN/element/string.json"文件,对其中的一个需要变量拼接内容增加%d拼接。

{ 
  "string": [ 
    { 
      "name": "module_desc", 
      "value": "模块描述%d" 
    }, 
    { 
      "name": "EntryAbility_desc", 
      "value": "description" 
    }, 
    { 
      "name": "EntryAbility_label", 
      "value": "label" 
    } 
  ] 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

修改"src/main/resources/en_US/element/string.json"文件,对其中的一个需要变量拼接内容增加%d拼接。

{ 
  "string": [ 
    { 
      "name": "module_desc", 
      "value": "module description%d" 
    }, 
    { 
      "name": "EntryAbility_desc", 
      "value": "description%d" 
    }, 
    { 
      "name": "EntryAbility_label", 
      "value": "label" 
    } 
  ] 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

2.在页面组件中使用$r(xx)加上拼接变量进行使用。

@Entry 
@Component 
struct Page1 { 
  @State num1: number = 100; 
 
  build() { 
    Row() { 
      Column() { 
        Text($r('app.string.module_desc', this.num1)) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

3.切换中英文语言时,会自动跟随语言的切换带入对应的变量信息。

参考链接

资源分类与访问

分享
微博
QQ
微信
回复
2024-01-22 15:01:46
相关问题
如何实现ArkUI组件字符串变量拼接
878浏览 • 1回复 待解决
如何实现ArkUI组件字符串变量拼接
3245浏览 • 1回复 待解决
检查字符串是否以给定字符串开头
1037浏览 • 1回复 待解决
$r('xxxxx')是否支持字符串动态拼接
2612浏览 • 1回复 待解决
检查字符串是否以给定字符串结尾
848浏览 • 1回复 待解决
字符串反射
381浏览 • 1回复 待解决
如何实现字符串编解码
3389浏览 • 1回复 待解决
HarmonyOS 字符串翻转如何实现
260浏览 • 1回复 待解决
如何实现Map转JSON字符串
1589浏览 • 1回复 待解决
HarmonyOS 替换字符串
583浏览 • 1回复 待解决
字符串如何转为ArrayBuffer?
1168浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
3397浏览 • 1回复 待解决