5

में मॉड्यूल लोकलाइजेशन मुझे डीएनएन में स्थानीयकरण प्रक्रिया के बारे में बहुत कुछ पता नहीं है। सवाल यह है कि आप एक नए मॉड्यूल को कैसे स्थानीयकृत कर सकते हैं?डीएनएन

क्या प्रत्येक मॉड्यूल के साथ स्थानीयकरण फ़ाइलों को अलग से शामिल करना संभव है? आप किस समाधान के साथ आ सकते हैं?

उत्तर

4

मॉड्यूल का स्थानीयकरण डॉटनेटनेट के लिए बहुत आसान धन्यवाद है।

जहां भी आपकी .ascx (देखें) फ़ाइल है, App_LocalResources फ़ोल्डर हमेशा उसी स्तर पर इसके साथ होना चाहिए। उस फ़ोल्डर में संबंधित .ascx.resx फ़ाइल भी होनी चाहिए।

view.ascx 
App_LocalResources 
- view.ascx.resx 

एक बार आपके मॉड्यूल में यह संरचना हो जाने के बाद। डीएनएन फाइल को तुरंत उठाएगा।

रेक्स में उस संसाधन स्ट्रिंग का उपयोग करने के लिए। अपने एएसपी नियंत्रण के अंत में संसाधनकी संपत्ति पर सरल कार्य। जैसे

<asp:Label ID="lblExample" runat="server" ResourceKey="lblExample" /> 

आप जो कि लेबल से मेल खाए अपने resx फ़ाइल में एक lblExample.Text होना चाहिए। ध्यान दें कि यह स्वचालित रूप से .Text जोड़ता है।

वह दिखाई नहीं दे रहा है, वहाँ कोड में

  1. LocalResourceFile संपत्ति की जांच करने के लिए कुछ चीजें हैं। यह किस स्थान पर इशारा कर रहा है?
  2. वेब.config में ShowMissingKeys=true सेट करें और आप देखेंगे कि संसाधन स्ट्रिंग्स आप क्या खो रहे हैं।
+1

मैं यह भी जोड़ूंगा कि आप अपने कोड में एक स्थानीय संसाधन को खींचने के लिए 'DotNetNuke.Entities.Modules.LocalizeString (" YourKeyName.Text ") का उपयोग कर सकते हैं। यह एएससीएक्स अंत में कोड कोड में भी उपयोगी होता है जब आप स्थानीयकृत टेक्स्ट का टुकड़ा चाहते हैं लेकिन नियंत्रण का उपयोग नहीं करना चाहते हैं। उदाहरण: '<% = लोकलाइजस्टिंग (" YourKeyName.Text ")%>' – lukejkw

1

कृपया this document खोजें। मुझे यकीन नहीं है कि क्या यह आपके प्रश्नों को कवर करता है और अन्य Asp.Net अनुप्रयोगों से DotNetNuke मॉड्यूल को स्थानीयकरण कैसे अलग करता है लेकिन कृपया इसे आज़माएं।
यदि मैं कुछ सुझाव दे सकता हूं, तो मैं भविष्य में अधिक टैग जोड़ूंगा (उदाहरण के लिए सी # की तरह), यह व्यापक दर्शकों के लिए दृश्यमान होगा जो परिणामस्वरूप बेहतर उत्तर दे सकते हैं।

+0

मैंने पहले ही इसे चेक आउट कर लिया था और इस मामले के लिए कुछ भी उपयोगी नहीं पाया था। आपके उत्तर के लिए धन्यवाद। – Manoochehr

0

बस अपनी परियोजना में अपनी .ascx दृश्य फ़ाइलों के समान स्तर पर "App_LocalResources" नामक फ़ोल्डर बनाएं। प्रत्येक फ़ाइल के लिए जिसे आप स्थानीयकृत करना चाहते हैं, बस एक ही नाम के साथ एक .resx फ़ाइल जोड़ें (.ascx एक्सटेंशन सहित)।

resx नाम उदाहरण:

"View.ascx.resx"

localistion का उपयोग करते हुए उस के बाद वास्तव में आसान है।

<dnn:Label id="lblName" ResourceKey="lblName" runat="server" /> 

resx फ़ाइल::

"lblName.Text" करने के लिए आवंटित करेगा, बस संसाधन कुंजी संपत्ति को नियंत्रित करता है, जो भी की है कि आप अपने resx फ़ाइल से एक सार्थक नाम

उदाहरण के लिए खींचने के लिए चाहते हैं निर्धारित ऊपर

तरह लेबल आप DNN का उपयोग कर बस अपने पेज के शीर्ष पर इस टैग डाल लेबल शुरू करने के लिए चाहते हैं: यदि आप उपयोग कर रहे हैं DNN लेबल "lblName.Help" का पाठ संपत्ति DNN टूलटिप संपत्ति के लिए आवंटित करेगा।

<%@ Register TagPrefix="dnn" Assembly="DotNetNuke.Web" Namespace="DotNetNuke.Web.UI.WebControls" %> 
<%@ Register TagPrefix="dnn" TagName="Label" Src="~/controls/LabelControl.ascx" %> 

एक और आसान विधि उपलब्ध है:

LocalizeString("key") 

यह अपने संसाधन फ़ाइल से लिया जाएगा और होगा यह काफी आसान है जब ईमेल टेम्पलेट्स जैसी चीजों के साथ काम।

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