我想的gettext .po
文件中使用的變量在某些方面,例如:我可以在.po文件中使用變量嗎?
msgid "ui_settings_connect_text"
msgstr "Connect to another running instance of " APP_NAME
有沒有人嘗試過做這樣的事情?
我想的gettext .po
文件中使用的變量在某些方面,例如:我可以在.po文件中使用變量嗎?
msgid "ui_settings_connect_text"
msgstr "Connect to another running instance of " APP_NAME
有沒有人嘗試過做這樣的事情?
在你.po
文件:
msgid "Connect to another running instance of %s"
msgstr "Connect to another running instance of %s"
在您的應用程序:
printf(_("Connect to another running instance of %s"), app_name);
我做了一個預處理器要做到這一點爲好,因爲我不相信,應用程序代碼應被耦合到是否某些文本將包含應用程序名稱(使用Tom的示例)或任何其他翻譯的片段。
我已經把源代碼放在github上並提供了一個Windows .exe,但是如果你不使用Windows,它將需要Mono。
爲了解決由湯姆提出的問題,.po
文件應該是這樣的:
msgid "APP_NAME"
msgstr "Tom's app"
msgid "ui_settings_connect_text"
msgstr "Connect to another running instance of {id:APP_NAME}"
應當在任何GUI PO編輯器可用。
預處理只是像這樣運行:
popp source.po destination.po
在我做我自己的預處理器生成包含變量'.po.in'文件'.po'文件末尾。我明白這是'正確'的答案。 – fredley