当前位置: 首页 > news >正文

【Rust GUI开发入门】编写一个本地音乐播放器(12. 国际化应用-多语言支持) - Jordan

本系列教程对应的代码已开源在 Github zeedle

本篇文章介绍Slint UI如何为播放器页面添加多语言支持,让你的应用走向国际!Translations | Slint Docs

i18n.png

1. 使用@tr修饰.slint中的字面量

就像这样:

at-tr.png

2. 提取要翻译的字符串

打开git bash,输入:

find ui -name \*.slint | xargs slint-tr-extractor -o zeedle.pot

此命令会找出ui文件夹下所有的.slint文件,并把这些文件路径作为参数全部传给slint-tr-extractor,后者会提取所有被@tr修饰的字面量到.pot中。

3. 使用Poedit翻译.pot文件

poedit.png

翻译完成后,保存生成的.po文件到lang/语言代码/LC_MESSAGES/zeedle.po

语言代码:

  • 中文简体:zh_CN
  • 西班牙语:es
  • 德语:de

......其余请自行查阅。

4. 静态编译到可执行文件中

build.rs中指定语言目录,跟上面对应,也就是lang

fn main() {let cfg = slint_build::CompilerConfiguration::new().with_style("fluent".into()).with_bundled_translations("lang");slint_build::compile_with_config("ui/app.slint", cfg).expect("slint build failed");
}

5. 使用Rust API动态选择语言

可以在用户callback中调用此函数完成UI语言更改:

slint::select_bundled_translation(语言代码字面量).expect("failed to set language");
http://www.hskmm.com/?act=detail&tid=21741

相关文章:

  • 2025秋_6
  • 程序语言杂谈:C/C++
  • 2025秋_7
  • PEP8 规范
  • print() 函数
  • 第九天
  • Pycharm 设置
  • [NOIP 2016 提高组] 组合数问题
  • 新建第一个项目
  • 笛卡尔树 (区间最小值)
  • CF2003F. Turtle and Three Sequences
  • 【Rust GUI开发入门】编写一个本地音乐播放器(11. 支持动态明暗主题切换) - Jordan
  • 利用接口中的静态虚拟成员实现自定义配置节
  • 天线增益与有源接收面积之间的关系
  • 2025CSP-S晋级和英才计划入围后:我走过了哪些路
  • 流量分析
  • fdsaf -
  • 【J+S 二十连测】-- 第十二套爆炸记
  • 2025-2026-1 CS3311 软件工程 个人项目第一版已发布
  • Python浅拷贝、深拷贝
  • 破解 Pycharm
  • 阿里业务身份建模
  • 实用指南:矩阵结构体 图片绘制 超级玛丽demo6
  • 5分钟理清:Session、JWT、Token、SSO、OAuth 2.0 认证逻辑
  • 2025年10.1~10.6日信息竞赛计划安排表
  • 【Rust GUI开发入门】编写一个本地音乐播放器(10. 拼装UI组件) - Jordan
  • 国产数据库-达梦docker镜像安装
  • CAP 8.4 版本发布通告
  • 【Leetcode】随笔 - 详解
  • DevEco Studio 编辑器的使用 - 实践