В WordPress i18n, в чем разница между "_x" и добавлением комментария? - PullRequest
0 голосов
/ 01 июля 2018

Насколько я понимаю, функция _x() в основном __() с параметром "context" для помощи переводчикам. Но в чем разница между использованием _x() и __() с комментарием? Итак, в основном:

_x()

против

// translators: blah blah

__() 

1 Ответ

0 голосов
/ 03 июля 2018

Поскольку комментарий предназначен только для предоставления информации людям, тогда как контекст фактически влияет на уникальность строки.

Если вы посмотрите файл PO, вы увидите, что строка контекста может выглядеть следующим образом:

#. translators: blah blah
msgctxt "button"
msgid "Buy"
msgstr ""

#. translators: another comment
msgctxt "title"
msgid "Buy"
msgstr ""

Уникальный идентификатор для первого сообщения: "button\x04Click here", где \x04 - это специальный разделитель, который объединяет контекст и идентификатор. Это позволяет использовать текст «Купить» несколько раз, когда его перевод может нуждаться в различии. Во втором примере английский может быть таким же, но, поскольку заголовок страницы, а не кнопка, перевод может отличаться в некоторых языках по грамматическим причинам.

Контекст часто используется исключительно для предоставления информации переводчикам, но на самом деле это не является его основной целью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...