अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "प्रारंभिक इतिहास"v9.7.13/11/2026
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
Prettier प्लगइन
prettier-plugin-intlayer हर बार जब Prettier किसी फ़ाइल को फ़ॉर्मेट करता है, तो आपके अनुवादों की कुंजियों को एक निश्चित क्रम में रखता है। इससे diffs छोटे रहते हैं, मर्ज विरोध (merge conflicts) दुर्लभ हो जाते हैं और किसी छूटे हुए लोकेल को पहचानना आसान हो जाता है।
कोड को क्लिपबोर्ड पर कॉपी करें
स्थापना (Installation)
कोड को क्लिपबोर्ड पर कॉपी करें
इसके लिए Prettier 3 या बाद के संस्करण की आवश्यकता है।
यदि आपका प्रोजेक्ट पहले से ही Prettier का उपयोग करता है, तो intlayer init prettier प्लगइन इंस्टॉल करता है और इसे आपके कॉन्फ़िगरेशन में जोड़ता है।
उपयोग (Usage)
अपने Prettier कॉन्फ़िगरेशन में प्लगइन जोड़ें:
कोड को क्लिपबोर्ड पर कॉपी करें
इसे केवल अपनी सामग्री घोषणाओं पर लागू करने के लिए, override का उपयोग करें:
कोड को क्लिपबोर्ड पर कॉपी करें
क्या क्रमबद्ध होता है
t(): लोकेल्स
पिन किए गए लोकेल्स सबसे पहले आते हैं (डिफ़ॉल्ट रूप से en)। अन्य लोकेल्स वर्णमाला क्रम में आते हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
plural(): CLDR क्रम
श्रेणियां सबसे छोटी मात्रा से फ़ॉलबैक तक जाती हैं: zero, one, two, few, many, other।
कोड को क्लिपबोर्ड पर कॉपी करें
enu(): आरोही सीमाएँ
शर्तों को उनकी संख्या के आधार पर और फिर ऑपरेटर (<1, <=1, 1, >=1, >1) द्वारा क्रमबद्ध किया जाता है। fallback अंत में आता है।
कोड को क्लिपबोर्ड पर कॉपी करें
रनटाइम पर, पहली मेल खाने वाली शर्त जीतती है। प्लगइन केवल तभी नया क्रम लागू करता है जब प्रत्येक मात्रा अभी भी उसी सामग्री पर हल होती है। जब क्रम परिणाम तय करता है, तो ऑब्जेक्ट को जैसा लिखा गया है वैसा ही छोड़ दिया जाता है। उदाहरण के लिए, { '<1': …, '<=-2.3': … } में '<1' कुंजी प्रत्येक ऋणात्मक संख्या को पकड़ती है।
select(): वर्णमाला क्रम
केस वर्णानुक्रम में क्रमबद्ध होते हैं और fallback अंत में आता है।
कोड को क्लिपबोर्ड पर कॉपी करें
बिना fallback या other कुंजी के, अंतिम केस को फ़ॉलबैक के रूप में उपयोग किया जाता है। वह केस अंत में रहता है और केवल उससे पहले के केस क्रमबद्ध होते हैं।
.content.json फ़ाइलें
क्रमबद्ध रूप को उसी तरह से व्यवस्थित किया जाता है: { "nodeType": "translation", "translation": { … } }, साथ ही plural, enumeration और select नोड्स।
सामग्री कुंजियाँ (ऑप्ट-इन)
intlayerSortContentKeys: true के साथ, प्लगइन हर नेस्टिंग स्तर पर डिक्शनरी content की कुंजियों को भी वर्णमाला क्रम में क्रमबद्ध करता है। यह केवल *.content.* फ़ाइलों पर लागू होता है।
कोड को क्लिपबोर्ड पर कॉपी करें
क्रमबद्धता प्रत्येक हेल्पर (t, plural, enu, select, cond, gender, md, insert, nest, file…) के माध्यम से उनके अंदर की वस्तुओं तक पहुँचती है। प्रत्येक हेल्पर का अपना कुंजी मानचित्र अपना क्रम बनाए रखता है। cond() और gender() को दी गई कुंजियों को कभी भी पुन: व्यवस्थित नहीं किया जाता है, क्योंकि उनकी अंतिम कुंजी फ़ॉलबैक होती है। content के साथ वाले फ़ील्ड (key, title, locale…) जैसे हैं वैसे ही रहते हैं।
विकल्प
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| विकल्प | डिफ़ॉल्ट | विवरण |
|---|---|---|
intlayerPinnedLocales | ["en"] | t() में सबसे पहले रखे जाने वाले लोकेल्स, इसी क्रम में। सभी लोकेल्स को क्रमबद्ध करने के लिए [] पास करें। |
intlayerSortContentKeys | false | *.content.* फ़ाइलों में, डिक्शनरी सामग्री कुंजियों और नेस्टेड ऑब्जेक्ट्स को भी क्रमबद्ध करें। |
क्या अछूता रहता है
- स्प्रेड (
...base), परिकलित कुंजी ([key]), विधि या डुप्लिकेट कुंजी रखने वाले ऑब्जेक्ट। plural()मानचित्र जिनकी कुंजी CLDR श्रेणी नहीं है।enu()मानचित्र जिनका नया क्रम हल की गई सामग्री को बदल देगा।- किसी अन्य फ़ंक्शन के लिए कॉल जिसे हेल्पर जैसा नाम दिया गया है लेकिन गैर-ऑब्जेक्ट तर्क दिया गया है।
टिप्पणियाँ उस कुंजी के साथ चलती हैं जिससे वे संबंधित हैं।
समर्थित पार्सर
babel, babel-flow, babel-ts, typescript, flow, acorn, espree, meriyah, json, json5 और jsonc। Vue, Svelte और Astro फ़ाइलों के <script> ब्लॉक इन पार्सर के साथ स्वरूपित किए जाते हैं।
ज्ञात सीमा। Prettier प्रति पार्सर केवल एक प्लगइन चलाता है। यदि कोई अन्य प्लगइन जावास्क्रिप्ट/टाइपस्क्रिप्ट पार्सर को भी बदल देता है (उदाहरण के लिएprettier-plugin-tailwindcss), तो उन फ़ाइलों पर केवल अंतिम सूचीबद्ध प्लगइन ही लागू होता है। विरोध से बचने के लिए override के साथprettier-plugin-intlayerको*.content.*फ़ाइलों तक सीमित करें।
