shell: the Store view and install screen as framework React components, strings in the framework catalogs
Moved from wayBetter for X so every wayBetter app gets the Store UI; the app passes its native
bridge, theme adapter, translator and (optionally) its own controls and button classes.
- storeModel.ts: wire types of the native store commands (InstallPreview, StoreCatalogView,
LinkEvent, StoreItem with `apps`), permission badges in the site's words, categories, item state
(install/installed/update/changed locally/built in), search, free theme ids, versions, previews.
- installController.ts: the install screen's state machine (links incl. those queued before the
shell listened, dropped files, store items, cancel, confirm), generic over the app's theme format
(`ThemeAdapter`: parse, ids, facts, save) and its bridge (`StoreBackend`: invoke/listen).
- InstallDialog.tsx (`InstallHost`): the screen (Install enabled after 1 s, Enter never installs,
tabs hidden via setOverlay) and the window-wide drop target. StoreView.tsx: search, kinds,
categories, cards, permission badges, install/update/remove; default controls or the app's.
- store.css: both, themed with framework `--wb-*` tokens (documented; dark defaults).
- storeMessages.ts + every framework catalog: 120 `wb.store.*`, `wb.install.*`, `wb.permission.*`
messages moved from the app catalogs with all existing translations; the six that named X take
`{site}`; generic words the components need copied with their translations.
- npm package: exports for the new modules and store.css, optional react/react-dom peers; @types
for the typecheck. Tests: models, controller flows with a fake bridge, every looked-up key exists.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
c40ea12bfa
commit
03fbfccaf5
63 changed files with 7345 additions and 53 deletions
|
|
@ -23,6 +23,126 @@
|
|||
"wb.update.installingLabel": "अपडेट होत आहे…",
|
||||
"wb.update.installingTitle": "{product} {version} इंस्टॉल होत आहे",
|
||||
"wb.update.problemLabel": "अपडेटमध्ये अडचण",
|
||||
"wb.update.problemTitle": "मागील अपडेट नीट सुरू झाले नाही. सध्याची आवृत्ती डाउनलोड करा."
|
||||
"wb.update.problemTitle": "मागील अपडेट नीट सुरू झाले नाही. सध्याची आवृत्ती डाउनलोड करा.",
|
||||
"wb.permission.storage.label": "स्टोरेज",
|
||||
"wb.permission.storage.detail": "या अॅपमध्ये स्वतःची सेटिंग्ज ठेवते (api.storage).",
|
||||
"wb.permission.ui.label": "डायलॉग्ज",
|
||||
"wb.permission.ui.detail": "डायलॉग्ज, प्रॉम्प्ट आणि नोटिफिकेशन्स दाखवते (api.ui, api.toast).",
|
||||
"wb.permission.clipboard.label": "क्लिपबोर्ड",
|
||||
"wb.permission.clipboard.detail": "तुमच्या क्लिपबोर्डवर मजकूर कॉपी करते (api.copyText).",
|
||||
"wb.permission.account.label": "तुमचे खाते",
|
||||
"wb.permission.account.detail": "कोणते {site} खाते साइन इन आहे ते वाचते: हँडल, नाव, अवतार (api.account).",
|
||||
"wb.permission.commands.label": "कमांड्स",
|
||||
"wb.permission.commands.detail": "या पेजमध्ये चालणाऱ्या कमांड्स कमांड पॅलेटमध्ये (Ctrl+K) जोडते (api.commands).",
|
||||
"wb.permission.users.label": "खात्याचा तपशील",
|
||||
"wb.permission.users.detail": "{site} च्या स्वतःच्या प्रतिसादांनी खात्यांबद्दल काय सांगितले ते वाचते: सत्यापित, तुम्हाला फॉलो करते (api.users).",
|
||||
"wb.permission.network.label": "इंटरनेट",
|
||||
"wb.permission.network.detail": "इंटरनेटवरील सर्व्हर्सशी संपर्क साधते असे सांगते.",
|
||||
"wb.permission.networkNone.label": "नेटवर्क नाही",
|
||||
"wb.permission.networkNone.detail": "कधीही सर्व्हरशी संपर्क साधत नाही असे सांगते; इन्स्टॉल तपासणीत त्याच्या कोडमध्ये नेटवर्क कॉल्स आढळले नाहीत.",
|
||||
"wb.permission.legacy.label": "जुने · पूर्ण पेज प्रवेश",
|
||||
"wb.permission.legacy.detail": "@permissions ओळ नाही: परवानग्यांपूर्वीच्या प्लगइन्सप्रमाणे त्याला संपूर्ण प्लगइन API मिळते.",
|
||||
"wb.permission.none.label": "विशेष प्रवेश नाही",
|
||||
"wb.permission.none.detail": "फक्त मूलभूत पेज मदतनीस (CSS, DOM, राउट्स, कीज, थीम).",
|
||||
"wb.permission.unknown": "अज्ञात परवानगी.",
|
||||
"wb.store.category.reading": "वाचन",
|
||||
"wb.store.category.writing": "लेखन",
|
||||
"wb.store.category.filters": "फिल्टर्स",
|
||||
"wb.store.category.focus": "एकाग्रता",
|
||||
"wb.store.category.tools": "साधने",
|
||||
"wb.store.category.dark": "डार्क",
|
||||
"wb.store.category.light": "लाइट",
|
||||
"wb.store.builtIn": "अंगभूत",
|
||||
"wb.store.use": "वापरा",
|
||||
"wb.store.install": "इन्स्टॉल करा",
|
||||
"wb.store.updateTo": "{version} वर अपडेट करा",
|
||||
"wb.store.modifiedTitle": "इन्स्टॉल केलेली फाइल स्टोअरच्या फाइलपेक्षा वेगळी आहे (संपादित, किंवा इतरत्रून). स्टोअर ती तशीच सोडते.",
|
||||
"wb.store.modified": "स्थानिकरीत्या बदललेले",
|
||||
"wb.store.replace": "बदला",
|
||||
"wb.store.installed": "इन्स्टॉल केलेले",
|
||||
"wb.store.installedVersion": "इन्स्टॉल केलेले · v{version}",
|
||||
"wb.store.offline": "{when} ची ऑफलाइन प्रत: {error}",
|
||||
"wb.store.unreachableShort": "स्टोअर पोहोचत नाही",
|
||||
"wb.store.verified": "स्वाक्षरीत कॅटलॉग पडताळला · {when} अपडेट केला",
|
||||
"wb.store.intro": "wayBetter स्टोअरमधील थीम्स आणि प्लगइन्स. कॅटलॉग स्वाक्षरीत आहे; इन्स्टॉल स्क्रीन दाखवण्यापूर्वी wayBetter स्वाक्षरी आणि प्रत्येक डाउनलोडचा SHA-256 तपासते. प्लगइन्स त्यांनी मागितलेल्या परवानग्या सूचीबद्ध करतात.",
|
||||
"wb.store.search": "स्टोअर शोधा",
|
||||
"wb.store.searchPlaceholder": "थीम्स आणि प्लगइन्स शोधा",
|
||||
"wb.store.kind": "प्रकार",
|
||||
"wb.store.themes": "थीम्स",
|
||||
"wb.store.checking": "तपासत आहे…",
|
||||
"wb.store.refresh": "रिफ्रेश करा",
|
||||
"wb.store.categories": "श्रेणी",
|
||||
"wb.store.everything": "सर्व काही",
|
||||
"wb.store.updates": "{count, plural, one {# अपडेट} other {# अपडेट्स}} उपलब्ध",
|
||||
"wb.store.unreachable": "स्टोअर पोहोचत नाही",
|
||||
"wb.store.tryAgain": "पुन्हा प्रयत्न करा",
|
||||
"wb.store.noCatalog": "अजून कॅटलॉग नाही.",
|
||||
"wb.store.nothingChanged": "काहीही इन्स्टॉल किंवा बदलले गेले नाही.",
|
||||
"wb.store.noMatch": "काहीही जुळत नाही",
|
||||
"wb.store.noMatchHint": "दुसरा शब्द किंवा श्रेणी वापरून पहा.",
|
||||
"wb.store.plugin": "प्लगइन",
|
||||
"wb.store.by": "{author} कडून",
|
||||
"wb.store.permissions": "परवानग्या",
|
||||
"wb.store.themeNow": "{name} आता तुमची थीम आहे.",
|
||||
"wb.store.foot": "थीम किंवा प्लगइन फाइल आहे का? ती wayBetter विंडोवर टाका, किंवा waybetter.fyi वरील waybetter://install लिंक उघडा. तुम्हाला नेहमी आधी ही इन्स्टॉल स्क्रीन दिसते.",
|
||||
"wb.install.lines": "{count, plural, one {# ओळ} other {# ओळी}}",
|
||||
"wb.install.moreLines": "आणखी {count, plural, one {# ओळ} other {# ओळी}} दाखवा",
|
||||
"wb.install.reinstall": "पुन्हा इन्स्टॉल करा",
|
||||
"wb.install.update": "अपडेट करा",
|
||||
"wb.install.eyebrow.install": "{kind, select, plugin {प्लगइन इन्स्टॉल करा} theme {थीम इन्स्टॉल करा} other {इन्स्टॉल करा}}",
|
||||
"wb.install.eyebrow.update": "{kind, select, plugin {प्लगइन अपडेट करा} theme {थीम अपडेट करा} other {अपडेट करा}}",
|
||||
"wb.install.eyebrow.reinstall": "{kind, select, plugin {प्लगइन पुन्हा इन्स्टॉल करा} theme {थीम पुन्हा इन्स्टॉल करा} other {पुन्हा इन्स्टॉल करा}}",
|
||||
"wb.install.noAuthor": "लेखक किंवा आवृत्ती दिलेली नाही",
|
||||
"wb.install.verified": "पडताळले",
|
||||
"wb.install.installedNow": "आता इन्स्टॉल केलेले",
|
||||
"wb.install.identical": "v{version} (सारखे)",
|
||||
"wb.install.on": "चालू",
|
||||
"wb.install.replaces": "बदलते",
|
||||
"wb.install.replacesValue": "या थीमची तुमची प्रत",
|
||||
"wb.install.copyHash": "SHA-256 कॉपी करा",
|
||||
"wb.install.permissions": "ते घोषित करत असलेल्या परवानग्या",
|
||||
"wb.install.pageAccess": "प्लगइन्स {site} आत पेजसारख्याच प्रवेशासह चालतात: {site} तुम्हाला जे दाखवते ते ते वाचू शकतात आणि त्यात कृती करू शकतात. परवानग्या wayBetter API प्लगइनला काय देते ते मर्यादित करतात, पेज नाही. फक्त विश्वास असलेला कोड इन्स्टॉल करा.",
|
||||
"wb.install.theCode": "कोड",
|
||||
"wb.install.themeCss": "थीम CSS (तुमच्या कस्टम CSS प्रमाणे {site} मध्ये चालते)",
|
||||
"wb.install.code": "इन्स्टॉल होणारा कोड",
|
||||
"wb.install.staysOn": "ते चालू राहते",
|
||||
"wb.install.turnOn": "आता चालू करा",
|
||||
"wb.install.useNow": "आता वापरा",
|
||||
"wb.install.installing": "इन्स्टॉल होत आहे…",
|
||||
"wb.install.done": "{name} इन्स्टॉल झाले",
|
||||
"wb.install.done.pluginOn": "ते आता तुमच्या {site} टॅबमध्ये चालू आहे. प्लगइन्समध्ये कधीही बंद करा.",
|
||||
"wb.install.done.pluginOff": "ते बंद आहे. हवे तेव्हा प्लगइन्समध्ये चालू करा.",
|
||||
"wb.install.done.themeOn": "ती आता तुमची थीम आहे. देखाव्यामध्ये कधीही परत स्विच करा.",
|
||||
"wb.install.done.themeOff": "ती देखाव्यातील तुमच्या थीम्समध्ये आहे.",
|
||||
"wb.install.done.fonts": "ती Google फॉन्ट्सचा ({fonts}) उल्लेख करते. देखावा ते तुमच्यासाठी डाउनलोड करू शकतो; तोपर्यंत ती आपले पर्यायी फॉन्ट्स वापरते.",
|
||||
"wb.install.openPlugins": "प्लगइन्स उघडा",
|
||||
"wb.install.openAppearance": "देखावा उघडा",
|
||||
"wb.install.doneButton": "पूर्ण",
|
||||
"wb.install.drop": "इन्स्टॉल करण्यासाठी टाका",
|
||||
"wb.install.dropHint": "थीम (.json) किंवा प्लगइन (.plugin.js). काहीही इन्स्टॉल होण्यापूर्वी ते काय आहे ते तुम्हाला दिसेल.",
|
||||
"wb.install.err.theme": "ही थीम इन्स्टॉल करता येत नाही",
|
||||
"wb.install.stage.link": "{kind, select, plugin {{host} वरून प्लगइन इन्स्टॉल करा} theme {{host} वरून थीम इन्स्टॉल करा} other {{host} वरून इन्स्टॉल करा}}",
|
||||
"wb.install.stage.linkDetail": "डाउनलोड आणि तपासणी होत आहे…",
|
||||
"wb.install.err.kind": "“{file}” थीम किंवा प्लगइन नाही",
|
||||
"wb.install.err.kindHint": "wayBetter थीम्स (.json) आणि प्लगइन्स (.plugin.js) इन्स्टॉल करते. पोस्टला फाइल जोडण्यासाठी ती {site} च्या कंपोझरवर टाका.",
|
||||
"wb.install.err.large": "“{file}” खूप मोठी आहे",
|
||||
"wb.install.err.largeHint": "{kind, select, theme {थीम्स 2 MB पर्यंत मर्यादित आहेत.} other {प्लगइन्स 2 MB पर्यंत मर्यादित आहेत.}}",
|
||||
"wb.install.stage.named": "{name} इन्स्टॉल करा",
|
||||
"wb.install.stage.fileDetail": "फाइल तपासत आहे…",
|
||||
"wb.install.stage.storeDetail": "wayBetter स्टोअरमधून डाउनलोड करत आहे आणि स्वाक्षरी तपासत आहे…",
|
||||
"wb.install.err.link": "ही इन्स्टॉल लिंक वापरता येत नाही",
|
||||
"wb.install.err.notInstalled": "{kind, select, theme {थीम इन्स्टॉल झाली नाही} other {प्लगइन इन्स्टॉल झाले नाही}}",
|
||||
"wb.install.untitled": "शीर्षकहीन",
|
||||
"wb.install.file": "फाइल",
|
||||
"wb.install.size": "आकार",
|
||||
"wb.install.themeFile": "थीम फाइल",
|
||||
"wb.store.all": "सर्व",
|
||||
"wb.store.pluginsTab": "प्लगइन्स",
|
||||
"wb.store.theme": "थीम",
|
||||
"wb.store.remove": "काढा",
|
||||
"wb.store.keep": "ठेवा",
|
||||
"wb.store.removed": "{name} काढले.",
|
||||
"wb.install.cancel": "रद्द करा",
|
||||
"wb.install.close": "बंद करा"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue