iobroker.ai-usage 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -2
- package/admin/custom/assets/Components-Bd545388.js +1 -0
- package/admin/custom/assets/ConfigPanel-qivVprTj.js +1 -0
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__AiUsageComponentSet__mf_owner__1-CXmnAfNY.js +1 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DwHNIjSR.js +1243 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-qu1s07FY.js +1494 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-C8-GjKo4.js +9 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__prebuild___mf_0_iobroker_mf_1_gui_mf_2_components__prebuild__-CQxWwR2r.js +1 -0
- package/admin/custom/assets/hostInit-RHMRa462.js +1 -0
- package/admin/custom/assets/index-B0J1NbOp.js +1 -0
- package/admin/custom/assets/lib-ByF76TCN.js +3 -0
- package/admin/custom/assets/mf-entry-bootstrap-0-e070fa3e.js +35 -0
- package/admin/custom/assets/rolldown-runtime-C0FnF6B9.js +1 -0
- package/admin/custom/assets/virtualExposes-BZWQ_oUV.js +1 -0
- package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__AiUsageComponentSet__customComponents_js-l7jtElkM.js +1 -0
- package/admin/custom/assets/virtual_mf-exposes-ssr___mfe_internal__AiUsageComponentSet__customComponents_js-CRK-nAdE.js +2 -0
- package/admin/custom/assets/virtual_mf-exposes___mfe_internal__AiUsageComponentSet__customComponents_js-BZ-CVpVo.js +2 -0
- package/admin/custom/assets/vite-preload-helper-B7qeedMF.js +1 -0
- package/admin/custom/customComponents.js +1 -0
- package/admin/custom/i18n/de.json +23 -0
- package/admin/custom/i18n/en.json +23 -0
- package/admin/custom/i18n/es.json +23 -0
- package/admin/custom/i18n/fr.json +23 -0
- package/admin/custom/i18n/it.json +23 -0
- package/admin/custom/i18n/nl.json +23 -0
- package/admin/custom/i18n/pl.json +23 -0
- package/admin/custom/i18n/pt.json +23 -0
- package/admin/custom/i18n/ru.json +23 -0
- package/admin/custom/i18n/uk.json +23 -0
- package/admin/custom/i18n/zh-cn.json +23 -0
- package/admin/custom/mf-manifest.json +1 -0
- package/admin/i18n/de.json +9 -27
- package/admin/i18n/en.json +9 -27
- package/admin/i18n/es.json +9 -27
- package/admin/i18n/fr.json +9 -27
- package/admin/i18n/it.json +9 -27
- package/admin/i18n/nl.json +9 -27
- package/admin/i18n/pl.json +9 -27
- package/admin/i18n/pt.json +9 -27
- package/admin/i18n/ru.json +9 -27
- package/admin/i18n/uk.json +9 -27
- package/admin/i18n/zh-cn.json +9 -27
- package/admin/jsonConfig.json +7 -166
- package/build/lib/pure-helpers.js +5 -2
- package/build/lib/pure-helpers.js.map +2 -2
- package/build/main.js +105 -7
- package/build/main.js.map +2 -2
- package/io-package.json +15 -15
- package/package.json +5 -2
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
const __mfCacheGlobalKey = "__mf_module_cache__";
|
|
3
|
+
globalThis[__mfCacheGlobalKey] ||= { share: {}, remote: {} };
|
|
4
|
+
globalThis[__mfCacheGlobalKey].share ||= {};
|
|
5
|
+
globalThis[__mfCacheGlobalKey].remote ||= {};
|
|
6
|
+
const __mfModuleCache = globalThis[__mfCacheGlobalKey];
|
|
7
|
+
for (const __mfShareKey of Object.keys(__mfModuleCache.share)) {
|
|
8
|
+
if (__mfShareKey.startsWith("default:")) {
|
|
9
|
+
const __mfLegacyShareKey = __mfShareKey.slice("default:".length);
|
|
10
|
+
if (__mfModuleCache.share[__mfLegacyShareKey] === undefined) {
|
|
11
|
+
__mfModuleCache.share[__mfLegacyShareKey] = __mfModuleCache.share[__mfShareKey];
|
|
12
|
+
}
|
|
13
|
+
} else if (!__mfShareKey.includes(":")) {
|
|
14
|
+
const __mfDefaultShareKey = "default:" + __mfShareKey;
|
|
15
|
+
if (__mfModuleCache.share[__mfDefaultShareKey] === undefined) {
|
|
16
|
+
__mfModuleCache.share[__mfDefaultShareKey] = __mfModuleCache.share[__mfShareKey];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const __mfImport = (src) =>
|
|
22
|
+
globalThis.System && typeof globalThis.System.import === 'function'
|
|
23
|
+
? globalThis.System.import(src)
|
|
24
|
+
: import(src);
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
(async () => {
|
|
28
|
+
const __mfHostInit = await __mfImport("./hostInit-RHMRa462.js");
|
|
29
|
+
await __mfHostInit.__tla;
|
|
30
|
+
const { initHost } = __mfHostInit;
|
|
31
|
+
await initHost();
|
|
32
|
+
if (__mfModuleCache.pendingShareLoads) {
|
|
33
|
+
await Promise.all(__mfModuleCache.pendingShareLoads);
|
|
34
|
+
}
|
|
35
|
+
})().then(() => __mfImport("./index-B0J1NbOp.js"));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e),f=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{d as a,f as i,o as n,u as o,c as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./virtual_mf-exposes___mfe_internal__AiUsageComponentSet__customComponents_js-BZ-CVpVo.js";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./vite-preload-helper-B7qeedMF.js";import{a as t,r as n}from"./_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-qu1s07FY.js";({...t.global});var r=t.share;t.utils,typeof __VUE_HMR_RUNTIME__>`u`&&(globalThis.__VUE_HMR_RUNTIME__={createRecord(){},rerender(){},reload(){}});var i=`__mf_init__virtual:mf:__mfe_internal__AiUsageComponentSet__mf_owner__1__mf_v__runtimeInit__mf_v__.js__`,a=globalThis[i];if(!a){let e,t,n=new Promise((n,r)=>{e=n,t=r});a=globalThis[i]={initPromise:n,initResolve:e,initReject:t}}var o=a.initResolve,s=`__mf_module_cache__`;globalThis[s]||={share:{},remote:{}},globalThis[s].share||={},globalThis[s].remote||={};var c=globalThis[s];for(let e of Object.keys(c.share))if(e.startsWith(`default:`)){let t=e.slice(8);c.share[t]===void 0&&(c.share[t]=c.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;c.share[t]===void 0&&(c.share[t]=c.share[e])}var l={},u=Array.isArray(`default`)?`default`:[`default`],d=`default`,f=`AiUsageComponentSet`,p,m;async function h(e){for(let t=0;;t++)try{return await e()}catch(e){throw e}}var g=Symbol(`mf.originalSharedProvider`),_={emit:e=>e},v=(e,t)=>{if(t!==`version-first`)return e;let n={};for(let[t,r]of Object.entries(e))n[t]=Object.assign({},r,{[g]:r});return n},y=(e,t)=>{if(!t)return;let n=Object.entries(e||{}),r=n.find(([,e])=>e===t);if(r)return{version:r[0],provider:t,registered:!0};if(typeof t.version==`string`&&t.version)return{version:t.version,provider:t,registered:!1};let i=n.filter(([,e])=>e===t||!!(t.from&&(e==null?void 0:e.from)===t.from));if(i.length===1)return{version:i[0][0],provider:t,registered:!1}},b=(e,t,n,i)=>{var a;if(!e||!n)return;let o=Array.isArray(n.scope)?n.scope:[n.scope||`default`],s=v(e,i),c={};for(let e of o)c[e||`default`]={[t]:s};let l=(a=r.getRegisteredShare(c,t,{...n,scope:o,strategy:i},_))==null?void 0:a.shared;return(l==null?void 0:l[g])||l},x=(e,t,n,r)=>{var i;let a=e=>S(e,n),o=Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!a(e)));n!=null&&n.version&&((i=n.shareConfig)==null?void 0:i.import)!==!1&&(o[n.version]||(o[n.version]=n));let s=b(o,t,n,r);return a(s)?void 0:s},S=(e,t)=>e===t||!!(t!=null&&t.from&&(e==null?void 0:e.from)===t.from),C=(e,t,n,r,i,a,o,s,c)=>{var l,u;if(c!==`version-first`||!s)return;let d=t==null||(l=t.options)==null||(l=l.shared)==null?void 0:l[i],f=Array.isArray(d)?d.find(e=>(e==null?void 0:e.version)===a):void 0,p=((s==null?void 0:s.from)===(t==null||(u=t.options)==null?void 0:u.name)?s:void 0)||(S(f,s)?f:t?void 0:s);if(p)return e.some(e=>{var i,a;return e!==t&&(e==null||(i=e.options)==null?void 0:i.name)===(o==null?void 0:o.from)&&(e==null||(a=e.shareScopeMap)==null?void 0:a[r])===n})?p:void 0},w=(e,t,n,r,i,a,o,s,c)=>{let l=a.registered?C(e,t,n,r,i,a.version,a.provider,s,c):void 0,u=l||o;if(u&&!(a.registered&&!S(u,s)))return{provider:u,scopeRootProvider:l}};async function T(){return p||=h(()=>e(()=>import(`./_virtual_mf-localSharedImportMap___mfe_internal__AiUsageComponentSet__mf_owner__1-CXmnAfNY.js`),[],import.meta.url)).catch(e=>{throw p=void 0,e}),p}async function E(){return m||=h(()=>e(()=>import(`./virtualExposes-BZWQ_oUV.js`),[],import.meta.url)).then(e=>e.default??e).catch(e=>{throw m=void 0,e}),m}async function D(e={},t=[]){var r,i;let a=(e,t,n,r)=>{let i=(Array.isArray(r)?r[0]:r)||`default`,a=t||!n?e:e+`@`+n,o={canonical:i+`:`+a};return i==="default"&&(o.aliases=[a]),o},s=(e,t)=>{let n=e[t.canonical];if(n!==void 0)return n;let r=t.aliases||[];for(let n of r){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(r!==void 0)return e[t.canonical]=r,r}},p=Symbol.for(`module-federation.shared-cache-listeners`),m=Symbol.for(`module-federation.shared-cache-owners`),g=e=>{let t=e[m];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,m,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},_=(e,t)=>{var n;return(n=e[m])==null?void 0:n[t.canonical]},v=(e,t,n,r)=>{var i;e[t.canonical]=n;let a=t.aliases||[];for(let t of a)Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0});let o=e[m];r===void 0?o&&delete o[t.canonical]:g(e)[t.canonical]=r;let s=(i=e[p])==null?void 0:i[t.canonical];if(s)for(let e of s)e(n);return n},C=Symbol.for(`module-federation.tree-shaking-shared-cache`),E=e=>{let t=e[C];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,C,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},D=(e,t,n,r)=>{if(!Array.isArray(n))return r;let i=[...new Set(n)].sort(),a=E(e),o=a[t.canonical]||=[],s=o.find(e=>e.providedExports.length===i.length&&e.providedExports.every((e,t)=>e===i[t]));return s?s.value=r:o.push({providedExports:i,value:r}),r},O=Symbol.for(`module-federation.tree-shaking-shared-selection-cache`),k=e=>{let t=e[O];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,O,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},A=(e,t,n)=>{var r;let i=s(e,t);return i===void 0?(r=e[O])==null||(r=r[t.canonical])==null?void 0:r[n]:i},j=(e,t,n,r)=>{let i=k(e),a=i[t.canonical]||=Object.create(null);return a[n]=r,r},M=((r=globalThis.__FEDERATION__)==null?void 0:r.__INSTANCES__)||[],N=(i=t.find(e=>e==null?void 0:e.from))==null?void 0:i.from,ee=M.find(t=>{var n,r;return(t==null||(n=t.options)==null?void 0:n.name)===N&&(t==null||(r=t.shareScopeMap)==null?void 0:r.default)===e})||M.find(t=>{var n,r;return(t==null||(n=t.options)==null?void 0:n.name)!==f&&(t==null||(r=t.shareScopeMap)==null?void 0:r.default)===e}),P=Object.create(null);for(let[t,n]of Object.entries(e)){let e=P[t]=Object.create(null);for(let[t,r]of Object.entries(n))e[t]=Object.assign({},r)}let{usedShared:F,usedRemotes:I}=await T();var L=l[d];if(L||=l[d]={from:f},t.indexOf(L)>=0)return;t.push(L);let R=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t},z=[],B=globalThis.window===void 0?await Promise.all([]):[],V=`__mf_vite_runtime_share_load_id__`,te=0,H=new Map,U=new Map,W=n({name:f,remotes:I,shared:F,plugins:[ne(),...z,...B],shareStrategy:`version-first`});W.initShareScopeMap(`default`,e);function ne(){return{name:`vite-share-pin-lifecycle-plugin`,resolveShare(e){var t;let n=(t=e.shareInfo)==null?void 0:t[V],r=n===void 0?void 0:U.get(n);if(!r)return e;let i=e.resolver;return e.resolver=(...e)=>(r.pinned.reapply(),i(...e)),r.pinned.reveal(),e}}}let re=W.sharedHandler.hooks.lifecycle.resolveShare,G=new WeakMap;re.on(e=>{var t;let n=(t=e.shareInfo)==null?void 0:t[V],r=e.resolver;return typeof r==`function`&&(e.resolver=(...e)=>{let t=r(...e),i=t==null?void 0:t.shared;return i&&(typeof i==`object`||typeof i==`function`)&&!G.has(i)&&G.set(i,{from:i.from}),n!==void 0&&i&&H.set(n,i),t}),e});let ie=(e,t,n,r)=>{if(!e||e[t]!==n)return;let i=Object.assign({},r,{version:r.version??t,scope:r.scope??(n==null?void 0:n.scope)??[`default`],strategy:`loaded-first`}),a=r.from;e[t]=i;let o=()=>n===void 0?e[t]===void 0:e[t]===n;return{provider:i,reveal(){return e[t]===i&&(n===void 0?delete e[t]:e[t]=n,!0)},reapply(){return o()?(e[t]=i,!0):!1},release(s,c=!0){return r.from=a,e[t]===i?c?s?(i.from=a,s&&i.lib&&(i.loaded=!0),r.strategy===void 0?delete i.strategy:i.strategy=r.strategy,!0):(n===void 0?delete e[t]:e[t]=n,!1):(n===void 0?delete e[t]:e[t]=n,!0):!c&&o()}}},ae=e=>Object.entries(e||{}).map(([e,t])=>({provider:t,version:e,from:t.from,registered:!0})),oe=(e,t)=>{if(t===void 0)return;let n;for(let r of e){let e=r.provider,i=e.treeShaking||e;if(r.loadedFactory===t||e.lib===t||i.lib===t){if(n)return;n=r}}return n},se=async(e,t,n)=>{let r=++te;U.set(r,{pinned:n});try{let n=await W.loadShare(e,{customShareInfo:{shareConfig:t,[V]:r}});return{factory:n===!1?void 0:n,selectedProvider:H.get(r)}}finally{H.delete(r),U.delete(r)}},K=async(e,t,n,r,i,a,o=!0)=>{let s=a.from,c=ie(n,r,i,a);if(!c)return;let l;try{l=await se(e,t,c)}catch(e){throw c.release(!1),e}let u=l==null?void 0:l.factory;if(u===void 0){c.release(!1);return}let d=ae(n),f=c.provider.treeShaking||c.provider,p=c.provider.lib===u||f.lib===u;if(!o&&p){let e=d.findIndex(e=>e.provider===c.provider);e!==-1&&d.splice(e,1)}!o&&!d.some(e=>e.provider===a)&&d.push({provider:a,version:r,from:s,registered:!1,loadedFactory:p?u:void 0});let m=!o&&l.selectedProvider===c.provider&&p?a:l.selectedProvider;if(m&&!d.some(e=>e.provider===m)){let e=G.get(m),t=typeof m.version==`string`&&m.version?m.version:r;d.push({provider:m,version:t,from:e?e.from:m.from,registered:(n==null?void 0:n[t])===m,loadedFactory:u})}let h=d.find(e=>e.provider===m)??oe(d,u);if(!c.release(!0,(h==null?void 0:h.provider)===c.provider)||!h)return;let g=G.get(h.provider);h.from=h.provider===a?s:g?g.from:h.provider.from,g&&(h.provider.from=g.from);let _=typeof u==`function`?u():u,v=await Promise.resolve(_);if(!(h.registered&&(n==null?void 0:n[h.version])!==h.provider))return{provider:h.provider,selection:h,resolved:v}},q=new Set,J=new Map,ce=async(t,n,r)=>{var i;let o=!!((i=n.shareConfig)!=null&&i.singleton);if(!o&&n.canLiveRebind!==!1)try{let i=x(r,t,n,`version-first`),l=y(r,i);if(!l)return;let{version:u}=l;if(!o&&u!==n.version||!i.lib&&!i.loading&&!(i.loaded&&typeof i.get==`function`))return;let d=a(t,o,n.version,n.scope);if(s(c.share,d)!==void 0)return;let f=e[t],p=f==null?void 0:f[u];if(l.registered&&!S(p,i))return;let m,h=i.lib;if(!h&&i.loading&&(h=await i.loading),!h&&i.loaded&&typeof i.get==`function`&&(h=await i.get()),!h)return;let g=typeof h==`function`?h():h,_=await Promise.resolve(g),b=l.registered?p:i;m={provider:b,selection:{provider:b,version:u,from:i.from,registered:l.registered},resolved:_};let C=m==null?void 0:m.provider,w=m==null?void 0:m.selection;if(!w)return;let T=m==null?void 0:m.resolved;if(T===void 0||s(c.share,d)!==void 0||w.registered&&(f==null?void 0:f[w.version])!==C)return;v(c.share,d,R(T),w.from),q.add(C)}catch(e){console.error(`[Module Federation] Failed to bridge materialized shared module "`+t+`"`,e)}},Y=async(t,n,r,i,o)=>{try{var l,u;let d=a(t,(l=n.shareConfig)==null?void 0:l.singleton,n.version,n.scope),p=s(c.share,d),m=_(c.share,d),h=x(r,t,n,`version-first`),g=h||b(r,t,n,`version-first`)||n,C=y(r,g);if(!C)return;let T=S(g,n),{version:E}=C,D=i==null?void 0:i[E],O=w(M,ee,e,`default`,t,C,h,D,`version-first`);if(!O&&!T)return;let{provider:k,scopeRootProvider:A}=O||{provider:g,scopeRootProvider:void 0};if(!((u=n.shareConfig)!=null&&u.singleton)||n.canLiveRebind===!1||p!==void 0&&m!==f)return;let j=e[t],N=j==null?void 0:j[E];if(C.registered&&!A&&!S(N,k))return;let P=await K(t,n.shareConfig,j,E,N,k,C.registered&&!T),F=P==null?void 0:P.provider,I=P==null?void 0:P.selection;if(!I||S(F,n)||o&&(o.version!==I.version||!S({from:I.from},o.provider))||q.has(F))return;let L=P==null?void 0:P.resolved;if(L===void 0)return;let z=s(c.share,d),B=_(c.share,d);if(z!==void 0&&B!==f||I.registered&&(j==null?void 0:j[I.version])!==F)return;o||J.set(t,{version:I.version,provider:{from:I.from}}),q.add(F);let V=R(L);v(c.share,d,V,I.from)}catch(e){console.error(`[Module Federation] Failed to bridge external shared module "`+t+`"`,e)}};for(let[e,t]of Object.entries(F))t.treeShaking||await ce(e,t,P[e]);for(let[e,t]of Object.entries(F)){var X;if(t.treeShaking)continue;let n=a(e,(X=t.shareConfig)==null?void 0:X.singleton,t.version,t.scope);if(s(c.share,n)!==void 0)continue;let r=a(e,!0,t.version,t.scope),i=s(c.share,r);i!==void 0&&v(c.share,n,i,_(c.share,r))}let Z=[`react`,`react/jsx-runtime`,`react-dom`,`react-dom/client`,`@mui/material`,`@mui/icons-material`,`@iobroker/gui-components`,`@iobroker/json-config`].filter(e=>F[e]!==void 0),Q=e=>e.startsWith(`@`)?e.split(`/`).slice(0,2).join(`/`):e.split(`/`)[0];for(let e of Object.keys(F)){if(Z.includes(e))continue;let t=Q(e),n=Z.indexOf(t);if(n===-1){Z.push(e);continue}let r=n;for(;r>0&&Q(Z[r-1])===t&&Z[r-1]!==t;)r--;Z.splice(r,0,e)}var le=async e=>{for(let r of e){var t,n;let e=F[r],i=a(r,(t=e.shareConfig)==null?void 0:t.singleton,e.version,e.scope);if(((n=e.shareConfig)==null?void 0:n.import)===!1||e.treeShaking||s(c.share,i)!==void 0)continue;let o=a(r,!0,e.version,e.scope),l=s(c.share,o);if(l!==void 0){v(c.share,i,l,_(c.share,o));continue}let u=await e.get(),d=typeof u==`function`?u():u,p=await Promise.resolve(d),m=(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t})(p),h=m===p?{...p}:m;h.__esModule!==!0&&Object.defineProperty(h,"__esModule",{value:!0,enumerable:!1}),v(c.share,i,h,f)}};let ue=e=>{var t,n;let r=F[e];if(!r.treeShaking&&((t=r.shareConfig)==null?void 0:t.import)!==!1)return!1;let i=a(e,(n=r.shareConfig)==null?void 0:n.singleton,r.version,r.scope);return r.treeShaking?A(c.share,i,f)===void 0&&s(c.share,i)===void 0:s(c.share,i)===void 0},$=Z.findIndex(e=>{var t,n,r;let i=F[e],o=a(e,(t=i.shareConfig)==null?void 0:t.singleton,i.version,i.scope);return(i.treeShaking?A(c.share,o,f)??s(c.share,o):s(c.share,o))===void 0?i.treeShaking||((n=i.shareConfig)==null?void 0:n.import)===!1?!0:!((r=i.shareConfig)!=null&&r.singleton)||typeof x!=`function`?!1:!!x(P[e],e,i,`version-first`):!1}),de=$===-1?Z:Z.slice(0,$);var fe=$===-1?[]:Z.slice($);await le(de);try{await h(async()=>{await Promise.all(await W.initializeSharing(`default`,{strategy:`version-first`,from:`build`,initScope:t}))})}catch(e){console.error(`[Module Federation]`,e)}for(let[t,n]of Object.entries(F))n.treeShaking||await Y(t,n,e[t],P[t],void 0);try{var pe;let e=(pe=globalThis.__FEDERATION__)==null?void 0:pe.__SHARE__,t=Object.create(null);if(e)for(let[,n]of Object.entries(e))for(let e of u){let r=n==null?void 0:n[e];if(r)for(let[e,n]of Object.entries(r)){let r=F==null?void 0:F[e],i=P[e],a=J.get(e);if(!r||!i||!a||r.treeShaking)continue;let o=t[e]||(t[e]=Object.create(null));for(let[e,t]of Object.entries(n)){if(!t.lib||a.version!==e||!S(t,a.provider))continue;let n=i[e];(t===n||n!=null&&n.from&&t.from===n.from)&&(t===r||r.from&&t.from===r.from||o[e]===void 0&&(o[e]=t))}}}for(let[e,n]of Object.entries(t))await Y(e,F[e],n,P[e],J.get(e))}catch(e){console.error(`[Module Federation] Failed to bridge external shared modules`,e)}let me=async()=>{},he=async(t,n)=>{var r,i;let o=a(t,(r=n.shareConfig)==null?void 0:r.singleton,n.version,n.scope),l=n.treeShaking?A(c.share,o,f):s(c.share,o);if(((i=n.shareConfig)==null?void 0:i.import)!==!1||l!==void 0)return;let u=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t},d=e==null?void 0:e[t],p=b(d,t,n,`version-first`)||n,m=y(d,p);if(!m)return;let{version:h}=m,g=d==null?void 0:d[h],_=await K(t,n.shareConfig,d,h,g,p,m.registered&&!S(p,n)),x=_==null?void 0:_.selection,C=_==null?void 0:_.provider,w=_==null?void 0:_.resolved;if(!x||S(C,n)||w===void 0||(n.treeShaking?A(c.share,o,f):s(c.share,o))!==void 0||x.registered&&(d==null?void 0:d[x.version])!==C)return;let T=u(w);if(n.treeShaking){let e=n.treeShaking.providedExports??n.treeShaking.usedExports??[];D(c.share,o,e,T),j(c.share,o,f,T)}else v(c.share,o,T,x.from)};for(let e of fe){let t=F[e];if(ue(e)){var ge;t.treeShaking?await me(e,t):((ge=t.shareConfig)==null?void 0:ge.import)===!1&&await he(e,t)}if(ue(e))break;await le([e])}return o(W),W}async function O(e){let t=await E();if(!(e in t))throw Error(`[Module Federation] Module ${e} does not exist in container.`);return c.pendingShareLoads&&await Promise.all(c.pendingShareLoads),t[e]().then(e=>()=>e)}export{D as n,O as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Components-Bd545388.js","./ConfigPanel-qivVprTj.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./vite-preload-helper-B7qeedMF.js";var t={"./Components":async()=>{let t=await e(()=>import(`./Components-Bd545388.js`),__vite__mapDeps([0,1]),import.meta.url),n={};return Object.assign(n,t),Object.defineProperty(n,"__esModule",{value:!0,enumerable:!1}),n}};export{t as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Components-Bd545388.js","./ConfigPanel-qivVprTj.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./vite-preload-helper-B7qeedMF.js";var t={},n=new Set,r=Promise.resolve();async function i(e){let t=r.then(e,e);return r=t.then(()=>void 0,()=>void 0),t}async function a(e){if(typeof document>`u`)return;let r=t[e]||[];await Promise.all(r.map(e=>{let t=new URL(e,import.meta.url).href;return n.has(t)||(n.add(t),document.querySelector(`link[rel="stylesheet"][href="${t}"]`))?Promise.resolve():new Promise((e,n)=>{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=t,r.onload=()=>e(),r.onerror=()=>n(Error(`[Module Federation] Failed to load CSS asset: ${t}`)),document.head.appendChild(r)})}))}var o={"./Components":async()=>{await a(`./Components`),await Promise.all([]);let t=await i(()=>e(()=>import(`./Components-Bd545388.js`),__vite__mapDeps([0,1]),import.meta.url)),n=t&&t.__mf_remote_dependency_pending;n&&typeof n.then==`function`&&await n;let r={};return Object.assign(r,t),Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),r}};export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=function(e,t){return new URL(e,t).href},t={},n=function(n,r,i){let a=Promise.resolve();if(r&&r.length>0){let n=document.getElementsByTagName(`link`),o=document.querySelector(`meta[property=csp-nonce]`),s=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute(`nonce`));function c(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function l(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}a=c(r.map(r=>{if(r=e(r,i),r=l(r),r in t)return;t[r]=!0;let a=r.endsWith(`.css`);for(let e=n.length-1;e>=0;e--){let t=n[e];if(t.href===r&&(!a||t.rel===`stylesheet`))return}let o=document.createElement(`link`);if(o.rel=a?`stylesheet`:`modulepreload`,a||(o.as=`script`),o.crossOrigin=``,o.href=r,s&&o.setAttribute(`nonce`,s),document.head.appendChild(o),a)return new Promise((e,t)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${r}`)))})}))}function o(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return a.then(e=>{for(let t of e||[])t.status===`rejected`&&o(t.reason);return n().catch(o)})};export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__AiUsageComponentSet__customComponents_js-l7jtElkM.js";export{t as get,e as init};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Claude-Abo",
|
|
3
|
+
"aiu_signedIn": "Angemeldet",
|
|
4
|
+
"aiu_signInAgain": "Neu anmelden",
|
|
5
|
+
"aiu_saveFirst": "Zuerst die Einstellungen speichern — der Anmelde-Link erscheint dann hier.",
|
|
6
|
+
"aiu_waitingForLink": "Warte auf den Anmelde-Link der Instanz …",
|
|
7
|
+
"aiu_step1": "1. Anmeldeseite öffnen und mit Ihrem Claude-Konto anmelden.",
|
|
8
|
+
"aiu_step2": "2. Den Code der letzten Seite kopieren und hier einlösen.",
|
|
9
|
+
"aiu_openSignIn": "Anmeldeseite öffnen",
|
|
10
|
+
"aiu_copyLink": "Link kopieren",
|
|
11
|
+
"aiu_codeLabel": "Code",
|
|
12
|
+
"aiu_redeem": "Einlösen",
|
|
13
|
+
"aiu_signInDone": "Angemeldet — die Verbrauchsdaten kommen mit der nächsten Abfrage.",
|
|
14
|
+
"aiu_signInFailed": "Anmeldung fehlgeschlagen",
|
|
15
|
+
"aiu_instanceNotRunning": "Die Instanz läuft nicht — zum Anmelden bitte starten.",
|
|
16
|
+
"aiu_storedTitle": "KI-Konten",
|
|
17
|
+
"aiu_storedHint": "Ihre zentral gespeicherten KI-Zugangsdaten plus das Claude-Abo — einschalten, was überwacht werden soll. Neue Schlüssel unter Einstellungen → Zugangsdaten.",
|
|
18
|
+
"aiu_noCredentials": "Noch keine KI-Zugangsdaten gespeichert — im Admin unter Einstellungen → Zugangsdaten anlegen.",
|
|
19
|
+
"aiu_unsupported": "Keine Verbrauchsabfrage verfügbar",
|
|
20
|
+
"aiu_provider": "Anbieter",
|
|
21
|
+
"aiu_warnAt": "Warnen ab %",
|
|
22
|
+
"aiu_claudeCaption": "Abo — meldet sich mit Ihrem Claude-Konto an statt mit einem Schlüssel"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Claude subscription",
|
|
3
|
+
"aiu_signedIn": "Signed in",
|
|
4
|
+
"aiu_signInAgain": "Sign in again",
|
|
5
|
+
"aiu_saveFirst": "Save the settings first — the sign-in link will appear here.",
|
|
6
|
+
"aiu_waitingForLink": "Waiting for the sign-in link from the instance …",
|
|
7
|
+
"aiu_step1": "1. Open the sign-in page and log in with your Claude account.",
|
|
8
|
+
"aiu_step2": "2. Copy the code shown on the last page and redeem it here.",
|
|
9
|
+
"aiu_openSignIn": "Open sign-in page",
|
|
10
|
+
"aiu_copyLink": "Copy link",
|
|
11
|
+
"aiu_codeLabel": "Code",
|
|
12
|
+
"aiu_redeem": "Redeem",
|
|
13
|
+
"aiu_signInDone": "Signed in — usage data arrives with the next poll.",
|
|
14
|
+
"aiu_signInFailed": "Sign-in failed",
|
|
15
|
+
"aiu_instanceNotRunning": "The instance is not running — start it to sign in.",
|
|
16
|
+
"aiu_storedTitle": "AI accounts",
|
|
17
|
+
"aiu_storedHint": "Your centrally stored AI credentials plus the Claude subscription — switch on what to monitor. New keys are added under Settings → Credentials.",
|
|
18
|
+
"aiu_noCredentials": "No AI credentials stored yet — add them in the admin settings under Credentials.",
|
|
19
|
+
"aiu_unsupported": "No usage query available",
|
|
20
|
+
"aiu_provider": "Provider",
|
|
21
|
+
"aiu_warnAt": "Warn at %",
|
|
22
|
+
"aiu_claudeCaption": "Subscription — signs in with your Claude account instead of a key"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Suscripción Claude",
|
|
3
|
+
"aiu_signedIn": "Sesión iniciada",
|
|
4
|
+
"aiu_signInAgain": "Iniciar sesión de nuevo",
|
|
5
|
+
"aiu_saveFirst": "Guarde primero la configuración — el enlace de inicio de sesión aparecerá aquí.",
|
|
6
|
+
"aiu_waitingForLink": "Esperando el enlace de inicio de sesión de la instancia …",
|
|
7
|
+
"aiu_step1": "1. Abra la página de inicio de sesión y entre con su cuenta Claude.",
|
|
8
|
+
"aiu_step2": "2. Copie el código de la última página y canjéelo aquí.",
|
|
9
|
+
"aiu_openSignIn": "Abrir página de inicio de sesión",
|
|
10
|
+
"aiu_copyLink": "Copiar enlace",
|
|
11
|
+
"aiu_codeLabel": "Código",
|
|
12
|
+
"aiu_redeem": "Canjear",
|
|
13
|
+
"aiu_signInDone": "Sesión iniciada — los datos llegan con la próxima consulta.",
|
|
14
|
+
"aiu_signInFailed": "Error al iniciar sesión",
|
|
15
|
+
"aiu_instanceNotRunning": "La instancia no está en marcha — iníciela para entrar.",
|
|
16
|
+
"aiu_storedTitle": "Cuentas de IA",
|
|
17
|
+
"aiu_storedHint": "Sus credenciales de IA guardadas centralmente más la suscripción Claude — active lo que quiera supervisar. Nuevas claves en Ajustes → Credenciales.",
|
|
18
|
+
"aiu_noCredentials": "Aún no hay credenciales de IA guardadas — añádalas en los ajustes de administración.",
|
|
19
|
+
"aiu_unsupported": "Consulta de uso no disponible",
|
|
20
|
+
"aiu_provider": "Proveedor",
|
|
21
|
+
"aiu_warnAt": "Avisar desde %",
|
|
22
|
+
"aiu_claudeCaption": "Suscripción — inicia sesión con su cuenta Claude en lugar de una clave"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Abonnement Claude",
|
|
3
|
+
"aiu_signedIn": "Connecté",
|
|
4
|
+
"aiu_signInAgain": "Se reconnecter",
|
|
5
|
+
"aiu_saveFirst": "Enregistrez d'abord les réglages — le lien de connexion apparaîtra ici.",
|
|
6
|
+
"aiu_waitingForLink": "En attente du lien de connexion de l'instance …",
|
|
7
|
+
"aiu_step1": "1. Ouvrez la page de connexion et connectez-vous avec votre compte Claude.",
|
|
8
|
+
"aiu_step2": "2. Copiez le code de la dernière page et validez-le ici.",
|
|
9
|
+
"aiu_openSignIn": "Ouvrir la page de connexion",
|
|
10
|
+
"aiu_copyLink": "Copier le lien",
|
|
11
|
+
"aiu_codeLabel": "Code",
|
|
12
|
+
"aiu_redeem": "Valider",
|
|
13
|
+
"aiu_signInDone": "Connecté — les données arrivent à la prochaine interrogation.",
|
|
14
|
+
"aiu_signInFailed": "Échec de la connexion",
|
|
15
|
+
"aiu_instanceNotRunning": "L'instance ne tourne pas — démarrez-la pour vous connecter.",
|
|
16
|
+
"aiu_storedTitle": "Comptes IA",
|
|
17
|
+
"aiu_storedHint": "Vos identifiants IA enregistrés au niveau central plus l'abonnement Claude — activez ce qui doit être surveillé. Nouvelles clés via Réglages → Identifiants.",
|
|
18
|
+
"aiu_noCredentials": "Aucun identifiant IA enregistré — ajoutez-les dans les réglages d'administration.",
|
|
19
|
+
"aiu_unsupported": "Aucune interrogation d'utilisation disponible",
|
|
20
|
+
"aiu_provider": "Fournisseur",
|
|
21
|
+
"aiu_warnAt": "Avertir à partir de %",
|
|
22
|
+
"aiu_claudeCaption": "Abonnement — se connecte avec votre compte Claude au lieu d'une clé"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Abbonamento Claude",
|
|
3
|
+
"aiu_signedIn": "Accesso effettuato",
|
|
4
|
+
"aiu_signInAgain": "Accedi di nuovo",
|
|
5
|
+
"aiu_saveFirst": "Salva prima le impostazioni — il link di accesso apparirà qui.",
|
|
6
|
+
"aiu_waitingForLink": "In attesa del link di accesso dall'istanza …",
|
|
7
|
+
"aiu_step1": "1. Apri la pagina di accesso ed entra con il tuo account Claude.",
|
|
8
|
+
"aiu_step2": "2. Copia il codice dell'ultima pagina e riscattalo qui.",
|
|
9
|
+
"aiu_openSignIn": "Apri pagina di accesso",
|
|
10
|
+
"aiu_copyLink": "Copia link",
|
|
11
|
+
"aiu_codeLabel": "Codice",
|
|
12
|
+
"aiu_redeem": "Riscatta",
|
|
13
|
+
"aiu_signInDone": "Accesso effettuato — i dati arrivano con la prossima interrogazione.",
|
|
14
|
+
"aiu_signInFailed": "Accesso non riuscito",
|
|
15
|
+
"aiu_instanceNotRunning": "L'istanza non è in esecuzione — avviala per accedere.",
|
|
16
|
+
"aiu_storedTitle": "Account IA",
|
|
17
|
+
"aiu_storedHint": "Le tue credenziali IA salvate centralmente più l'abbonamento Claude — attiva ciò che vuoi monitorare. Nuove chiavi in Impostazioni → Credenziali.",
|
|
18
|
+
"aiu_noCredentials": "Nessuna credenziale IA salvata — aggiungile nelle impostazioni di amministrazione.",
|
|
19
|
+
"aiu_unsupported": "Nessuna interrogazione dei consumi disponibile",
|
|
20
|
+
"aiu_provider": "Fornitore",
|
|
21
|
+
"aiu_warnAt": "Avvisa da %",
|
|
22
|
+
"aiu_claudeCaption": "Abbonamento — accede con il tuo account Claude invece di una chiave"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Claude-abonnement",
|
|
3
|
+
"aiu_signedIn": "Aangemeld",
|
|
4
|
+
"aiu_signInAgain": "Opnieuw aanmelden",
|
|
5
|
+
"aiu_saveFirst": "Sla eerst de instellingen op — de aanmeldlink verschijnt dan hier.",
|
|
6
|
+
"aiu_waitingForLink": "Wachten op de aanmeldlink van de instantie …",
|
|
7
|
+
"aiu_step1": "1. Open de aanmeldpagina en log in met uw Claude-account.",
|
|
8
|
+
"aiu_step2": "2. Kopieer de code van de laatste pagina en wissel die hier in.",
|
|
9
|
+
"aiu_openSignIn": "Aanmeldpagina openen",
|
|
10
|
+
"aiu_copyLink": "Link kopiëren",
|
|
11
|
+
"aiu_codeLabel": "Code",
|
|
12
|
+
"aiu_redeem": "Inwisselen",
|
|
13
|
+
"aiu_signInDone": "Aangemeld — de gebruiksgegevens komen bij de volgende opvraging.",
|
|
14
|
+
"aiu_signInFailed": "Aanmelden mislukt",
|
|
15
|
+
"aiu_instanceNotRunning": "De instantie draait niet — start deze om aan te melden.",
|
|
16
|
+
"aiu_storedTitle": "AI-accounts",
|
|
17
|
+
"aiu_storedHint": "Uw centraal opgeslagen AI-toegangsgegevens plus het Claude-abonnement — schakel in wat u wilt bewaken. Nieuwe sleutels via Instellingen → Toegangsgegevens.",
|
|
18
|
+
"aiu_noCredentials": "Nog geen AI-toegangsgegevens opgeslagen — voeg ze toe in de admin-instellingen.",
|
|
19
|
+
"aiu_unsupported": "Geen verbruiksopvraging beschikbaar",
|
|
20
|
+
"aiu_provider": "Aanbieder",
|
|
21
|
+
"aiu_warnAt": "Waarschuwen vanaf %",
|
|
22
|
+
"aiu_claudeCaption": "Abonnement — meldt zich aan met uw Claude-account in plaats van een sleutel"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Subskrypcja Claude",
|
|
3
|
+
"aiu_signedIn": "Zalogowano",
|
|
4
|
+
"aiu_signInAgain": "Zaloguj ponownie",
|
|
5
|
+
"aiu_saveFirst": "Najpierw zapisz ustawienia — link logowania pojawi się tutaj.",
|
|
6
|
+
"aiu_waitingForLink": "Oczekiwanie na link logowania z instancji …",
|
|
7
|
+
"aiu_step1": "1. Otwórz stronę logowania i zaloguj się kontem Claude.",
|
|
8
|
+
"aiu_step2": "2. Skopiuj kod z ostatniej strony i zrealizuj go tutaj.",
|
|
9
|
+
"aiu_openSignIn": "Otwórz stronę logowania",
|
|
10
|
+
"aiu_copyLink": "Kopiuj link",
|
|
11
|
+
"aiu_codeLabel": "Kod",
|
|
12
|
+
"aiu_redeem": "Zrealizuj",
|
|
13
|
+
"aiu_signInDone": "Zalogowano — dane przyjdą przy następnym odpytaniu.",
|
|
14
|
+
"aiu_signInFailed": "Logowanie nie powiodło się",
|
|
15
|
+
"aiu_instanceNotRunning": "Instancja nie działa — uruchom ją, aby się zalogować.",
|
|
16
|
+
"aiu_storedTitle": "Konta AI",
|
|
17
|
+
"aiu_storedHint": "Twoje centralnie zapisane dane dostępu AI plus subskrypcja Claude — włącz, co ma być monitorowane. Nowe klucze w Ustawienia → Dane dostępu.",
|
|
18
|
+
"aiu_noCredentials": "Brak zapisanych danych dostępu AI — dodaj je w ustawieniach administratora.",
|
|
19
|
+
"aiu_unsupported": "Zapytanie o zużycie niedostępne",
|
|
20
|
+
"aiu_provider": "Dostawca",
|
|
21
|
+
"aiu_warnAt": "Ostrzegaj od %",
|
|
22
|
+
"aiu_claudeCaption": "Subskrypcja — loguje się kontem Claude zamiast klucza"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Assinatura Claude",
|
|
3
|
+
"aiu_signedIn": "Sessão iniciada",
|
|
4
|
+
"aiu_signInAgain": "Iniciar sessão novamente",
|
|
5
|
+
"aiu_saveFirst": "Guarde primeiro as definições — o link de início de sessão aparecerá aqui.",
|
|
6
|
+
"aiu_waitingForLink": "A aguardar o link de início de sessão da instância …",
|
|
7
|
+
"aiu_step1": "1. Abra a página de início de sessão e entre com a sua conta Claude.",
|
|
8
|
+
"aiu_step2": "2. Copie o código da última página e resgate-o aqui.",
|
|
9
|
+
"aiu_openSignIn": "Abrir página de início de sessão",
|
|
10
|
+
"aiu_copyLink": "Copiar link",
|
|
11
|
+
"aiu_codeLabel": "Código",
|
|
12
|
+
"aiu_redeem": "Resgatar",
|
|
13
|
+
"aiu_signInDone": "Sessão iniciada — os dados chegam na próxima consulta.",
|
|
14
|
+
"aiu_signInFailed": "Falha no início de sessão",
|
|
15
|
+
"aiu_instanceNotRunning": "A instância não está em execução — inicie-a para entrar.",
|
|
16
|
+
"aiu_storedTitle": "Contas de IA",
|
|
17
|
+
"aiu_storedHint": "As suas credenciais de IA guardadas centralmente mais a assinatura Claude — ative o que deseja monitorizar. Novas chaves em Definições → Credenciais.",
|
|
18
|
+
"aiu_noCredentials": "Ainda não há credenciais de IA guardadas — adicione-as nas definições do administrador.",
|
|
19
|
+
"aiu_unsupported": "Consulta de uso indisponível",
|
|
20
|
+
"aiu_provider": "Fornecedor",
|
|
21
|
+
"aiu_warnAt": "Avisar a partir de %",
|
|
22
|
+
"aiu_claudeCaption": "Assinatura — inicia sessão com a sua conta Claude em vez de uma chave"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Подписка Claude",
|
|
3
|
+
"aiu_signedIn": "Вход выполнен",
|
|
4
|
+
"aiu_signInAgain": "Войти заново",
|
|
5
|
+
"aiu_saveFirst": "Сначала сохраните настройки — здесь появится ссылка для входа.",
|
|
6
|
+
"aiu_waitingForLink": "Ожидание ссылки для входа от экземпляра …",
|
|
7
|
+
"aiu_step1": "1. Откройте страницу входа и войдите со своим аккаунтом Claude.",
|
|
8
|
+
"aiu_step2": "2. Скопируйте код с последней страницы и активируйте его здесь.",
|
|
9
|
+
"aiu_openSignIn": "Открыть страницу входа",
|
|
10
|
+
"aiu_copyLink": "Копировать ссылку",
|
|
11
|
+
"aiu_codeLabel": "Код",
|
|
12
|
+
"aiu_redeem": "Активировать",
|
|
13
|
+
"aiu_signInDone": "Вход выполнен — данные придут со следующим опросом.",
|
|
14
|
+
"aiu_signInFailed": "Ошибка входа",
|
|
15
|
+
"aiu_instanceNotRunning": "Экземпляр не запущен — запустите его для входа.",
|
|
16
|
+
"aiu_storedTitle": "Аккаунты ИИ",
|
|
17
|
+
"aiu_storedHint": "Ваши централизованно сохранённые данные доступа ИИ плюс подписка Claude — включите, что нужно отслеживать. Новые ключи: Настройки → Учётные данные.",
|
|
18
|
+
"aiu_noCredentials": "Данные доступа ИИ ещё не сохранены — добавьте их в настройках администратора.",
|
|
19
|
+
"aiu_unsupported": "Запрос расхода недоступен",
|
|
20
|
+
"aiu_provider": "Провайдер",
|
|
21
|
+
"aiu_warnAt": "Предупреждать с %",
|
|
22
|
+
"aiu_claudeCaption": "Подписка — вход через ваш аккаунт Claude вместо ключа"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Підписка Claude",
|
|
3
|
+
"aiu_signedIn": "Вхід виконано",
|
|
4
|
+
"aiu_signInAgain": "Увійти знову",
|
|
5
|
+
"aiu_saveFirst": "Спочатку збережіть налаштування — посилання для входу з'явиться тут.",
|
|
6
|
+
"aiu_waitingForLink": "Очікування посилання для входу від екземпляра …",
|
|
7
|
+
"aiu_step1": "1. Відкрийте сторінку входу та увійдіть своїм акаунтом Claude.",
|
|
8
|
+
"aiu_step2": "2. Скопіюйте код з останньої сторінки та активуйте його тут.",
|
|
9
|
+
"aiu_openSignIn": "Відкрити сторінку входу",
|
|
10
|
+
"aiu_copyLink": "Копіювати посилання",
|
|
11
|
+
"aiu_codeLabel": "Код",
|
|
12
|
+
"aiu_redeem": "Активувати",
|
|
13
|
+
"aiu_signInDone": "Вхід виконано — дані надійдуть із наступним опитуванням.",
|
|
14
|
+
"aiu_signInFailed": "Помилка входу",
|
|
15
|
+
"aiu_instanceNotRunning": "Екземпляр не запущено — запустіть його для входу.",
|
|
16
|
+
"aiu_storedTitle": "Акаунти ШІ",
|
|
17
|
+
"aiu_storedHint": "Ваші централізовано збережені дані доступу ШІ плюс підписка Claude — увімкніть те, що треба відстежувати. Нові ключі: Налаштування → Дані доступу.",
|
|
18
|
+
"aiu_noCredentials": "Ще немає збережених даних доступу ШІ — додайте їх у налаштуваннях адміністратора.",
|
|
19
|
+
"aiu_unsupported": "Запит використання недоступний",
|
|
20
|
+
"aiu_provider": "Постачальник",
|
|
21
|
+
"aiu_warnAt": "Попереджати від %",
|
|
22
|
+
"aiu_claudeCaption": "Підписка — вхід через ваш акаунт Claude замість ключа"
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"aiu_claudeTitle": "Claude 订阅",
|
|
3
|
+
"aiu_signedIn": "已登录",
|
|
4
|
+
"aiu_signInAgain": "重新登录",
|
|
5
|
+
"aiu_saveFirst": "请先保存设置——登录链接随后会显示在这里。",
|
|
6
|
+
"aiu_waitingForLink": "正在等待实例提供登录链接……",
|
|
7
|
+
"aiu_step1": "1. 打开登录页面并用您的 Claude 账户登录。",
|
|
8
|
+
"aiu_step2": "2. 复制最后页面上的代码并在此兑换。",
|
|
9
|
+
"aiu_openSignIn": "打开登录页面",
|
|
10
|
+
"aiu_copyLink": "复制链接",
|
|
11
|
+
"aiu_codeLabel": "代码",
|
|
12
|
+
"aiu_redeem": "兑换",
|
|
13
|
+
"aiu_signInDone": "已登录——数据将随下次查询到达。",
|
|
14
|
+
"aiu_signInFailed": "登录失败",
|
|
15
|
+
"aiu_instanceNotRunning": "实例未运行——请启动后再登录。",
|
|
16
|
+
"aiu_storedTitle": "AI 账户",
|
|
17
|
+
"aiu_storedHint": "您集中保存的 AI 凭据以及 Claude 订阅——开启要监控的项目。新密钥请在 设置 → 凭据 中添加。",
|
|
18
|
+
"aiu_noCredentials": "尚未保存任何 AI 凭据——请在管理设置中添加。",
|
|
19
|
+
"aiu_unsupported": "无可用的用量查询",
|
|
20
|
+
"aiu_provider": "提供商",
|
|
21
|
+
"aiu_warnAt": "警告阈值 %",
|
|
22
|
+
"aiu_claudeCaption": "订阅——使用您的 Claude 账户登录,无需密钥"
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"AiUsageComponentSet","name":"AiUsageComponentSet","metaData":{"name":"AiUsageComponentSet","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"AiUsageComponentSet"},"remoteEntry":{"name":"customComponents.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"customComponents.ssr.js","path":"","type":"module"},"types":{"path":"","name":"","zip":"@mf-types.zip","api":"@mf-types.d.ts"},"globalName":"AiUsageComponentSet","pluginVersion":"0.2.5","publicPath":"auto"},"shared":[{"id":"AiUsageComponentSet:@iobroker/gui-components","name":"@iobroker/gui-components","version":"10.1.0","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__prebuild___mf_0_iobroker_mf_1_gui_mf_2_components__prebuild__-CQxWwR2r.js"]},"css":{"async":[],"sync":[]}}},{"id":"AiUsageComponentSet:@iobroker/json-config","name":"@iobroker/json-config","version":"9.0.22","singleton":true,"requiredVersion":"*","assets":{"js":{"async":["assets/lib-ByF76TCN.js"],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-qu1s07FY.js"]},"css":{"async":[],"sync":[]}}},{"id":"AiUsageComponentSet:@mui/icons-material","name":"@mui/icons-material","version":"9.3.1","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DwHNIjSR.js"]},"css":{"async":[],"sync":[]}}},{"id":"AiUsageComponentSet:@mui/material","name":"@mui/material","version":"9.3.1","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DwHNIjSR.js"]},"css":{"async":[],"sync":[]}}},{"id":"AiUsageComponentSet:react","name":"react","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DwHNIjSR.js"]},"css":{"async":[],"sync":[]}}},{"id":"AiUsageComponentSet:react-dom","name":"react-dom","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DwHNIjSR.js"]},"css":{"async":[],"sync":[]}}},{"id":"AiUsageComponentSet:react/jsx-runtime","name":"react/jsx-runtime","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DwHNIjSR.js"]},"css":{"async":[],"sync":[]}}},{"id":"AiUsageComponentSet:react-dom/client","name":"react-dom/client","version":"19.2.8","singleton":true,"requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/_virtual_mf___mfe_internal__AiUsageComponentSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-C8-GjKo4.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[{"id":"AiUsageComponentSet:Components","name":"Components","assets":{"js":{"async":["assets/lib-ByF76TCN.js"],"sync":["assets/Components-Bd545388.js"]},"css":{"async":[],"sync":[]}},"path":"./Components"}]}
|
package/admin/i18n/de.json
CHANGED
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"label_pollInterval": "Abfrage-Intervall (s)",
|
|
12
|
-
"help_pollInterval": "Wie oft jedes Konto abgefragt wird. Unter 300 s droht Drosselung durch den Anbieter — Claude sperrt das ganze Konto für etwa einen Tag.",
|
|
13
|
-
"label_notifications": "Benachrichtigungen",
|
|
14
|
-
"help_notifications": "Eine Benachrichtigung, wenn ein Konto seine Warnschwelle überschreitet oder die Zugangsdaten nicht mehr funktionieren.",
|
|
15
|
-
"supportHeader": "Entwicklung unterstützen",
|
|
16
|
-
"aboutInfo": "Dieser Adapter ist kostenlos und quelloffen. Wenn er dir nützt, freue ich mich über Unterstützung.",
|
|
17
|
-
"donateKofi": "Auf Ko-fi unterstützen",
|
|
18
|
-
"donatePaypal": "Über PayPal spenden",
|
|
19
|
-
"OpenRouter": "OpenRouter",
|
|
20
|
-
"DeepSeek": "DeepSeek",
|
|
21
|
-
"claudeHeader": "Claude-Abo-Anmeldung",
|
|
22
|
-
"claudeInfo": "Für eine Claude-Abo-Zeile: Namen eintragen, den erzeugten Link öffnen, bei Anthropic anmelden und Zugriff erlauben, dann den dort angezeigten Code einfügen und einlösen. Danach erneuert der Adapter die Anmeldung selbstständig.",
|
|
23
|
-
"label_claudeAccount": "Konto-Name (aus der Tabelle)",
|
|
24
|
-
"help_claudeAccount": "Genau wie in der Konten-Tabelle geschrieben",
|
|
25
|
-
"label_claudeUrl": "Anmelde-Link",
|
|
26
|
-
"label_claudeCode": "Code von der Anthropic-Seite",
|
|
27
|
-
"help_claudeCode": "Wird nach dem Erlauben angezeigt",
|
|
28
|
-
"btn_claudeRedeem": "Code einlösen"
|
|
2
|
+
"settingsHeader": "Einstellungen",
|
|
3
|
+
"label_pollInterval": "Abfrage-Intervall (s)",
|
|
4
|
+
"help_pollInterval": "Wie oft jedes Konto abgefragt wird. Unter 300 s droht Drosselung durch den Anbieter — Claude sperrt das ganze Konto für etwa einen Tag.",
|
|
5
|
+
"label_notifications": "Benachrichtigungen",
|
|
6
|
+
"help_notifications": "Eine Benachrichtigung, wenn ein Konto seine Warnschwelle überschreitet oder die Zugangsdaten nicht mehr funktionieren.",
|
|
7
|
+
"supportHeader": "Entwicklung unterstützen",
|
|
8
|
+
"aboutInfo": "Dieser Adapter ist kostenlos und quelloffen. Wenn er dir nützt, freue ich mich über Unterstützung.",
|
|
9
|
+
"donateKofi": "Auf Ko-fi unterstützen",
|
|
10
|
+
"donatePaypal": "Über PayPal spenden"
|
|
29
11
|
}
|
package/admin/i18n/en.json
CHANGED
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"label_pollInterval": "Poll interval (s)",
|
|
12
|
-
"help_pollInterval": "How often each account is queried. Below 300 s you risk provider throttling — Claude locks the whole account for about a day.",
|
|
13
|
-
"label_notifications": "Notifications",
|
|
14
|
-
"help_notifications": "One notification when an account crosses its warn threshold or its credentials stop working.",
|
|
15
|
-
"supportHeader": "Support the development",
|
|
16
|
-
"aboutInfo": "This adapter is free and open source. If you find it useful, consider supporting the development.",
|
|
17
|
-
"donateKofi": "Support on Ko-fi",
|
|
18
|
-
"donatePaypal": "Donate via PayPal",
|
|
19
|
-
"OpenRouter": "OpenRouter",
|
|
20
|
-
"DeepSeek": "DeepSeek",
|
|
21
|
-
"claudeHeader": "Claude subscription sign-in",
|
|
22
|
-
"claudeInfo": "For a Claude subscription row: enter its name, open the generated link, sign in at Anthropic and allow access, then paste the code shown there and redeem it. The adapter refreshes the sign-in by itself afterwards.",
|
|
23
|
-
"label_claudeAccount": "Account name (from the table)",
|
|
24
|
-
"help_claudeAccount": "Exactly as written in the accounts table",
|
|
25
|
-
"label_claudeUrl": "Sign-in link",
|
|
26
|
-
"label_claudeCode": "Code from the Anthropic page",
|
|
27
|
-
"help_claudeCode": "Shown after allowing access",
|
|
28
|
-
"btn_claudeRedeem": "Redeem code"
|
|
2
|
+
"settingsHeader": "Settings",
|
|
3
|
+
"label_pollInterval": "Poll interval (s)",
|
|
4
|
+
"help_pollInterval": "How often each account is queried. Below 300 s you risk provider throttling — Claude locks the whole account for about a day.",
|
|
5
|
+
"label_notifications": "Notifications",
|
|
6
|
+
"help_notifications": "One notification when an account crosses its warn threshold or its credentials stop working.",
|
|
7
|
+
"supportHeader": "Support the development",
|
|
8
|
+
"aboutInfo": "This adapter is free and open source. If you find it useful, consider supporting the development.",
|
|
9
|
+
"donateKofi": "Support on Ko-fi",
|
|
10
|
+
"donatePaypal": "Donate via PayPal"
|
|
29
11
|
}
|
package/admin/i18n/es.json
CHANGED
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"label_pollInterval": "Intervalo de sondeo (s)",
|
|
12
|
-
"help_pollInterval": "Con qué frecuencia se consulta cada cuenta. Por debajo de 300 s hay riesgo de limitación del proveedor — Claude bloquea toda la cuenta durante aproximadamente un día.",
|
|
13
|
-
"label_notifications": "Notificaciones",
|
|
14
|
-
"help_notifications": "Una notificación cuando una cuenta supera su umbral de aviso o las credenciales dejan de funcionar.",
|
|
15
|
-
"supportHeader": "Apoyar el desarrollo",
|
|
16
|
-
"aboutInfo": "Este adaptador es gratuito y de código abierto. Si te resulta útil, considera apoyar el desarrollo.",
|
|
17
|
-
"donateKofi": "Apoyar en Ko-fi",
|
|
18
|
-
"donatePaypal": "Donar por PayPal",
|
|
19
|
-
"OpenRouter": "OpenRouter",
|
|
20
|
-
"DeepSeek": "DeepSeek",
|
|
21
|
-
"claudeHeader": "Inicio de sesión de la suscripción Claude",
|
|
22
|
-
"claudeInfo": "Para una fila de suscripción Claude: escriba su nombre, abra el enlace generado, inicie sesión en Anthropic y permita el acceso, luego pegue el código mostrado y canjéelo. Después el adaptador renueva la sesión por sí mismo.",
|
|
23
|
-
"label_claudeAccount": "Nombre de cuenta (de la tabla)",
|
|
24
|
-
"help_claudeAccount": "Exactamente como en la tabla de cuentas",
|
|
25
|
-
"label_claudeUrl": "Enlace de inicio de sesión",
|
|
26
|
-
"label_claudeCode": "Código de la página de Anthropic",
|
|
27
|
-
"help_claudeCode": "Se muestra tras permitir el acceso",
|
|
28
|
-
"btn_claudeRedeem": "Canjear código"
|
|
2
|
+
"settingsHeader": "Ajustes",
|
|
3
|
+
"label_pollInterval": "Intervalo de sondeo (s)",
|
|
4
|
+
"help_pollInterval": "Con qué frecuencia se consulta cada cuenta. Por debajo de 300 s hay riesgo de limitación del proveedor — Claude bloquea toda la cuenta durante aproximadamente un día.",
|
|
5
|
+
"label_notifications": "Notificaciones",
|
|
6
|
+
"help_notifications": "Una notificación cuando una cuenta supera su umbral de aviso o las credenciales dejan de funcionar.",
|
|
7
|
+
"supportHeader": "Apoyar el desarrollo",
|
|
8
|
+
"aboutInfo": "Este adaptador es gratuito y de código abierto. Si te resulta útil, considera apoyar el desarrollo.",
|
|
9
|
+
"donateKofi": "Apoyar en Ko-fi",
|
|
10
|
+
"donatePaypal": "Donar por PayPal"
|
|
29
11
|
}
|
package/admin/i18n/fr.json
CHANGED
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"label_pollInterval": "Intervalle d'interrogation (s)",
|
|
12
|
-
"help_pollInterval": "Fréquence d'interrogation de chaque compte. Sous 300 s, risque de limitation par le fournisseur — Claude bloque tout le compte pendant environ un jour.",
|
|
13
|
-
"label_notifications": "Notifications",
|
|
14
|
-
"help_notifications": "Une notification lorsqu'un compte dépasse son seuil d'alerte ou que les identifiants ne fonctionnent plus.",
|
|
15
|
-
"supportHeader": "Soutenir le développement",
|
|
16
|
-
"aboutInfo": "Cet adaptateur est gratuit et open source. S'il vous est utile, pensez à soutenir le développement.",
|
|
17
|
-
"donateKofi": "Soutenir sur Ko-fi",
|
|
18
|
-
"donatePaypal": "Faire un don via PayPal",
|
|
19
|
-
"OpenRouter": "OpenRouter",
|
|
20
|
-
"DeepSeek": "DeepSeek",
|
|
21
|
-
"claudeHeader": "Connexion à l'abonnement Claude",
|
|
22
|
-
"claudeInfo": "Pour une ligne d'abonnement Claude : saisissez son nom, ouvrez le lien généré, connectez-vous chez Anthropic et autorisez l'accès, puis collez le code affiché et validez-le. Ensuite, l'adaptateur renouvelle la connexion lui-même.",
|
|
23
|
-
"label_claudeAccount": "Nom du compte (du tableau)",
|
|
24
|
-
"help_claudeAccount": "Exactement comme dans le tableau des comptes",
|
|
25
|
-
"label_claudeUrl": "Lien de connexion",
|
|
26
|
-
"label_claudeCode": "Code de la page Anthropic",
|
|
27
|
-
"help_claudeCode": "Affiché après l'autorisation",
|
|
28
|
-
"btn_claudeRedeem": "Valider le code"
|
|
2
|
+
"settingsHeader": "Paramètres",
|
|
3
|
+
"label_pollInterval": "Intervalle d'interrogation (s)",
|
|
4
|
+
"help_pollInterval": "Fréquence d'interrogation de chaque compte. Sous 300 s, risque de limitation par le fournisseur — Claude bloque tout le compte pendant environ un jour.",
|
|
5
|
+
"label_notifications": "Notifications",
|
|
6
|
+
"help_notifications": "Une notification lorsqu'un compte dépasse son seuil d'alerte ou que les identifiants ne fonctionnent plus.",
|
|
7
|
+
"supportHeader": "Soutenir le développement",
|
|
8
|
+
"aboutInfo": "Cet adaptateur est gratuit et open source. S'il vous est utile, pensez à soutenir le développement.",
|
|
9
|
+
"donateKofi": "Soutenir sur Ko-fi",
|
|
10
|
+
"donatePaypal": "Faire un don via PayPal"
|
|
29
11
|
}
|
package/admin/i18n/it.json
CHANGED
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"label_pollInterval": "Intervallo di polling (s)",
|
|
12
|
-
"help_pollInterval": "Frequenza di interrogazione di ogni account. Sotto i 300 s si rischia la limitazione del provider — Claude blocca l'intero account per circa un giorno.",
|
|
13
|
-
"label_notifications": "Notifiche",
|
|
14
|
-
"help_notifications": "Una notifica quando un account supera la soglia di avviso o le credenziali smettono di funzionare.",
|
|
15
|
-
"supportHeader": "Sostieni lo sviluppo",
|
|
16
|
-
"aboutInfo": "Questo adattatore è gratuito e open source. Se ti è utile, considera di sostenere lo sviluppo.",
|
|
17
|
-
"donateKofi": "Sostieni su Ko-fi",
|
|
18
|
-
"donatePaypal": "Dona via PayPal",
|
|
19
|
-
"OpenRouter": "OpenRouter",
|
|
20
|
-
"DeepSeek": "DeepSeek",
|
|
21
|
-
"claudeHeader": "Accesso abbonamento Claude",
|
|
22
|
-
"claudeInfo": "Per una riga di abbonamento Claude: inserisci il nome, apri il link generato, accedi ad Anthropic e consenti l'accesso, poi incolla il codice mostrato e riscattalo. Dopo, l'adattatore rinnova l'accesso da solo.",
|
|
23
|
-
"label_claudeAccount": "Nome account (dalla tabella)",
|
|
24
|
-
"help_claudeAccount": "Esattamente come nella tabella account",
|
|
25
|
-
"label_claudeUrl": "Link di accesso",
|
|
26
|
-
"label_claudeCode": "Codice dalla pagina Anthropic",
|
|
27
|
-
"help_claudeCode": "Mostrato dopo il consenso",
|
|
28
|
-
"btn_claudeRedeem": "Riscatta codice"
|
|
2
|
+
"settingsHeader": "Impostazioni",
|
|
3
|
+
"label_pollInterval": "Intervallo di polling (s)",
|
|
4
|
+
"help_pollInterval": "Frequenza di interrogazione di ogni account. Sotto i 300 s si rischia la limitazione del provider — Claude blocca l'intero account per circa un giorno.",
|
|
5
|
+
"label_notifications": "Notifiche",
|
|
6
|
+
"help_notifications": "Una notifica quando un account supera la soglia di avviso o le credenziali smettono di funzionare.",
|
|
7
|
+
"supportHeader": "Sostieni lo sviluppo",
|
|
8
|
+
"aboutInfo": "Questo adattatore è gratuito e open source. Se ti è utile, considera di sostenere lo sviluppo.",
|
|
9
|
+
"donateKofi": "Sostieni su Ko-fi",
|
|
10
|
+
"donatePaypal": "Dona via PayPal"
|
|
29
11
|
}
|