Как перечислить все строковые ключи в домене локали? - PullRequest
0 голосов
/ 23 декабря 2011

Переведенные строки для нашей программы хранятся на сервере в файлах .po / .mo. Нам нужно экспортировать переводы в XML. Кажется, что естественным способом является написание небольшого PHP-скрипта, который печатает строки в тегах, подобных этому

<s key="apple" value="яблоко"/>
<s key="orange" value="апельсин"/>

Это легко, когда вы знаете все ключи в .po / .mo файлах. Установите домен, установите локаль и используйте gettext ().

Но я не нашел функции для перечисления всех строк в домене. Единственный вариант, который я могу придумать, - перечислить все ключи перевода вручную, чтобы выполнить работу. Я слишком ленив для этой работы.

Можно ли перечислить все ключи перевода в домене?

1 Ответ

1 голос
/ 24 декабря 2011

.mo - это двоичные файлы, которые, насколько я знаю, на самом деле хранят не msgid, а скорее его легко доступную версию в индексе.

.po - это простые текстовые файлы, в которых перечислены все msgid с, которые легко анализировать с помощью регулярного выражения, например #msgid "([^"]+)#

...