वे दिखाई देने वाले सभी पृष्ठों पर अनुवाद करने योग्य टेम्प्लेट से स्ट्रिंग्स कैसे बनाएं?


14

मेरे पास t()* .tpl.php फ़ाइलों में कुछ कॉल हैं । उदाहरण के लिए, मान लीजिए कि मैं उत्पादों और product.tpl.php फ़ाइल के बारे में बात कर रहा हूँ।

टेम्प्लेट में स्ट्रिंग्स को पहली बार वास्तव में उपयोग किए जाने तक पहचाना नहीं जाता है। उस बारे में Drupal.org पर एक धागा था और मैंने इसे सटीक पाया। अफसोस की बात यह है कि अगर मैं जाऊं, तो आइए, http://example.com/pl/product/200 पर बताते हैं, तो उस स्ट्रिंग को फ़ील्ड के {locales_source}साथ तालिका में सहेजा जाएगा ।location/pl/product/200

मुझे अपने उपयोगकर्ताओं को स्थानीयकरण क्लाइंट मॉड्यूल के ऑन-साइट अनुवाद टूल का उपयोग करने में सक्षम होने की आवश्यकता है , इसलिए वे वास्तव में देख सकते हैं कि वे क्या अनुवाद कर रहे हैं, यह उचित संदर्भ में है। स्रोत स्थान पर सेट होने के /pl/product/200साथ, ID 200 वाला उत्पाद एकमात्र ऐसा है जिस पर स्ट्रिंग का अनुवाद दिखाया गया है। और इससे भी बदतर, अगर मैं उपयोगकर्ताओं को उस विशेष उत्पाद पर अनुवाद करने के लिए मजबूर करने में सक्षम हो सकता हूं, तो मुझे उन्हें रूसी अनुवाद करने में सक्षम होने की भी आवश्यकता है, और स्थान पर सेट के साथ कोई उत्पाद नहीं है /ru/product/PID

क्या डेटाबेस में स्ट्रिंग को फिर से प्रारूपित करने का एक तरीका है, सभी उत्पादों को सभी भाषाओं में दिखाई देने के लिए, सभी भाषाओं में l10n_club टूल?

मैंने इसे स्थापित करने की कोशिश की:

  • ; sites/default/themes/mytheme/product.tpl.php,
  • sites/default/themes/mytheme/product.tpl.php,
  • sites/default/modules/mymodule/mymodule.module (मॉड्यूल जो थीम आधारित डेटा उत्पन्न करता है)

लेकिन इसने उन्हें केवल अनुवाद उपकरण के लिए अदृश्य बना दिया।

मुझे पूरा यकीन है कि यह लोकलाइज़ेशन क्लाइंट में बग नहीं है , यह स्ट्रिंग को दिखाता है जहां यह बताया गया है कि यह स्ट्रिंग हुई है। ऐसा लगता है कि यह ड्रुपल 7 अनुवाद प्रणाली के लिए "बस जिस तरह से काम करता है" है, बहुत चर्चा की गई और पहले से ही रिपोर्ट की गई, और कुछ भी नहीं बदला। तो यह एक बग रिपोर्ट नहीं है, मैं सिर्फ यह पूछता हूं कि हमें कैसे काम करना है।


मैं उन ग्रंथों के बारे में बात कर रहा हूं जिनका डेटा मॉड्यूल से कोई लेना-देना नहीं हैमैं उत्पादों का अनुवाद नहीं करना चाहता, बस टेम्पलेट स्ट्रिंग का उत्पाद के साथ कुछ लेना-देना नहीं है, जैसे कि - उत्पाद छवि गैलरी टेम्पलेट पर अगला।

उदाहरण के लिए, मॉड्यूल 15 थंबनेल लौटाता है, और यह 5 बार दिखाने के लिए थीम का काम है। और पिछले / अगले लिंक जरूरतों altऔर titleविशेषताओं। अनुवादित। लेकिन मेरे मॉड्यूल को यह पता नहीं है। और कभी भी जरूरत नहीं होनी चाहिए।


