Existem muitas maneiras de armazenar sequências internacionalizadas, dependendo dos kits de ferramentas ou especificações da GUI.
-
Os mostrados na captura de tela são do menu
.directory
files. Use o mesmo padrão que.desktop
do projeto freedesktop. Consulte Especificação de entrada na área de trabalho: valores localizados para chavesAqui um script para extraí-los
-
Crie um arquivo de shell
nano extract_zh_translation.sh
Adicionar
#!/bin/bash for f in $(ls ) 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
-
Torne-o executável
chmod +x extract_zh_translation.sh
-
Execute-o nas entradas do diretório de menus
./extract_zh_translation.sh "/usr/share/desktop-directories/*.directory"
Aqui está um exemplo de saída
-
Se você quiser também entradas no menu de aplicativos
./extract_zh_translation.sh "/usr/share/applications/*.desktop"
Aqui está um exemplo de saída
-
-
Outras traduções de GUI do Unity estão usando
gettext
.Arquivos com a extensão
.gmo
ou.mo
são o formato binário final. Verifique:locate -br .mo$ | grep zh_CN
Os arquivos de origem têm a extensão
.po
, você pode baixá-los do link ou baixando a fonte completa, por exemplo:apt-get source unity
-
Outros kits de ferramentas GUI, como o Qt & amp; Java está usando diferentes formatos.