From 447090ced227ff935f54de34e4686308dcb2707e Mon Sep 17 00:00:00 2001 From: Parv Arhatia Date: Thu, 8 Oct 2026 12:19:43 +0530 Subject: [PATCH] fix(i18n): translate PRODUCTS, SYSTEM and GROUPS sections into Hindi (#255) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translate all keys across three sections of src/assets/i18n/hi.json into RBI-standard Indian banking Hindi. Sections covered: - PRODUCTS (94 keys): complete loan/savings/deposit/share product form fields including disbursement settings, down payment options, income recognition, interest recalculation, accounting mappings, and all payment allocation strategies (PRODUCTS.STRATEGIES, PRODUCTS.ACCOUNTING, PRODUCTS.DEPOSITS sub-objects) - SYSTEM (54 keys): data tables CRUD, bulk import flows for all entity types, delinquency ranges and buckets management — includes {{classification}} and {{name}} interpolations - GROUPS (53 keys): group lifecycle management, member operations, staff/role assignment, and loan/savings account summaries Verified with node scripts/check-translations.mjs: hi coverage: 36.0% (947/2630 keys) 0 missing keys, 0 interpolation mismatches, 0 ghost keys Closes part of #255 --- src/assets/i18n/hi.json | 213 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 209 insertions(+), 4 deletions(-) diff --git a/src/assets/i18n/hi.json b/src/assets/i18n/hi.json index a3125fa70..b0ba24186 100644 --- a/src/assets/i18n/hi.json +++ b/src/assets/i18n/hi.json @@ -375,7 +375,107 @@ "TOTAL_SHARES": "कुल शेयर", "UNIT_PRICE": "इकाई मूल्य", "NOMINAL_SHARES": "नाममात्र शेयर", - "CREATE_NEW_PRODUCT": "नया उत्पाद बनाएं" + "CREATE_NEW_PRODUCT": "नया उत्पाद बनाएं", + "INTEREST_RATE_FREQUENCY_TYPE": "ब्याज दर आवृत्ति प्रकार", + "AMORTIZATION_TYPE": "परिशोधन प्रकार", + "INTEREST_TYPE": "ब्याज प्रकार", + "INTEREST_CALCULATION_PERIOD_TYPE": "ब्याज गणना अवधि प्रकार", + "TRANSACTION_PROCESSING_STRATEGY": "लेनदेन प्रसंस्करण रणनीति", + "LOAN_SCHEDULE_TYPE": "ऋण अनुसूची प्रकार", + "LOAN_SCHEDULE_PROCESSING_TYPE": "ऋण अनुसूची प्रसंस्करण प्रकार", + "PAYMENT_ALLOCATION": "भुगतान आवंटन", + "CREDIT_ALLOCATION": "क्रेडिट आवंटन", + "FUTURE_INSTALLMENT_ALLOCATION_RULE": "भविष्य की किश्त आवंटन नियम", + "ADD_TRANSACTION_TYPE": "लेनदेन प्रकार जोड़ें", + "STRATEGIES": { + "MIFOS_STYLE": "Mifos शैली", + "HEAVENSFAMILY": "HeavensFamily", + "CREOCORE": "Creocore", + "GRACE_ON_INTEREST_AND_PRINCIPAL": "ब्याज और मूलधन पर छूट", + "PRINCIPAL_INTEREST_GRACE": "मूलधन ब्याज छूट", + "PENALTIES_FEES_INTEREST_PRINCIPAL": "दण्ड, शुल्क, ब्याज, मूलधन" + }, + "FUND": "निधि", + "DELINQUENCY_BUCKET": "चूक बकेट", + "STRATEGY_LOCKED_NOTE": "उन्नत भुगतान आवंटन पर निर्धारित क्योंकि यह प्रगतिशील उत्पाद है — दोनों साथ जाते हैं और Fineract अन्य किसी युग्म को अस्वीकार करता है।", + "DISBURSEMENT_SETTINGS": "संवितरण और अग्रिम भुगतान", + "MULTI_DISBURSE_LOAN": "ऋण को किश्तों में जारी करें", + "MAX_TRANCHE_COUNT": "अधिकतम किश्त संख्या", + "DISALLOW_EXPECTED_DISBURSEMENTS": "पहले से किश्त अनुसूची आवश्यक नहीं", + "ENABLE_DOWN_PAYMENT": "संवितरण पर अग्रिम भुगतान लें", + "DOWN_PAYMENT_PERCENTAGE": "अग्रिम भुगतान (संवितरित राशि का %)", + "ENABLE_AUTO_REPAYMENT_FOR_DOWN_PAYMENT": "अग्रिम भुगतान स्वचालित रूप से पोस्ट करें", + "DOWN_PAYMENT_PROGRESSIVE_ONLY_NOTE": "अग्रिम भुगतान केवल प्रगतिशील उत्पादों पर उपलब्ध है। कॉन्फ़िगर करने के लिए ऊपर ऋण अनुसूची प्रकार बदलें।", + "INCOME_RECOGNITION": "आय पहचान", + "ENABLE_INCOME_CAPITALIZATION": "ऋण की पूरी अवधि में आय फैलाएं", + "CAPITALIZED_INCOME_TYPE": "फैलाई जा रही आय", + "ENABLE_BUY_DOWN_FEE": "किसी तृतीय पक्ष को दर कम करने की अनुमति दें", + "BUY_DOWN_FEE_INCOME_TYPE": "बाय-डाउन माना जाए", + "INCOME_CALCULATION_TYPE": "राशि की गणना कैसे होगी", + "INCOME_STRATEGY": "कैसे फैलाया जाता है", + "INCOME_TYPE_FEE": "शुल्क", + "INCOME_TYPE_INTEREST": "ब्याज", + "INCOME_CALCULATION_FLAT": "एक समान राशि", + "INCOME_STRATEGY_EQUAL_AMORTIZATION": "अवधि में बराबर भागों में", + "INTEREST_RECALCULATION": "ब्याज पुनर्गणना", + "ENABLE_INTEREST_RECALCULATION": "वास्तविक शेष पर ब्याज पुनर्गणित करें", + "COMPOUNDING_METHOD": "क्या संयोजित होता है", + "RESCHEDULE_STRATEGY": "देय राशि बदलने पर", + "REST_FREQUENCY": "ब्याज पुनर्गणना की आवृत्ति", + "REST_INTERVAL": "पुनर्गणना अंतराल (अवधि की संख्या)", + "COMPOUNDING_FREQUENCY": "संयोजन की आवृत्ति", + "COMPOUNDING_INTERVAL": "संयोजन अंतराल (अवधि की संख्या)", + "PRE_CLOSURE_STRATEGY": "समय से पहले निपटान पर ब्याज", + "OTHER_SETTINGS": "अन्य सेटिंग", + "CHARGE_OFF_BEHAVIOUR": "ऋण चार्ज-ऑफ होने पर", + "REPAYMENT_START_DATE_TYPE": "पुनर्भुगतान की गणना किससे", + "FIXED_LENGTH": "निश्चित अवधि लंबाई (अवधि)", + "ENABLE_ACCRUAL_ACTIVITY_POSTING": "संचय गतिविधि प्रविष्टियां पोस्ट करें", + "INTEREST_CALC_PERIOD_LOCKED_NOTE": "ब्याज पुनर्गणना चालू होने के कारण दैनिक पर निर्धारित — Fineract केवल दोनों को साथ समर्थित करता है। दूसरी अवधि चुनने के लिए पुनर्गणना बंद करें।", + "ACCOUNTING": { + "ADD_MAPPING": "मैपिंग जोड़ें", + "ADVANCED_HINT": "वैकल्पिक। अलग-अलग भुगतान चैनल और शुल्क को उनके अपने खातों पर रूट करें, ऊपर की मैपिंग को ओवरराइड करते हुए।", + "ADVANCED_TITLE": "उन्नत लेखा नियम", + "FEE": "शुल्क", + "FEE_INCOME_TITLE": "शुल्कों को विशिष्ट आय खातों से मैप करें", + "FUND_SOURCE": "निधि स्रोत", + "INCOME_ACCOUNT": "आय खाता", + "INCOME_FROM_FEES": "शुल्क से आय", + "INCOME_FROM_INTEREST": "ब्याज से आय", + "INCOME_FROM_PENALTIES": "दण्ड से आय", + "INCOME_FROM_RECOVERY": "वसूली पुनर्भुगतान से आय", + "INTEREST_ON_LOANS": "ऋण पर ब्याज", + "INTEREST_ON_SAVINGS": "बचत पर ब्याज", + "INTEREST_PAYABLE": "देय ब्याज", + "LOAN_PORTFOLIO": "ऋण पोर्टफोलियो", + "LOSSES_WRITTEN_OFF": "अपलेखित हानि", + "NO_ACCOUNTS_OF_TYPE": "इस प्रकार का कोई सामान्य बहीखाता खाता अभी तक मौजूद नहीं है। इस उत्पाद को कॉन्फ़िगर करने से पहले लेखा > चार्ट ऑफ अकाउंट्स के तहत खाते बनाएं।", + "NO_CHARGES_ON_PRODUCT": "इस उत्पाद से एक शुल्क संलग्न करें, तब इसे अपने खाते पर मैप किया जा सकता है।", + "OVERDRAFT_PORTFOLIO": "ओवरड्राफ्ट पोर्टफोलियो नियंत्रण", + "OVERPAYMENT_LIABILITY": "अधिक भुगतान देयता", + "PAYMENT_CHANNEL_TITLE": "भुगतान चैनलों के लिए निधि स्रोत कॉन्फ़िगर करें", + "PAYMENT_TYPE": "भुगतान प्रकार", + "PENALTY": "दण्ड", + "PENALTY_INCOME_TITLE": "दण्डों को विशिष्ट आय खातों से मैप करें", + "RECEIVABLE_FEE": "प्राप्य शुल्क", + "RECEIVABLE_INTEREST": "प्राप्य ब्याज", + "RECEIVABLE_PENALTY": "प्राप्य दण्ड", + "RULE": "लेखा नियम", + "RULE_CASH": "नकद", + "RULE_NONE": "कोई नहीं", + "SAVINGS_CONTROL": "बचत नियंत्रण", + "SAVINGS_REFERENCE": "बचत संदर्भ", + "SELECT_ACCOUNT": "खाता चुनें", + "SHARE_EQUITY": "शेयर इक्विटी", + "SHARE_REFERENCE": "शेयर संदर्भ", + "SHARE_SUSPENSE": "शेयर सस्पेंस नियंत्रण", + "TITLE": "लेखा", + "TRANSFERS_IN_SUSPENSE": "सस्पेंस में अंतरण" + }, + "DEPOSITS": { + "ON_CLOSURE": "बंद होने पर", + "PREMATURE_AMOUNT": "आज देय राशि" + } }, "CHARGES": { "CREATE": "शुल्क बनाएं", @@ -671,10 +771,59 @@ "FIELD_OFFICER": "फील्ड अधिकारी" }, "GROUPS": { + "ACTIVATE": "समूह सक्रिय करें", + "ACTIVATED_ON": "सक्रियण तिथि", + "ADD_MEMBERS": "सदस्य जोड़ें", + "ADD_NOTE": "नोट जोड़ें", + "ASSIGN_ROLE": "भूमिका निर्दिष्ट करें", + "ASSIGN_STAFF": "कर्मचारी निर्दिष्ट करें", + "CLOSE": "समूह बंद करें", + "CMD_ACTIVATE": "समूह सक्रिय किया गया।", + "CMD_ASSIGNROLE": "भूमिका निर्दिष्ट की गई।", + "CMD_ASSIGNSTAFF": "कर्मचारी निर्दिष्ट किया गया।", + "CMD_ASSOCIATECLIENTS": "सदस्य जोड़े गए।", + "CMD_CLOSE": "समूह बंद किया गया।", + "CMD_DISASSOCIATECLIENTS": "सदस्य हटाए गए।", + "CMD_UNASSIGNROLE": "भूमिका हटाई गई।", + "CMD_UNASSIGNSTAFF": "कर्मचारी हटाया गया।", + "COMMITTEE": "समिति", + "CONFIRM_DELETE_NOTE": "यह नोट हटाएं? यह पूर्ववत नहीं किया जा सकता।", + "CONFIRM_UNASSIGN_ROLE": "सदस्य से यह समिति भूमिका हटाएं?", + "CONFIRM_UNASSIGN_STAFF": "इस समूह को वर्तमान में निर्दिष्ट कर्मचारी हटाएं?", + "CREATED_BY": "निर्मित द्वारा", + "CREATED_ON": "निर्माण तिथि", + "CREATE_GROUP": "समूह बनाएं", + "DELETE_NOTE": "नोट हटाएं", + "EDIT_GROUP": "समूह संपादित करें", + "EDIT_NOTE": "नोट संपादित करें", + "EXTERNAL_ID": "बाह्य आईडी", + "GENERAL": "सामान्य", + "GROUP_DETAILS": "समूह विवरण", + "LOAD_FAILED": "समूह लोड नहीं हो सका।", + "MEMBER": "सदस्य", + "MEMBERS": "सदस्य", + "MEMBER_COUNT": "सदस्य", + "NAME": "समूह नाम", + "NOTES": "नोट्स", + "NOTE_DELETED": "नोट हटाया गया।", + "NOTE_SAVED": "नोट सहेजा गया।", + "NO_CLIENTS_FOUND": "इस कार्यालय में उस खोज से कोई ग्राहक नहीं मिला।", + "NO_CLOSURE_REASONS": "कोई समापन कारण परिभाषित नहीं किए गए हैं। समूह बंद करने से पहले GroupClosureReason कोड में मान जोड़ें।", + "NO_MEMBERS": "इस समूह में अभी तक कोई सदस्य नहीं है।", + "NO_ROLES_DEFINED": "कोई समूह भूमिका परिभाषित नहीं की गई है। पहले GroupRoles कोड में मान जोड़ें।", + "NO_STAFF_IN_OFFICE": "इस समूह के कार्यालय में कोई कर्मचारी उपलब्ध नहीं है।", + "REMOVE_MEMBERS": "सदस्य हटाएं", + "ROLE": "भूमिका", + "SEARCH_CLIENTS": "नाम से ग्राहक खोजें", + "SUBMITTED_ON": "प्रस्तुत तिथि", + "SUMMARY": "समूह सारांश", + "UNASSIGNED": "अनिर्दिष्ट", + "UNASSIGN_ROLE": "भूमिका हटाएं", + "UNASSIGN_STAFF": "कर्मचारी हटाएं", "LOAN_ACCOUNTS": "ऋण खाते", "SAVINGS_ACCOUNTS": "बचत खाते", - "NO_LOAN_ACCOUNTS": "इस समूह का कोई ऋण खाता नहीं है।", - "NO_SAVINGS_ACCOUNTS": "इस समूह का कोई बचत खाता नहीं है।" + "NO_LOAN_ACCOUNTS": "इस समूह के कोई ऋण खाते नहीं हैं।", + "NO_SAVINGS_ACCOUNTS": "इस समूह के कोई बचत खाते नहीं हैं।" }, "CLIENTS": { "DEPOSIT_ACCOUNTS": "जमा", @@ -824,5 +973,61 @@ "USERS": { "CREATE_USER": "उपयोगकर्ता बनाएँ", "EDIT_USER": "उपयोगकर्ता संपादित करें" + }, + "SYSTEM": { + "DATA_TABLES": "डेटा तालिकाएं", + "CREATE_DATA_TABLE": "डेटा तालिका बनाएं", + "EDIT_DATA_TABLE": "डेटा तालिका संपादित करें", + "TABLE_NAME": "तालिका नाम", + "APP_TABLE": "ऐप तालिका", + "MULTI_ROW": "बहु पंक्ति", + "COLUMNS": "कॉलम", + "ADD_COLUMN": "कॉलम जोड़ें", + "REMOVE_COLUMN": "कॉलम हटाएं", + "LENGTH": "लंबाई", + "CODE": "कोड", + "MANDATORY": "अनिवार्य", + "UNIQUE": "अद्वितीय", + "INDEXED": "अनुक्रमित", + "CUSTOM_FIELDS": "कस्टम फ़ील्ड", + "ADD_ENTRY": "प्रविष्टि जोड़ें", + "NO_DATA_TABLES_REGISTERED": "इस इकाई के लिए कोई डेटा तालिका पंजीकृत नहीं है।", + "BULK_IMPORT": "थोक आयात", + "ENTITY_TYPE": "इकाई प्रकार", + "DOWNLOAD_TEMPLATE": "टेम्प्लेट डाउनलोड करें", + "UPLOAD_CSV": "CSV अपलोड करें", + "IMPORT_HISTORY": "आयात इतिहास", + "IMPORT_TIME": "आयात समय", + "CREATED_BY": "निर्मित द्वारा", + "DOWNLOAD_RESULT": "परिणाम डाउनलोड करें", + "BULK_IMPORT_LOAN_REPAYMENTS": "ऋण पुनर्भुगतान", + "BULK_IMPORT_SAVINGS_TRANSACTIONS": "बचत लेनदेन", + "BULK_IMPORT_FIXED_DEPOSIT_TRANSACTIONS": "सावधि जमा लेनदेन", + "BULK_IMPORT_RECURRING_DEPOSIT_TRANSACTIONS": "आवर्ती जमा लेनदेन", + "BULK_IMPORT_GUARANTORS": "गारंटर", + "BULK_IMPORT_LOAN_ID": "ऋण आईडी", + "BULK_IMPORT_LOAN_ID_REQUIRED": "टेम्प्लेट डाउनलोड या अपलोड करने से पहले ऋण खाता दर्ज करें जिस पर यह गारंटर फ़ाइल लागू होती है।", + "DELINQUENCY_RANGES": "चूक श्रेणियां", + "DELINQUENCY_BUCKETS": "चूक बकेट", + "CREATE_RANGE": "श्रेणी बनाएं", + "EDIT_RANGE": "श्रेणी संपादित करें", + "RANGE_CLASSIFICATION": "वर्गीकरण", + "RANGE_MIN_AGE_DAYS": "न्यूनतम आयु (दिन)", + "RANGE_MAX_AGE_DAYS": "अधिकतम आयु (दिन)", + "CREATE_BUCKET": "बकेट बनाएं", + "EDIT_BUCKET": "बकेट संपादित करें", + "BUCKET_NAME": "नाम", + "BUCKET_TYPE": "बकेट प्रकार", + "BUCKET_RANGES": "श्रेणियां", + "BUCKET_NO_RANGES": "अभी तक कोई चूक श्रेणी मौजूद नहीं है। बकेट में कोई समूह बनाने से पहले एक श्रेणी बनाएं।", + "MIN_AGE_DAYS": "न्यूनतम आयु (दिन)", + "MAX_AGE_DAYS": "अधिकतम आयु (दिन)", + "RANGES": "श्रेणियां", + "DELETE_DELINQUENCY_RANGE": "चूक श्रेणी हटाएं", + "CONFIRM_DELETE_DELINQUENCY_RANGE": "चूक श्रेणी \"{{classification}}\" हटाएं? इससे बनी बकेट वह बैंड खो देगी और अगला वर्गीकरण जो शेष है उसका उपयोग करेगा।", + "DELETE_DELINQUENCY_BUCKET": "चूक बकेट हटाएं", + "CONFIRM_DELETE_DELINQUENCY_BUCKET": "चूक बकेट \"{{name}}\" हटाएं? इसका उपयोग करने वाले ऋण उत्पादों को दोबारा वर्गीकरण से पहले अलग बकेट की जरूरत होगी।", + "DELETE_DATA_TABLE": "डेटा तालिका हटाएं", + "CONFIRM_DELETE_DATA_TABLE": "डेटा तालिका \"{{name}}\" हटाएं? तालिका और उसमें दर्ज सभी डेटा हटा दिए जाएंगे।" } -} +} \ No newline at end of file