मुझे यकीन नहीं है कि अगर मैं पूरी तरह से समझ गया हूं कि आप क्या चाहते हैं, लेकिन सभी भाषाओं में साइट को क्रॉल करना पर्याप्त होगा? आप उदाहरण के लिए उपयोग कर सकते हैं। कई भाषाओं में लिंक उत्पन्न करने के लिए xmlsitemap और फिर उपयोग wgetया जो भी हो। Hackish, लेकिन तुमने कहा था कि अनुमति दी गई थी: (:
एंडी

@Andy स्थानीयकरण क्लाइंट उपयोगकर्ताओं को किसी पृष्ठ के नीचे एक पट्टी खोलने और उस पृष्ठ पर दिखाई देने वाले ग्रंथों का अनुवाद करने की अनुमति देता है, जब वे उन्हें देखते हैं। मैं सभी ग्रंथों को सही निर्यात कर सकता हूं, लेकिन यह बिल्कुल बात नहीं है।
मोलॉट

1
मुझे drupal_set_message () और dpm () से याद है, कि ये संदेश अगले अनुरोध के लिए कतारबद्ध हो जाएंगे, अगर पेज.tpl.php से उदा। ऐसा इसलिए है क्योंकि आमतौर पर संदेशों के संसाधित होने के बाद टेम्प्लेट किसी अनुरोध में काफी देर से संसाधित होते हैं। टी () और स्थानीयकरण क्लाइंट के साथ कुछ ऐसा ही हो सकता है।
11'14

अच्छा प्रश्न। अच्छी समस्या है।
शौकिया बरिस्ता

बस एक सुझाव ... यदि आप चाहते हैं कि आपके उपयोगकर्ता किसी भी भाषा में किसी भी समय अपने tpl t () स्ट्रिंग्स का अनुवाद करने में सक्षम हों, तो आप इन स्ट्रिंग्स को अनुवाद टेम्पलेट चिमटा ( drupal.org/project/potx ) के साथ निकाल सकते हैं और उन्हें दे सकते हैं। मूल .po, कि वे पोएडिट जैसे उपकरण के साथ अनुवाद कर सकते हैं? ( poedit.net )। जैसा कि आप इन स्ट्रिंग्स को कुछ स्थिर लोगों के रूप में प्रस्तुत करते हैं, प्रत्येक अनुवादक द्वारा एक समय पर काम किया जाएगा ...
कोजो

जवाबों:


5

आपकी आवश्यकता:
मेरी साइट के लिए
एक प्रमाणित उपयोगकर्ता के रूप में कई भाषाओं में काम करने के लिए मुझे
अपनी साइट के कोडबेस में पाए गए किसी भी और सभी अनुवाद कॉलों को एक बार में अनुवाद करने में सक्षम होना चाहिए जो टी () फ़ंक्शन के साथ किया गया था।

क्या उस आवश्यकता का विवरण भी वही है जो आप पूछ रहे हैं?


क्रौलर

जैसे किसी ने कहा - एक क्रॉलर सैद्धांतिक रूप से सभी टी () कॉल के पंजीकरण के लिए पूरी साइट के माध्यम से जा सकता है । लेकिन 1) क्रॉलर को पता नहीं है कि कौन से पेज क्रॉल करने के लिए हैं; 2) हम क्रॉल करने के लिए पृष्ठों की एक सूची बनाए रखने के लिए नहीं देख रहे हैं; 3) हम क्रॉलर, अवधि का उपयोग नहीं करना चाहते हैं। Eww। बस, ई.व्ही। सही?


