overview-components 1.1.38 → 1.1.39
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/dist/assets/generated/locales/de.d.ts +6 -0
- package/dist/assets/generated/locales/de.d.ts.map +1 -1
- package/dist/assets/generated/locales/de.js +6 -0
- package/dist/assets/generated/locales/de.js.map +1 -1
- package/dist/assets/generated/locales/en.d.ts +6 -0
- package/dist/assets/generated/locales/en.d.ts.map +1 -1
- package/dist/assets/generated/locales/en.js +6 -0
- package/dist/assets/generated/locales/en.js.map +1 -1
- package/dist/assets/generated/locales/fr.d.ts +6 -0
- package/dist/assets/generated/locales/fr.d.ts.map +1 -1
- package/dist/assets/generated/locales/fr.js +7 -1
- package/dist/assets/generated/locales/fr.js.map +1 -1
- package/dist/assets/generated/locales/hr.d.ts +6 -0
- package/dist/assets/generated/locales/hr.d.ts.map +1 -1
- package/dist/assets/generated/locales/hr.js +98 -88
- package/dist/assets/generated/locales/hr.js.map +1 -1
- package/dist/assets/generated/locales/it.d.ts +6 -0
- package/dist/assets/generated/locales/it.d.ts.map +1 -1
- package/dist/assets/generated/locales/it.js +94 -88
- package/dist/assets/generated/locales/it.js.map +1 -1
- package/dist/assets/generated/locales/pl.d.ts +6 -0
- package/dist/assets/generated/locales/pl.d.ts.map +1 -1
- package/dist/assets/generated/locales/pl.js +98 -88
- package/dist/assets/generated/locales/pl.js.map +1 -1
- package/dist/assets/generated/locales/ro.d.ts +6 -0
- package/dist/assets/generated/locales/ro.d.ts.map +1 -1
- package/dist/assets/generated/locales/ro.js +98 -88
- package/dist/assets/generated/locales/ro.js.map +1 -1
- package/dist/assets/generated/locales/sk.d.ts +6 -0
- package/dist/assets/generated/locales/sk.d.ts.map +1 -1
- package/dist/assets/generated/locales/sk.js +98 -88
- package/dist/assets/generated/locales/sk.js.map +1 -1
- package/dist/assets/generated/locales/sr.d.ts +6 -0
- package/dist/assets/generated/locales/sr.d.ts.map +1 -1
- package/dist/assets/generated/locales/sr.js +98 -88
- package/dist/assets/generated/locales/sr.js.map +1 -1
- package/dist/components/lit-ai-filter-assistant.js +1 -1
- package/dist/scripts/translate-locales.js +67 -12
- package/dist/scripts/translate-locales.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,91 +1,101 @@
|
|
|
1
|
+
// Do not modify this file by hand!
|
|
2
|
+
// Re-generate this file by running lit-localize
|
|
3
|
+
/* eslint-disable no-irregular-whitespace */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
1
5
|
export const templates = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
6
|
+
's8a84781285902bd2': `садржи`,
|
|
7
|
+
's1925331ad6c64637': `једнако је`,
|
|
8
|
+
'sba330831941ae386': `није једнако`,
|
|
9
|
+
'sccac2330d0a4d058': `почиње са`,
|
|
10
|
+
'sdf81aa22a1b4aa06': `завршава са`,
|
|
11
|
+
'sa7a80301906a0173': `не садржи`,
|
|
12
|
+
's8880ac4da050ad9a': `празно је`,
|
|
13
|
+
'sc95a3635ecaa46eb': `није празно`,
|
|
14
|
+
's092e5f07b5c1b468': `Јесте`,
|
|
15
|
+
's0feefac6a1bec461': `Није`,
|
|
16
|
+
's5e23c5d0d3231a59': `Било која вредност од`,
|
|
17
|
+
's225e3e775cda9b71': `веће од`,
|
|
18
|
+
's5af39d89cdd6a1e4': `веће или једнако`,
|
|
19
|
+
's2f8e4d3c6f1d4510': `мање од`,
|
|
20
|
+
's82c39c78a92d8413': `мање или једнако`,
|
|
21
|
+
'sbcdb774748c9d3ea': `од - до`,
|
|
22
|
+
's36d606f3bb0a3624': `Није пронађено`,
|
|
23
|
+
's091d6207b5b3464e': `Од`,
|
|
24
|
+
's08fe5907b5988674': `До`,
|
|
25
|
+
's293aa6a6446fb153': `Извоз`,
|
|
26
|
+
'sb4c0cd52d592aee0': `Извоз у CSV`,
|
|
27
|
+
'saa637b6840ecc5e3': `Извоз у Excel`,
|
|
28
|
+
'sbc3da15f317e6d06': `Групиши колону`,
|
|
29
|
+
's95d3135947073ab2': `Закачи колону лево`,
|
|
30
|
+
'sd9f0fe9e136a0acc': `Агрегација`,
|
|
31
|
+
's7120cff551f1b596': `откажи`,
|
|
32
|
+
's77587c8d840951d1': `Приказ`,
|
|
33
|
+
's344f2109cedf473f': `Компактно`,
|
|
34
|
+
'sc02f69b861b8a4ad': `Стандардно`,
|
|
35
|
+
'sf76c8c3eb342b006': `Комфорно`,
|
|
36
|
+
'se93cb8534e709403': `Конфигурација`,
|
|
37
|
+
'sf746a9a7f10472e8': `Сачувај`,
|
|
38
|
+
'sb00ea304442e7076': `Откажи`,
|
|
39
|
+
's90fa3c53dd89d011': `Унесите име фајла:`,
|
|
40
|
+
's783526ef468eb227': `Уклони закачивање колоне`,
|
|
41
|
+
's7d3d55d1d86a35f5': `Уклони груписање`,
|
|
42
|
+
'sb255bbe1fe10beae': `Премести колону`,
|
|
43
|
+
's0e76fcb106022b06': `Број записа`,
|
|
44
|
+
'sf80637ab420b4218': `Прилагоди колоне`,
|
|
45
|
+
'sd53a8a8e32832239': `Додели колону`,
|
|
46
|
+
's3cc741c565a70033': `Унесите име колоне`,
|
|
47
|
+
'sdd88ad7dbe8c3656': `Нема више садржаја`,
|
|
48
|
+
's0db1277366c4a86f': `Данас`,
|
|
49
|
+
's522ce673e4aff948': `Брзи избори`,
|
|
50
|
+
's6d6d590a7f6d302c': `Последњих 7 дана`,
|
|
51
|
+
's7f35758f6a95b284': `Последњих 14 дана`,
|
|
52
|
+
'se3b67a0584f8bbd6': `Последњих 30 дана`,
|
|
53
|
+
'saa7959c403d826d2': `Последњи календарски месец`,
|
|
54
|
+
's501d64700c424a9c': `Последњи квартал`,
|
|
55
|
+
's7cbd910ca31b5a20': `Последњих 12 месеци`,
|
|
56
|
+
's5a324818d4cf5a2b': `Последња календарска година`,
|
|
57
|
+
'sba6adeb452c3b633': `Функција`,
|
|
58
|
+
's0d0485bfffdb05da': `Колона`,
|
|
59
|
+
's9d7bdcd8dbae283c': `Услов`,
|
|
60
|
+
'se8cf43794b3aaabc': `Вредност`,
|
|
61
|
+
's3486e20fb685b022': `Нови филтер`,
|
|
62
|
+
's51168131617d3dff': `Обриши све`,
|
|
63
|
+
's334a006f9678ebba': `Боја позадине`,
|
|
64
|
+
's397b67e7e244a3e4': `Подебљан фонт`,
|
|
65
|
+
's8841a020f3e1ceeb': `Додели променљиву`,
|
|
66
|
+
'sc40c64af682857b0': `Унесите име променљиве`,
|
|
67
|
+
's75348f70a448b785': `Аутоматска висина секције`,
|
|
68
|
+
'sb1329ea3479ba4e6': `Икона секције`,
|
|
69
|
+
'sfc4c2711e5a55976': `Унесите име иконе`,
|
|
70
|
+
's816d956668ac51cc': `Име секције`,
|
|
71
|
+
'seea18cfa1d68eee3': `Унесите име секције`,
|
|
72
|
+
's9dde15bd7407bb32': `Унесите име`,
|
|
73
|
+
's41fde3c63609700a': `Приказан преглед`,
|
|
74
|
+
's50cb0fc259cfc198': `Прикажи преглед`,
|
|
75
|
+
's790aa84b9a0eb984': `Преглед документа није могућ због типа документа.`,
|
|
76
|
+
's26b5b44944cf69d7': `Обриши`,
|
|
77
|
+
's09204f07b5b55bdc': `Не`,
|
|
78
|
+
's1a974eac7f5e600f': `Икона таба`,
|
|
79
|
+
'sce823040c83d0380': `Да ли стварно желите да обришете таб?`,
|
|
80
|
+
'sa6e672ee9200c929': `Име таба`,
|
|
81
|
+
'sed8bd7214a4aed5e': `Подразумевано име таба приказано кориснику ако није доступна ниједна језичка варијанта.`,
|
|
82
|
+
's7b3f9b2fe617f451': `Име таба на одређеном језику које се користи ако одговара подешеном језику интерфејса.`,
|
|
83
|
+
'sac8743828c11c3c2': `Сакриј језичке варијанте`,
|
|
84
|
+
's513217488a467f5c': `Прикажи језичке варијанте`,
|
|
85
|
+
'sfa433beeab6f389f': `AI превод`,
|
|
86
|
+
'saec3c5ec66949afc': `Текст за празан садржај`,
|
|
87
|
+
's27f25624672123b3': `Унесите текст`,
|
|
88
|
+
's701f3bc40a562bd8': `Подразумевана текстуална порука приказана ако таб нема садржај.`,
|
|
89
|
+
's295aa003624cce96': `Текстуална порука приказана ако таб нема садржај на одређеном језику који се користи ако одговара подешеном језику интерфејса.`,
|
|
90
|
+
'sfc487bd98c5385d2': `Нпр. фактурисање...`,
|
|
91
|
+
's7dfa028a74a296d1': `Означи све`,
|
|
92
|
+
's22f2c2b39844fc86': `укупно`,
|
|
93
|
+
'sc5cc9ba45407f8c1': `Нови разговор`,
|
|
94
|
+
'sc62d1ed5263066ec': `Затвори`,
|
|
95
|
+
's804ae3c439fe89ec': `Поново претражи`,
|
|
96
|
+
's62175c13e753efce': `Нема историје упита. Почните да куцате за филтрирање помоћу AI.`,
|
|
97
|
+
'sb4f25fdd6027e200': `Претражи`,
|
|
98
|
+
's3af882fa6a87bdd3': `Предлози`,
|
|
99
|
+
'sf999be199ff42ecb': `Да`,
|
|
90
100
|
};
|
|
91
101
|
//# sourceMappingURL=sr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sr.js","sourceRoot":"","sources":["../../../../src/assets/generated/locales/sr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sr.js","sourceRoot":"","sources":["../../../../src/assets/generated/locales/sr.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ let LitAiFilterAssistant = class LitAiFilterAssistant extends LitElement {
|
|
|
65
65
|
<!-- Header -->
|
|
66
66
|
<header class="header">
|
|
67
67
|
<div style="display: flex; align-items: center; gap: 0.5rem;">
|
|
68
|
-
<lit-icon size="1.25rem" aiIcon></lit-icon>
|
|
68
|
+
<lit-icon size="1.25rem" aiIcon icon="aiFilter"></lit-icon>
|
|
69
69
|
<div class="header-title" style="color: var(--text-primary, #111827)">
|
|
70
70
|
Filter AI Assistant
|
|
71
71
|
</div>
|
|
@@ -5,8 +5,13 @@ dotenv.config();
|
|
|
5
5
|
const DEEPL_API_URL = 'https://api-free.deepl.com/v2/translate';
|
|
6
6
|
const API_KEY = process.env.DEEP_L_TRANSLATION;
|
|
7
7
|
const localesDir = path.resolve('./src/assets/generated/locales');
|
|
8
|
-
//
|
|
9
|
-
|
|
8
|
+
// Rate limiting configuration
|
|
9
|
+
const RATE_LIMIT_DELAY = 100; // ms between requests
|
|
10
|
+
const BATCH_SIZE = 50; // translations per batch
|
|
11
|
+
const MAX_RETRIES = 3;
|
|
12
|
+
const RETRY_DELAY = 2000; // ms
|
|
13
|
+
// Helper to translate text with retry logic
|
|
14
|
+
async function translateText(text, sourceLang, targetLang, retries = MAX_RETRIES) {
|
|
10
15
|
try {
|
|
11
16
|
const response = await fetch(DEEPL_API_URL, {
|
|
12
17
|
method: 'POST',
|
|
@@ -21,16 +26,36 @@ async function translateText(text, sourceLang, targetLang) {
|
|
|
21
26
|
}),
|
|
22
27
|
});
|
|
23
28
|
if (!response.ok) {
|
|
29
|
+
if (response.status === 429 && retries > 0) {
|
|
30
|
+
// Rate limit hit, wait and retry
|
|
31
|
+
console.log(`Rate limit hit, retrying in ${RETRY_DELAY}ms...`);
|
|
32
|
+
await new Promise(res => setTimeout(res, RETRY_DELAY));
|
|
33
|
+
return translateText(text, sourceLang, targetLang, retries - 1);
|
|
34
|
+
}
|
|
24
35
|
throw new Error(`HTTP Error ${response.status}: ${response.statusText}`);
|
|
25
36
|
}
|
|
26
37
|
const data = await response.json();
|
|
27
38
|
return data.translations[0].text;
|
|
28
39
|
}
|
|
29
40
|
catch (error) {
|
|
30
|
-
|
|
41
|
+
if (retries > 0) {
|
|
42
|
+
console.log(`Error translating, retrying... (${retries} attempts left)`);
|
|
43
|
+
await new Promise(res => setTimeout(res, RETRY_DELAY));
|
|
44
|
+
return translateText(text, sourceLang, targetLang, retries - 1);
|
|
45
|
+
}
|
|
46
|
+
console.error(`Failed to translate "${text}" from ${sourceLang} to ${targetLang}:`, error.message);
|
|
31
47
|
return text; // Fallback to original text
|
|
32
48
|
}
|
|
33
49
|
}
|
|
50
|
+
// Individual translate function (batching disabled due to separator issues)
|
|
51
|
+
async function translateIndividual(texts, sourceLang, targetLang) {
|
|
52
|
+
const results = [];
|
|
53
|
+
for (const text of texts) {
|
|
54
|
+
results.push(await translateText(text, sourceLang, targetLang));
|
|
55
|
+
await new Promise(res => setTimeout(res, RATE_LIMIT_DELAY));
|
|
56
|
+
}
|
|
57
|
+
return results;
|
|
58
|
+
}
|
|
34
59
|
// Process a single locale file
|
|
35
60
|
async function processLocaleFile(filePath) {
|
|
36
61
|
const locale = path.basename(filePath, '.ts'); // Extract locale name (e.g., 'en', 'fr')
|
|
@@ -43,27 +68,57 @@ async function processLocaleFile(filePath) {
|
|
|
43
68
|
console.error(`No templates object found in ${filePath}`);
|
|
44
69
|
return;
|
|
45
70
|
}
|
|
46
|
-
|
|
71
|
+
let templates;
|
|
72
|
+
try {
|
|
73
|
+
// Extract and parse the templates object using regex and eval (controlled environment)
|
|
74
|
+
const templatesMatch = match[1];
|
|
75
|
+
// Create a safe evaluation context
|
|
76
|
+
const evalCode = `(${templatesMatch})`;
|
|
77
|
+
templates = eval(evalCode);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error(`Failed to parse templates from ${filePath}:`, error.message);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
47
83
|
const translatedTemplates = {};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
84
|
+
const entries = Object.entries(templates);
|
|
85
|
+
console.log(`Processing ${entries.length} translations for ${locale}...`);
|
|
86
|
+
// Process individually to avoid separator issues
|
|
87
|
+
for (let i = 0; i < entries.length; i++) {
|
|
88
|
+
const [key, value] = entries[i];
|
|
89
|
+
if (i % 10 === 0) {
|
|
90
|
+
console.log(`Progress: ${i + 1}/${entries.length} (${Math.round(((i + 1) / entries.length) * 100)}%)`);
|
|
52
91
|
}
|
|
92
|
+
translatedTemplates[key] = await translateText(value, sourceLang, targetLang);
|
|
93
|
+
// Rate limiting between requests
|
|
94
|
+
await new Promise(res => setTimeout(res, RATE_LIMIT_DELAY));
|
|
53
95
|
}
|
|
54
96
|
// Recreate the file content with updated translations
|
|
55
|
-
const newFileContent = `export const templates = ${JSON.stringify(translatedTemplates, null, 2)}`;
|
|
97
|
+
const newFileContent = `export const templates = ${JSON.stringify(translatedTemplates, null, 2)};\n`;
|
|
56
98
|
fs.writeFileSync(filePath, newFileContent);
|
|
57
|
-
console.log(
|
|
99
|
+
console.log(`✅ Updated ${Object.keys(translatedTemplates).length} translations for ${locale}`);
|
|
58
100
|
}
|
|
59
101
|
// Main function to process all locale files
|
|
60
102
|
async function translateLocales() {
|
|
103
|
+
if (!API_KEY) {
|
|
104
|
+
console.error('❌ DEEP_L_TRANSLATION environment variable not set!');
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
61
107
|
const files = fs.readdirSync(localesDir).filter(file => file.endsWith('.ts'));
|
|
62
|
-
|
|
108
|
+
console.log(`🚀 Starting translation for ${files.length} locale files...`);
|
|
109
|
+
const startTime = Date.now();
|
|
110
|
+
for (let i = 0; i < files.length; i++) {
|
|
111
|
+
const file = files[i];
|
|
63
112
|
const filePath = path.join(localesDir, file);
|
|
113
|
+
console.log(`\n📝 Processing ${file} (${i + 1}/${files.length})...`);
|
|
64
114
|
await processLocaleFile(filePath);
|
|
65
|
-
|
|
115
|
+
// Longer delay between files to prevent rate limits
|
|
116
|
+
if (i < files.length - 1) {
|
|
117
|
+
await new Promise(res => setTimeout(res, 1000));
|
|
118
|
+
}
|
|
66
119
|
}
|
|
120
|
+
const duration = ((Date.now() - startTime) / 1000).toFixed(2);
|
|
121
|
+
console.log(`\n🎉 Translation completed in ${duration}s!`);
|
|
67
122
|
}
|
|
68
123
|
translateLocales();
|
|
69
124
|
//# sourceMappingURL=translate-locales.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translate-locales.js","sourceRoot":"","sources":["../../src/scripts/translate-locales.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,aAAa,GAAG,yCAAyC,CAAC;AAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAE/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAElE,
|
|
1
|
+
{"version":3,"file":"translate-locales.js","sourceRoot":"","sources":["../../src/scripts/translate-locales.js"],"names":[],"mappings":"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"}
|