هل هناك طريقة سهلة لسرد كافة معرفات الرسالة في ملف .MO برمجيا؟
سؤال
ولدي رأ كبيرة '.po ملف يحتوي على كافة السلاسل التي تواجه المستخدم ولست بحاجة لبلدي التطبيق PHP. أود أن أعرف إذا كان هناك وظيفة PHP يمكنني استخدامها للحصول على قائمة من كافة السلاسل msgid المخزنة في .po أو .mo.
وأنا لم أر وظيفة PHP نشرت أن يفعل هذا. أحد يعرف شيء مماثل، أو سوف لا بد لي من تحليل بلدي .po يدويا ملف بنفسي؟
وهذا هو ما أود الأمثل لتشاهد:
$msgids = magic_gettext_keys_function('mydomain');
foreach ($msgids as $msgid) {
do_something_awesome($msgid);
}
المحلول
وليس بعد أن تلقى أي أجوبة حتى الآن، وأنا على افتراض عدم وجود دعوة API للقيام بذلك بالنسبة لي. ومع ذلك، فمن تافهة تقريبا لاستخراج سلاسل msgid من ملف .po بدلا من ذلك:
$path = $GLOBALS['LOCALE_DIR'] . '/en/LC_MESSAGES/mydomain.po';
$poSrc = file_get_contents($path);
preg_match_all('/msgid\s+\"([^\"]*)\"/', $poSrc, $matches);
$msgids = $matches[1];
foreach ($msgids as $msgid) {
do_something_awesome($msgid);
}
لا تنتمي إلى StackOverflow