feat: add Hindi language support

This commit is contained in:
codytseng
2025-09-07 13:25:50 +08:00
parent 647f9062f8
commit f2bb65acf0
3 changed files with 413 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import en from './locales/en'
import es from './locales/es'
import fa from './locales/fa'
import fr from './locales/fr'
import hi from './locales/hi'
import it from './locales/it'
import ja from './locales/ja'
import ko from './locales/ko'
@@ -25,6 +26,7 @@ const languages = {
es: { resource: es, name: 'Español' },
fa: { resource: fa, name: 'فارسی' },
fr: { resource: fr, name: 'Français' },
hi: { resource: hi, name: 'हिन्दी' },
it: { resource: it, name: 'Italiano' },
ja: { resource: ja, name: '日本語' },
ko: { resource: ko, name: '한국어' },
@@ -81,6 +83,7 @@ i18n.services.formatter?.add('date', (timestamp, lng) => {
case 'pt-BR':
case 'pt-PT':
case 'ar':
case 'hi':
case 'th':
return dayjs(timestamp).format('DD/MM/YYYY')
case 'ko':

406
src/i18n/locales/hi.ts Normal file
View File

@@ -0,0 +1,406 @@
export default {
translation: {
'Welcome! 🥳': 'स्वागत है! 🥳',
About: 'के बारे में',
'New Note': 'नया नोट',
Post: 'पोस्ट',
Home: 'होम',
'Relay settings': 'रिले सेटिंग्स',
Settings: 'सेटिंग्स',
SidebarRelays: 'रिले',
Refresh: 'रीफ्रेश',
Profile: 'प्रोफ़ाइल',
Logout: 'लॉगआउट',
Following: 'फॉलो कर रहे हैं',
followings: 'फॉलोइंग',
reposted: 'रीपोस्ट किया',
'just now': 'अभी',
'n minutes ago': '{{n}} मिनट पहले',
'n m': '{{n}}मि',
'n hours ago': '{{n}} घंटे पहले',
'n h': '{{n}}घं',
'n days ago': '{{n}} दिन पहले',
'n d': '{{n}}दि',
date: '{{timestamp, date}}',
Follow: 'फॉलो करें',
Unfollow: 'अनफॉलो करें',
'Follow failed': 'फॉलो असफल',
'Unfollow failed': 'अनफॉलो असफल',
'show new notes': 'नए नोट्स दिखाएं',
'loading...': 'लोड हो रहा है...',
'Loading...': 'लोड हो रहा है...',
'no more notes': 'कोई और नोट नहीं',
'reply to': 'का उत्तर',
reply: 'उत्तर',
Reply: 'उत्तर',
'load more older replies': 'अधिक पुराने उत्तर लोड करें',
'Write something...': 'कुछ लिखें...',
Cancel: 'रद्द करें',
Mentions: 'उल्लेख',
'Failed to post': 'पोस्ट असफल',
'Post successful': 'पोस्ट सफल',
'Your post has been published': 'आपकी पोस्ट प्रकाशित हो गई है',
Repost: 'रीपोस्ट',
Quote: 'उद्धरण',
'Copy event ID': 'इवेंट आईडी कॉपी करें',
'Copy user ID': 'यूजर आईडी कॉपी करें',
'View raw event': 'कच्चा इवेंट देखें',
Like: 'पसंद',
'switch to light theme': 'लाइट थीम पर स्विच करें',
'switch to dark theme': 'डार्क थीम पर स्विच करें',
'switch to system theme': 'सिस्टम थीम पर स्विच करें',
Note: 'नोट',
note: 'नोट',
"username's following": '{{username}} के फॉलोइंग',
"username's used relays": '{{username}} के उपयोग किए गए रिले',
"username's muted": '{{username}} के म्यूट किए गए',
Login: 'लॉगिन',
'Follows you': 'आपको फॉलो करता है',
'Relay Settings': 'रिले सेटिंग्स',
'Relay set name': 'रिले सेट नाम',
'Add a new relay set': 'नया रिले सेट जोड़ें',
Add: 'जोड़ें',
'n relays': '{{n}} रिले',
Rename: 'नाम बदलें',
'Copy share link': 'शेयर लिंक कॉपी करें',
Delete: 'हटाएं',
'Relay already exists': 'रिले पहले से मौजूद है',
'invalid relay URL': 'अमान्य रिले URL',
'Add a new relay': 'नया रिले जोड़ें',
back: 'वापस',
'Lost in the void': 'शून्य में खो गया',
'Carry me home': 'मुझे घर ले चलो',
'no replies': 'कोई उत्तर नहीं',
'Reply to': 'का उत्तर दें',
Search: 'खोजें',
'The relays you are connected to do not support search':
'आप जिन रिले से जुड़े हैं वे खोज का समर्थन नहीं करते',
'Show more...': 'और दिखाएं...',
'All users': 'सभी उपयोगकर्ता',
'Display replies': 'उत्तर प्रदर्शित करें',
Notes: 'नोट्स',
Replies: 'उत्तर',
Notifications: 'सूचनाएं',
'no more notifications': 'कोई और सूचनाएं नहीं',
'Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.':
'प्राइवेट की लॉगिन का उपयोग असुरक्षित है। लॉगिन के लिए ब्राउज़र एक्सटेंशन का उपयोग करने की सिफारिश की जाती है, जैसे alby, nostr-keyx या nos2x। यदि आपको प्राइवेट की का उपयोग करना ही है, तो कम से कम एन्क्रिप्शन के लिए पासवर्ड सेट करें।',
'Login with Browser Extension': 'ब्राउज़र एक्सटेंशन से लॉगिन करें',
'Login with Bunker': 'बंकर से लॉगिन करें',
'Login with Private Key': 'प्राइवेट की से लॉगिन करें',
'reload notes': 'नोट्स रीलोड करें',
'Logged in Accounts': 'लॉग इन अकाउंट',
'Add an Account': 'अकाउंट जोड़ें',
'More options': 'अधिक विकल्प',
'Add client tag': 'क्लाइंट टैग जोड़ें',
'Show others this was sent via Jumble':
'दूसरों को दिखाएं कि यह Jumble के माध्यम से भेजा गया था',
'Are you sure you want to logout?': 'क्या आप वाकई लॉगआउट करना चाहते हैं?',
'relay sets': 'रिले सेट',
edit: 'संपादित करें',
Languages: 'भाषाएं',
Theme: 'थीम',
System: 'सिस्टम',
Light: 'लाइट',
Dark: 'डार्क',
Temporary: 'अस्थायी',
'Choose a relay set': 'रिले सेट चुनें',
'Switch account': 'अकाउंट स्विच करें',
Pictures: 'तस्वीरें',
'Picture note': 'तस्वीर नोट',
'A special note for picture-first clients like Olas':
'Olas जैसे पिक्चर-फर्स्ट क्लाइंट के लिए एक विशेष नोट',
'Picture note requires images': 'तस्वीर नोट के लिए इमेज आवश्यक है',
Relays: 'रिले',
Image: 'इमेज',
'R & W': 'R & W',
Read: 'पढ़ें',
Write: 'लिखें',
'Pull relay sets': 'रिले सेट खींचें',
'Select the relay sets you want to pull': 'वे रिले सेट चुनें जिन्हें आप खींचना चाहते हैं',
'No relay sets found': 'कोई रिले सेट नहीं मिला',
'Pull n relay sets': '{{n}} रिले सेट खींचें',
Pull: 'खींचें',
'Select all': 'सभी चुनें',
'Relay Sets': 'रिले सेट',
'Read & Write Relays': 'रीड और राइट रिले',
'read relays description':
'रीड रिले का उपयोग आपके बारे में इवेंट खोजने के लिए किया जाता है। अन्य उपयोगकर्ता आपको दिखाने वाले इवेंट आपके रीड रिले पर प्रकाशित करेंगे।',
'write relays description':
'राइट रिले का उपयोग आपके इवेंट प्रकाशित करने के लिए किया जाता है। अन्य उपयोगकर्ता आपके राइट रिले से आपके इवेंट खोजेंगे।',
'read & write relays notice':
'रीड और राइट सर्वर की संख्या आदर्श रूप से 2 और 4 के बीच रखी जानी चाहिए।',
"Don't have an account yet?": 'अभी तक कोई अकाउंट नहीं है?',
'or simply generate a private key': 'या बस एक प्राइवेट की जेनरेट करें',
'This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.':
'यह एक प्राइवेट की है। इसे किसी के साथ साझा न करें। इसे सुरक्षित रखें। यदि आप इसे खो देते हैं तो आप इसे पुनर्प्राप्त नहीं कर पाएंगे।',
Edit: 'संपादित करें',
Save: 'सेव करें',
'Display Name': 'प्रदर्शन नाम',
Bio: 'बायो',
'Nostr Address (NIP-05)': 'Nostr पता (NIP-05)',
'Invalid NIP-05 address': 'अमान्य NIP-05 पता',
'Copy private key': 'प्राइवेट की कॉपी करें',
'Enter the password to decrypt your ncryptsec':
'अपना ncryptsec डिक्रिप्ट करने के लिए पासवर्ड दर्ज करें',
Back: 'वापस',
'optional: encrypt nsec': 'वैकल्पिक: nsec एन्क्रिप्ट करें',
password: 'पासवर्ड',
'Sign up': 'साइन अप',
'Save to': 'सेव करें',
'Enter a name for the new relay set': 'नए रिले सेट के लिए नाम दर्ज करें',
'Save to a new relay set': 'नए रिले सेट में सेव करें',
Mute: 'म्यूट',
Muted: 'म्यूट किया गया',
Unmute: 'अनम्यूट',
'Unmute user': 'उपयोगकर्ता को अनम्यूट करें',
'Append n relays': '{{n}} रिले जोड़ें',
Append: 'जोड़ें',
'Select relays to append': 'जोड़ने के लिए रिले चुनें',
'calculating...': 'गणना कर रहे हैं...',
'Calculate optimal read relays': 'इष्टतम रीड रिले की गणना करें',
'Login to set': 'सेट करने के लिए लॉगिन करें',
'Please login to view following feed': 'फॉलोइंग फीड देखने के लिए कृपया लॉगिन करें',
'Send only to r': 'केवल {{r}} को भेजें',
'Send only to these relays': 'केवल इन रिले को भेजें',
Explore: 'एक्सप्लोर करें',
'Search relays': 'रिले खोजें',
relayInfoBadgeAuth: 'प्रमाणीकरण',
relayInfoBadgeSearch: 'खोज',
relayInfoBadgePayment: 'भुगतान',
Operator: 'ऑपरेटर',
Contact: 'संपर्क',
Software: 'सॉफ्टवेयर',
Version: 'संस्करण',
'Random Relays': 'रैंडम रिले',
randomRelaysRefresh: 'रीफ्रेश',
'Explore more': 'और एक्सप्लोर करें',
'Payment page': 'भुगतान पेज',
'Supported NIPs': 'समर्थित NIPs',
'Open in a': '{{a}} में खोलें',
'Cannot handle event of kind k': 'प्रकार {{k}} के इवेंट को हैंडल नहीं कर सकते',
'Sorry! The note cannot be found 😔': 'माफ करें! नोट नहीं मिल सका 😔',
'This user has been muted': 'इस उपयोगकर्ता को म्यूट कर दिया गया है',
Wallet: 'वॉलेट',
Sats: 'सैट्स',
sats: 'सैट्स',
'Zap to': 'को जैप करें',
'Zap n sats': '{{n}} सैट्स जैप करें',
zapComment: 'टिप्पणी',
'Default zap amount': 'डिफ़ॉल्ट जैप राशि',
'Default zap comment': 'डिफ़ॉल्ट जैप टिप्पणी',
'Lightning Address (or LNURL)': 'लाइटनिंग पता (या LNURL)',
'Quick zap': 'त्वरित जैप',
'If enabled, you can zap with a single click. Click and hold for custom amounts':
'यदि सक्षम है, तो आप एक क्लिक से जैप कर सकते हैं। कस्टम राशि के लिए क्लिक करके रोकें',
All: 'सभी',
Reactions: 'प्रतिक्रियाएं',
Zaps: 'जैप्स',
'Enjoying Jumble?': 'Jumble का आनंद ले रहे हैं?',
'Your donation helps me maintain Jumble and make it better! 😊':
'आपका दान मुझे Jumble को बनाए रखने और इसे बेहतर बनाने में मदद करता है! 😊',
'Earlier notifications': 'पुरानी सूचनाएं',
'Temporarily display this note': 'इस नोट को अस्थायी रूप से प्रदर्शित करें',
buttonFollowing: 'फॉलो कर रहे हैं',
'Are you sure you want to unfollow this user?':
'क्या आप वाकई इस उपयोगकर्ता को अनफॉलो करना चाहते हैं?',
'Recent Supporters': 'हाल के समर्थक',
'Seen on': 'पर देखा गया',
'Temporarily display this reply': 'इस उत्तर को अस्थायी रूप से प्रदर्शित करें',
'Note not found': 'नोट नहीं मिला',
'no more replies': 'कोई और उत्तर नहीं',
'Relay sets': 'रिले सेट',
'Favorite Relays': 'पसंदीदा रिले',
"Following's Favorites": 'फॉलोइंग के पसंदीदा',
'no more relays': 'कोई और रिले नहीं',
'Favorited by': 'द्वारा पसंदीदा',
'Post settings': 'पोस्ट सेटिंग्स',
'Media upload service': 'मीडिया अपलोड सेवा',
'Choose a relay': 'रिले चुनें',
'no relays found': 'कोई रिले नहीं मिला',
video: 'वीडियो',
'Show n new notes': '{{n}} नए नोट्स दिखाएं',
YouTabName: 'आप',
Bookmark: 'बुकमार्क',
'Remove bookmark': 'बुकमार्क हटाएं',
'no bookmarks found': 'कोई बुकमार्क नहीं मिला',
'no more bookmarks': 'कोई और बुकमार्क नहीं',
Bookmarks: 'बुकमार्क',
'Show more': 'और दिखाएं',
General: 'सामान्य',
Autoplay: 'ऑटोप्ले',
'Enable video autoplay on this device': 'इस डिवाइस पर वीडियो ऑटोप्ले सक्षम करें',
'Paste or drop media files to upload': 'अपलोड करने के लिए मीडिया फाइलें पेस्ट या ड्रॉप करें',
Preview: 'पूर्वावलोकन',
'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?':
'आप [{{eventAuthorName}}] द्वारा हस्ताक्षरित एक इवेंट प्रकाशित करने वाले हैं। आप वर्तमान में [{{currentUsername}}] के रूप में लॉग इन हैं। क्या आप सुनिश्चित हैं?',
'Platinum Sponsors': 'प्लेटिनम स्पॉन्सर',
From: 'से',
'Comment on': 'पर टिप्पणी करें',
'View on njump.me': 'njump.me पर देखें',
'Hide content from untrusted users': 'अविश्वसनीय उपयोगकर्ताओं से सामग्री छुपाएं',
'Only show content from your followed users and the users they follow':
'केवल आपके द्वारा फॉलो किए गए उपयोगकर्ताओं और उनके द्वारा फॉलो किए गए उपयोगकर्ताओं की सामग्री दिखाएं',
'Followed by': 'द्वारा फॉलो किया गया',
'Mute user privately': 'उपयोगकर्ता को निजी रूप से म्यूट करें',
'Mute user publicly': 'उपयोगकर्ता को सार्वजनिक रूप से म्यूट करें',
Quotes: 'उद्धरण',
'Lightning Invoice': 'लाइटनिंग इनवॉइस',
'Bookmark failed': 'बुकमार्क असफल',
'Remove bookmark failed': 'बुकमार्क हटाना असफल',
Translation: 'अनुवाद',
Balance: 'बैलेंस',
characters: 'अक्षर',
jumbleTranslateApiKeyDescription:
'आप इस API की को कहीं भी उपयोग कर सकते हैं जो LibreTranslate का समर्थन करता है। सेवा URL है {{serviceUrl}}',
'Top up': 'टॉप अप',
'Will receive: {n} characters': 'प्राप्त होंगे: {{n}} अक्षर',
'Top up {n} sats': '{{n}} सैट्स टॉप अप करें',
'Minimum top up is {n} sats': 'न्यूनतम टॉप अप {{n}} सैट्स है',
Service: 'सेवा',
'Reset API key': 'API की रीसेट करें',
'Are you sure you want to reset your API key? This action cannot be undone.':
'क्या आप वाकई अपनी API की रीसेट करना चाहते हैं? यह कार्य पूर्ववत नहीं किया जा सकता।',
Warning: 'चेतावनी',
'Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.':
'आपकी वर्तमान API की तुरंत अमान्य हो जाएगी, और इसका उपयोग करने वाले सभी एप्लिकेशन तब तक काम करना बंद कर देंगे जब तक आप उन्हें नई की के साथ अपडेट नहीं करते।',
'Service address': 'सेवा पता',
Pay: 'भुगतान करें',
interactions: 'इंटरैक्शन',
notifications: 'सूचनाएं',
'Show untrusted {type}': 'अविश्वसनीय {{type}} दिखाएं',
'Hide untrusted {type}': 'अविश्वसनीय {{type}} छुपाएं',
'Currently hiding {type} from untrusted users.':
'वर्तमान में अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपा रहे हैं।',
'Currently showing all {type}.': 'वर्तमान में सभी {{type}} दिखा रहे हैं।',
'Click continue to show all {type}.': 'सभी {{type}} दिखाने के लिए जारी रखें पर क्लिक करें।',
'Click continue to hide {type} from untrusted users.':
'अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपाने के लिए जारी रखें पर क्लिक करें।',
'Trusted users include people you follow and people they follow.':
'विश्वसनीय उपयोगकर्ताओं में वे लोग शामिल हैं जिन्हें आप फॉलो करते हैं और जिन्हें वे फॉलो करते हैं।',
Continue: 'जारी रखें',
'Successfully updated mute list': 'म्यूट सूची सफलतापूर्वक अपडेट की गई',
'No pubkeys found from {url}': '{{url}} से कोई pubkeys नहीं मिली',
'Translating...': 'अनुवाद कर रहे हैं...',
Translate: 'अनुवाद करें',
'Show original': 'मूल दिखाएं',
Website: 'वेबसाइट',
'Hide untrusted notes': 'अविश्वसनीय नोट्स छुपाएं',
'Open in another client': 'दूसरे क्लाइंट में खोलें',
Community: 'समुदाय',
Group: 'समूह',
'Live event': 'लाइव इवेंट',
Article: 'लेख',
Unfavorite: 'पसंदीदा से हटाएं',
'Recommended relays': 'अनुशंसित रिले',
'Blossom server URLs': 'ब्लॉसम सर्वर URLs',
'You need to add at least one blossom server in order to upload media files.':
'मीडिया फाइलें अपलोड करने के लिए आपको कम से कम एक ब्लॉसम सर्वर जोड़ना होगा।',
'Recommended blossom servers': 'अनुशंसित ब्लॉसम सर्वर',
'Enter Blossom server URL': 'ब्लॉसम सर्वर URL दर्ज करें',
Preferred: 'प्राथमिकता',
'Multiple choice (select one or more)': 'बहुविकल्पीय (एक या अधिक चुनें)',
Vote: 'वोट',
'{{number}} votes': '{{number}} वोट',
'Total votes': 'कुल वोट',
'Poll has ended': 'पोल समाप्त हो गया',
'Poll ends at {{time}}': 'पोल {{time}} पर समाप्त होता है',
'Load results': 'परिणाम लोड करें',
'This is a poll note.': 'यह एक पोल नोट है।',
'Unlike regular notes, polls are not widely supported and may not display on other clients.':
'नियमित नोट्स के विपरीत, पोल व्यापक रूप से समर्थित नहीं हैं और अन्य क्लाइंट पर प्रदर्शित नहीं हो सकते।',
'Option {{number}}': 'विकल्प {{number}}',
'Add Option': 'विकल्प जोड़ें',
'Allow multiple choices': 'एकाधिक विकल्पों की अनुमति दें',
'End Date (optional)': 'समाप्ति तिथि (वैकल्पिक)',
'Clear end date': 'समाप्ति तिथि साफ़ करें',
'Relay URLs (optional, comma-separated)': 'रिले URLs (वैकल्पिक, कॉमा से अलग)',
'Remove poll': 'पोल हटाएं',
'Refresh results': 'परिणाम रीफ्रेश करें',
Poll: 'पोल',
Media: 'मीडिया',
'Republish to ...': 'पुनः प्रकाशित करें...',
'Successfully republish to your write relays': 'आपके राइट रिले पर सफलतापूर्वक पुनः प्रकाशित',
'Failed to republish to your write relays: {{error}}':
'आपके राइट रिले पर पुनः प्रकाशित करने में असफल: {{error}}',
'Successfully republish to relay set: {{name}}':
'रिले सेट में सफलतापूर्वक पुनः प्रकाशित: {{name}}',
'Failed to republish to relay set: {{name}}. Error: {{error}}':
'रिले सेट में पुनः प्रकाशित करने में असफल: {{name}}। त्रुटि: {{error}}',
'Successfully republish to relay: {{url}}': 'रिले पर सफलतापूर्वक पुनः प्रकाशित: {{url}}',
'Failed to republish to relay: {{url}}. Error: {{error}}':
'रिले पर पुनः प्रकाशित करने में असफल: {{url}}। त्रुटि: {{error}}',
'Write relays': 'राइट रिले',
'No more reactions': 'कोई और प्रतिक्रियाएं नहीं',
'No reactions yet': 'अभी तक कोई प्रतिक्रियाएं नहीं',
'No more zaps': 'कोई और जैप्स नहीं',
'No zaps yet': 'अभी तक कोई जैप्स नहीं',
'No more reposts': 'कोई और रीपोस्ट नहीं',
'No reposts yet': 'अभी तक कोई रीपोस्ट नहीं',
Reposts: 'रीपोस्ट',
FollowListNotFoundConfirmation:
'फॉलो सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को फॉलो किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली फॉलो सूची नष्ट हो जाएगी।',
MuteListNotFoundConfirmation:
'म्यूट सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को म्यूट किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली म्यूट सूची नष्ट हो जाएगी।',
'Show NSFW content by default': 'डिफ़ॉल्ट रूप से NSFW सामग्री दिखाएं',
'Custom emoji management': 'कस्टम इमोजी प्रबंधन',
'After changing emojis, you may need to refresh the page':
'इमोजी बदलने के बाद, आपको पेज रीफ्रेश करना पड़ सकता है',
'Too many read relays': 'बहुत सारे रीड रिले',
'Too many write relays': 'बहुत सारे राइट रिले',
'You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.':
'आपके पास {{count}} रीड रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।',
'You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.':
'आपके पास {{count}} राइट रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।',
'Optimize Relay Settings': 'रिले सेटिंग्स को अनुकूलित करें',
'Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.':
'आपकी वर्तमान रिले कॉन्फ़िगरेशन इष्टतम नहीं हो सकती। इससे दूसरों के लिए आपकी पोस्ट ढूंढना मुश्किल हो सकता है और अधूरी सूचनाएं मिल सकती हैं।',
'Optimize Now': 'अभी अनुकूलित करें',
'Maybe Later': 'शायद बाद में',
"Don't remind me again": 'मुझे दोबारा याद न दिलाएं',
Posts: 'पोस्ट',
Articles: 'लेख',
Highlights: 'हाइलाइट्स',
Polls: 'पोल',
'Voice Posts': 'वॉयस पोस्ट',
'Photo Posts': 'फोटो पोस्ट',
'Video Posts': 'वीडियो पोस्ट',
'Select All': 'सभी चुनें',
'Clear All': 'सभी साफ़ करें',
'Set as default filter': 'डिफ़ॉल्ट फिल्टर के रूप में सेट करें',
Apply: 'लागू करें',
Reset: 'रीसेट',
'Share something on this Relay': 'इस रिले पर कुछ साझा करें',
'Try deleting this note': 'इस नोट को हटाने का प्रयास करें',
'Deletion request sent to {{count}} relays': '{{count}} रिले को डिलीट अनुरोध भेजा गया',
'Suitable Relays': 'उपयुक्त रिले',
'Type searching for people, keywords, or relays':
'लोगों, कीवर्ड या रिले की खोज के लिए टाइप करें',
'Hide content mentioning muted users':
'म्यूट किए गए उपयोगकर्ताओं का उल्लेख करने वाली सामग्री छुपाएं',
'This note mentions a user you muted':
'यह नोट एक उपयोगकर्ता का उल्लेख करता है जिसे आपने म्यूट किया है',
Filter: 'फिल्टर',
'mentioned you in a note': 'ने आपका एक नोट में उल्लेख किया',
'quoted your note': 'ने आपके नोट को उद्धृत किया',
'voted in your poll': 'ने आपके पोल में वोट किया',
'reacted to your note': 'ने आपके नोट पर प्रतिक्रिया दी',
'reposted your note': 'ने आपके नोट को रीपोस्ट किया',
'zapped your note': 'ने आपके नोट को जैप किया',
'zapped you': 'ने आपको जैप किया',
'Mark as read': 'पढ़ा हुआ मार्क करें',
Report: 'रिपोर्ट करें',
'Successfully report': 'सफलतापूर्वक रिपोर्ट किया गया',
'Failed to report': 'रिपोर्ट करने में असफल',
nudity: 'नग्नता',
malware: 'मैलवेयर',
profanity: 'अश्लीलता',
illegal: 'अवैध सामग्री',
spam: 'स्पैम',
other: 'अन्य',
'Notification list style': 'सूचना सूची शैली',
'See extra info for each notification': 'प्रत्येक सूचना के लिए अतिरिक्त जानकारी देखें',
'See more notifications at a glance': 'एक नज़र में अधिक सूचनाएं देखें',
Detailed: 'विस्तृत',
Compact: 'संक्षिप्त'
}
}

View File

@@ -105,6 +105,9 @@ export function detectLanguage(text?: string): string | null {
if (/[\u0400-\u04ff]/.test(cleanText)) {
return 'ru'
}
if (/[\u0900-\u097f]/.test(cleanText)) {
return 'hi'
}
try {
const detectedLang = franc(cleanText)
@@ -116,6 +119,7 @@ export function detectLanguage(text?: string): string | null {
fas: 'fa', // Persian (Farsi)
pes: 'fa', // Persian (alternative code)
fra: 'fr', // French
hin: 'hi', // Hindi
ita: 'it', // Italian
jpn: 'ja', // Japanese
pol: 'pl', // Polish