Книга: Linux программирование в примерах
13.3.6. Тестирование переводов в персональном каталоге
13.3.6. Тестирование переводов в персональном каталоге
Коллекция сообщений в программе называется списком сообщений (message catalog). Этот термин применяется также к каждому из переводов сообщений на другой язык. Когда программа установлена, каждый перевод также устанавливается в стандартное место, где gettext()
может во время исполнения найти нужный перевод.
Может оказаться полезным разместить переводы не в стандартном, а в другом каталоге, особенно для тестирования программы. Особенно на больших системах, у обычного пользователя может не быть необходимых разрешений для установки файлов в системные каталоги. Функция bindtextdomain()
дает gettext()
альтернативное место для поиска переводов:
#include <libintl.h> /* GLIBC */
char *bindtextdomain(const char *domainname,
const char *dirname);
Полезные каталоги включают '.
' для текущего каталога и /tmp
. Может оказаться удобным также получить каталог из переменной окружения, подобно этому:
char *td_dir;
должна быть вызвана до вызовов любой из функций из семейства
setlocale(LC_ALL, "");
textdomain("killerapp");
if ((td_dir = getenv("KILLERAPP_TD_DIR")) != NULL)
bindtextdomain("killerapp", td_dir);
bindtextdomain()gettext()
. Мы увидим пример ее использования в разделе 13.3.8 «Создание переводов»
- 13.3.1. Установка текстового домена: textdomain()
- 13.3.2. Перевод сообщений: gettext()
- 13.3.3. Работа с множественными числами: ngettext()
- 13.3.4. Упрощение использования gettext()
- 13.3.5. Перестановка порядка слов с помощью printf()
- 13.3.6. Тестирование переводов в персональном каталоге
- 13.3.7. Подготовка интернационализированных программ
- 13.3.8. Создание переводов
- 43 Безжалостное тестирование
- Тестирование Web-сервиса XML с помощью WebDev.WebServer.exe
- Разработка через тестирование и разработка с тестами
- Часть III. Шаблоны разработки через тестирование
- Приложение 1 Тестирование ПК при включении
- Тестирование модема
- Подключение к персональному компьютеру
- Качество ? Тестирование
- 8. Тестирование привычки. Где искать возможности формирования привычек?
- АБ-тестирование
- Тестирование функций
- 13.3.8. Создание переводов