Как я могу сделать мини-англо-китайский словарь для Ubuntu?

Когда вы открываете Ubuntu, используется много английских слов. Например, аксессуары, образование, графика, интернет, офис, другое, звук, видео, системные инструменты, настройки, запуск и выход из системы будут отображаться в графическом интерфейсе.

Как я могу получить список всех английских слов, используемых в графическом интерфейсе Ubuntu?

Мне нужен список всех английских слов, чтобы я мог перевести их на китайский, чтобы создать глоссарий для Ubuntu: руководство на китайском языке по терминологии Ubuntu на английском языке. Это будет работать как мини-словарь: файл из двух столбцов с английским слева и китайским справа.

Это шутка, чтобы написать все это, просто посмотрев на слова в графическом интерфейсе. Я хочу умный способ сделать задачу. Есть ли список всех слов, используемых Ubuntu?

Печатание вручную, когда я сталкиваюсь со словами в GUI, является глупым способом выполнить задачу.

  1. Скопируйте все английские слова одно за другим из графического интерфейса, когда локаль установлена ​​на en_us,
  2. Скопируйте все китайские слова один за другим из графического интерфейса, если для локали задано значение zh,
  3. Сложите их в один файл, с английским слева и китайским справа.

Есть ли более умный способ сделать это?
Какой символ в моем /usr/lib/locale/locale-archive?

5 ответов

Решение

Существует много способов хранения интернационализированных строк в зависимости от наборов инструментов GUI или спецификаций.

  • Те, что показаны на скриншоте, из меню .directory файлы. Используйте тот же стандарт, что и .desktop из проекта freedesktop. См. Спецификация записи рабочего стола: Локализованные значения для ключей

    Вот скрипт для их извлечения

    1. Создать файл оболочки

      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. Сделайте это исполняемым

      chmod +x extract_zh_translation.sh
      
    3. Запустите его в записях каталога меню

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

      Вот пример вывода

    4. Если вы хотите, чтобы пункты меню приложения тоже

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

      Вот пример вывода

  • Другие переводы Unity GUI использует gettext,

    Файлы, имеющие .gmo или же .mo расширение, являются окончательным двоичным форматом. Проверьте:

    locate -br .mo$ | grep zh_CN
    

    Исходные файлы имеют .po расширение, вы можете скачать их с https://translations.launchpad.net/ или загрузив полный исходный код, например:

    apt-get source unity
    
  • Другие наборы инструментов GUI, такие как Qt & Java, используют другие форматы.

Поиск переводов Ubuntu https://wiki.ubuntu.com/Translations/

Вы можете получить выражения и переводы там.

Я думаю, что он имеет в виду другую проблему. На моем Ubuntu я установил английский, иврит и французский. Вы должны зайти в "Настройки системы", "Языковая поддержка" и добавить дополнительные языки.

Чтобы загрузить его на другом языке, вы перетащите нужный язык в верхнюю часть списка. Для меня это работает как шарм.

Запустите его на виртуальной машине, сделайте скриншоты, запустите инструмент OCR на изображениях. Это только немного лучше, чем делать это вручную. Было бы здорово, если бы вы могли просто передать текст в файл, но ОС, которая сделает это, еще не проснулась.

Доступна и поддерживается китайская версия Ubuntu: Ubuntu Kylin

Наряду с различными функциями, я думаю, что тип этого на английском языке, но без удаленных функций будет на самом деле довольно хорошо.

Другие вопросы по тегам