2012-02-28 11 views
6

मैंने अपने सिम्फनी 2 प्रोजेक्ट के लिए अनुवादक सेवा जोड़ा है। मैं इसे नियंत्रकों में और twig टेम्पलेट्स में उपयोग करता हूं। यह ठीक से कॉन्फ़िगर किया गया है और सभी {% trans %} टैग उनके काम के रूप में काम करते हैं। लेकिन कुछ मामलों में मुझे {% transchoice %} टैग का उपयोग करने की आवश्यकता है, और इसे अनुवाद नहीं मिल रहा है। यहां मेरे कोड से एक उदाहरण दिया गया है।सिम्फनी 2 ट्रांसचॉइस टैग

{% transchoice post['comments']['count'] %} 
    {0} Comments| {1} Comment| ]1,Inf] Comments 
{% endtranschoice %} 

इसके अलावा इसे एक पंक्ति में लिखने का प्रयास किया है।

मुझे टिप्पणी गिनती के लिए सही विकल्प मिलता है, लेकिन शब्द स्वयं का अनुवाद नहीं किया गया है। अनुवादक की तरह इसी अनुवाद को खोजने में सक्षम नहीं है। messages.de.yml में मैं

Comment: "Kommentar" 
Comments: "Kommentare" 

यह कुछ मेरी transchoice वाक्य रचना के साथ कुछ गलत है है? हो सकता है कि मुझे जगहों को कहीं और, ऐसा कुछ भी करने की ज़रूरत है?

उत्तर

10

आपके अनुवाद फ़ाइल में, आप इस लिखना चाहिए:

{0} Comments| {1} Comment| ]1,Inf] Comments: "{0} Kommentare| {1} Kommentar| ]1,Inf] Kommentare" 

अद्यतन: एक xliff उदाहरण है कि मेरे लिए काम करता है:

 <trans-unit id="search.results.summary"> 
      <source>search.results.summary</source> 
      <target>{0}Pas d'annotations trouvée pour "%search_text%"|{1}Une annotation trouvée pour "%search_text%"|]1,Inf]%search_count% annotations trouvées pour "%search_text%"</target> 
     </trans-unit> 

मैं इसे कैसे उपयोग करें:

<h2>{{ 'search.results.summary' | transchoice(search_count, { 
'%search_text%': search_text, 
'%search_count%': search_count}) }}</h2> 

जैसा कि आप देखते हैं, मैं शिकायत का उपयोग नहीं करता मेरे अनुवाद के स्रोत के रूप में icated संकेत, क्योंकि यह बहुत बेकार है और टेम्पलेट कम पठनीय बना देगा। इसके बजाए, मैंने अपनी स्ट्रिंग के अर्थात् मूल्य का प्रतिनिधित्व करते हुए एक डॉट-पृथक स्ट्रिंग डाली।

comment.summary: "{0} Kommentare|{1} Kommentar|]1,Inf] Kommentare" 

और

{% transchoice post['comments']['count'] %} 
    'comment.summary' 
{% endtranschoice %} 

गुड लक:

आपके मामले में, मैं उपयोग करने के लिए कुछ इस तरह होगा सही बात लगता है।

+0

जो अनुवाद विकल्प के लिए सही नहीं होगा। वैसे भी इसे टहलने में भी पार्स नहीं किया जा सकता है। – ArVan

+0

आप क्यों कहते हैं कि यह सही नहीं होगा? मैं अनुवाद के लिए yml से परिचित नहीं हूं, लेकिन मैंने इसका उपयोग xliff के साथ किया था, और यह काम करता है (और बहुत अच्छी तरह से पारदर्शी)। शायद आपको कुछ चीजों को समायोजित करना होगा। जिस तरह से मैंने लिखा है उसका पुन: उपयोग किया, इसलिए यदि यह पार्स नहीं करता है, तो यह * आपकी * गलती है। और मुझे लगता है कि यह पाइप और ब्रैकेट के बीच की जगहों के कारण पार्स नहीं है। मैं अपनी पोस्ट को एक एक्सलिफ उदाहरण के साथ अपडेट करूंगा जो मेरे लिए काम करता है, मुझे उम्मीद है कि यह आपकी मदद करेगा। – greg0ire

+0

अब यह काम करता है। एकमात्र समस्या यह है कि गायब अनुवाद के मामले में, 'comment.summary' टेक्स्ट प्रदर्शित किया जाएगा ... – ArVan