समस्या

  1. हमारे पास सभी अनुवाद स्ट्रिंग्स की सूची नहीं है।
  2. Drupal / PHP C के विपरीत एक गतिशील भाषा है जो संकलित है। इसलिए हम नहीं जा सकते हैं और उदाहरण के लिए कह सकते हैं: इस पूरे कोडबेस को संकलित करें, फिर मुझे इस फ़ंक्शन के सभी उदाहरण ढूंढें t(), फिर डेटाबेस में उन उदाहरणों को पंजीकृत करें, फिर t()एक बार में उन सभी पंजीकृत उदाहरणों का अनुवाद करें । मुझे नहीं लगता कि हमारे पास अपनी मेज पर एक विकल्प है।
  3. एक स्थिर कोड विश्लेषण उपकरण एक ही कारण के लिए असहाय होगा क्योंकि एक क्रॉलर असहाय होगा। मुझे t()यह फ़ाइल में मिली । महान! इसका उपयोग किस URL में किया जाता है? क्या संदर्भ है?

वर्तमान उपकरणों (Drupal, और कुछ कंट्रिब मॉड्यूल) के साथ समस्या पर हमला करना, और वर्तमान बाधाओं के साथ (वास्तविक समय थीम कॉल पर भरोसा करना -> टेम्पलेट फ़ाइलें -> t()कॉल), यहां एक नो-एग्जिट गली की तरह दिखता है। हमें बॉक्स से थोड़ा हटकर सोचने की जरूरत हो सकती है।


हमें क्या चाहिये

  1. हमें एक डेटा स्रोत की आवश्यकता है, एक मॉडल, जो मुझे बताता है कि हमारे पास कौन से वर्तमान अनुवाद हैं, और उनका संदर्भ क्या है -
  2. प्रोएक्टिव डेटा मॉडल। वर्तमान डेटा मॉडल प्रतिक्रियाशील है (जब भी कॉल t()होता है तब मॉडल अपडेट हो जाता है)। हमें एक सक्रिय डेटा मॉडल की आवश्यकता है - एक जिसमें एप्लिकेशन को t()उदाहरणों की तलाश करने से पहले ध्यान रखना चाहिए, क्योंकि वे वास्तव में ग्राहक द्वारा निष्पादित होते हैं।
  3. हमें संदर्भ चाहिए। t()अकेले इसे काटता नहीं है - क्योंकि - हमें नहीं पता कि हम 'फू' का अनुवाद कर रहे हैं, लेकिन हम जिस लक्ष्य भाषा का अनुवाद कर रहे हैं, वह उस URL पर निर्भर करता है जहां पर t()होता है। भले ही हम t()कॉल में टार्गेट लैंग्वेज को हार्डकोड कर सकते हैं, फिर भी, रैपर कॉल का उपयोग करते हुए, यह आपके उद्देश्यों के लिए काम नहीं करेगा।

मैंने कुछ ऐसे उपकरणों की पहचान की है, जो अगर हमारे पास होते - तो हमारी समस्या को हल करते। इन उपकरणों के साथ हम डेटा मॉडल में जा सकते हैं और कह सकते हैं: मुझे उन सभी तारों को लपेटो t()जो अभी तक आबाद नहीं हुए हैं। अब इन अनुवादों को डालें। धन्यवाद।

और अगली बार जब ग्राहक आता है, तो अनुवाद जगह पर होते हैं।

हम कैसे ... इन उपकरणों का निर्माण करेंगे?


प्रतिबन्ध

  1. लक्ष्य भाषा टेम्पलेट पर नहीं हो सकती है, यह URL द्वारा तय किया गया है। स्ट्रिंग मानकर किसी भी भाषा का समर्थन करना चाहिए।
  2. अनुवादित स्ट्रिंग टेम्पलेट पर नहीं हो सकता है। अनुवाद एक डेटाबेस में रहेगा।

अब जब मैंने समस्या को और अधिक सोच दिया है, और कुछ चुनौतियों और बाधाओं की पहचान की है, तो मैं वहां उपलब्ध किसी भी समाधान को देखने के बारे में सोच सकता हूं, या कोई कस्टम समाधान बना सकता हूं।

समाधान मंथन

