2015-12-12 64 views
3

我遇到了Laravel的刀片模板語法問題。 當具有類似:POEdit不提取HTML標記中的字符串

<input placeholder="{{ __('My Tooltip') }}" /> 

該字符串不會被poEdit的的基礎上。但在同一個文件,如果我有這個:

<span>{{ __('My Tooltip') }}</span> 

這沒關係。

我已經添加了一個新的提取器跟隨配置,但問題仍然存在。

命令: --language了xgettext的Python = --add-評論=翻譯:--force-PO -o%Ø%C%K%F

在關鍵字列表中的一項: -k%K

在輸入的文件列表中的項目:%F

源代碼字符集: --from碼=%C

任何人都可以幫到我嗎?

回答

2

謊言到Poedit關於這些文件的內容,假裝他們是Python,即使他們很明顯不是。這並不令人驚訝,它不符合你的喜好。如果它是的話,會令人驚訝的是。在這種情況下,原因似乎很清楚:xgettext的Python解析器天真地相信你,並且因爲結果而無望地感到困惑,因此將"看作是不以__作爲前綴的字符串文字的開頭,並跳過它。

通過做什麼來修復它the documentation說:使用專用工具來提取字符串。在laravel-的gettext的情況下,這意味着使用這個命令:

php artisan gettext:update 

(即將poEdit的2.0將有這樣的模板語言的直接支持,但在那之前,你需要使用命令行工具)

+0

感謝你的幫助!同時,我複製大約20/30條目並放入幫助文件,並且POEdit已經提取了該文件。我會等待Poedit 2.0。有任何發佈日期了? –

+0

我上面描述的提取器是我發現的刀片輸出語法(花括號)的破解,我解決了我的許多問題!我理解這些提取器的概念(我必須創建幾個 - 對於模板的jade,對於javascript內部視圖,以及其他更多),但我只想知道是否會有一個命令選項,我可以添加提取條目,甚至內引號。再次感謝您的建議,但現在負責管理翻譯的人員沒有技術技能來處理artisan/shell控制檯,而且我還必須更改所有PO文件的位置。 –

+0

翻譯者並不期望*處理此事。一個合理的開發者遵循GNU gettext手冊告訴他們做的事情,即從源頭準備POT文件(使用控制檯對開發者來說不是問題,或者應該是)。 *這是翻譯人員需要處理的唯一事情,並且不需要shell,不需要知識,也無需訪問源代碼。學習適當的gettext工作流程10分鐘節省了很多麻煩...... –