13.3.4. Упрощение использования gettext()
13.3.4. Упрощение использования gettext()
Вызов gettext() в исходном коде программы служит двум целям. Во-первых, он осуществляет перевод во время исполнения, что является в конце концов главным. Однако, он служит также для отметки строк, которые нужно перевести. Утилита xgettext читает исходный код программы и извлекает все оригинальные строки, которые нужно перевести. (Далее в главе мы кратко рассмотрим это.)
Рассмотрим все-таки случай, когда статические строки не используются непосредственно:
static char *copyrights[] = {
"Copyright 2004, Jane Programmer",
"Permission is granted ...",
/* ... Здесь куча легальностей */
NULL
};
void copyright(void) {
int i;
for (i = 0; copyrights[i] != NULL, i++)
printf("%s ", gettext(copyrights[i]));
}
Здесь мы хотели бы иметь возможность вывести переводы строк об авторских правах, если они доступны. Однако, как извлекающее устройство xgettext предполагает найти эти строки? Мы не можем заключить их в вызовы gettext(), поскольку это не будет работать во время компиляции:
/* ПЛОХОЙ КОД: не будет компилироваться */
static char *copyrights[] = {
gettext("Copyright 2004, Jane Programmer"),
gettext("Permission is granted ..."),
/* ... Здесь куча легальностей */
NULL
};
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Безопасное упрощение
Безопасное упрощение Как и в примере с фотогалереей, который обсуждался ранее в этой главе, брызги CSS3, которые мы добавляем в этом примере, никак не затрагивают браузеры, которые пока что не поддерживают эти свойства.В итоге самое важное, что каждый из этих элементов –
Установка Gettext-0.11.5
Установка Gettext-0.11.5 Приблизительное время компиляции: 0.99 SBU Необходимое дисковое пространство: 39 MBИнсталляция GettextДля инсталляции Gettext выполните:./configure –prefix=/usr && make && make installСодержимое GettextПоследняя проверка: версия 0.11.2.Программыconfig.charset, config.rpath, gettext, gettextize, hostname,
Gettext
Gettext Официальная ссылкаGettext (0.11.5): ftp://ftp.gnu.org/gnu/gettext/Содержимое GettextПоследняя проверка: версия 0.11.2.Программыconfig.charset, config.rpath, gettext, gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, ngettext, project-id, team-address, trigger, urlget, user-email и
6.4. Использования Samba
6.4. Использования Samba Сервис Samba в основном создавался для пользователей Windows, но и поклонники Linux тоже оценили все преимущества этой технологии, тем более что Linux выполнила задачу разделения файлов по сети не хуже Windows, а где-то даже лучше. Для работы с Samba из ОС Linux
Упрощение sip.conf
Упрощение sip.conf Файл sip.conf (который был скопирован в папку /etc/asterisk с помощью команды make samples в предыдущей главе) содержит большое количество опций и документации, но сам файл на самом деле очень небольшой, если убрать из него все закомментированные параметры. Стандартный
Упрощение
Упрощение При упрощении трехмерного тела команду редактирования SOLIDEDIT следует вызывать из падающего меню Modify ? Solid Editing ? Clean либо щелчком на пиктограмме Clean на плавающей панели инструментов Solid Editing. В команде используются ключи Body, Clean.При использовании команды SOLIDEDIT с
Пример: упрощение с помощью макросов
Пример: упрощение с помощью макросов В листинге 9.3 установка и снятие блокировки занимали шесть строк кода. Мы должны выделить место под структуру, инициализировать ее и затем вызвать fcntl. Программы можно упростить, если определить следующие семь макросов, которые взяты
Пример использования Go To
Пример использования Go To В следующем примере оператор Go To направляет поток программы из главной части процедуры к метке Special Value, если встречается необычное значение: Function GoToExample (ItemNumber As Integer ) Dim intR As Integer Select Case ItemNumber Case 2412 Go To SpecialValue Case Is < CutOffValue DoSomething
Приемы использования
Приемы использования В данном разделе мы рассмотрим наиболее популярные действия, которые приходится выполнять пользователям текстового редактора Word
Упрощение
Упрощение При упрощении трехмерного тела команду редактирования SOLIDEDIT следует вызывать из падающего меню Modify ? Solid Editing ? Clean либо щелчком на пиктограмме Clean на плавающей панели инструментов Solid Editing. В команде используются ключи Body, Clean.При использовании команды SOLIDEDIT с
Примеры использования
Примеры использования Следующий оператор возвращает время сервера в момент, когда сервер обслуживает запрос клиента Firebird:SELECT CURRENT_TIME AS TIME_FINISHED FROM RDB$DATABASE;В следующем операторе добавления идентификатор текущей транзакции, текущие серверные дата и время, а также имя
Упрощение
Упрощение При упрощении трехмерного тела команду редактирования SOLIDEDIT следует вызывать из падающего меню Modify ? Solid Editing ? Clean либо щелчком на пиктограмме Clean плавающей панели инструментов Solid Editing. В команде используются ключи Body, Clean.При использовании команды SOLIDEDIT с
Примеры использования
Примеры использования Объенение всех файлов, расположенных в заданной директории Задача: объединить три файла: 1.txt, 2.txt, 3.txt.1. Сделайте новую директорию (скажем, files) и скопируйте в нее 1.txt, 2.txt, 3.txt;2. Выберите «txt» в «file type»;3. Нажмите «path» и выберите директорию files;4. Нажмите