मुझे कुछ ऐसा चाहिए जो "सब कुछ" को एक साथ जोड़े। किस बारे में ... एक इकाई?

  • एक इकाई उस उत्पाद को पकड़ सकती है जिसका अनुवाद करने की आवश्यकता है।
  • संस्थाएं संबंध प्रदान कर सकती हैं - गोंद - जिस उत्पाद का अनुवाद करने की आवश्यकता है, उसके बीच और यह संदर्भ है।
  • इकाई किसी क्षेत्र में, उत्पाद का डिफ़ॉल्ट URL स्थान निर्दिष्ट कर सकती है।
  • टोकन का उपयोग वैकल्पिक स्थानों (भाषाओं?) को निर्दिष्ट करने के लिए किया जा सकता है, जिस पर उत्पाद दिखाई देगा।
  • प्रविष्टियाँ हमें सक्रिय डेटा मॉडल प्रदान करती हैं जिनकी हमें आवश्यकता होती है, और यह संदर्भ है। जो बदले में हमें ऐसा करने की अनुमति देता है जैसे: डेटाबेस में जाएं, सभी उत्पाद संस्थाओं को पकड़ो, और यदि उनके पास फ़ील्ड X, Y और Z के लिए अनुवाद स्ट्रिंग नहीं है, तो उन अनुवाद स्ट्रिंग्स बनाएं।

जब ग्राहक तब पकड़ लेता है /pl/product/200, तो आप db की यात्रा करते हैं, उत्पाद 200 देखते हैं, और पहले से मौजूद plअनुवाद को पकड़ लेते हैं । आपके पास उस उत्पाद के लिए एक शीर्षक और कैप्शन फ़ील्ड भी है? अनुवाद भी वहीं होने चाहिए।

ध्यान दें कि मैं आपके द्वारा उपयोग किए जा रहे अनुवाद मॉड्यूल के संदर्भ में बहुत अस्पष्ट और सामान्य हूं। आप अपने स्वयं के अनुवाद मॉड्यूल का उपयोग करके बहुत अच्छी तरह से समाप्त हो सकते हैं - सबसे अधिक संभावना है कि यह मामला है। Drupal में अब तक जितने भी अनुवाद मॉडल मैंने देखे हैं (D7 के रूप में, D8 को अभी तक नहीं देखा है) प्रतिक्रियाशील हैं, सक्रिय नहीं हैं।

संक्षेप में

सिद्धांत रूप में, उपकरण जो आप की जरूरत है बनाने के लिए, मुख्य घटक होने वाली इकाइयाँ जो सब कुछ एक साथ जोड़ देती हैं: - डेटा (अनुवाद स्ट्रिंग), - लक्ष्य भाषा। उत्पाद भाषाओं के लिए कहते हैं, खुद इकाई पर नहीं होना चाहिए, अधिमानतः एक वर्गीकरण शब्दावली। या शायद अन्य संस्थाओं के लिए एक सामान्य वर्गीकरण के रूप में अच्छी तरह से। - प्रसंग। इकाई जिस URL पर दिखाई देती है। URL में एक टोकन होगा, और टोकन बदले में लक्ष्य भाषा को वर्गीकरण का संदर्भ देगा।

उन तीन अवयवों के साथ जो आप कह सकते हैं: सभी productसंस्थाओं को पकड़ो , URL aliasक्षेत्र में जाओ, टैक्सोनॉमी टोकन प्राप्त करें, सभी संभव संयोजनों के माध्यम से चक्र करें, वर्तमान उपयोगकर्ता के सभी संयोजनों को या तो एक बहुत बड़े बदसूरत रूप का उपयोग करके - या, AJAX - और मल्टी-स्टेप फॉर्म (ऐसा कुछ), और जैसा कि वर्तमान में लॉग इन किया गया उपयोगकर्ता उत्पाद 200 के लिए विभिन्न भाषाओं का अनुवाद करता है, उन लोगों को डेटाबेस में सहेजें।

