Поделиться через


Контрольный список по интернационализации

В этом разделе приведены действия, которые необходимо предпринять для создания кода, поддерживающего несколько рынков. Эти инструкции следует рассматривать как руководство во время разработки кода и как метрики при оценке сборок.

  • Создайте спецификации программы с учетом международных соображений с самого начала.
    • Разрабатывайте значки и растровые изображения, чтобы они были значимыми и не оскорбительными на целевых рынках и не содержали текста.
    • Создайте меню и диалоговые окна, чтобы оставить место для расширения текста. Например, английские строки часто расширяются на 40 % при переводе на немецкий или голландский язык.
    • Не используйте в элементах пользовательского интерфейса или сообщениях ссылки на сленг или региональные значения.
    • Создавайте сочетания клавиш, доступные на международных клавиатурах. Например, не используйте знаки препинания в качестве сочетаний клавиш, так как они не всегда находятся на международных клавиатурах или легко создаются пользователем. Примеры раскладок клавиатуры см. в разделе Раскладки клавиатуры Windows.
    • Рассмотрите местные законы, влияющие на макеты функций, например требования к приобретению государственными организациями программного обеспечения, поддерживающего несколько официальных языков.
    • Разработайте сторонние соглашения, которые поддерживают международные стандарты пользовательского интерфейса вашей организации и проектные решения.
    • Используйте согласованную терминологию в строках пользовательского интерфейса, которые необходимо перевести.
  • Создайте код, не зависящий от языкового стандарта.
    • Не сцепляйте строки для формирования предложений.
    • Не используйте заданную строковую переменную в нескольких контекстах, например повторное использование фрагмента предложения в разных сообщениях и запросах, так как такие строки могут оказаться непростой для перевода.
    • Строки документа, использующие комментарии для предоставления контекста для переводчиков, и четко помечают строки или символы, которые не следует локализовать.
    • Не используйте жестко заданные символьные константы, числовые константы, позиции экрана, имена файлов или имена путей, предполагающие определенный язык.
    • Сделайте буферы достаточно большими, чтобы вместить переведенные строки.
    • Разрешить ввод данных в форматах, которые зависят от языкового стандарта, таких как даты, время и валюты.
    • Используйте размер бумаги, размер конверта и другие значения по умолчанию, соответствующие заданному языковому стандарту.
    • Убедитесь, что каждый языковой выпуск может читать документы, созданные другими выпусками.
    • При необходимости предоставьте поддержку оборудования для конкретного языкового стандарта.
    • Настройте функции, которые не применяются к международным рынкам, в качестве вариантов реализации, которые можно легко отключить.
  • Создайте код, который использует преимущества международных функциональных возможностей, предоставляемых Microsoft Windows.
    • Использовать международную информацию, перевозимую системой (национальная языковая поддержка).
    • Используйте системные функции для сортировки, преобразования регистра и сопоставления строк.
    • Используйте универсальные функции макета текста.
    • Реагирование на изменения международных параметров в панель управления.
    • Обработка сообщения WM_INPUTLANGCHANGEREQUEST.
    • Поддержка редакторов методов ввода, вертикального текста и правил разбиения строк в восточноазиатских выпусках.
  • Скомпилируйте все международные выпуски программы из одного набора исходных файлов.
    • Сведите к минимуму или исключите механизмы, требующие повторной компиляции кода для разных языковых выпусков.
    • Храните локализуемые элементы, такие как строки и значки, в файлах ресурсов Windows.
    • Храните документы во всех языковых выпусках, используя один и тот же формат файлов.
  • Поддержка различных наборов символов, а не только кодовой страницы Latin 1 с номером 1252.
    • Программа поддерживает сетевые среды, в которых компьютеры работают под управлением операционных систем с разными кодовыми страницами по умолчанию.
    • Используйте GetCPInfoEx для получения диапазонов потенциальных байтов для кодовых страниц в Восточной Азии.
    • Анализ двухбайтовых символов в приложениях на языке восточноазиатских языков, если код не основан на Юникоде.
    • Поддержка Юникода или преобразования между Юникодом и локальной кодовой страницей.
    • Не предполагайте, что все символы являются 8- или 16-разрядными.
    • Используйте универсальные типы данных и прототипы универсальных функций.
    • Используйте свойство шрифта charset, которое вызывает EnumFontFamiliesEx и общую функцию диалогового окна ChooseFont.
    • Отображение и печать текста с помощью шрифтов, соответствующих языковому стандарту.
  • Протестируйте международные возможности программы.
    • Переведенный текст должен соответствовать стандартам носителей языка.
    • При отображении разных языков диалоговые окна должны правильно изменяться, а текст должен быть соответствующим образом дефисирован.
    • Диалоговые окна, строки состояния, панели инструментов и меню должны помещаться на экране и читать отчетливо, если дисплей установлен в разных разрешениях для всех переведенных языков.
    • Ускорители меню и диалоговых окон должны быть уникальными.
    • Пользователи должны иметь возможность вводить символы из неевропейских скриптов в документы, диалоговые окна и имена файлов.
    • Пользователи должны иметь возможность вырезать, вставлять, сохранять и печатать символы из неевропейских сценариев.
    • Сортировка и преобразование регистра должны быть точными для разных языковых стандартов.
    • Приложение должно правильно работать в локализованных выпусках Windows.