सामग्री पर जाएँ
सीएलआई और कोड स्कैनिंग

सीएलआई और कोड स्कैनिंग: हर अनुवादित नहीं हुई स्ट्रिंग को स्वचालित रूप से खोजें

स्रोत फ़ाइलों में हार्डकोडेड स्ट्रिंग्स खोजने की झंझट छोड़ें। बेटर i18n की CLI AST-आधारित पार्सिंग का उपयोग करके आपके पूरे कोडबेस को स्कैन करती है, JSX कंपोनेंट्स और एट्रिब्यूट्स में अनअनुवादित टेक्स्ट का पता लगाती है, अनुपस्थित और अप्रयुक्त कीज़ की रिपोर्ट करती है, और आपकी CI पाइपलाइन में सहजता से एकीकृत हो जाती है।

AST-संचालित कोड स्कैनिंग

regex-आधारित scanners के विपरीत जो false positives उत्पन्न करते हैं, Better i18n आपके कोड को एक Abstract Syntax Tree में पार्स करता है जिससे सटीक, संदर्भ-जागरूक string detection संभव होती है।

Hardcoded String Detection

हर उस user-facing string को स्वचालित रूप से खोजें जो किसी translation function में wrapped नहीं है, जिसमें JSX children और component props में मौजूद strings भी शामिल हैं।

एएसटी-आधारित पार्सिंग

आपके स्रोत कोड को एक Abstract Syntax Tree में पार्स करता है, जिससे सटीक और संदर्भ-जागरूक detection संभव होती है जो regex-आधारित scanners के false positives को समाप्त करती है।

JSX Text Node Scanning

JSX एलिमेंट्स के अंदर अनुवादित न किए गए टेक्स्ट सामग्री का पता लगाता है, जिसमें आपके कंपोनेंट्स में सीधे रेंडर किए गए एक्सप्रेशन और टेम्पलेट लिटरल शामिल हैं।

JSX Attribute Scanning

JSX एट्रिब्यूट्स जैसे placeholder, aria-label, और title में हार्डकोडेड स्ट्रिंग्स खोजता है, जो अक्सर मैनुअल i18n ऑडिट के दौरान छूट जाती हैं।

स्मार्ट फ़िल्टरिंग

CSS क्लास नाम, इम्पोर्ट पथ और संख्यात्मक लिटरल जैसी अनुवादित न होने वाली मान्यताओं को अनदेखा करता है, ताकि आपको केवल क्रियान्वित किए जा सकने वाले परिणाम ही दिखें।

Translation Auditing के लिए CLI Commands

check command एक interactive, developer-friendly auditing अनुभव प्रदान करता है। यह आपके source code में उपयोग की गई translation keys की तुलना Better i18n के remote में संग्रहीत keys से करता है, और उन missing keys को सामने लाता है जिनका अनुवाद आवश्यक है तथा उन unused keys को भी जिन्हें हटाया जा सकता है।

template literals जैसे dynamic key patterns स्वचालित रूप से पहचाने जाते हैं। जब आपका code t(`key.${variable}`) का उपयोग करता है, तो CLI dynamic segment को पहचानता है और उसे pattern-matched reports में शामिल करता है, ताकि कुछ भी छूट न जाए।

  • एक ही चेक कमांड के साथ पूर्ण अनुवाद ऑडिट चलाएँ
  • ऐसी missing translation keys खोजें जो code में हैं लेकिन आपके remote store में नहीं हैं
  • आपके remote store में ऐसी unused keys पहचानें जिनका code में अब कोई संदर्भ नहीं है
  • template literals जैसे dynamic key patterns का पता लगाएं और उन्हें समीक्षा के लिए चिह्नित करें
  • स्थानीय उपयोग और remote translation state के बीच तुलना रिपोर्ट तैयार करें

लचीले आउटपुट formats

स्कैन परिणाम आपके workflow के अनुसार कई formats में उपलब्ध हैं। ESLint-शैली का आउटपुट file, line और column संदर्भों के साथ मानव-पठनीय रिपोर्ट देता है। JSON आउटपुट CI/CD automation और custom tooling के लिए machine-readable डेटा प्रदान करता है।