कहीं न कहीं डेटाबेस में फ़ील्ड एपीआई फ़ील्ड हो सकता है, प्रत्येक इकाई से संबंधित सेटिंग्स फ़ील्ड (बिल्कुल फ़ील्ड एपीआई नहीं है, लेकिन यह अभी भी डेटा पकड़ सकता है), या एक अलग तालिका जिसे आप इसके लिए उपयोग करते हैं। मुझे लगता है कि डेटा को इकाई में सहेजने से कोड और डेटा दोनों टियरियर और आसान रहेंगे।


इसका निर्माण: संभव समाधान

  • D8MI (Drupal 8 बहुभाषी पहल)
  • कस्टम कोड: "इंडेक्स" अनुवाद उपलब्ध बंडलों और उनके संबंधित विषय हुक टिप्पणियों द्वारा क्रमबद्ध रूप से टी () द्वारा टेम्पलेट्स में उपलब्ध कराया गया है।

स्यूडोकोड

फ़ॉरच यूनिट (टाइप एक्स का),
सभी भाषाओं (उत्पाद के साथ जुड़ी हुई वर्गीकरण या मुख्य भाषा),
इकाई को प्रस्तुत करें,
- यह पता लगाने के लिए टी () अनुवाद तार
- रेंडर कॉल थीम () प्रस्तुत करता है, जो बहुभाषी प्रस्तुति परत को संभालता है उत्पाद, उत्पाद डेटा मॉडल ही नहीं।

परिणाम:
- प्रत्येक भाषा में इकाई टेम्प्लेट रेंडर करने के लिए पहला कॉल प्रत्येक कॉल के लिए डिफ़ॉल्ट भाषा कार्यान्वयन देता है।
- टेम्प्लेट पर टी () पैरामीटर अब ड्रुपल में कैश्ड हैं और अनुवाद के लिए तैयार हैं (प्रत्येक भाषा उदाहरण के लिए, प्रत्येक उत्पाद उदाहरण के लिए नहीं)।
- "अनुवादक" भूमिका वाला उपयोगकर्ता अब अनुवाद इंटरफ़ेस पर जा सकता है और प्रत्येक भाषा के लिए सभी उपलब्ध टी () मापदंडों का अनुवाद कर सकता है।
- साइट स्वामी को प्रत्येक उत्पाद पृष्ठ पर जाने के लिए ग्राहकों को प्रतीक्षा करने या मैन्युअल रूप से प्रत्येक उत्पाद पृष्ठ पर जाने की आवश्यकता नहीं है, क्योंकि यह उसके लिए प्रोग्रामेटिक रूप से किया गया था।

खुले प्रश्न:
- संदर्भ क्या है? यदि मैं प्रत्येक "उत्पाद" इकाई बंडल के लिए थीम () के लिए एक प्रोग्रामेटिक कॉल करता हूं, तो क्या यह उस स्थान को रिकॉर्ड करता है जिससे कॉल किया गया था? क्या यह नोड का URL रिकॉर्ड करता है? क्या "संदर्भ" को बदला जा सकता है? संदर्भ कहाँ दर्ज किया गया है? क्या होता है जब आपके पास "गतिशील" टेम्पलेट होते हैं - यानी, जब आपके पास प्रति उत्पाद एक से अधिक टेम्पलेट होते हैं और आप उन विविधताओं का पता लगाने के बारे में कैसे जाते हैं?

हमेशा की तरह, थिंकिंग और स्यूडोकोड केवल बुद्धिशीलता के लिए अच्छा है। लेकिन विकास में हम शायद ही जान पाएंगे कि जब तक हम प्रोटोटाइप बनाना शुरू नहीं करते हैं, तब तक हम वास्तव में क्या कर रहे हैं। इसलिए कुछ बाधाओं, संभावित समाधानों, और संभावित समस्याओं या प्रश्नों को खींचा गया है - मैं अब अवधारणा या कार्यशील प्रोटोटाइप के प्रमाण को लागू करने के लिए आगे बढ़ सकता हूं। ऊपर दिए गए कुछ खुले प्रश्नों का उत्तर केवल इस तरह दिया जा सकता है, और सबसे पहले हम प्रोटोटाइप (सफलता या असफलता की परवाह किए बिना), हम उन कुछ सवालों के जवाब देना शुरू कर सकते हैं - या दृष्टिकोण को पूरी तरह से बदल सकते हैं। देखते रहो ~


