Transhell 让你的shell国际化! @ shenmo | 2023-01-31T22:30:42+08:00 | 1 分钟阅读 | 更新于 2023-01-31T22:30:42+08:00

transhell 是一个bash国际化方案

实际上,重复造轮子了,建议去学gettext

transhell

transhell 是一个bash国际化方案,可以让你的bash脚本拥有国际化的能力

为了使用transhell,请在你的脚本的最上方加入example中的 .load_transhell 函数并执行之。

你也可以通过source的方式导入此函数,参见example-source,或者安装transhell的deb包后 source /opt/durapps/transhell/transhell.sh 来调用

仓库地址: https://gitee.com/spark-community-works-collections/transhell

使用指南

建议结合本仓库example目录下的例子查看

  1. 导入函数
source /opt/durapps/transhell/transhell. sh
load_transhell
  1. 将需要国际化的脚本中的文案转为助记变量(推荐为$TRANSHELL_CONTENT_XXXXXX)

原文:

echo "这是一个测试文档"

修改后

echo “${TRANSHELL_CONTENT_THIS_IS_A_TEST_DOC}”
  1. 在脚本同位置下新建transhell目录,并在其中放置翻译文件

命名为:脚本文件名_语言代码.transhell

例如transhell/test_en_US.transhell或者transhell/test_zh_CN.transhell

TRANSHELL_CONTENT_THIS_IS_A_TEST_DOC="这是一个测试文档"

特性

  1. load_translate会优先尝试加载en_US语言的翻译文件,随后尝试用运行环境的语言的翻译文件来覆盖。这个特性可以保证在缺失全部或部分翻译条目的时候使用英文来fallback.如果你不希望使用英文作为fallback,请更改脚本中的加载顺序
  2. 除了在脚本所在目录,load_transhell还会尝试从/usr/share/脚本文件名/transhell下读取。优先级为:脚本所在目录>/usr/share下。

© 2019 - 2024 shenmo的世界

Hugo theme Dream.

看不见我

avatar
关于我

星火应用商店

社交链接

本博客所有文章使用《知识共享 署名-非商业性使用-相同方式共享 4.0》(CC-BY-NC-SA-4.0)协议

这意味着你可以在署名并标明出处的情况下进行非商业转载(转载的文章也需要遵守CC-BY-NC-SA-4.0协议),但不可以进行商业转载