ich Datei habe versucht, eine ICU4C file von einem gettext erstellen mit einem sed
Skript wie folgt .po Datei:Convert .po Datei in ICU4C .txt
/^#/ d /* delete comments */
:a;/"$/{N;s/"\n"//;ba} /* merge quoted lines in loop */
/^msgid /s/msgid (.*)/\1/ /* convert msgids */
s/msgstr "(.*)"/\{ "\1" }/ /* convert msgstrs */
und es funktioniert schon recht gut (abgesehen von Pluralformen), aber aus irgendeinem Grund konvertiert es nicht das letzte msgid/msgstr-Paar, es sei denn, ich füge die Anführungszeichen nicht zweimal zusammen. Aber dann wird die Syntax für die anderen Sachen falsch. Irgendwelche Ideen? Muss sed
nicht verwenden.
Diese ICU-Dateien sind die einzigen, die von genrb
akzeptiert werden, und ich möchte das ResourceBundle in PHP verwenden.
Ich glaube, nach dem 'N' haben Sie wahrscheinlich' quoteline \ nmsgid' im Musterraum, und '^' wird nur dann übereinstimmen, wenn 'msgid' am Anfang des Musterbereichs steht. Es passt '\ 0msgid' nicht' \ nmsgid' – stevesliva