Linux программирование в примерах
Шрифт:
• Если в форматирующей строке используется N– й аргумент, в этой строке должны использоваться также все аргументы до N. Соответственно, следующее неверно
• Ссылка на определенный аргумент может быть сделана указателем положения несколько раз. Не позиционные спецификаторы формата всегда движутся через список аргументов последовательно.
Эта возможность не предназначена для непосредственного использования программистами приложений, она скорее для переводчиков. Например, перевод
(Даже этот перевод не совершенен: артикль «Le» имеет род. Подготовка программы к переводу трудная задача!)
13.3.6. Тестирование переводов в персональном каталоге
Коллекция сообщений в программе называется списком сообщений (message catalog). Этот термин применяется также к каждому из переводов сообщений на другой язык. Когда программа установлена, каждый перевод также устанавливается в стандартное место, где
Может оказаться полезным разместить переводы не в стандартном, а в другом каталоге, особенно для тестирования программы. Особенно на больших системах, у обычного пользователя может не быть необходимых разрешений для установки файлов в системные каталоги. Функция
Полезные каталоги включают '
13.3.7. Подготовка интернационализированных программ
К настоящему моменту мы рассмотрели все компоненты, из которых состоит интернационализированная программа. Данный раздел подводит итоги.
1. Включите в свое приложение заголовочный файл
2. Вызовите соответствующим образом
3. Выберите для приложения текстовый домен и установите его с помощью
4. При тестировании свяжите текстовый домен с определенным каталогом при помощи
5. Используйте соответствующим образом
6. Пометьте все строки, которые должны быть переведены, соответствующими вызовами
Хотя некоторые не следует так помечать. Например, если вы используете
7. В нужных местах используйте
8. Упростите жизнь для своих переводчиков, используя строки с полными предложениями вместо замены слов с помощью
Это лучше, чем
Как только что показано, хорошей мыслью является включение комментария, сообщающего о намеренном использовании нескольких строк, чтобы упростить перевод сообщений.
13.3.8. Создание переводов
После интернационализации программы необходимо подготовить переводы. Это осуществляется с помощью нескольких инструментов уровня оболочки. Мы начнем с интернационализированной версии