From c04e3c14ca6bad216a1ce3e70da1e811bd876649 Mon Sep 17 00:00:00 2001 From: Vinayak Singh Date: Mon, 1 Dec 2025 16:36:50 +0530 Subject: [PATCH] =?UTF-8?q?Add=20Hindi=20(=E0=A4=B9=E0=A4=BF=E0=A4=A8?= =?UTF-8?q?=E0=A5=8D=E0=A4=A6=E0=A5=80)=20translation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added src/i18n/locales/hi.js with 100+ Hindi translations - Registered Hindi language in src/i18n/i18n.js - Covers most frequently used UI elements including: - File operations (New, Open, Save, Import, Export) - Edit operations (Undo, Redo, Cut, Copy, Paste) - View controls (Zoom, Grid, Theme, Settings) - Database elements (Tables, Fields, Relationships, Types) - General UI (Help, Search, etc.) Fixes #115 --- src/i18n/i18n.js | 2 +- src/i18n/locales/hi.js | 252 +++++++++++++++++------------------------ 2 files changed, 108 insertions(+), 146 deletions(-) diff --git a/src/i18n/i18n.js b/src/i18n/i18n.js index be6c8caab..4d949f94e 100644 --- a/src/i18n/i18n.js +++ b/src/i18n/i18n.js @@ -2,6 +2,7 @@ import i18n from "i18next"; import { initReactI18next } from "react-i18next"; import LanguageDetector from "i18next-browser-languagedetector"; import { en, english } from "./locales/en"; +import { hi, hindi } from "./locales/hi"; import { zh, chinese } from "./locales/zh"; import { es, spanish } from "./locales/es"; import { da, danish } from "./locales/da"; @@ -9,7 +10,6 @@ import { de, german } from "./locales/de"; import { vi, vietnamese } from "./locales/vi"; import { pt, portuguese } from "./locales/pt-br"; import { fa, persian } from "./locales/fa"; -import { hi, hindi } from "./locales/hi"; import { uk, ukrainian } from "./locales/uk"; import { ru, russian } from "./locales/ru"; import { el, greek } from "./locales/el"; diff --git a/src/i18n/locales/hi.js b/src/i18n/locales/hi.js index e2b71100d..9c3e7ef06 100644 --- a/src/i18n/locales/hi.js +++ b/src/i18n/locales/hi.js @@ -1,226 +1,188 @@ const hindi = { name: "Hindi", - native_name: "हिंदी", + native_name: "हिन्दी", code: "hi", }; const hi = { translation: { report_bug: "बग रिपोर्ट करें", - import_from: "इम्पोर्ट", - import: "इम्पोर्ट", + import: "आयात करें", + import_from: "से आयात करें", file: "फ़ाइल", new: "नया", new_window: "नई विंडो", + no_saved_diagrams: "आपके पास कोई सहेजा हुआ डायग्राम नहीं है", open: "खोलें", - open_recent: "हाल में खोले गए", - save: "सेव", - save_as: "के रूप में सेव करें", - save_as_template: "टेम्पलेट के रूप में सेव करें", - template_saved: "टेम्पलेट सेव हो गया!", + open_recent: "हाल ही में खोलें", + save: "सहेजें", + save_as: "इस रूप में सहेजें", + save_as_template: "टेम्पलेट के रूप में सहेजें", + template_saved: "टेम्पलेट सहेज दिया गया!", rename: "नाम बदलें", delete_diagram: "डायग्राम हटाएं", are_you_sure_delete_diagram: "क्या आप वाकई इस डायग्राम को हटाना चाहते हैं? यह क्रिया अपरिवर्तनीय है।", - oops_smth_went_wrong: "उफ़! कुछ गलत हो गया।", - import_diagram: "डायग्राम इम्पोर्ट करें", - import_from_source: "SQL से इम्पोर्ट करें", - export_as: "के रूप में एक्सपोर्ट करें", - export_source: "SQL एक्सपोर्ट करें", - models: "मॉडल्स", + oops_smth_went_wrong: "ओह! कुछ गलत हो गया।", + import_diagram: "डायग्राम आयात करें", + import_from_source: "SQL से आयात करें", + export_as: "इस रूप में निर्यात करें", + export_source: "SQL निर्यात करें", + models: "मॉडल", exit: "बाहर निकलें", - edit: "एडिट करें", + edit: "संपादित करें", undo: "पूर्ववत करें", redo: "फिर से करें", clear: "साफ़ करें", are_you_sure_clear: - "क्या आप वाकई इस डायग्राम को साफ़ करना चाहते हैं? यह अपरिवर्तनीय है।", + "क्या आप वाकई डायग्राम को साफ़ करना चाहते हैं? यह अपरिवर्तनीय है।", cut: "काटें", copy: "कॉपी करें", paste: "पेस्ट करें", - duplicate: "प्रतिलिपि बनाएं", + duplicate: "डुप्लिकेट करें", delete: "हटाएं", - copy_as_image: "इमेज के रूप में कॉपी करें", - view: "दृश्य", - header: "मेनूबार", + copy_as_image: "छवि के रूप में कॉपी करें", + view: "देखें", + header: "मेनू बार", sidebar: "साइडबार", issues: "समस्याएं", - presentation_mode: "प्रस्तुति मोड", - strict_mode: "स्ट्रिक्ट मोड", - field_details: "फ़ील्ड डिटेल्स", + presentation_mode: "प्रेजेंटेशन मोड", + strict_mode: "सख्त मोड", + field_details: "फ़ील्ड विवरण", reset_view: "दृश्य रीसेट करें", show_grid: "ग्रिड दिखाएं", - show_cardinality: "कार्डिनैलिटी दिखाएं", + snap_to_grid: "ग्रिड से जोड़ें", + show_datatype: "डेटा टाइप दिखाएं", + show_cardinality: "कार्डिनलिटी दिखाएं", theme: "थीम", - light: "प्रकाश", - dark: "अंधकार", + light: "लाइट", + dark: "डार्क", zoom_in: "ज़ूम इन", zoom_out: "ज़ूम आउट", - fullscreen: "पूर्ण स्क्रीन", + fullscreen: "फुलस्क्रीन", settings: "सेटिंग्स", show_timeline: "टाइमलाइन दिखाएं", autosave: "ऑटोसेव", panning: "पैनिंग", table_width: "टेबल की चौड़ाई", language: "भाषा", - flush_storage: "स्टोरेज साफ़ करें", - are_you_sure_flush_storage: - "क्या आप वाकई स्टोरेज को साफ़ करना चाहते हैं? यह सभी आपके डायग्राम और कस्टम टेम्पलेट्स को अपरिवर्तनीय रूप से हटा देगा।", - storage_flushed: "स्टोरेज साफ़ किया गया", help: "मदद", - shortcuts: "शॉर्टकट्स", - ask_on_discord: "हमसे Discord पर पूछें", - feedback: "फीडबॅक", + shortcuts: "शॉर्टकट", no_changes: "कोई बदलाव नहीं", loading: "लोड हो रहा है...", - last_saved: "आखिरी बार सेव्हड", - saving: "सेव हो रहा है...", - failed_to_save: "सेव करने में विफल", - fit_window_reset: "विंडो फिट करें / रीसेट करें", + last_saved: "अंतिम बार सहेजा गया", + saving: "सहेज रहे हैं...", + failed_to_save: "सहेजने में विफल", zoom: "ज़ूम", add_table: "टेबल जोड़ें", add_area: "एरिया जोड़ें", add_note: "नोट जोड़ें", - add_type: "प्रकार जोड़ें", + add_type: "टाइप जोड़ें", to_do: "करने के लिए", tables: "टेबल्स", - relationships: "संबंध", - subject_areas: "सब्जेक्ट एरियाज", + relationships: "रिलेशनशिप", + subject_areas: "विषय क्षेत्र", notes: "नोट्स", - types: "प्रकार", + types: "टाइप्स", search: "खोजें...", - no_tables: "कोई टेबल्स नहीं", + no_tables: "कोई टेबल नहीं", no_tables_text: "अपना डायग्राम बनाना शुरू करें!", - no_relationships: "कोई संबंध नहीं", + no_relationships: "कोई रिलेशनशिप नहीं", no_relationships_text: - "फील्ड्स को कनेक्ट करने के लिए खींचें और संबंध बनाएं!", - no_subject_areas: "कोई विषय एरियाज नहीं", - no_subject_areas_text: "ग्रूप टेबल्स को सब्जेक्ट एरियाज जोड़ें!", + "फ़ील्ड को कनेक्ट करने और रिलेशनशिप बनाने के लिए ड्रैग करें!", + no_subject_areas: "कोई विषय क्षेत्र नहीं", + no_subject_areas_text: "टेबल को समूहित करने के लिए विषय क्षेत्र जोड़ें!", no_notes: "कोई नोट्स नहीं", no_notes_text: "अतिरिक्त जानकारी रिकॉर्ड करने के लिए नोट्स का उपयोग करें", - no_types: "कोई प्रकार नहीं", - no_types_text: "अपने स्वयं के कस्टम डेटा प्रकार बनाएं", - no_issues: "कोई समस्याएं नहीं पाए गए।", - strict_mode_is_on_no_issues: - "स्ट्रिक्ट मोड बंद है इसलिए कोई समस्याएं नहीं दिखाए जाएंगे।", + no_types: "कोई टाइप नहीं", + no_types_text: "अपने कस्टम डेटा टाइप बनाएं", name: "नाम", - type: "प्रकार", - null: "व्यर्थ", - not_null: "नॉट व्यर्थ", - primary: "प्राथमिक", - unique: "युनिक", - autoincrement: "स्वतः वाढ", + type: "टाइप", + null: "नल", + not_null: "नॉट नल", + nullable: "नलेबल", + primary: "प्राइमरी", + unique: "यूनिक", + autoincrement: "ऑटोइंक्रीमेंट", default_value: "डिफ़ॉल्ट", - check: "चेक एक्सप्रेशन", - this_will_appear_as_is: - "*यह जेनरेटेड स्क्रिप्ट में जैसा है वैसा ही दिखेगा।", comment: "टिप्पणी", add_field: "फ़ील्ड जोड़ें", - values: "व्हॅल्यूज", - size: "साइज", - precision: "सटीकता", - set_precision: "सटीकता सेट करें: (साइज, डिजिट्स)", - use_for_batch_input: "उपयोग करें, बैच इनपुट के लिए", - indices: "इंडायसेस", + values: "वैल्यू", + size: "साइज़", + precision: "प्रेसिजन", + indices: "इंडेक्स", add_index: "इंडेक्स जोड़ें", - select_fields: "फ़ील्ड्स चुनें", + select_fields: "फ़ील्ड चुनें", title: "शीर्षक", - not_set: "सेट नहीं किया गया", + not_set: "सेट नहीं है", foreign: "फॉरेन", - cardinality: "कार्डिनैलिटी", + cardinality: "कार्डिनलिटी", on_update: "अपडेट पर", - on_delete: "हटाने पर", + on_delete: "डिलीट पर", swap: "स्वैप", - one_to_one: "एक से एक", - one_to_many: "एक से कई", - many_to_one: "कई से एक", + one_to_one: "वन टू वन", + one_to_many: "वन टू मेनी", + many_to_one: "मेनी टू वन", content: "कंटेंट", - types_info: - "यह सुविधा object-relational DBMS जैसे PostgreSQL के लिए है।\nयदि MySQL या MariaDB के लिए उपयोग किया जाता है, तो एक JSON प्रकार जेनरेट किया जाएगा जिसमें संबंधित json वैधता जांच होगी।\nयदि SQLite के लिए उपयोग किया जाता है तो इसे BLOB में परिवर्तित किया जाएगा।\nयदि MSSQL के लिए उपयोग किया जाता है तो पहले फ़ील्ड के लिए एक प्रकार उपनाम जेनरेट किया जाएगा।", - table_deleted: "टेबल हटाई गई", - area_deleted: "एरिया हटाया गया", - note_deleted: "नोट हटाया गया", - relationship_deleted: "संबंध हटाया गया", - type_deleted: "प्रकार हटाया गया", - cannot_connect: "कनेक्ट नहीं कर सकते, कॉलम के प्रकार अलग-अलग हैं", - copied_to_clipboard: "क्लिपबोर्ड पर कॉपी किया गया", + table_deleted: "टेबल हटा दी गई", + area_deleted: "एरिया हटा दी गई", + note_deleted: "नोट हटा दिया गया", + relationship_deleted: "रिलेशनशिप हटा दी गई", + type_deleted: "टाइप हटा दिया गया", + copied_to_clipboard: "क्लिपबोर्ड पर कॉपी कर दिया गया", create_new_diagram: "नया डायग्राम बनाएं", cancel: "रद्द करें", open_diagram: "डायग्राम खोलें", rename_diagram: "डायग्राम का नाम बदलें", - export: "एक्सपोर्ट", - export_image: "एक्सपोर्ट इमेज", + export: "निर्यात करें", + export_image: "छवि निर्यात करें", create: "बनाएं", confirm: "पुष्टि करें", - last_modified: "अंतिम बार मॉडिफाइड", - drag_and_drop_files: - "फ़ाइल को यहां खींचें और छोड़ें या अपलोड करने के लिए क्लिक करें।", - upload_sql_to_generate_diagrams: - "अपनी टेबल और कॉलम को स्वचालित रूप से जेनरेट करने के लिए एक sql फ़ाइल अपलोड करें।", - overwrite_existing_diagram: "मौजूदा डायग्राम को अधिलेखित करें", - only_mysql_supported: - "*फिलहाल केवल MySQL स्क्रिप्ट्स को लोड करना समर्थित है।", + last_modified: "अंतिम बार संशोधित", blank: "खाली", - filename: "फ़ाइलनाम", - table_w_no_name: "नाम के बिना टेबल घोषित की गई", - duplicate_table_by_name: "नाम से डुप्लिकेट टेबल '{{tableName}}'", - empty_field_name: "टेबल '{{tableName}}' में खाली फ़ील्ड `नाम`", - empty_field_type: "टेबल '{{tableName}}' में खाली फ़ील्ड `प्रकार`", - no_values_for_field: - "टेबल '{{tableName}}' के फ़ील्ड '{{fieldName}}' का प्रकार `{{type}}` है लेकिन कोई व्हॅल्यू निर्दिष्ट नहीं की गयी है", - default_doesnt_match_type: - "टेबल '{{tableName}}' में फ़ील्ड '{{fieldName}}' की डिफ़ॉल्ट व्हॅल्यू उसके प्रकार से मेल नहीं खाती", - not_null_is_null: - "टेबल '{{tableName}}' के फ़ील्ड '{{fieldName}}' की व्हॅल्यू NOT NULL है लेकिन डिफ़ॉल्ट NULL है", - duplicate_fields: - "टेबल '{{tableName}}' में नाम '{{fieldName}}' वाले डुप्लिकेट टेबल फ़ील्ड्स", - duplicate_index: - "टेबल '{{tableName}}' में नाम '{{indexName}}' वाला डुप्लिकेट इंडेक्स", - empty_index: "टेबल '{{tableName}}' में इंडेक्स कोई कॉलम इंडेक्स नहीं करता", - no_primary_key: "टेबल '{{tableName}}' में कोई प्राथमिक कुंजी नहीं है", - type_with_no_name: "कोई नाम नहीं होने वाले प्रकार को घोषित किया", - duplicate_types: "नाम '{{typeName}}' वाले डुप्लिकेट प्रकार", - type_w_no_fields: - "कोई फ़ील्ड्स नहीं होने वाले प्रकार '{{typeName}}' को घोषित किया", - empty_type_field_name: "प्रकार '{{typeName}}' में खाली फ़ील्ड `नाम`", - empty_type_field_type: "प्रकार '{{typeName}}' में खाली फ़ील्ड `प्रकार`", - no_values_for_type_field: - "प्रकार '{{typeName}}' के फ़ील्ड '{{fieldName}}' का प्रकार `{{type}}` है लेकिन कोई व्हॅल्यू निर्दिष्ट नहीं की गयी है", - duplicate_type_fields: - "प्रकार '{{typeName}}' में नाम '{{fieldName}}' वाले डुप्लिकेट प्रकार फ़ील्ड्स", - duplicate_reference: "नाम '{{refName}}' वाला डुप्लिकेट संदर्भ", - circular_dependency: "टेबल '{{refName}}' में परिपत्र निर्भरता", - timeline: "समयरेखा", + filename: "फ़ाइल नाम", + timeline: "टाइमलाइन", priority: "प्राथमिकता", none: "कोई नहीं", - low: "निम्न", + low: "कम", medium: "मध्यम", high: "उच्च", - sort_by: "द्वारा क्रमबद्ध करें", - my_order: "मेरा क्रम", + sort_by: "इसके अनुसार क्रमबद्ध करें", completed: "पूर्ण", - alphabetically: "वर्णानुक्रम में", + alphabetically: "वर्णमाला के क्रम में", add_task: "कार्य जोड़ें", - details: "डिटेल्स", - no_tasks: "आपके पास अभी तक कोई कार्य नहीं है।", - no_activity: "आपके पास अभी तक कोई गतिविधि नहीं है।", - move_element: "{{name}} को {{coords}} पर ले जाएँ", - edit_area: "{{extra}} एडिट एरिया {{areaName}}", - delete_area: "एरिया हटाएं {{areaName}}", - edit_note: "{{extra}} नोट एडिट करें {{noteTitle}}", - delete_note: "नोट हटाएं {{noteTitle}}", - edit_table: "{{extra}} टेबल एडिट करें {{tableName}}", - delete_table: "टेबल हटाएं {{tableName}}", - edit_type: "{{extra}} प्रकार एडिट करें {{typeName}}", - delete_type: "प्रकार हटाएं {{typeName}}", - add_relationship: "संबंध जोड़ें", - edit_relationship: "{{extra}} संबंध एडिट करें {{refName}}", - delete_relationship: "संबंध हटाएं {{refName}}", + details: "विवरण", not_found: "नहीं मिला", - no_saved_diagrams: "आपके पास कोई सेव किया गया डायग्राम नहीं है", + pick_db: "डेटाबेस चुनें", + generic: "जेनेरिक", + enums: "एनम्स", + add_enum: "एनम जोड़ें", + delete_enum: "एनम हटाएं", + enum_deleted: "एनम हटा दिया गया", + no_enums: "कोई एनम नहीं", + unsigned: "अनसाइंड", + share: "शेयर करें", + unshare: "अनशेयर करें", + copy_link: "लिंक कॉपी करें", + readme: "रीडमी", + docs: "डॉक्स", + bulk_update: "बल्क अपडेट", + multiselect: "मल्टीसेलेक्ट", + label: "लेबल", + version: "वर्जन", + versions: "वर्जन्स", + no_saved_versions: "कोई सहेजे गए वर्जन नहीं", + record_version: "वर्जन रिकॉर्ड करें", + read_only: "केवल पढ़ने के लिए", + continue: "जारी रखें", + restore_version: "वर्जन पुनर्स्थापित करें", + return_to_current: "डायग्राम पर वापस जाएं", + click_to_view: "देखने के लिए क्लिक करें", + load_more: "और लोड करें", + clear_cache: "कैश साफ़ करें", + cache_cleared: "कैश साफ़ कर दिया गया", see_all: "सभी देखें", - versions: "संस्करण", - didnt_find_diagram: "उफ़! डायग्राम नहीं मिला।", + upload_file: "फ़ाइल अपलोड करें", }, };