2012-03-03 17 views
5

मैं ट्विग टेम्पलेट इंजन के साथ संदेश प्लेसहोल्डर्स का उपयोग करने का प्रयास कर रहा हूं। मेरे navlist.it.yml इस संदेश भंडार और उसके प्लेसहोल्डर:संदेश प्लेसहोल्डर्स का उपयोग करते समय सिम्फनी/ट्विग सही ढंग से अनुवाद नहीं कर रहा है

users: 
    label: Gestione utenti %app% 

और मेरे टहनी टेम्पलेट में मैं एक स्ट्रिंग के रूप ऐप्लिकेशन का नाम पारित करने के लिए करना चाहते हैं। तो क्या मैं कर रहा हूँ है:

<ul class="nav nav-list"> 
    <li class="nav-header"> 
     {{ 'users.label'|trans({'app' : 'Fid'}, 'navlist')|raw }} 
    </li> 
</ul> 

नोट मैं raw क्योंकि users.label उपयोग कर रहा हूँ HTML हो सकती है। आउटपुट ठीक है:

<li class="nav-header">Gestione utenti %Fid%</li> 

तो संदेश में अनुवाद किया है, लेकिन अतिरिक्त %...% जुड़ जाते हैं। मुझे क्या याद आ रहा है

+2

क्या आप '{के साथ प्रयास करें'% एप्लिकेशन% ': 'फिड'} '? – Maerlyn

+0

@Maerlyn धन्यवाद, काम करता है। यदि आप चाहें तो एक उत्तर जोड़ने के लिए स्वतंत्र महसूस करें। – gremo

उत्तर

8

प्रतिशत चिह्न पैटर्न का हिस्सा हैं, तो आप अपने अनुवाद मूल्यों की कुंजी करने के लिए उन्हें जोड़ने की जानी चाहिए 'सरणी, इस तरह:

{{ 'users.label'|trans({'%app%' : 'Fid'}, 'navlist')|raw }} 
+0

यदि आप PHP के माध्यम से अपने नियंत्रक के भीतर से अनुवाद करते हैं, तो आप '$ page_title = $ this-> प्राप्त करें (' अनुवादक ') -> ट्रांस (' श्रेणी% श्रेणी_शीर्षक% से टेम्पलेट्स ', ['% category_title% ' => $ category_title]); ' –

संबंधित मुद्दे