Skip to content

插件翻译文件使用说明

在开发应用程序的过程中,多语言的切换是必不可少的功能,ARCS 软件目前支持中文/英文切换,开发的插件也需要随着 ARCS 软件的系统语言进行语言切换。

插件在开发过程中,先使用 Qt Creator 生成 TS 文件,TS 文件即是实现翻译功能的文件,ARCS 软件的系统可以切换几种语言,就会有几个 TS 文件。 TS 文件生成后,使用 Qt Linguist 工具翻译所有 TS 文件,最后重新打包插件,加载至 ARCS 软件,即可实现插件随着 ARCS 软件的系统语言的切换功能。

ARCS 软件语言切换

  1. 启动 ARCS 软件,在主页单击右上角的【设置】按钮。

  2. 进入【设置】界面,单击【偏好 > 语言】,选择【中文】或【English】,单击右下角的【应用并重启】,重启后完成 ARCS 软件的语言切换。

翻译文件的生成、加载与更新

生成翻译文件

  1. 打开 Qt Creator,打开插件工程,在界面上布置控件。

  2. 在插件的【src】目录下新建【translations】文件夹。

  3. 确定翻译文件的命名。

    1. (推荐)以【插件名_zh_CN.ts】来保存中文翻译文件,【插件名_en.ts】来保存英文翻译文件。

      例如:myplugin_zh_CN.ts、myplugin_en.ts

  4. 修改【CMakeLists.txt】文件,使 CMake 中包含翻译文件。

    1. find_package 中增加 LinguistTools 翻译工具。

    2. 设置翻译文件的路径 TS_FILES ,并创建翻译文件 .ts 文件。

    3. add_library 中添加 .ts 翻译文件。

    4. 具体代码:

      find_package(Qt5 REQUIRED COMPONENTS Core Widgets LinguistTools)
      set(TS_FILES
          ${CMAKE_CURRENT_SOURCE_DIR}/src/translations/loadqrc_zh_CN.ts
          ${CMAKE_CURRENT_SOURCE_DIR}/src/translations/loadqrc_en.ts)
      
      set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION ${PLUGIN_OUTPUT_PATH}/loadqrc)
      qt5_create_translation(QM_FILES
          ${CMAKE_CURRENT_SOURCE_DIR}/src
          ${TS_FILES})
      add_library(loadqrc SHARED
          ${_srcs}
          ${program_src}
          ${install_src}
          ${QM_FILES}
          src/activator.cpp
          src/resource.qrc)
  5. 保存【CMakeLists.txt】文件,对项目再次进行 CMake 和 Build,完成后会在【工程项目/src/translations】目录下生成对应的翻译文件 .ts 文件。

翻译翻译文件

  1. 打开 Qt Linguist,打开 .ts 文件。

  2. 如图所示,位置【1】表示未被翻译的语句;选择未被翻译的语句后,在位置【2】处输入翻译内容;翻译内容输入后,单击位置【3】的按钮,标记该语句翻译完成。

  3. 完成所有语句的翻译后,单击左上角的【保存】。

打包插件

通过 deploy.sh 脚本完成插件的打包压缩,拷贝到 arcs 指定工作目录,加载插件,选择系统语言为中文(简体),即可完成插件的翻译加载过程。效果图如下:

更新翻译文件

在插件开发的过程中,有时各语言翻译功能做好之后,插件可能会增加别的功能,需要在此进行翻译,这时只需要更新 .ts 文件即可。

下面以新增控件【update translation test putton】为例,演示更新翻译文件的步骤:

  1. 打开 Qt Creator,在插件工程中新增控件,命名为【update translation test putton】。

  2. 找到该工程下 .ts 文件的位置,本测试用例的 .ts 文件存储位置如图所示。

  3. 在 .ts 文件处打开终端,使用 lupdate 命令更新 .ts 文件。

    1. lupdate 命令一般格式:

      lupdate -ts 需要更新的翻译文件名称.ts
    2. 如果整个插件工程采用 CMake 管理,需手动增加所有和翻译内容有关的源代码文件地址:

      lupdate 源代码文件1 源代码文件2 ... -ts 需要更新的.ts文件
    3. 如果涉及到的源代码文件较多,可以采用相对路径,用户可以根据自己工程的文件结构进行调整,也可以使用绝对路径,将每个源代码文件加进来。在本测试工程所有的源代码都存放在【src】目录下,【src】文件在 .ts 文件的上级目录下,则在 .ts 文件目录下使用 ../* 即可访问到【src】目录下的所有文件:

      lupdate ../* -ts loadqrc_zh_CN.ts
      
      lupdate ../* -ts loadqrc_en.ts
  4. 重新编译项目。

  5. 再次打开 .ts 文件,查看原先增加的控件信息是否已经添加。

  6. 翻译文件,具体操作请参见 “翻译翻译文件”。

  7. 将插件进行打包,并加载至 ARCS 中,完成更新。

  8. ARCS 软件可以自动加载插件的翻译文件,需要在部署时将 qm 文件放至插件统计目录下即可。