i18next जेसन डॉट कुंजी या लेबल में - i18next

जे एस: i18n.t("SOME TEXT TO BE TRANSLATED.")

JSON: "SOME TEXT TO BE TRANSLATED.": "Een stukje tekst om te vertalen"

i18n.t("SOME TEXT TO BE TRANSLATED.") मुझे देता है "SOME TEXT TO BE TRANSLATED.".

अगर मैं हटा दूं। (डॉट) लेबल और फंक्शन टी से, पाठ से अनुवादित है।

इसे कैसे हल करें?

उत्तर:

जवाब के लिए 5 № 1

प्रलेखन बताते हैं कि डॉट डिफ़ॉल्ट रूप से एक महत्वपूर्ण विभाजक के रूप में माना जाता है। आप ऐसा कर सकते हैं

  • बिंदी के साथ बदलें .
  • अनूदित स्ट्रिंग के बाहर डॉट लगाएं i18n.t("SOME TEXT TO BE TRANSLATED") + "."
  • कुंजी विभाजक बदलें

    Init पर विकल्प सेट करके आप नाम स्थान और / या कुंजी विभाजक बदल सकते हैं:

    nsseparator = ":::"
    keyseparator = "::"
    

उत्तर № 2 के लिए 1

आप "की-सेपरेटर" सेट कर सकते हैं: अपने इनिट विकल्प में गलत।


जवाब के लिए 0 № 3

आप उपयोग करने का प्रयास कर सकते हैं https://github.com/cheton/i18next-text। यह आपको स्ट्रिंग के रूप में कुंजी के बिना i18next अनुवाद का उपयोग करने की अनुमति देता है, और आपको i18n नामकरण के बारे में चिंता करने की आवश्यकता नहीं है। इसके अलावा, आप हैंडलबार्स के साथ i18n हेल्पर को भी पंजीकृत कर सकते हैं।

निम्नलिखित एक सरल उदाहरण है:

var i18n = require("i18next");

// extends i18n object to provide a new _() method
i18n._ = require("i18next-text")._;

i18n._("Save your time and work more efficiently.");

डेमो देखें JSFiddle पर।