Verbose mode विस्तृत audit logs, scoping summaries और timing जानकारी के साथ गहरी पारदर्शिता प्रदान करता है। स्कैन आंकड़े file counts, discovery metrics और performance डेटा दिखाते हैं ताकि आप हमेशा अपने translation coverage की स्थिति जान सकें।

ESLint-शैली का आउटपुट

किसी भी संपादक में त्वरित नेविगेशन के लिए फ़ाइल पथ, पंक्ति संख्या और स्तंभ संदर्भों सहित मानव-पठनीय रिपोर्टें।

JSON आउटपुट

CI/CD स्वचालन, कस्टम डैशबोर्ड और अन्य उपकरणों के साथ एकीकरण के लिए आदर्श मशीन-पठनीय संरचित डेटा।

विस्तृत मोड

debugging के लिए scoping summaries, timing जानकारी और namespace resolution traces के साथ विस्तृत audit logs।

स्कैन सांख्यिकी

फ़ाइलों की संख्या, प्रमुख खोज मेट्रिक्स और प्रदर्शन डेटा दर्ज करें ताकि आपको हमेशा अपनी अनुवाद कवरेज की स्थिति का पता रहे।

डेवऑप्स और सीआई/सीडी एकीकरण

अपनी मौजूदा विकास पाइपलाइन में अनुवाद जांचें शामिल करें ताकि उत्पादन में पहुँचने से पहले अनुपस्थित स्ट्रिंग्स पकड़ी जा सकें।

1

CI Pipeline Integration

अपने CI workflow में एक scan step जोड़ें जो अनुवाद न किए गए strings या missing keys पाए जाने पर build को विफल कर दे।

2

Pre-Commit Hooks

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

3

Directory-Scoped Scanning

अपने codebase के केवल उन भागों को scan करने के लिए विशिष्ट directories या file patterns को लक्षित करें जिनमें user-facing content है।

4

दायरा-जागरूक विश्लेषण

शब्दावली क्षेत्र ट्रैकिंग के माध्यम से अनुवाद नामस्थानों को स्वचालित रूप से हल करें ताकि प्रत्येक t() कॉल सही कुंजी सेट से मेल खाए।

बेहतर i18n CLI: स्थानीयकरण के लिए निर्मित कोड स्कैनिंग

बेहतर i18n की CLI एक ही टूल में AST-आधारित कोड स्कैनिंग को रिमोट की प्रबंधन के साथ जोड़ती है। अपने कोडबेस में हार्डकोडेड स्ट्रिंग्स के लिए स्कैन करें, स्थानीय उपयोग की तुलना अपने रिमोट ट्रांसलेशन स्टोर से करें, बंडल साइज़ बढ़ाने वाली अनउपयोगी कीज़ का पता लगाएँ, और अपनी CI पाइपलाइन के लिए रिपोर्ट जेनरेट करें — यह सब बिना टर्मिनल छोड़े।

दायरा-जागरूक स्कैनिंग

ट्रैक्स `useTranslations` और `getTranslations` कॉल्स को लेक्सिकल स्कोप्स के माध्यम से उपयोग करते हैं, और प्रत्येक `t()` कॉल को स्वचालित रूप से उसके सही नेमस्पेस से बाँधते हैं।

सर्वर घटक समर्थन

Next.js App Router async सर्वर कंपोनेंट्स के लिए पूर्ण समर्थन, ताकि सर्वर कोड में getTranslations कॉल्स का पता लगाया जा सके और क्लाइंट-साइड उपयोग के साथ उनका ऑडिट किया जा सके।

पूर्व-प्रतिबद्धता हुक्स

केवल --staged फ़्लैग के साथ स्टेज की गई फ़ाइलों पर स्कैन चलाएँ, और अपने वर्कफ़्लो को धीमा किए बिना बिना ट्रांसलेट की गई स्ट्रिंग्स को कमिट होने से पहले पकड़ें।

एक भी स्ट्रिंग न चूकते हुए अनुवाद भेजें

बेहतर i18n की CLI आपके कोड को स्कैन करती है, हर अनुवादित स्ट्रिंग का पता लगाती है, और आपकी CI पाइपलाइन में फिट हो जाती है, ताकि बिना अनुवाद के कुछ भी प्रोडक्शन में न जाए।