mirror of
https://github.com/seriousm4x/UpSnap.git
synced 2026-04-05 08:53:55 -04:00
feat: add hindi language (hi-IN)
This commit is contained in:
31
README.md
31
README.md
@@ -138,22 +138,23 @@ Although UpSnap has user authorisation, it is **not recommended to expose it to
|
||||
|
||||
UpSnap is available in the following languages so far:
|
||||
|
||||
- 🇧🇬 **Bulgarian** (bg-BG)
|
||||
- 🇩🇪 **German** (de-DE)
|
||||
- 🇺🇸 **English** (en-US)
|
||||
- 🇪🇸 **Spanish** (es-ES)
|
||||
- 🇫🇷 **French** (fr-FR)
|
||||
- 🇮🇩 **Bahasa Indonesia** (id-ID)
|
||||
- 🇮🇹 **Italian** (it-IT)
|
||||
- 🇯🇵 **Japanese** (ja-JP)
|
||||
- 🇳🇱 **Dutch** (nl-NL)
|
||||
- 🇳🇴 **Norwegian** (nb-NO)
|
||||
- 🇵🇱 **Polish** (pl-PL)
|
||||
- 🇵🇹 **Portuguese** (pt-PT)
|
||||
- 🇺🇦 **Ukrainian** (uk-UA)
|
||||
- 🇻🇳 **Vietnamese** (vi-VN)
|
||||
- 🇧🇬 **Bulgarian (Bulgaria)** (bg-BG)
|
||||
- 🇩🇪 **German (Germany)** (de-DE)
|
||||
- 🇺🇸 **English (United States)** (en-US)
|
||||
- 🇪🇸 **Spanish (Spain)** (es-ES)
|
||||
- 🇫🇷 **French (France)** (fr-FR)
|
||||
- 🇮🇳 **Hindi (India)** (hi-IN)
|
||||
- 🇮🇩 **Bahasa (Indonesia)** (id-ID)
|
||||
- 🇮🇹 **Italian (Italy)** (it-IT)
|
||||
- 🇯🇵 **Japanese (Japan)** (ja-JP)
|
||||
- 🇳🇱 **Dutch (Netherlands)** (nl-NL)
|
||||
- 🇳🇴 **Norwegian (Norway)** (nb-NO)
|
||||
- 🇵🇱 **Polish (Poland)** (pl-PL)
|
||||
- 🇵🇹 **Portuguese (Portugal)** (pt-PT)
|
||||
- 🇺🇦 **Ukrainian (Ukrain)** (uk-UA)
|
||||
- 🇻🇳 **Vietnamese (Vietnam)** (vi-VN)
|
||||
- 🇹🇼 **Chinese (Taiwan)** (zh-TW)
|
||||
- 🇨🇳 **Chinese** (zh-CN)
|
||||
- 🇨🇳 **Chinese (China)** (zh-CN)
|
||||
|
||||
**If you want to contribute and help translating, check the wiki: [How to add languages](https://github.com/seriousm4x/UpSnap/wiki/How-to-add-languages)**
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
"en-US",
|
||||
"es-ES",
|
||||
"fr-FR",
|
||||
"hi-IN",
|
||||
"id-ID",
|
||||
"it-IT",
|
||||
"ja-JP",
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import { getLocale } from '$lib/paraglide/runtime';
|
||||
import type { Locale } from 'date-fns';
|
||||
import { id } from 'date-fns/locale';
|
||||
import { bg } from 'date-fns/locale/bg';
|
||||
import { de } from 'date-fns/locale/de';
|
||||
import { enUS } from 'date-fns/locale/en-US';
|
||||
import { es } from 'date-fns/locale/es';
|
||||
import { fr } from 'date-fns/locale/fr';
|
||||
import { hi } from 'date-fns/locale/hi';
|
||||
import { id } from 'date-fns/locale/id';
|
||||
import { it } from 'date-fns/locale/it';
|
||||
import { ja } from 'date-fns/locale/ja';
|
||||
import { ko } from 'date-fns/locale/ko';
|
||||
@@ -40,6 +41,9 @@ localeStore.subscribe((l: string) => {
|
||||
case 'fr-FR':
|
||||
dateFnsLocale.set(fr);
|
||||
break;
|
||||
case 'hi-IN':
|
||||
dateFnsLocale.set(hi);
|
||||
break;
|
||||
case 'id-ID':
|
||||
dateFnsLocale.set(id);
|
||||
break;
|
||||
|
||||
@@ -20,18 +20,19 @@
|
||||
'en-US': '🇺🇸',
|
||||
'es-ES': '🇪🇸',
|
||||
'fr-FR': '🇫🇷',
|
||||
'hi-IN': '🇮🇳',
|
||||
'id-ID': '🇮🇩',
|
||||
'it-IT': '🇮🇹',
|
||||
'ja-JP': '🇯🇵',
|
||||
'ko-KR': '🇰🇷',
|
||||
'nl-NL': '🇳🇱',
|
||||
'nb-NO': '🇳🇴',
|
||||
'nl-NL': '🇳🇱',
|
||||
'pl-PL': '🇵🇱',
|
||||
'pt-PT': '🇵🇹',
|
||||
'uk-UA': '🇺🇦',
|
||||
'vi-VN': '🇻🇳',
|
||||
'zh-TW': '🇹🇼',
|
||||
'zh-CN': '🇨🇳'
|
||||
'zh-CN': '🇨🇳',
|
||||
'zh-TW': '🇹🇼'
|
||||
};
|
||||
|
||||
// password change
|
||||
|
||||
195
frontend/translations/hi-IN.json
Normal file
195
frontend/translations/hi-IN.json
Normal file
@@ -0,0 +1,195 @@
|
||||
{
|
||||
"$schema": "https://inlang.com/schema/inlang-message-format",
|
||||
"account_account_type_admin": "प्रशासक",
|
||||
"account_account_type_user": "उपयोगकर्ता",
|
||||
"account_avatar_title": "अवतार",
|
||||
"account_change_password_body": "पासवर्ड बदलने के बाद आपको फिर से लॉगिन करना होगा।",
|
||||
"account_change_password_confirm": "पासवर्ड की पुष्टि करें",
|
||||
"account_change_password_label": "पुराना पासवर्ड",
|
||||
"account_change_password_new": "नया पासवर्ड",
|
||||
"account_change_password_title": "पासवर्ड बदलें",
|
||||
"account_language_title": "भाषा",
|
||||
"account_page_title": "खाता",
|
||||
"buttons_add": "जोड़ें",
|
||||
"buttons_cancel": "रद्द करें",
|
||||
"buttons_change": "बदलें",
|
||||
"buttons_confirm": "पुष्टि करें",
|
||||
"buttons_delete": "हटाएँ",
|
||||
"buttons_reset": "रीसेट करें",
|
||||
"buttons_save": "सहेजें",
|
||||
"device_card_btn_more_edit": "संपादित करें",
|
||||
"device_card_btn_more_reboot": "रीबूट करें",
|
||||
"device_card_btn_more_sleep": "स्लीप",
|
||||
"device_card_btn_more": "अधिक",
|
||||
"device_card_nic_tooltip_pending": "लंबित",
|
||||
"device_card_nic_tooltip_power_no_permission": "इस डिवाइस को चालू करने की अनुमति नहीं है",
|
||||
"device_card_nic_tooltip_power": "चालू करें",
|
||||
"device_card_nic_tooltip_shutdown_no_cmd": "कोई शटडाउन कमांड सेट नहीं है",
|
||||
"device_card_nic_tooltip_shutdown_no_permission": "इस डिवाइस को बंद करने की अनुमति नहीं है",
|
||||
"device_card_nic_tooltip_shutdown": "बंद करें",
|
||||
"device_card_password": "पासवर्ड",
|
||||
"device_card_tooltip_last_status_change": "अंतिम स्थिति परिवर्तन",
|
||||
"device_card_tooltip_shutdown_cron": "शटडाउन क्रोन",
|
||||
"device_card_tooltip_wake_cron": "वेक क्रोन",
|
||||
"device_card_tooltip_wake_password": "वेक पासवर्ड",
|
||||
"device_general_description_placeholder": "डिवाइस का कुछ विवरण",
|
||||
"device_general_description": "विवरण",
|
||||
"device_general_ip": "IP",
|
||||
"device_general_mac": "Mac",
|
||||
"device_general_name": "नाम",
|
||||
"device_general_netmask": "नेटमास्क",
|
||||
"device_general_required_field": "आवश्यक फ़ील्ड",
|
||||
"device_general": "सामान्य",
|
||||
"device_groups_desc": "आप डिवाइस को समूह में जोड़ सकते हैं ताकि डैशबोर्ड पर वे समूह अनुसार दिखाई दें।",
|
||||
"device_groups_placeholder": "उदा. 'तहखाना' या 'कार्यालय'",
|
||||
"device_groups": "समूह",
|
||||
"device_link_desc": "आपके डिवाइस का नाम क्लिक करने योग्य लिंक बनाता है, जैसे डैशबोर्ड से लिंक करना।",
|
||||
"device_link_open_new_tab": "नया टैब",
|
||||
"device_link_open_no": "नहीं",
|
||||
"device_link_open_same_tab": "उसी टैब में",
|
||||
"device_link_open": "लिंक स्वचालित रूप से खोलें",
|
||||
"device_link": "लिंक",
|
||||
"device_modal_confirm_shutdown_desc": "कृपया {device} को बंद करने की पुष्टि करें।",
|
||||
"device_modal_confirm_shutdown_title": "{device} को बंद करें?",
|
||||
"device_modal_confirm_wake_desc": "कृपया {device} को जगाने की पुष्टि करें।",
|
||||
"device_modal_confirm_wake_title": "{device} को जगाएँ?",
|
||||
"device_network_scan_add_all": "सभी डिवाइस जोड़ें",
|
||||
"device_network_scan_desc": "अपने नेटवर्क को स्वचालित रूप से डिवाइस के लिए स्कैन करें। इसके लिए UpSnap को root/admin के रूप में चलाना होगा और nmap आपके $PATH में इंस्टॉल होना चाहिए (Docker उपयोगकर्ताओं के लिए यह पहले से है, आपको कुछ करने की आवश्यकता नहीं)। स्कैन में कुछ सेकंड लग सकते हैं।",
|
||||
"device_network_scan_include_unknown": "उन डिवाइसों को शामिल करें जिनका नाम \"Unknown\" है",
|
||||
"device_network_scan_ip_range": "IP रेंज",
|
||||
"device_network_scan_ip": "IP:",
|
||||
"device_network_scan_mac_vendor": "Mac विक्रेता:",
|
||||
"device_network_scan_mac": "Mac:",
|
||||
"device_network_scan_netmask": "नेटमास्क:",
|
||||
"device_network_scan_new_netmask": "नया नेटमास्क",
|
||||
"device_network_scan_no_range": "कोई स्कैन रेंज नहीं",
|
||||
"device_network_scan_range_saved": "स्कैन रेंज सहेजा गया",
|
||||
"device_network_scan_replace_netmask": "सभी डिवाइस के लिए नेटमास्क बदलें?",
|
||||
"device_network_scan_running": "स्कैन चल रहा है",
|
||||
"device_network_scan_unsaved_changes": "असहेजे गए परिवर्तन",
|
||||
"device_network_scan": "स्कैन",
|
||||
"device_page_title": "नया डिवाइस",
|
||||
"device_password_desc": "कुछ नेटवर्क कार्ड में मैजिक पैकेट के लिए पासवर्ड सेट करने का विकल्प होता है, जिसे <span class=\"badge\">SecureON</span> कहा जाता है। पासवर्ड केवल 0, 4 या 6 अक्षरों का हो सकता है।",
|
||||
"device_password": "पासवर्ड",
|
||||
"device_ping_cmd": "कस्टम पिंग कमांड",
|
||||
"device_ping_desc": "आप यह देखने के लिए कस्टम शेल कमांड का उपयोग कर सकते हैं कि डिवाइस चालू है या नहीं। यदि कमांड <span class=\"badge\">0</span> एग्ज़िट कोड लौटाता है, तो डिवाइस चालू माना जाएगा, अन्यथा बंद।",
|
||||
"device_ping": "पिंग",
|
||||
"device_ports_add_new": "नया पोर्ट जोड़ें",
|
||||
"device_ports_desc": "UpSnap यह भी जांच सकता है कि दिए गए पोर्ट खुले हैं या नहीं।",
|
||||
"device_ports_name": "नाम",
|
||||
"device_ports_number": "संख्या",
|
||||
"device_ports": "पोर्ट",
|
||||
"device_require_confirmation": "पुष्टि आवश्यक",
|
||||
"device_shutdown_cmd": "शटडाउन कमांड",
|
||||
"device_shutdown_cron_desc": "जैसे डिवाइस को जगाने के लिए क्रोन सेट किया जाता है, वैसे ही आप इसे बंद करने के लिए भी क्रोन शेड्यूल कर सकते हैं।",
|
||||
"device_shutdown_cron_enable": "शटडाउन क्रोन सक्षम करें",
|
||||
"device_shutdown_cron": "शटडाउन क्रोन",
|
||||
"device_shutdown_desc": "यह <strong>शेल कमांड</strong> आपके कंटेनर (यदि आप docker का उपयोग कर रहे हैं) या आपके होस्ट पर चलेगा। यह काम करता है या नहीं, इसकी जाँच आप पहले अपने कंटेनर या होस्ट शेल पर कर सकते हैं। सामान्य कमांड्स हैं <span class=\"badge\">net rpc</span> (Windows के लिए), <span class=\"badge\">sshpass</span> (Linux के लिए), या <span class=\"badge\">curl</span> (वेब रिक्वेस्ट के लिए)।",
|
||||
"device_shutdown_examples_linux": "दूरस्थ Linux मशीन बंद करें:",
|
||||
"device_shutdown_examples_windows": "दूरस्थ Windows मशीन बंद करें:",
|
||||
"device_shutdown_examples": "उदाहरण:",
|
||||
"device_shutdown_timeout": "शटडाउन समयसीमा (सेकंड)",
|
||||
"device_shutdown": "शटडाउन",
|
||||
"device_sol_authorization": "प्रमाणीकरण",
|
||||
"device_sol_desc1": "आप <a class=\"link\" href=\"https://github.com/SR-G/sleep-on-lan\" target=\"_blank\">Sleep-On-LAN</a> टूल का उपयोग करके कंप्यूटर को स्लीप पर डाल सकते हैं। यह एक बाहरी टूल/डेमन है जो लक्षित पीसी पर चलता है और REST एंडपॉइंट उपलब्ध कराता है। सेटअप के लिए <a href=\"https://github.com/SR-G/sleep-on-lan#usage\" class=\"link\" target=\"_blank\">Usage</a> देखें।",
|
||||
"device_sol_desc2": "SOL HTTP पर अनुरोध भेजने के लिए कॉन्फ़िगर किया गया है ताकि प्राधिकरण सक्षम हो और अनुरोध अधिक विश्वसनीय हों।",
|
||||
"device_sol_desc3": "कृपया सुनिश्चित करें कि आपने <span class=\"badge\">HTTP:<YOURPORT></span> को <span class=\"badge\">Listeners</span> अनुभाग में शामिल किया है।",
|
||||
"device_sol_enable": "Sleep-On-LAN सक्षम करें",
|
||||
"device_sol_password": "SOL पासवर्ड",
|
||||
"device_sol_port": "SOL पोर्ट",
|
||||
"device_sol_user": "SOL उपयोगकर्ता",
|
||||
"device_sol": "Sleep-On-LAN",
|
||||
"device_tabs.0": "मैनुअल",
|
||||
"device_tabs.1": "नेटवर्क स्कैन",
|
||||
"device_wake_cmd": "कस्टम वेक कमांड",
|
||||
"device_wake_cron_enable": "वेक क्रोन सक्षम करें",
|
||||
"device_wake_cron": "वेक क्रोन",
|
||||
"device_wake_desc": "आप इस डिवाइस को निर्धारित क्रोन जॉब से चालू कर सकते हैं।",
|
||||
"device_wake_timeout": "वेक समयसीमा (सेकंड)",
|
||||
"device_wake": "जगाएँ",
|
||||
"home_add_first_device": "अपना पहला डिवाइस जोड़ें",
|
||||
"home_grant_permissions": "कृपया मौजूदा डिवाइस तक पहुँच या नए बनाने की अनुमति के लिए व्यवस्थापक से पूछें।",
|
||||
"home_no_devices": "यहाँ कोई डिवाइस नहीं है।",
|
||||
"home_order_groups": "समूह",
|
||||
"home_order_ip": "IP",
|
||||
"home_order_name": "नाम",
|
||||
"home_order_tooltip": "क्रम",
|
||||
"home_page_title": "होम",
|
||||
"home_search_placeholder": "डिवाइस खोजें",
|
||||
"home_wake_group": "समूह जगाएँ",
|
||||
"login_btn_login": "लॉगिन",
|
||||
"login_btn_more": "अधिक",
|
||||
"login_email_label": "ईमेल या उपयोगकर्ता नाम:",
|
||||
"login_menu_title_auth_providers": "अन्य ऑथ प्रोवाइडर",
|
||||
"login_password_label": "पासवर्ड:",
|
||||
"login_welcome": "स्वागत है",
|
||||
"navbar_edit_account": "खाता संपादित करें",
|
||||
"navbar_logout": "लॉगआउट",
|
||||
"navbar_new": "नया",
|
||||
"navbar_theme": "थीम",
|
||||
"settings_icon_desc": "एक कस्टम favicon सेट करें। समर्थित फ़ाइल प्रकार हैं:",
|
||||
"settings_icon_title": "आइकन",
|
||||
"settings_invalid_cron": "❌ अमान्य क्रोन सिंटैक्स",
|
||||
"settings_lazy_ping_desc": "जब Lazy Ping चालू होता है, UpSnap केवल तब पिंग करेगा जब कोई सक्रिय उपयोगकर्ता वेबसाइट पर हो। बंद होने पर यह हमेशा पिंग करेगा।",
|
||||
"settings_lazy_ping_enable": "सक्रिय करें",
|
||||
"settings_lazy_ping_title": "Lazy पिंग",
|
||||
"settings_page_title": "सेटिंग्स",
|
||||
"settings_ping_interval_desc1": "वह अंतराल निर्धारित करता है जिसमें डिवाइस पिंग किए जाते हैं। डिफ़ॉल्ट मान (<span class=\"badge\">*/3 * * * * *</span>) के लिए खाली छोड़ दें।",
|
||||
"settings_ping_interval_desc2": "क्रोन की सही सिंटैक्स के बारे में अधिक जानने के लिए <a class=\"link\" href=\"https://en.wikipedia.org/wiki/Cron\" target=\"_blank\">Wikipedia</a> या <a class=\"link\" href=\"https://github.com/harrisiirak/cron-parser\" target=\"_blank\">पैकेज दस्तावेज़</a> देखें।",
|
||||
"settings_ping_interval_title": "पिंग अंतराल",
|
||||
"settings_upsnap_version": "UpSnap संस्करण",
|
||||
"settings_website_title_desc": "वेबसाइट का शीर्षक और ब्राउज़र टैब में प्रदर्शित शीर्षक सेट करें।",
|
||||
"settings_website_title_title": "वेबसाइट शीर्षक",
|
||||
"toasts_admin_saved": "व्यवस्थापक सहेजा गया",
|
||||
"toasts_device_created": "{device} बनाया गया",
|
||||
"toasts_device_deleted": "{device} हटाया गया",
|
||||
"toasts_device_updated": "{device} अपडेट किया गया",
|
||||
"toasts_devices_created_multiple": "{count} डिवाइस बनाए गए",
|
||||
"toasts_group_created": "समूह {group} बनाया गया",
|
||||
"toasts_group_deleted": "समूह {group} हटाया गया",
|
||||
"toasts_no_permission": "आपको {url} पर जाने की अनुमति नहीं है",
|
||||
"toasts_password_changed": "पासवर्ड बदल दिया गया। कृपया फिर से लॉगिन करें।",
|
||||
"toasts_passwords_missmatch": "पासवर्ड मेल नहीं खाते",
|
||||
"toasts_permissions_created": "{username} के लिए अनुमतियाँ बनाई गईं",
|
||||
"toasts_permissions_deleted": "{username} के लिए अनुमतियाँ हटाई गईं",
|
||||
"toasts_permissions_updated_personal": "आपकी अनुमतियाँ अपडेट की गईं",
|
||||
"toasts_permissions_updated": "{username} के लिए अनुमतियाँ अपडेट की गईं",
|
||||
"toasts_settings_saved": "सेटिंग्स सहेजी गईं",
|
||||
"toasts_user_created": "उपयोगकर्ता {username} बनाया गया",
|
||||
"toasts_user_deleted": "उपयोगकर्ता {username} हटाया गया",
|
||||
"toasts_user_saved": "उपयोगकर्ता सहेजा गया",
|
||||
"users_allow_create_devices": "{username} को नए डिवाइस बनाने और डिवाइस समूह संपादित करने की अनुमति दें",
|
||||
"users_confirm_delete_desc": "क्या आप वाकई {username} को हटाना चाहते हैं?",
|
||||
"users_confirm_delete_title": "हटाने की पुष्टि करें",
|
||||
"users_create_new_device": "नया डिवाइस बनाएँ",
|
||||
"users_create_new_user": "नया उपयोगकर्ता बनाएँ",
|
||||
"users_delete": "हटाएँ",
|
||||
"users_device_permissions": "डिवाइस अनुमतियाँ",
|
||||
"users_page_title": "उपयोगकर्ता",
|
||||
"users_password_confirm": "पासवर्ड की पुष्टि करें",
|
||||
"users_password": "पासवर्ड",
|
||||
"users_power": "पावर",
|
||||
"users_read": "रीड",
|
||||
"users_required_field": "आवश्यक फ़ील्ड",
|
||||
"users_toggle": "टॉगल",
|
||||
"users_update": "अपडेट करें",
|
||||
"users_username": "उपयोगकर्ता नाम",
|
||||
"welcome_not_expected_back": "मुझे वापस ले चलो",
|
||||
"welcome_not_expected_desc": "आपने पहले ही सेटअप पूरा कर लिया है! कुछ भी करने की आवश्यकता नहीं।",
|
||||
"welcome_not_expected_title": "मैंने आपको यहाँ देखने की उम्मीद नहीं की थी! 🧐",
|
||||
"welcome_progress_step1": "स्वागत है",
|
||||
"welcome_progress_step2": "खाता बनाएँ",
|
||||
"welcome_progress_step3": "पूर्ण",
|
||||
"welcome_step1_page_title": "UpSnap में आपका स्वागत है 🥳",
|
||||
"welcome_step1_setup_btn_next": "आगे",
|
||||
"welcome_step1_setup_desc": "कृपया सेटअप पूरा करने के लिए निम्नलिखित चरण पूरे करें।",
|
||||
"welcome_step2_btn_create": "बनाएँ",
|
||||
"welcome_step2_label_email": "ईमेल:",
|
||||
"welcome_step2_label_min_chars": "न्यूनतम 10 अक्षर",
|
||||
"welcome_step2_label_password_confirm": "पासवर्ड की पुष्टि:",
|
||||
"welcome_step2_label_password": "पासवर्ड:",
|
||||
"welcome_step2_page_title": "प्रशासक खाता बनाएँ",
|
||||
"welcome_step3_btn_done": "चलो शुरू करें!",
|
||||
"welcome_step3_page_desc": "डैशबोर्ड में कुछ डिवाइस जोड़ें।",
|
||||
"welcome_step3_page_title": "सब तैयार है! 🎉"
|
||||
}
|
||||
Reference in New Issue
Block a user