هل هناك طريقة سهلة لسرد كافة معرفات الرسالة في ملف .MO برمجيا؟

StackOverflow https://stackoverflow.com/questions/1070641

  •  21-08-2019
  •  | 
  •  

سؤال

ولدي رأ كبيرة '.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);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top