Названия полей формы не должны быть «оторваны» от самих полей.
Пример правильного описания для qt:
Обратите внимание на “0” для колонки с метками – это необходимо, чтобы колонка заняла в ширину ровно столько сколько необходимо для самой длинной метки.
Пример правильного описания для html:
CSS-класс “form-table” не будет корректно работать для старых браузеров (Internet Explorer 6.0), для них необходимо во всех td, содержащих метки использовать CSS-класс “form-table-label”.
Группировка при помощи пустых строк
Пример для html:
Пример для qt:
Группировка при помощи горизонтальной черты
Пример для html:
Пример для qt:
В этом способе группировки возможно задание названия группы. Название группы делается полужирным шрифтом и выравнено по левому краю формы.
Пример для html:
Пример для qt:
Данный элемент предназначен для представления атрибута логического типа.
Метка к checkbox должна идти после галочки и начинаться с заглавной буквы.
Пример правильного описания для qt:
Пример правильного описания для html:
Обратите внимание на написание тега в стиле xml, а не html.
Данный элемент предназначен для представления активных действий с формой.
Пример описания для qt:
Пример описания для html:
Обратите внимание на использование класса btn и на написание тега в стиле xml, а не html.
В самом простом случае данные элементы представляют атрибут типа перечисление (enum), то есть обеспечивают выбор одного варианта
из числа возможных. Сombobox – более компактное представление чем Listbox, но одновременно выдно только один вариант, чтобы просмотреть остальные – надо вызвать выпадающий список.
Список вариантов предоставляет бакенд (вызываемый с action list). Параметр enumref – адрес к которому надо обращаться к бакенду за списком.
Пример описания для qt:
Текущий выбранный вариант – параметр value.
Пример описания для html:
Размер списка в строках – параметр size. Обратите внимание на написание тега в стиле xml, а не html.
Пример бакенда на shell:
Функция write_enum_item принимает два параметра:
Если функция вызвана без параметра, то она начинает со стандартного ввода строки с одним или более значениями, разделённых стандартным разделителем (переменная IFS). Первое и второе значение интерпретируются также: вариант и его название.
Представляет атрибут строкового типа.
Пример на qt:
Для изменения и получения значения служит атрибут value.
Пример на html:
Пример бакенда на shell:
Функция write_string_param принимает два атрибута: имя и значение.
Для переводов стоит пользоваться единой базой переводов alterator-l10n. Данный пакет содержит переводы для всех модулей альтераторов. Тем самым достигается единый стиль названий (например перевод “Apply” и “Reset”). Чтобы подключить модуль к единой базе необходимо выполнить следующие действия:
После этого при каждой сборке пакета автоматически будут создаваться и размещаться в результирующем rpm-пакете) переводы для всех поддерживаемых языков. Если в вашем модуле уже были свои варианты переводов (файлы po/<language>.po), то их надо удалить.