Upgrade mobile UX to Oasis 0.9.0

Rebase onto upstream 0.9.0. Mobile topbar (logo->home, avatar->profile),
hexagon category nav (hive) and bottom bar; remove the six top-bar
buttons (inbox/pm/publish/search/graphos/peers) that cluttered the header.
Theme OasisMobileUX carries topbar/hexagon/bottombar styles.
This commit is contained in:
s1to 2026-08-01 13:41:09 +02:00
parent de36b38851
commit 8d21216362
69 changed files with 8974 additions and 820 deletions

View file

@ -1,26 +1,6 @@
const { a, em, strong } = require('../../../server/node_modules/hyperaxe');
module.exports = {
hi: {
bbAdd: "जोड़ें",
bbQuickActions: "त्वरित क्रियाएँ",
bbPickTitle: "एक मॉड्यूल पिन करें",
bbPickDesc: "नीचे की बार में + स्लॉट के लिए एक मॉड्यूल चुनें।",
bbPickNone: "कोई नहीं",
bbManage: "संपादित करें",
bbYourBar: "आपकी बार",
bbRemove: "हटाएँ",
bbFull: "अधिकतम पहुँच गया",
bbDone: "हो गया",
activityChangeFilter: "फ़िल्टर बदलें",
emptyConnectHint: "नेटवर्क से सिंक करने के लिए किसी pub से जुड़ें।",
emptyConnectCta: "pub से जुड़ें",
menuCommunity: "समुदाय",
activityGroupCommunity: "समुदाय और शासन",
activityGroupOrg: "संगठन",
activityGroupComm: "संचार",
activityGroupEconomy: "अर्थव्यवस्था",
activityGroupMedia: "सामग्री और मीडिया",
activityGroupOther: "अन्य",
languageName: "हिन्दी",
shopOrderStatusPaid: "भुगतान प्राप्त",
shopOrderStatusReceived: "प्राप्त",
@ -428,7 +408,8 @@ module.exports = {
publish: "लिखें",
contentWarningPlaceholder: "पोस्ट में विषय जोड़ें (वैकल्पिक)",
privateWarningPlaceholder: "निजी पोस्ट भेजने के लिए निवासी जोड़ें (वैकल्पिक)",
publishWarningPlaceholder: "...",
publishWarningPlaceholder: "मुख्य पाठ 7000 वर्णों तक सीमित।",
publishTooLong: "आपकी पोस्ट बहुत लंबी है। कृपया इसे छोटा करें।",
publishCustomDescription: [
"याद रखें: ब्लॉकचेन तकनीक के कारण, एक बार पोस्ट प्रकाशित होने के बाद इसे संपादित या हटाया नहीं जा सकता।",
],
@ -493,7 +474,89 @@ module.exports = {
passwordLengthInfo: "पासवर्ड कम से कम 32 अक्षर लंबा होना चाहिए।",
passwordImport: "डेटा को डिक्रिप्ट करने के लिए अपना पासवर्ड लिखें जो आपके सिस्टम होम पर सहेजा जाएगा (नाम: secret)",
exportPasswordPlaceholder: "लोअरकेस, अपरकेस, संख्याएँ और प्रतीक उपयोग करें",
fileInfo: "आपकी एन्क्रिप्टेड गुप्त कुंजी आपके सिस्टम होम पर सहेजी जाएगी (नाम: oasis.enc)",
fileInfo: "आपकी एन्क्रिप्टेड गुप्त कुंजी आपके डिवाइस पर डाउनलोड की जाएगी (नाम: oasis.enc)",
developer: "विकास",
devTitle: "विकास",
welcomeBannerText: "OASIS में स्वागत है। अपना अवतार सेट करने के लिए इन आसान चरणों का पालन करें।",
welcomeBannerAction: "शुरू करें!",
welcomeTitle: "स्वागत है",
welcomeStepGreetingAction: "भेजें",
welcomeJoinPubButton: "pub से जुड़ें",
welcomeStepLarpAction: "\"अकादमी\" में शामिल हों",
welcomeStepLarpText: "हमारे लाइव एक्शन रोल प्लेइंग खेल में शामिल हों।",
welcomeStepLarpTitle: "L.A.R.P. में शामिल हों",
welcomeStepGreetingTitle: "एक \"Hello world!\" भेजें",
welcomeStepGreetingText: "एक संदेश भेजें ताकि दूसरे निवासी आपको खोज सकें।",
welcomeJoinPub: "जुड़ें:",
welcomeDescription: "शुरू करने से पहले कुछ ज़रूरी बातें।",
welcomeProgress: "पूर्ण",
welcomeStepDone: "हो गया",
welcomeStepPending: "बाकी",
welcomeSkip: "अभी नहीं",
welcomeStepLanguageTitle: "अपनी भाषा चुनें",
welcomeStepLanguageText: "Oasis कई भाषाएँ बोलता है। आप इसे कभी भी बदल सकते हैं।",
welcomeStepProfileTitle: "अपनी प्रोफ़ाइल संपादित करें",
welcomeStepProfileText: "एक नाम चुनें, विवरण जोड़ें और तस्वीर लगाएँ ताकि दूसरे निवासी आपको पहचान सकें।",
welcomeStepProfileAction: "प्रोफ़ाइल सहेजें",
welcomeStepFederationTitle: "मुख्य नेटवर्क से जुड़ें",
welcomeStepFederationText: "दूसरे निवासियों से मिलने और सिंक शुरू करने के लिए हमारे pub से जुड़ें।",
welcomeStepFederationAction: "आमंत्रण देखें",
welcomeStepBackupTitle: "अपनी ID का बैकअप लें",
welcomeStepBackupText: "आपकी पहचान इस डिवाइस पर एक कुंजी फ़ाइल है।",
welcomeStepBackupWarning: "यदि यह खो गई, तो कोई भी इसे वापस नहीं ला सकता।",
welcomeStepBackupAction: "बैकअप!",
welcomeCompleteTitle: "सब तैयार है।",
welcomeCompleteText: "आपका नोड तैयार है। यहाँ से नेटवर्क उन लोगों के साथ बढ़ता है जिन्हें आप फ़ॉलो करते हैं।",
welcomeFindPeople: "निवासी खोजें",
devFilterFiles: "फ़ाइलें",
devFilterSearch: "खोज",
devFilterModules: "मॉड्यूल",
devFilterTranslations: "अनुवाद",
devFilterStyles: "शैलियाँ",
devFilterTests: "टेस्ट",
devVersion: "संस्करण",
devNodeVersion: "Node",
devStatsTests: "टेस्ट सूट",
devParentFolder: "मूल फ़ोल्डर",
devOpenFolder: "खोलें",
devDescription: "इस नोड पर चल रहे स्रोत कोड का अन्वेषण करें।",
devTreeTitle: "फ़ाइलें",
devSearchTitle: "कोड में खोजें",
devMapTitle: "मॉड्यूल",
devRoot: "मूल",
devRootButton: "मूल",
devSearchPlaceholder: "कोड में खोजने के लिए पाठ",
devAnyExtension: "कोई भी फ़ाइल",
devSearchButton: "खोजें",
devStatsFiles: "फ़ाइलें",
devStatsLines: "पंक्तियाँ",
devStatsModules: "मॉड्यूल",
devStatsLanguages: "भाषाएँ",
devNotViewable: "देखने योग्य नहीं",
devEmptyFolder: "यह फ़ोल्डर खाली है।",
devSize: "आकार",
devShowing: "दिखा रहे हैं",
devLine: "पंक्ति",
devReportBug: "बग रिपोर्ट करें",
devCreateTask: "कार्य बनाएँ",
devRaw: "RAW",
devReportContext: "Oasis स्रोत कोड पढ़ते समय मिला",
devTaskPrefix: "समीक्षा",
devPrevPage: "पिछली पंक्तियाँ",
devNextPage: "अगली पंक्तियाँ",
devMatches: "मिलान",
devFilesScanned: "फ़ाइलें जाँची गईं",
devNoResults: "अभी तक कोई मिलान नहीं।",
devColModule: "मॉड्यूल",
devColState: "स्थिति",
devColModel: "मॉडल",
devColView: "दृश्य",
devColRoutes: "रूट",
devColTests: "टेस्ट",
devOn: "चालू",
devOff: "बंद",
modulesDevLabel: "विकास",
modulesDevDescription: "Oasis स्रोत कोड को प्रबंधित करने का मॉड्यूल।",
themeIntro:
"एक थीम चुनें।",
setTheme: "थीम सेट करें",
@ -695,7 +758,7 @@ module.exports = {
spreadLabel: "फैलाएँ",
spreadHint: "अपने समर्थकों को फैलाएँ (फ़ीड से प्रतिकृति)।",
welcomePmSubject: "Hello World!",
welcomePmBody: "Oasis में आपका स्वागत है — एक स्वतंत्र, पीयर-टू-पीयर, फ़ेडरेटेड और एन्क्रिप्टेड सोशल नेटवर्क, जिसकी वास्तुकला वितरित और केवल-आमंत्रण आधारित है।\n\nशुरुआत के लिए कुछ रोचक स्थान:\n\n- /profile — अपना अवतार, नाम, विवरण और कौन से मॉड्यूल आपके सार्वजनिक पक्ष पर दिखेंगे, संपादित करें।\n- /invites — व्यापक नेटवर्क के साथ फेडरेट करने के लिए एक pub जोड़ें।\n- /peers — देखें कौन जुड़ा है, अपनी LAN फिर से स्कैन करें, पीयर सूचियाँ निर्यात या आयात करें।\n- /inhabitants — दूसरों के अवतार खोजें और देखें।\n- /tribes — एंड-टू-एंड एन्क्रिप्शन वाले निजी समूह बनाएँ या उनमें शामिल हों।\n- /inbox — निजी संदेश पढ़ें और भेजें।\n- /activity — हाल की गतिविधि देखें — आपकी और आपके नेटवर्क की।\n- /publish — पोस्ट लिखें, या चित्र, ऑडियो, वीडियो, दस्तावेज़ साझा करें।\n\nकनेक्ट करने के लिए कुछ दिलचस्प जगहें:\n\n- /fediverse — अपने अन्य फ़ेडिवर्स खातों को प्रबंधित करें, जिसमें सामग्री भेजना और प्राप्त करना शामिल है।\n\nयह संदेश आपके द्वारा निजी रूप से स्वयं को भेजा गया था, इसलिए इसे प्राप्त करने के लिए किसी कनेक्शन की आवश्यकता नहीं थी।",
welcomePmBody: "Oasis में आपका स्वागत है — एक स्वतंत्र, पीयर-टू-पीयर, फ़ेडरेटेड और एन्क्रिप्टेड सोशल नेटवर्क, जिसकी वास्तुकला वितरित और केवल-आमंत्रण आधारित है।\n\nशुरुआत के लिए कुछ रोचक स्थान:\n\n- /profile — अपना अवतार, नाम, विवरण और कौन से मॉड्यूल आपके सार्वजनिक पक्ष पर दिखेंगे, संपादित करें।\n- /invites — व्यापक नेटवर्क के साथ फेडरेट करने के लिए एक pub जोड़ें।\n- /peers — देखें कौन जुड़ा है, अपनी LAN फिर से स्कैन करें, पीयर सूचियाँ निर्यात या आयात करें।\n- /inhabitants — दूसरों के अवतार खोजें और देखें।\n- /tribes — एंड-टू-एंड एन्क्रिप्शन वाले निजी समूह बनाएँ या उनमें शामिल हों।\n- /inbox — निजी संदेश पढ़ें और भेजें।\n- /activity — हाल की गतिविधि देखें — आपकी और आपके नेटवर्क की।\n- /publish — पोस्ट लिखें, या चित्र, ऑडियो, वीडियो, दस्तावेज़ साझा करें।\n- /search — नेटवर्क की सामग्री को प्रकार के अनुसार खोजें।\n\nकनेक्ट करने के लिए कुछ दिलचस्प जगहें:\n\n- /fediverse — अपने अन्य फ़ेडिवर्स खातों को प्रबंधित करें, जिसमें सामग्री भेजना और प्राप्त करना शामिल है।\n\nयह संदेश आपके द्वारा निजी रूप से स्वयं को भेजा गया था, इसलिए इसे प्राप्त करने के लिए किसी कनेक्शन की आवश्यकता नहीं थी।",
profileVisibilityTitle: "सार्वजनिक प्रोफ़ाइल दृश्यता",
profileVisibilityHint: "तय करें कि आपकी प्रोफ़ाइल में अन्य निवासी कौन से क्षेत्र देखें। डिफ़ॉल्ट रूप से केवल Karma दिखाया जाता है।",
profileSensorsSectionTitle: "सेंसर",
@ -1226,6 +1289,9 @@ module.exports = {
eventButton: "कार्यक्रम",
taskButton: "कार्य",
votesButton: "मतदान",
industryButton: "उद्योग",
projectButton: "परियोजनाएं",
shopProductButton: "उत्पाद",
reportButton: "रिपोर्ट",
feedButton: "फ़ीड",
marketButton: "बाज़ार",
@ -1254,7 +1320,7 @@ module.exports = {
trendingItemStatus: "आइटम स्थिति",
trendingTotalVotes: "कुल मत",
trendingTotalOpinions: "कुल राय",
trendingNoContentMessage: "अभी तक कोई ट्रेंडिंग सामग्री उपलब्ध नहीं।",
trendingNoContentMessage: "अभी तक कोई ट्रेंडिंग नहीं है।",
trendingAuthor: "द्वारा",
trendingCreatedAtLabel: "बनाया गया",
trendingTotalCount: "कुल संख्या",
@ -1443,7 +1509,7 @@ module.exports = {
transfersCreatedAt: "बनाया गया",
transfersConfirmations: "पुष्टि",
transfersContainingBlock: "धारक ब्लॉक",
transfersExportContract: "अनुबंध बनाएँ",
transfersExportContract: "स्मार्ट अनुबंध",
transfersConfirmButton: "स्थानांतरण पुष्टि करें",
transfersNoItems: "कोई स्थानांतरण नहीं मिला।",
transfersMineSectionTitle: "आपके स्थानांतरण",
@ -1569,7 +1635,7 @@ module.exports = {
cvDeleteButton: "हटाएँ",
cvNoCV: "कोई CV नहीं मिला।",
blogSubject: "विषय",
blogMessage: "मुख्य भाग 8096 वर्णों तक सीमित।",
blogMessage: "संदेश",
blogImage: "मीडिया अपलोड करें (अधिकतम-आकार: 50MB)",
blogPublish: "पूर्वावलोकन",
noPopularMessages: "अभी तक कोई लोकप्रिय संदेश प्रकाशित नहीं हुआ",
@ -2204,6 +2270,7 @@ module.exports = {
agendaFilterReports: "रिपोर्ट",
agendaFilterTransfers: "स्थानांतरण",
agendaFilterJobs: "नौकरियाँ",
agendaFilterIndustry: "उद्योग",
agendaFilterProjects: "परियोजनाएँ",
agendaFilterCalendars: "कैलेंडर",
agendaNoItems: "कोई सौंपे गए आइटम नहीं मिले।",
@ -2325,16 +2392,31 @@ module.exports = {
privateMessage: "PM",
pmSendTitle: "निजी संदेश",
pmSend: "भेजें!",
pmDescription: "अन्य निवासियों को एन्क्रिप्टेड संदेश भेजने के लिए इस फ़ॉर्म का उपयोग करें।",
pmCancel: "रद्द करें",
pmReset: "रीसेट",
pmSharedKeyHint: "इस कुंजी को प्राप्तकर्ता के साथ किसी अन्य माध्यम से साझा करें। डिक्रिप्ट करने के लिए यह आवश्यक है।",
pmDescription: "अन्य निवासियों को एन्क्रिप्टेड संदेश/फ़ाइल भेजने के लिए इस फ़ॉर्म का उपयोग करें।",
pmComposeTitle: "संदेश भेजें",
pmRecipients: "प्राप्तकर्ता",
pmRecipientsHint: "अल्पविराम से अलग Oasis IDs दर्ज करें",
pmLevelOfExposition: "Level of exposition",
pmLimitsHint: "Up to 7 recipients per message. Body capped at 8096 characters.",
pmLimitsHint: "प्रति संदेश अधिकतम 7 प्राप्तकर्ता।",
pmTextPlaceholder: "मुख्य पाठ 7000 वर्णों तक सीमित।",
pmSubject: "विषय",
pmSubjectHint: "संदेश विषय दर्ज करें",
pmText: "संदेश",
pmCrypterChip: "2xE2E",
pmCrypterDecryptButton: "डिक्रिप्ट करें",
fileShareTitle: "फ़ाइल साझा करें",
fileShareRecipientPlaceholder: "@...=.ed25519",
fileShareFileLabel: "फ़ाइल",
fileShareDownload: "डाउनलोड करें",
fileShareMutualError: "आप केवल पारस्परिक समर्थन वाले निवासियों के साथ फ़ाइलें साझा कर सकते हैं।",
fileShareNoFile: "कोई फ़ाइल चयनित नहीं।",
fileShareTooLarge: "फ़ाइल अनुमत आकार से बड़ी है।",
fileShareFailed: "फ़ाइल तैयार नहीं की जा सकी।",
fileShareSendError: "फ़ाइल भेजी नहीं जा सकी।",
fileShareUnavailable: "यह फ़ाइल अभी उपलब्ध नहीं है। बाद में पुनः प्रयास करें।",
pmCrypterBadKey: "साझा कुंजी गलत है!",
pmCrypterTooLong: "यह संदेश Crypter से एन्क्रिप्ट करने के लिए बहुत लंबा है। कृपया इसे छोटा करके पुनः प्रयास करें।",
pmCrypterCipherLabel: "पुनः एन्क्रिप्टेड संदेश",
@ -2355,15 +2437,27 @@ module.exports = {
pmNoSubject: "(कोई विषय नहीं)",
pmSubjectLabel: "विषय:",
pmBodyLabel: "मुख्य भाग",
pmBotJobs: "42-JobsBOT",
pmBotProjects: "42-ProjectsBOT",
pmBotMarket: "42-MarketBOT",
pmBotJobs: "JobsBot",
pmBotProjects: "ProjectsBot",
pmBotMarket: "MarketBot",
pmBotShops: "ShopsBot",
pmBotPolitical: "PoliticalBot",
politicalBotLarpTitle: "L.A.R.P का शासक घराना बदल गया है।",
politicalBotParliamentTitle: "संसद में एक नया शासन चक्र शुरू हो गया है।",
politicalBotTribeTitle: "आपकी किसी जनजाति में एक नया शासन चक्र शुरू हो गया है।",
politicalBotLarpIntro: "अब इस चक्र में {house} शासन करता है: {cycle}",
politicalBotParliamentIntro: "वर्तमान सरकार {gov} है",
politicalBotParliamentIntroLeader: "वर्तमान सरकार {gov} है, {leader} द्वारा संचालित",
politicalBotTribeIntro: "जनजाति {tribe} में वर्तमान सरकार {gov} है",
politicalBotTribeIntroLeader: "जनजाति {tribe} में वर्तमान सरकार {gov} है, {leader} द्वारा संचालित",
politicalBotLeaderLabel: "नेता",
inboxJobSubscribedTitle: "आपके नौकरी प्रस्ताव के लिए नई सदस्यता",
pmInhabitantWithId: "OASIS ID वाला निवासी:",
pmHasSubscribedToYourJobOffer: "ने आपके नौकरी प्रस्ताव की सदस्यता ली है",
inboxProjectCreatedTitle: "नई परियोजना बनाई गई",
pmHasCreatedAProject: "ने एक परियोजना बनाई है",
inboxMarketItemSoldTitle: "आइटम बिक गया",
inboxShopSoldTitle: "उत्पाद बिका",
pmYourItem: "आपका आइटम",
pmHasBeenSoldTo: "बेचा गया",
pmFor: "के लिए",
@ -2398,7 +2492,7 @@ module.exports = {
visitContent: "सामग्री देखें",
banking: 'बैंकिंग',
bankingTitle: 'बैंकिंग',
bankingDescription: 'ECOin का वर्तमान मूल्य और संबंधित UBI आवंटन खोजें, जो भागीदारी और विश्वास के आधार पर प्रति युग वितरित होता है।',
bankingDescription: "ECOin अर्थव्यवस्था: शेष, यूबीआई, कर और उद्योग मूल्य।",
bankOverview: 'अवलोकन',
bankEpochs: 'युग',
bankRules: 'नियम',
@ -2432,6 +2526,10 @@ module.exports = {
bankEpochId: 'युग ID',
bankRuleHash: 'नियम स्नैपशॉट हैश',
bankViewEpoch: 'युग देखें',
bankYourIndustryBalance: "आपका औद्योगिक हिस्सा",
bankYourUbiMonth: "आपकी UBI (इस माह)",
bankYourFundsMonth: "आपकी निधि (इस माह)",
bankIndustryBalance: "औद्योगिक उत्पादन (अनुमानित)",
bankUserBalance: 'आपका शेष',
ecoWalletNotConfigured: 'ECOin वॉलेट कॉन्फ़िगर नहीं है',
editWallet: 'वॉलेट संपादित करें',
@ -2471,7 +2569,7 @@ module.exports = {
pubIdPlaceholder: "@PUB_ID.ed25519",
bankUbiAvailableNo: "कोई धन नहीं!",
bankUbiAvailableOk: "उपलब्ध!",
bankUbiAvailability: "UBI उपलब्धता",
bankUbiAvailability: "UBI (नेटवर्क)",
bankAlreadyClaimedThisMonth: "इस महीने पहले ही दावा किया गया",
bankUbiThisMonth: "UBI (इस महीने)",
bankUbiLastClaimed: "UBI (अंतिम दावा)",
@ -2901,6 +2999,208 @@ module.exports = {
jobsTagsLabel: "टैग",
jobsTagsPlaceholder: "tag1, tag2, tag3",
noJobsMatch: "आपकी खोज से कोई नौकरी मेल नहीं खाती।",
industrySearchPlaceholder: "फैक्टरियाँ खोजें…",
industryAllSectors: "सभी क्षेत्र",
industryVisitButton: "उद्योग देखें",
industryAdvanceTo: "पर सेट करें",
industryAmount: "राशि",
industryApproveBuild: "मंज़ूर करें",
industryBackToFacility: "← फैक्टरी",
industryBlueprint: "ब्लूप्रिंट",
industryBlueprintLabel: "उद्योग ब्लूप्रिंट",
industryBlueprints: "ब्लूप्रिंट",
industryBuild: "बिल्ड",
industryBuildNotes: "नोट्स",
industryBuildStart: "आरंभ तिथि",
industryVoteUpdateButton: "अपडेट के लिए वोट",
industryVoteDeleteButton: "हटाने के लिए वोट",
industryRevokeVote: "वापस लें",
industryTimeLeft: "शेष समय",
industryBuildEnd: "समाप्ति तिथि",
industryBuilds: "बिल्ड्स",
industryBuildTitle: "शीर्षक",
industryContribute: "योगदान करें",
industryContributeEco: "ECO योगदान करें",
industryContributeLabor: "श्रम योगदान करें",
industryContributeButton: "योगदान करें",
industryContributeMaterial: "सामग्री योगदान करें",
industryContributions: "योगदान",
industryContributors: "योगदानकर्ता",
industryCreateBlueprintButton: "ब्लूप्रिंट बनाएं",
industryDistribute: "वितरण करें",
industryDistributeButton: "हिस्सों के अनुसार वितरण",
industryDistribution: "वितरण",
industryEcoAmount: "राशि (ECO)",
industryEcoContribHint: "ECO योगदान बिल्ड के कोष के संरक्षक के रूप में प्रबंधक को स्थानांतरित किए जाते हैं।",
industryEditBlueprint: "ब्लूप्रिंट संपादित करें",
industryFacility: "फैक्टरी",
industryKindLabel: "प्रकार",
industryKind_labor: "श्रम",
industryKind_material: "सामग्री",
industryKind_eco: "निधि",
industryLaborHours: "श्रम (घंटे)",
industryHours: "घंटे",
industryLicense: "लाइसेंस",
industryMaterialItem: "सामग्री",
industryMaterials: "सामग्री",
industryMaterialsHint: "प्रति पंक्ति एक सामग्री, प्रारूप नाम:मात्रा:मूल्य।",
industryEstMaterials: "कुल सामग्री",
industryEstLabor: "कुल श्रम",
industryEstTaxes: "कर",
industryEstTotal: "अनुमानित मूल्य",
industryBuildingPrice: "निर्माण मूल्य",
industryFinalPrice: "अंतिम मूल्य",
industryBlueprintDescPlaceholder: "विनिर्देश, आयाम, वज़न, दस्तावेज़…",
industryMaterialValue: "मूल्य (ECO)",
industryMember: "सदस्य",
industryNewBlueprint: "नया ब्लूप्रिंट",
industryNewBuild: "बिल्ड प्रस्तावित करें",
industryEditBuild: "उत्पादन संपादित करें",
industryNoBlueprint: "— कोई नहीं —",
industryNeedBlueprint: "पहले ब्लूप्रिंट बनाएँ: हर उत्पादन उसी को बनाता है।",
industryNoBlueprints: "अभी तक कोई ब्लूप्रिंट नहीं।",
industryNoBuilds: "अभी तक कोई बिल्ड नहीं।",
industryNote: "नोट",
industryOutput: "आउटपुट",
industryOutputItem: "उत्पाद का नाम",
industryOutputKind: "उत्पाद का प्रकार",
industryOutputQty: "प्रति उत्पादन इकाइयाँ",
industryOutputUnit: "माप की इकाई",
industryOutputValue: "आउटपुट मूल्य (ECO, जैसे बिक्री से)",
industryPayout: "भुगतान",
industryPoints: "Karma",
industryPostJob: "नौकरी बनाएँ",
industryPot: "कोष",
industryProposeBuildButton: "बिल्ड प्रस्तावित करें",
industryProposer: "प्रस्तावक",
industryAuthor: "लेखक",
industrySellOnMarket: "बाज़ार में भेजें",
industrySendToProjects: "प्रोजेक्ट बनाएँ",
industryShare: "हिस्सा",
industryShares: "हिस्से",
industrySkills: "कौशल",
industryTreasury: "कोष",
industryKind_physical: "भौतिक",
industryKind_digital: "डिजिटल",
industryBuildStatus_PROPOSED: "प्रस्तावित",
industryBuildStatus_REJECTED: "अस्वीकृत",
industryBuildStatus_APPROVED: "स्वीकृत",
industryBuildStatus_STOCKING: "भंडारण",
industryBuildStatus_IN_PRODUCTION: "उत्पादन में",
industryBuildStatus_COMPLETED: "पूर्ण",
industryBuildStatus_FAILED: "विफल",
pmBotIndustry: "IndustryBot",
industryBotAdmittedTitle: "आपको एक फैक्टरी में स्वीकार किया गया है।",
industryBotApplicationTitle: "आपकी फैक्टरी में नया सदस्यता अनुरोध।",
industryBotInvitedTitle: "आपको एक फैक्टरी में आमंत्रित किया गया है।",
industryBotDissolvedTitle: "आपकी एक फैक्टरी विघटित कर दी गई है।",
industryBotBuildApprovedTitle: "एक बिल्ड स्वीकृत हो गया है।",
industryBotDistributedTitle: "एक बिल्ड का आउटपुट वितरित किया गया है।",
industryFilterRules: "नियम",
industryRulesTitle: "नियम",
industryRulesIntro: "Industry निवासियों को उत्पादन के साधनों का सामूहिक स्वामित्व देता है: एक फैक्टरी नेटवर्क-स्वामित्व वाली कार्यशाला है जिसे कोई निजी रूप से नहीं रखता।",
industryRulesSteward: "संस्थापक प्रबंधक होता है — संरक्षक, मालिक नहीं: वह फैक्टरी को अकेले बेच, निजीकृत या विघटित नहीं कर सकता।",
industryRulesMembership: "सदस्यता नीति तय करती है कि कैसे जुड़ें: खुला (तुरंत), मतदान द्वारा (सदस्यों के वोट से स्वीकृत) या केवल आमंत्रण (पहले किसी सदस्य को आमंत्रित करना होगा)।",
industryRulesQuorum: "कोरम वह न्यूनतम सदस्य संख्या है जिन्हें किसी निर्णय के गिनने के लिए मतदान करना चाहिए, ताकि छोटी फैक्टरी एक व्यक्ति द्वारा तय न हो।",
industryRulesMajority: "बहुमत पारित होने के लिए आवश्यक मतों का अंश है (0.5 = आधा, 1 = सर्वसम्मति); निर्णय तब पारित होता है जब हाँ वोट कम से कम max(कोरम, सदस्य × बहुमत) तक पहुँचें।",
industryRulesDecisions: "सदस्य नए लोगों को स्वीकारने, बिल्ड स्वीकृत करने और फैक्टरी विघटित करने के लिए मतदान करते हैं; प्रबंधक इन सामूहिक निर्णयों को नहीं टाल सकता।",
industryRulesBlueprints: "ब्लूप्रिंट स्वतंत्र (COPYLEFT) व्यंजन हैं — इनपुट (सामग्री, श्रम घंटे, कौशल) और आउटपुट (एक भौतिक या डिजिटल वस्तु) — और कोई भी इन्हें फोर्क कर सकता है।",
industryRulesBuilds: "बिल्ड एक उत्पादन आदेश है: प्रस्तावित → स्वीकृत (मतदान से) → भंडारण → उत्पादन में → पूर्ण, और स्वीकृत होने के बाद ही योगदान स्वीकार करता है।",
industryRulesContributions: "सदस्य किसी बिल्ड में श्रम (घंटे), सामग्री (घोषित ECO मूल्य) या ECO का योगदान करते हैं; हर योगदान Karma अर्जित करता है।",
industryRulesLaborRate: "श्रम दर इस फैक्टरी में एक कार्य-घंटे का ECO मूल्य है; यह घंटों को Karma में बदलती है ताकि श्रम और पूँजी की निष्पक्ष तुलना हो: Karma = घंटे × दर + सामग्री मूल्य + ECO।",
industryRulesShares: "किसी बिल्ड में आपका हिस्सा आपका Karma ÷ कुल Karma है, और यह तय करता है कि आपको आउटपुट मूल्य का कितना भाग मिलेगा।",
industryRulesDistribution: "उत्पादन पूरा होने पर स्टीवर्ड पॉट (उत्पादन की निधि और बिक्री मूल्य) को योगदानकर्ताओं में उनके हिस्से के अनुपात में बाँटता है।",
industryRulesTreasury: "ECO योगदान वितरण तक प्रबंधक द्वारा बिल्ड कोष के संरक्षक के रूप में रखे जाते हैं; सभी लेन-देन नेटवर्क पर दर्ज होते हैं और विवाद Courts में जा सकते हैं।",
industryJobs: "नौकरियाँ",
industryNoJobs: "अभी तक कोई पद नहीं।",
industryCreatePosition: "पद बनाएं",
industryViewCV: "सीवी",
industryReportButton: "रिपोर्ट",
industryCreateTask: "कार्य बनाएँ",
industryOpenDispute: "विवाद खोलें",
industryMaterialsPlaceholder: "solar-panel:2:120\nbattery:1:80\nkit:1:15",
industryOutputUnitPlaceholder: "जैसे इकाई, kg, लाइसेंस",
industryOutputItemPlaceholder: "जैसे robot",
industryOutputQtyPlaceholder: "जैसे 5",
industrySkillsPlaceholder: "जैसे सोल्डरिंग, नेटवर्किंग, सौर-स्थापना",
industryCreateInvite: "आमंत्रण उत्पन्न करें",
industryPauseVotes: "स्थिति मत",
industryTitle: "उद्योग",
industryDescription: "उत्पादन के साधनों को सामूहिक रूप से प्रबंधित करने का मॉड्यूल।",
industryLabel: "उद्योग",
typeIndustryBuild: "बिल्ड",
typeIndustryBlueprint: "ब्लूप्रिंट",
typeIndustryAllocation: "वितरण",
typeIndustry: "उद्योग",
modulesIndustryLabel: "उद्योग",
modulesIndustryDescription: "उत्पादन के साधनों को सामूहिक रूप से प्रबंधित करने का मॉड्यूल।",
industryFilterAll: "सभी",
industryFilterMember: "सदस्य",
industryFilterBlueprints: "ब्लूप्रिंट",
industryFilterBuilds: "उत्पादन",
industryFilterMine: "मेरी",
industryFilterActive: "चालू",
industryFilterPaused: "रोकी गई",
industryFilterDissolved: "विघटित",
industryAllTitle: "उद्योग",
industryMemberTitle: "जिन फैक्टरियों में मैं हूँ",
industryMineTitle: "मेरी फैक्टरियाँ",
industryActiveTitle: "चालू",
industryPausedTitle: "रोकी गई फैक्टरियाँ",
industryDissolvedTitle: "विघटित फैक्टरियाँ",
industryNoFacilitiesFound: "कोई फैक्टरी नहीं मिली।",
industryCreateFacility: "फैक्टरी बनाएं",
industryMembers: "सदस्य",
industryMemberBadge: "सदस्य",
industryName: "नाम",
industryNamePlaceholder: "फैक्टरी का नाम",
industryDescriptionLabel: "विवरण",
industryDescriptionPlaceholder: "यह फैक्टरी क्या उत्पादित करती है?",
industrySector: "क्षेत्र",
industryMembershipPolicy: "सदस्यता नीति",
industryQuorum: "कोरम",
industryMajority: "बहुमत",
industryLaborRate: "श्रम दर",
industryCreateButton: "फैक्टरी बनाएं",
industryUpdateButton: "अपडेट",
industrySteward: "प्रबंधक",
industryStatusActive: "चालू",
industryStatusPaused: "रोका गया",
industryStatusDissolved: "विघटित",
industryStatusLabel: "स्थिति",
industryJoinButton: "शामिल हों",
industryApplyButton: "शामिल होने का अनुरोध",
industryLeaveButton: "छोड़ें",
industryInviteButton: "आमंत्रित करें",
industryInvitePlaceholder: "@...=.ed25519",
industryInviteNeeded: "शामिल होने के लिए आपको आमंत्रण चाहिए।",
industryPauseButton: "रोकने के लिए मतदान",
industryResumeButton: "फिर से शुरू करने के लिए मतदान",
industryEditButton: "संपादित करें",
industryDeleteButton: "हटाएं",
industryBackToList: "← उद्योग",
industryPendingApplicants: "लंबित आवेदक",
industryVotesYes: "हाँ",
industryVotesNo: "नहीं",
industryAlreadyVoted: "मतदान किया",
industryAdmit: "स्वीकार करें",
industryReject: "अस्वीकार करें",
industryDissolveTitle: "फैक्टरी विघटित करें",
industryDissolveHint: "विघटन के लिए सामूहिक मतदान आवश्यक है; प्रबंधक अकेले विघटित नहीं कर सकता।",
industryDissolveVote: "विघटन के लिए मतदान",
industrySector_software: "सॉफ्टवेयर",
industrySector_hardware: "हार्डवेयर",
industrySector_agriculture: "कृषि",
industrySector_textile: "वस्त्र",
industrySector_energy: "ऊर्जा",
industrySector_food: "खाद्य",
industrySector_construction: "निर्माण",
industrySector_media: "मीडिया",
industrySector_services: "सेवाएं",
industrySector_other: "अन्य",
industryPolicy_open: "खुला",
industryPolicy_vote: "मतदान से",
industryPolicy_invite: "केवल आमंत्रण",
projectsTitle: "परियोजनाएँ",
projectsDescription: "अपने नेटवर्क में समुदाय-संचालित परियोजनाएँ बनाएँ, वित्तपोषित करें और अनुसरण करें।",
projectCreateProject: "परियोजना बनाएँ",
@ -3260,6 +3560,8 @@ module.exports = {
chatOpenTitle: "Open Chats",
chatClosedTitle: "Closed Chats",
chatDescription: "विवरण",
chatMessageReply: "उत्तर",
chatMessageLabel: "संदेश",
chatCategory: "श्रेणी",
chatStatus: "स्थिति",
chatFilterAll: "सभी",