1
पूरी पोस्ट को पढ़े बिना भी, इस तरह का उत्तर एक
उत्थान के

बिंदु है - उपकरण जो दावा करता है कि यह वही कर रहा है जो मुझे Drupal 7 के लिए आवश्यक है, पहले से मौजूद है। यह केवल ड्रुपल के साथ इन समस्याओं को खराब मेटाडाटा के साथ बचाने की समस्या है। लेकिन मैं बदल सकता हूँ कहा गया है कि मेटाडेटा db में एक बार तार एकत्र हो जाए, तो कोई समस्या नहीं। मुझे बस यह जानने की जरूरत है कि उन्हें क्या सेट करना है, इसलिए उपकरण इसे देख सकता है। या कम से कम मुझे विश्वास था कि मुझे इसकी आवश्यकता है। और सबसे महत्वपूर्ण: मैं उत्पादों का अनुवाद नहीं करना चाहता, बस टेम्पलेट तार जो उत्पाद के साथ कुछ भी नहीं करना है, जैसे कि - उत्पाद उत्पाद गैलरी टेम्पलेट पर अगला
मोलॉट

2

ठीक है, उसी परिदृश्य को पुन: पेश करने के लिए स्थानीयकरण ग्राहक और इकाई अनुवाद मॉड्यूल के साथ कुछ और समय बिताया। चूंकि यह उत्तर मेरे पिछले वाले से पूरी तरह से अलग है, इसलिए अलग टिप्पणी के रूप में जोड़ना:

  1. एक भाषा में एक / पहले नोड में जोड़ा गया अनुवाद सभी नोड्स के लिए उपलब्ध है।

    यहाँ एक उदाहरण है:

    • यदि मैं उसी प्रकार के नए उत्पाद को 200 nid में जोड़ता हूं और pl अनुवाद को नए नोड (जैसे pl / उत्पाद / 204) पर जाता हूं, तो मैं pl / उत्पाद / 200 में उसी अनुवाद स्ट्रिंग को देखूंगा।

    • केवल अंतर यह है कि यह स्थानीयकरण क्लाइंट में प्रकट नहीं होता है। हम मॉड्यूल के इश्यू कतार में इस सुविधा के लिए पूछ सकते हैं, हालांकि यह अधिक भ्रम की स्थिति पैदा करेगा क्योंकि अनुवाद वर्तमान पृष्ठ के लिए विशिष्ट नहीं है और सभी पृष्ठों (अर्थात pl / उत्पाद / 200 और pl / उत्पाद / 204) को प्रभावित करेगा।

    • यदि दो अलग-अलग व्यक्तियों द्वारा बनाए गए दो नोड्स, और बाद में कोई अनुवाद बदलना चाहता है, तो उन्हें इंटरफ़ेस अनुवाद का उपयोग करना होगा।

  2. स्ट्रिंग उसी नोड के लिए आपके द्वारा देखी गई पहली भाषा के लिए स्थानीयकरण क्लाइंट में उपलब्ध है

    यहाँ एक उदाहरण है:

    • यदि मैं नया उत्पाद nid 199 जोड़ता हूं और 'pl' भाषा (nid 200) के लिए अनुवाद बनाता हूं और 'rs' भाषा (nid 201) के लिए अनुवाद करता हूं, तो आप केवल 'pl' पृष्ठ पर स्ट्रिंग देख सकते हैं, 'rs' पृष्ठ पर नहीं। फिर से, यह स्थानीयकरण क्लाइंट मॉड्यूल में प्रतिबंध जैसा दिखता है।

1

टेम्पलेट या मॉड्यूल फ़ाइल स्तर पर अनुवाद स्ट्रिंग जोड़ने के लिए आपका दृष्टिकोण इंटरफ़ेस अनुवाद यूआई के लिए काम कर सकता है, लेकिन स्थानीयकरण क्लाइंट नहीं।

