WikiProject Computing / Программное обеспечение / СОПО | |
Только о GNU gettext
Эта страница, похоже, посвящена только GNU gettext, но имеет общий заголовок gettext . Следует хотя бы упомянуть, что gettext был создан Sun и до сих пор используется в программном обеспечении и ОС Sun. Портативная переменная среды с именем LANG
, а не LANGUAGE
, причем последний расширение GNU с некоторыми дополнительными функциями.
- Я пока изменил его на GNU gettext. Если позже будет создана общая страница gettext, ее можно будет снова объединить. Superm401 - Talk 00:01, 8 сентября 2008 г. (UTC)
- Готово. Теперь это общая страница, а не только для GNU. Статья переименована в gettext. Wget ( разговор ) 22:01, 25 июня 2016 (UTC)
ЯЗЫК и ЯЗЫК?
В чем разница между LANG и LANGUAGE? Это не определено в руководстве по gettext http://www.gnu.org/software/gettext/manual/html_mono/gettext.html.
- Подходящей переменной, которая относится только к переводу, является LC_MESSAGES. LANG - это очень общая (в основном историческая, несмотря на то, что она наиболее известна) переменная, которая также влияет на набор символов, формат даты и другие. Это особенно проблематично, поскольку LANG часто без надобности подразумевает что-то более низкое, чем UTF-8. - 82.141.49.90 16:49, 9 января 2007 г. (UTC)
- Отвечаю на старый комментарий для ясности. Вот что говорится в файле ABOUT-NLS (распространяется с gettext):
Не все программы имеют переводы на все языки. По умолчанию вместо несуществующего перевода отображается сообщение на английском языке. Если вы понимаете другие языки, вы можете настроить список приоритетов языков. Это делается с помощью другой переменной окружения, называемой LANGUAGE. GNU `gettext 'отдает предпочтение` LANGUAGE' перед `LANG 'с целью обработки сообщений, но вам все равно нужно установить для` LANG' основной язык; этого требуют другие части системных библиотек. Например, некоторые шведские пользователи, которые предпочитают читать переводы на немецком, чем на английском, когда шведский язык недоступен, устанавливают для параметра LANGUAGE значение sv: de, а для параметра LANG значение sv_SE.
- 80.233.255.7 23:58, 29 октября 2007 г. (UTC)
Потокобезопасный
В этой статье говорится, что gettext не является потокобезопасным! Но это локали, которые не являются потокобезопасными! Я убираю все предложение. 80.244.73.230 22:47, 21 октября 2007 г. (UTC)
Тип MIME
Есть ли MIME-тип для файлов .po? Я видел, как используется text / x-po, но я хочу знать, есть ли что-нибудь (полу) официальное.
Переносной объект
Некоторые статьи ссылаются на эту для описания PO = переносимого объекта, но PO здесь не упоминается. Может так и должно быть. - LA2 ( разговор ) 02:18, 7 января 2008 г. (UTC)
Слияние с msgfmt
Есть ли возражения против объединения содержимого из msgfmt в этой статье и оставления этого перенаправления сюда? Эта статья всегда представляла собой заглушку из двух предложений, и ее почти можно было удалить из-за отсутствия заявленной значимости. Есть ли что-нибудь серьезное, что можно сказать об этой утилите, и настолько ли она важна сама по себе, по сравнению с тем, что она просто является компонентом системы gettext? DMacks ( разговор ) 19:44, 4 июля 2008 (UTC)
Как обновить файл .po
Должно быть интересно представить не только, как создать, но и как обновить .po файл. http://live.gnome.org/TranslationProject/SvnHowTo показывает следующие шаги: intltool-update xy; vi xy.po; msgfmt -cv -o / dev / null xy.po - предыдущий беззнаковый комментарий, добавленный 82.238.108.175 ( обсуждение ) 17:03, 25 февраля 2009 г. (UTC)
История, предыстория и перспективы
Было бы неплохо иметь под рукой какую-нибудь предысторию. Первоначально POSIX не предоставлял средств локализации сообщений. Затем, где-то в конце 1980-х, появилось два предложения: в 1988 году консорциум X / Open определил интерфейс catgets () в X / Open Portability Guide Issue 3 (XPG-3), где сообщения индексируются целым числом. , а в 1989 году группа UniForum определила интерфейс gettext (), где сообщения индексируются строковыми константами. Sun Microsystems была первой, кто реализовал интерфейс gettext в своей SunOS , но долгое время большинство коммерческих Unix предлагали поддержку обоих интерфейсов. Спецификации gettext () в конечном итоге стали частью POSIX.1b в 1993 году. - Петерлин добавил предшествующий комментарий без знака ~ enwiki ( обсуждение • вклад )
Комментарии переводчика
В статье используется /// для обозначения комментариев переводчика. Вероятно, это нормально, но почему комментарий также начинается с «ПЕРЕВОДЧИКОВ:»? Это можно было бы использовать как ключевое слово вместо /// (в этом случае потребуются многострочные комментарии в стиле C). —Предыдущий комментарий без подписи, добавленный 139.20.52.73 ( обсуждение ) 11:21, 9 июля 2010 г. (UTC)
- Чтобы упростить и сделать синтаксический анализ более удобным, Gettext использует "///", чтобы указать, когда нужно добавить комментарий к файлу перевода.
- Часть «ПЕРЕВОДЧИКИ:» является избыточной. Я думаю, что он здесь, чтобы показать, как это можно использовать.
- Однако обратите внимание, что на странице обсуждения рассказывается только о статье. Так что не говори о предмете. Karjam, AKA KarjamP ( разговорное ) 11:35, 23 июня 2012 (UTC)
Неправильный вывод, например, дан
Я только начинаю с gettext и тому подобного, но заметил, что если я запускаю gettext с параметрами, указанными в примере, то есть "xgettext --add-comments = /", то содержимое pot (и po) будет включать начальный символ '/', используемый в качестве тега комментария. Т.е. получаю:
#. / ПЕРЕВОДЧИКИ: Пожалуйста, оставьте% s как есть, потому что он нужен программе.#. / Спасибо за ваш вклад в этот проект.#: src / name.c: 36msgid "Меня зовут% s. \ n"msgstr ""
Я понятия не имею, является ли это ошибкой здесь, в статье, или такое поведение может возникать для некоторых версий gettext.
Также бывает, что в случае непрерывного набора однострочных комментариев тег нужен только для первой однострочной строки, а не для последующих строк. Логично, конечно, и это означает, что нет необходимости добавлять тег в каждую строку, как в примере (что может означать, что это необходимо). У вас могло быть:
/// ПЕРЕВОДЧИКИ: Пожалуйста, оставьте% s как есть, потому что он нужен программе.// Спасибо за ваш вклад в этот проект.printf (_ ("Меня зовут% s. \ n"), my_name);
..для вывода:
#. / ПЕРЕВОДЧИКИ: Пожалуйста, оставьте% s как есть, потому что он нужен программе.#. Спасибо за ваш вклад в этот проект.#: src / name.c: 36msgid "Меня зовут% s. \ n"msgstr ""
Филаснье ( разговор ) 17:57, 22 августа 2014 (UTC)
Пример, приведенный в статье («ПЕРЕВОДЧИКИ: Пожалуйста, оставьте% s как есть, потому что он нужен программе». «Спасибо за участие в этом проекте»), смехотворен. Никто не будет ставить такой комментарий. Лучше всего найти комментарий из реального проекта с открытым исходным кодом. В противном случае, возможно, комментарий типа «% s содержит имя пользователя, как указано в диалоге настроек» или что-то в этом роде. Коц ( разговор ) 08:12, 14 января 2019 (UTC)
Когда был первый релиз?
Информационное окно утверждает, что это был 1990 год, его ссылка предполагает, что это был 1987 год, в разделе «История» говорится: «Sun Microsystems реализовала первый gettext в 1993 году». - MüffelSchnüffel ( разговор ) 03:23, 7 марта 2020 г. (UTC)