如何为Ubuntu制作一个迷你英汉词典?

Modified on: Sat, 09 Jun 2018 03:27:53 +0800

当您打开Ubuntu时,会使用许多英文单词。例如,配件教育图形互联网办公室其他声音视频系统工具偏好设置运行注销都将出现在GUI中。

如何获取Ubuntu GUI中使用的所有英语单词列表?

我想要一份所有英文单词的列表,以便我可以将它们翻译成中文,为Ubuntu创建一个词汇表:中文到英语Ubuntu术语的指南。这可以作为一个迷你词典:一个两栏文件,左边是英文,右边是中文。

通过查看GUI上的文字来编写整个内容是一个笑话。我想要一个聪明的方法来完成任务。是否有Ubuntu使用的所有单词的列表?

当我在GUI中遇到单词时手动打字是完成任务的一种愚蠢方式。

  1. 当语言环境设置为en_us时,从GUI逐个复制出所有英语单词。
  2. 当语言环境设置为zh时,从GUI逐个复制出所有中文单词。
  3. 将它们放在一个文件中,左边是英文,右边是中文。
  4. 醇>

    有更聪明的方法吗?
    / usr / lib / locale / locale-archive中的哪个字符?

最佳答案

根据GUI工具包或规范,有许多方法可用于存储国际化字符串。

  • 屏幕截图中显示的内容来自菜单.directory文件。使用与freedesktop项目中的.desktop相同的标准。请参阅桌面条目规范:密钥的本地化值

    这是一个提取它们的脚本


    1. 创建一个shell文件

      nano extract_zh_translation.sh
      

      添加


      #!/bin/bash for f in $(ls $1) do name_en=`sed -n -e '0,/Name/{s/^\s*Name\s*=\s*//p}' $f` name_zh=`sed -n -e '0,/Name\[zh_CN\]/{s/^\s*Name\[zh_CN\]\s*=\s*//p}' $f` case `echo ${#name_en}/8 | bc` in 3|2) echo -e $name_en'\t'$name_zh ;; 1) echo -e $name_en'\t\t'$name_zh ;; 0) echo -e $name_en'\t\t\t'$name_zh ;; esac done
    2. 使其可执行

      #!/bin/bash            
      
      for f in $(ls $1)
      do
              name_en=`sed -n -e '0,/Name/{s/^\s*Name\s*=\s*//p}' $f`
              name_zh=`sed -n -e '0,/Name\[zh_CN\]/{s/^\s*Name\[zh_CN\]\s*=\s*//p}' $f`
      
              case `echo ${#name_en}/8 | bc` in
              3|2)    echo -e $name_en'\t'$name_zh
                      ;;
              1)      echo -e $name_en'\t\t'$name_zh
                      ;;
              0)      echo -e $name_en'\t\t\t'$name_zh
                      ;;
              esac
      done
      
    3. 在菜单目录条目

      上运行它

      chmod +x extract_zh_translation.sh
      

      以下是输出样本

    4. 如果您还想要应用程序菜单条目

      ./extract_zh_translation.sh "/usr/share/desktop-directories/*.directory"
      

      以下是输出样本

  • Unity GUI的其他翻译正在使用gettext

    具有.gmo.mo扩展名的文件是最终的二进制格式。检查:

    ./extract_zh_translation.sh "/usr/share/applications/*.desktop"
    

    源文件具有.po扩展名,您可以从https:// translation下载它们.launchpad.net /或下载完整的源代码,例如:

    locate -br .mo$ | grep zh_CN
    
  • 其他GUI工具包,如Qt& Java使用不同的格式。

作者:,user.dz

相关问答

添加新评论