Двуязычная (английская и португальская) документация в пакете R
Я пишу пакет для облегчения импорта бразильских социально-экономических наборов микроданных (перепись, PNAD и т. Д.). Я предвижу две отдельные группы пользователей пакета:
Пользователи в Бразилии, которые могут чувствовать себя более комфортно с документацией на португальском языке. Возможно, он в некоторой степени понимает английский, но иностранный язык, вероятно, сделает пакет менее "эргономичным".
Более широкое международное сообщество пользователей, для которых документация на английском языке может быть необходимым условием.
Можно ли написать пакет таким образом, чтобы документация была "двуязычной" (английский и португальский), и что отображаемый пользователю язык будет зависеть от его страны / языковых настроек?
Также,
Это выполнимо в рамках документации roxygen2?
Я понимаю, что есть компромисс в том, чтобы сделать пакет более удобным для пользователя, сделав его двуязычным по сравнению с повышенной сложностью и сложностью обслуживания. Общие комментарии по этому компромиссу из предыдущего опыта также приветствуются.
РЕДАКТИРОВАТЬ: после предложения комментария я перекрестно опубликовал список рассылки r-package-devel. ЗДЕСЬ, затем следуйте ответам внизу. Дункан Мердок опубликовал интересный ответ, охватывающий некоторые из тем, которые охватывает @Brandons (ниже), а также два дополнительных предложения, которые я считаю полезными:
есть пакет на одном языке, но виньетки для разных языков. Я последую этому совету.
должны иметь версии пакета, скажем, 1.1 и 1.2, по одному на каждый язык
2 ответа
По словам Ропенски, нет стандартного механизма для перевода пакетной документации на неанглийские языки. Они описывают типичный процесс интернационализации / локализации следующим образом:
Для создания неанглийской документации требуется ручное создание дополнительных.Rd файлов или виньеток пакетов.
Пакеты, предоставляющие неанглийскую документацию, должны включать поле "Язык" в файле DESCRIPTION.
И еще немного информации о Language
поле:
Поле "Язык" может использоваться для указания того, что документация пакета не на английском языке: это должен быть список разделенных запятыми списков стандартных (не для частного использования или не унаследованных) языковых тегов IETF, как в настоящее время определено в RFC 5646 ( https://tools.ietf.org/html/rfc5646, см. также https://en.wikipedia.org/wiki/IETF_language_tag), т. е. используйте языковые подтэги, которые по сути являются двухбуквенными ISO 639-1 ( https://en.wikipedia.org/wiki/ISO_639-1) или трехбуквенные языковые коды ISO 639-3 ( https://en.wikipedia.org/wiki/ISO_639-3).
Необходимо соблюдать осторожность, если ваша посылка содержит текст не ASCII и, в частности, если она предназначена для использования более чем в одной локали. Можно отметить кодировку, используемую в файле DESCRIPTION и в файлах.Rd.
Что касается кодирования...
Во-первых, тщательно продумайте, действительно ли вам нужен текст не ASCII. Многие пользователи R смогут правильно просматривать текст только в своей родной языковой группе (например, западноевропейская, восточноевропейская, упрощенный китайский) и ASCII.72. Другие символы могут не отображаться вообще, отображаться неправильно или вызывать ошибку в вашем коде R. Для документации.Rd, маркировка кодировки и включение транслитерации ASCII, вероятно, сделают разумную работу. Набор символов, который обычно поддерживается, шире, чем это было около 2000 года, но нелатинские алфавиты (греческий, русский, грузинский и т. Д.) По-прежнему часто проблематичны, а символы с символами двойной ширины (китайский, японский, корейский) часто нужны специальные шрифты для правильной отрисовки.
Что касается примечания, R, тем не менее, предоставляет поддержку для "ошибок и предупреждений" на разных языках: "Существуют механизмы для перевода сообщений об ошибках и предупреждениях уровня R и C. Они доступны только в том случае, если R скомпилирован с NLS. поддержка (которая запрашивается параметром configure --enable-nls, по умолчанию)."
Помимо двуязычной документации, пожалуйста, позвольте мне сделать следующий комментарий: Учитывая ваши две "целевые" группы, можно предположить, что некоторые из ваших пользователей будут использовать неанглийскую ОС (обычно Windows на португальском языке). При импорте данных временного ряда (или любых записей даты по сути), из-за разного форматирования даты (английский и не английский), вы можете получить разные "результаты" (то есть неправильно введенные записи даты) при импорте в английский язык. / неанглийские машины. У меня есть некоторый опыт решения этих проблем (я часто работаю с ОС на чешском языке) и, помимо специального программирования, я не нахожу простого решения. (Если вы нашли это не по теме, пожалуйста, не стесняйтесь удалять)