Разбор Д/З

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

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

Задание по лекции 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 (последним исправлял пользователь hbd 2025-06-26 19:24:43)