2016-12-22 26 views
6

में स्ट्रिंग्स बेस्ट प्रैक्टिस मैं कोणीय 2 सीख रहा हूं, और सोच रहा हूं कि तारों को संग्रहित करने के लिए सबसे अच्छा अभ्यास क्या माना जाता है। मैं आवेदन भर में विभिन्न तार का उपयोग करें: कुछ HTML तत्वों में सीधे रखा जाता है जैसे,स्ट्रिंग्स एंगुलर 2

// sample.html 
<h1>This is my title</h1> 

अन्य तार घटक मॉडल है कि करने के लिए बाध्य कर रहे हैं, जैसे में जमा हो जाती,

// boundSample.html 
<h1>{{myTitle}}</h1> 

// boundSample.component.ts 
import ... 

@Component({ 
    templateUrl: 'boundSample.html'; 
}) 
export class BoundSampleComponent { 
    myTitle = 'This is another title'; 
} 

मेरी चिंता का विषय यह है कि मेरे तार पूरे आवेदन में फैले हुए हैं। सी #/डब्ल्यूपीएफ पृष्ठभूमि से आ रहा है, मैं अपने तारों को एक ही स्थान पर रखने के लिए उपयोग करता हूं (उदा। strings.xaml) कि मैं कोड और यूआई मार्कअप में आयात कर सकता हूं (यानी डब्ल्यूपीएफ के लिए एक्सएएमएल, कोणीय के लिए एचटीएमएल)। यह रखरखाव और अंतर्राष्ट्रीयकरण के साथ बहुत मदद करता है।

इसके अलावा, कोणीय 2 में internationalization पर एक त्वरित नज़र i18n विशेषता और i18n tool का उपयोग करने का सुझाव देता है। यह मानता है कि मेरे सभी तारों को HTML में परिभाषित किया गया है, लेकिन यदि मैं कोड में उन तारों में से कुछ का उपयोग करना चाहता हूं ...

Angular2 में मेरे तारों के लिए मैं एक और स्थान कैसे परिभाषित कर सकता हूं जैसे कि मैं एक्सेस कर सकता हूं कोड में उन स्ट्रिंग्स और अंतर्राष्ट्रीयकरण उपकरण का उपयोग करते हैं?

+0

क्या निम्न स्थानीयकरण लाइब्रेरी आपको प्राप्त करने में आपकी सहायता करेगी? https://github.com/robisim74/angular2localization/ – Peza

+0

बस एक विकल्प जोड़ना। हम अपने वर्तमान प्रोजेक्ट में इस lib का उपयोग कर रहे हैं: https://github.com/ocombe/ng2-translate/ लेकिन angular2localization भी सुंदर फीचर समृद्ध दिखता है (सकारात्मक अर्थ में)। – meistermeier

+0

https://angular.io/docs/ts/latest/cookbook/i18n.html –

उत्तर

2

आप कुछ टूल्स खोज सकते हैं, उनमें से कुछ अच्छे हैं और पहले से ही उन चीजों को लागू कर सकते हैं जिन्हें आप चाहते हैं।

  1. स्टोर XAML/JSON/YAML/आदि फ़ाइल जहाँ आप अपने तार की दुकान में तार: हालांकि तुम सिर्फ निम्न कार्य करें यह जिस तरह से आप करने के लिए इस्तेमाल करना चाहते हैं, यदि। यदि आप वेबपैक का उपयोग करते हैं, तो उचित लोडर का उपयोग करें जो आपके लिए सामान को संभालता है। यदि नहीं, तो आपको इस फ़ाइल को अपने आप पार्स करना होगा।

  2. ऐसी सेवा बनाएं जो फ़ाइल से जानकारी प्राप्त करने में सक्षम हो (मुझे लगता है कि कन्स्ट्रक्टर में) और इसमें एक फ़ंक्शन है जो स्ट्रिंग टोकन के आधार पर आपको स्ट्रिंग देता है।

  3. एक पाइप बनाएं जो टोकन के आधार पर एक स्ट्रिंग देता है।

  4. HTML में पाइप और टाइपस्क्रिप्ट फ़ाइलों में सेवा का उपयोग करें।

i18n - कोई समस्या नहीं, बस सेवा कार्य में भाषा को पास करें/सेवा में देखने योग्य भाषा-परिवर्तन की सदस्यता लें।

कार्यान्वयन छोटा है। लेकिन दो बार सोचें: आप पहले से ही मौजूदा समाधान का उपयोग कर सकते हैं।