जाहिर है जब आपके पास उत्पाद 200 का रूसी संस्करण है, तो यह एक नया नोड होगा, उदाहरण के लिए कहें / ru / उत्पाद / 201 जहां आप स्थानीयकरण क्लाइंट का उपयोग करके अनुवाद कर सकते हैं।

बस एक विचार: एक स्ट्रिंग की तलाश करें जिसे इंटरफ़ेस ट्रांसलेशन यूआई में सभी भाषाओं के लिए अनुवादित किया जा सकता है और ग्राहक से उत्पाद स्तर का अनुवाद करने के लिए कह सकता है जब यह वास्तव में आवश्यक हो। यहाँ एक उदाहरण है:

"यह श्रेणी बार का उत्पाद foo है"

और अगर हमें यकीन है कि 'फू' और 'बार' के अलावा अन्य सामान्य हो सकते हैं, तो हम जोड़ सकते हैं

$vars['product_title'] = t('This is product @product of category @category')

प्रीप्रोसेस में।

और .tpl.php फ़ाइल होगी

<?php t($product_title, array('@product' => t('foo'),  '@category' => t('bar')); ?>

यह titleइमेज रोटेटर में तीर के लिए ग्रंथों के बारे में अधिक है । मेरे मॉड्यूल को परवाह नहीं है कि थीम 15 छवियों को कैसे प्रदर्शित करेगी। और विषय एक समय में 5 प्रदर्शित करता है, "प्रचलित" और "अगले" तीरों के साथ जिनकी आवश्यकता है altऔर title, और उन्हें अनुवादित करने की आवश्यकता है। हर बार जब मेरा फ्रंट-एंड चेंज होगा, तब मॉड्यूल बदलना संभव है, लेकिन निश्चित रूप से इसकी जरूरत नहीं होनी चाहिए। इन तारों का मॉड्यूल से कोई लेना- देना नहीं है। पिछले नहीं बल्कि कम से कम, मैं बस बदल विषय में अनजान तार हो सकता है। या उन्हें मॉड्यूल में माइग्रेट करने के लिए उपलब्ध नहीं है।
मोलॉट

IMHO, इस मामले को स्थानीयकरण क्लाइंट के बजाय इंटरफ़ेस ट्रांसलेशन UI में संभाला जाना चाहिए।
vijaycs85

स्थानीयकरण क्लाइंट का उद्देश्य "आपकी साइट पर अनुवाद ठीक करना है जैसा कि आप मुद्दों को देखते हैं।" - यह टेम्प्लेट फ़ाइलों पर लागू क्यों नहीं होना चाहिए? Tpl में स्ट्रिंग्स और भी अधिक संवेदनशील होते हैं क्योंकि वे कुछ भी, यदि वे प्रकट होते हैं, तो संदर्भ के प्रति संवेदनशील होते हैं।
मोलॉट

1

AFAIK अनुवाद टेम्पलेट चिमटा के साथ आप t()फ़ंक्शन के लिए अपने सभी कॉल के भीतर स्ट्रिंग निकाल सकते हैं ।

ट्रांसलेशन टेम्प्लेट एक्सट्रैक्टर एक वेब आधारित और ड्रुपल के लिए एक कमांड लाइन गेटटेक्स्ट ट्रांसलेशन टेम्प्लेट एक्सट्रैक्टर इंटरफेस के साथ-साथ अनुवाद योग्य स्ट्रिंग्स और ट्रांसएबिलिटी त्रुटियों को देखने के लिए पुन: प्रयोज्य एपीआई प्रदान करता है। इस टूल का उपयोग http://localize.drupal.org/ पर हुड के तहत किया जाता है और साथ ही Drupal.org प्रोजेक्ट रिलीज़ के लिए पार्सिंग मशीन के रूप में भी काम किया जाता है।

इसे कैसे पढ़ें एक मॉड्यूल का अनुवाद करने के लिए?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.