Разбор Д/З

Общие замечания:

Максимальная оценка должна быть хорошо достижима в ситуации, когда

Задание по лекции 08_I18n

Далее рассматривается решение в варианте, когда

guesser
├── configure.ac
├── Makefile.am
├── po
│   ├── Makevars
│   ├── POTFILES.in
│   └── ru.po
└── src
    ├── guesser.c
    └── Makefile.am

Условие сдачи

Компоненты автоматической проверки

Обязательная составляющая

  1. Сборка autoreconf -fisv && ./configure && make

  2. Сборка и установка ./configure --prefix=/tmp/QQ && make clean install

  3. Запуск после установки: /tmp/QQ/bin/имя_программы

    • переводы могут не работать
  4. ∃ способ запуска, при котором переводы работают

  5. Обрабатываются ситуации неправильного ввода
  6. Обрабатывается ситуация закрытия ввода

Необязательная составляющая

  1. Обработка ошибок вызываемых функций, если они могут завершиться с ошибками
    • В этом задании допустимо такую обработку не делать
  2. Дополнительная настройка configure.ac / configure, позволяющая указать при сборке каталог с переводами (и тестировать запуск без установки)

  3. Программа угадывает число не более, чем за 7 вопросов

Варианты ошибок

  1. В репозитории хранятся генераты autopoint (фактически — что угодно из каталога po, кроме файла с переводами, Makevars и POTFILES.in

    • ├── configure.ac
      ├── Makefile.am
      ├── po
      │   ├── Makevars
      │   ├── Makevars.template
      │   ├── POTFILES.in
      │   ├── ru.mo
      │   └── ru.po
      └── src
          ├── guesser.c
          └── Makefile.am
  2. Какая-то часть вывода не переведена (например, сообщения об ошибках)
    $ echo "Wat" | ~/tmp/QQ/bin/guesser
    Выберите число из диапазона от 1 до 100.
    Задуманное число больше 50 (Да/Нет)? /home/george/tmp/QQ/bin/guesser: Incorrent answer 'Wat'
  3. Каталог с переводами явно указан в тексте программы (а не определяется autotools)

     bindtextdomain(PACKAGE, "po");
    
    • В этом примере явно задан каталог "po"

LecturesCMC/LinuxApplicationDevelopment2024/08_I18n/HomeworkReview (последним исправлял пользователь FrBrGeorge 2025-06-10 20:52:46)