More languages added & version number finally set to 0.5.1.

This commit is contained in:
koichixD
2026-02-09 21:49:24 +01:00
parent 417b83bb41
commit cfec10b1bf
10 changed files with 259 additions and 4 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "quasar-items-editor",
"private": true,
"version": "0.5.0",
"version": "0.5.1",
"type": "module",
"scripts": {
"dev": "vite",
+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="16" viewBox="0 0 24 16">
<rect width="8" height="16" fill="#009246"/>
<rect x="8" width="8" height="16" fill="#FFFFFF"/>
<rect x="16" width="8" height="16" fill="#CE2B37"/>
</svg>

After

Width:  |  Height:  |  Size: 244 B

+4
View File
@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="16" viewBox="0 0 24 16">
<rect width="24" height="8" fill="#FFFFFF"/>
<rect y="8" width="24" height="8" fill="#DC143C"/>
</svg>

After

Width:  |  Height:  |  Size: 190 B

+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="16" viewBox="0 0 24 16">
<rect width="24" height="16" fill="#009C3B"/>
<path d="M12 2L22 8L12 14L2 8Z" fill="#FFDF00"/>
<circle cx="12" cy="8" r="3.2" fill="#002776"/>
</svg>

After

Width:  |  Height:  |  Size: 239 B

+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="16" viewBox="0 0 24 16">
<rect width="24" height="5.333" fill="#FFFFFF"/>
<rect y="5.333" width="24" height="5.334" fill="#0039A6"/>
<rect y="10.667" width="24" height="5.333" fill="#D52B1E"/>
</svg>

After

Width:  |  Height:  |  Size: 264 B

+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="16" viewBox="0 0 24 16">
<rect width="24" height="16" fill="#E30A17"/>
<circle cx="10" cy="8" r="4" fill="#FFFFFF"/>
<circle cx="11" cy="8" r="3.2" fill="#E30A17"/>
<polygon points="14.8,8 16,8.4 15.2,7.4 15.2,8.6 16,7.6" fill="#FFFFFF"/>
</svg>

After

Width:  |  Height:  |  Size: 312 B

+1 -1
View File
@@ -2676,7 +2676,7 @@ dependencies = [
[[package]]
name = "quasar-items-editor"
version = "0.5.0"
version = "0.5.1"
dependencies = [
"serde",
"serde_json",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "quasar-items-editor"
version = "0.5.0"
version = "0.5.1"
description = "Item Editor für das Quasar Advanced Inventory"
authors = ["koichixD"]
edition = "2021"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "quasar-items-editor",
"version": "0.5.0",
"version": "0.5.1",
"identifier": "com.wf.quasar-items-editor",
"build": {
"beforeDevCommand": "npm run dev",
+230
View File
@@ -43,6 +43,11 @@ const languageOptions = [
{ value: "en", label: "English", flagSrc: "/flags/us.svg", flagAlt: "US" },
{ value: "es", label: "Espanol", flagSrc: "/flags/es.svg", flagAlt: "ES" },
{ value: "fr", label: "Francais", flagSrc: "/flags/fr.svg", flagAlt: "FR" },
{ value: "pt-BR", label: "Portugues (BR)", flagSrc: "/flags/pt-br.svg", flagAlt: "BR" },
{ value: "it", label: "Italiano", flagSrc: "/flags/it.svg", flagAlt: "IT" },
{ value: "pl", label: "Polski", flagSrc: "/flags/pl.svg", flagAlt: "PL" },
{ value: "tr", label: "Turkce", flagSrc: "/flags/tr.svg", flagAlt: "TR" },
{ value: "ru", label: "Russkiy", flagSrc: "/flags/ru.svg", flagAlt: "RU" },
];
const translations = {
de: {
@@ -221,6 +226,231 @@ const translations = {
imageAddError: ({ message }) => `Impossible d'ajouter l'image : ${message}`,
imageAdded: "Image ajoutée",
},
"pt-BR": {
allItems: "Todos os itens",
uncategorized: "Nao atribuido",
categories: "Categorias",
category: "Categoria",
newCategoryPlaceholder: "Criar nova categoria...",
searchPlaceholder: "Buscar item...",
inventoryOpen: "Abrir inventario",
inventoryLabel: "Inventario",
loadedFile: "Carregado",
chooseItemHint: "Escolha uma categoria a esquerda e depois selecione um item.",
applyChanges: "Aplicar alteracoes",
selectInventoryTitle: "Selecionar pasta do QS inventory",
itemsFileMissing: "items.lua nao encontrado. Selecione a pasta qs-inventory.",
imagesMissing: "Pasta de imagens nao encontrada: qs-inventory\\html\\images",
noItemsDetected:
"Nenhum item detectado. Verifique se o arquivo comeca com `ItemList = {` ou `QBShared.Items = {`.",
loadedItems: ({ count }) => `Carregado: ${count} itens`,
loadError: ({ message }) => `Erro ao carregar: ${message}`,
saved: "Salvo",
saveError: ({ message }) => `Erro ao salvar: ${message}`,
backupError: ({ message }) => `Falha ao criar backup: ${message}`,
language: "Idioma",
newItem: "Novo item",
template: "Modelo",
create: "Criar",
cancel: "Cancelar",
itemId: "ID do item",
itemLabel: "Rotulo",
idRequired: "Informe um ID de item.",
idExists: ({ id }) => `ID de item ja existe: ${id}`,
templateNormal: "Itens normais",
templateNormalRare: "Itens normais com raridade",
templateWeapon: "Armas",
templateFood: "Comida",
templateDrink: "Bebida",
selectTemplateTitle: "Selecionar modelo",
createItemTitle: "Editar novo item",
close: "Fechar",
itemCreated: "Item salvo",
imageAdd: "Adicionar imagem",
imageAddError: ({ message }) => `Falha ao adicionar imagem: ${message}`,
imageAdded: "Imagem adicionada",
},
it: {
allItems: "Tutti gli item",
uncategorized: "Non assegnato",
categories: "Categorie",
category: "Categoria",
newCategoryPlaceholder: "Crea una nuova categoria...",
searchPlaceholder: "Cerca item...",
inventoryOpen: "Apri inventario",
inventoryLabel: "Inventario",
loadedFile: "Caricato",
chooseItemHint: "Scegli una categoria a sinistra e poi seleziona un item.",
applyChanges: "Applica modifiche",
selectInventoryTitle: "Seleziona cartella QS inventory",
itemsFileMissing: "items.lua non trovato. Seleziona la cartella qs-inventory.",
imagesMissing: "Cartella immagini non trovata: qs-inventory\\html\\images",
noItemsDetected:
"Nessun item rilevato. Assicurati che il file inizi con `ItemList = {` o `QBShared.Items = {`.",
loadedItems: ({ count }) => `Caricati: ${count} item`,
loadError: ({ message }) => `Errore di caricamento: ${message}`,
saved: "Salvato",
saveError: ({ message }) => `Errore di salvataggio: ${message}`,
backupError: ({ message }) => `Backup non riuscito: ${message}`,
language: "Lingua",
newItem: "Nuovo item",
template: "Modello",
create: "Crea",
cancel: "Annulla",
itemId: "ID item",
itemLabel: "Etichetta",
idRequired: "Inserisci un ID item.",
idExists: ({ id }) => `ID item gia esistente: ${id}`,
templateNormal: "Item normali",
templateNormalRare: "Item normali con rarita",
templateWeapon: "Armi",
templateFood: "Cibo",
templateDrink: "Bevanda",
selectTemplateTitle: "Seleziona modello",
createItemTitle: "Modifica nuovo item",
close: "Chiudi",
itemCreated: "Item salvato",
imageAdd: "Aggiungi immagine",
imageAddError: ({ message }) => `Impossibile aggiungere l'immagine: ${message}`,
imageAdded: "Immagine aggiunta",
},
pl: {
allItems: "Wszystkie przedmioty",
uncategorized: "Nieprzypisane",
categories: "Kategorie",
category: "Kategoria",
newCategoryPlaceholder: "Utworz nowa kategorie...",
searchPlaceholder: "Szukaj przedmiotu...",
inventoryOpen: "Otworz ekwipunek",
inventoryLabel: "Ekwipunek",
loadedFile: "Wczytano",
chooseItemHint: "Wybierz kategorie po lewej stronie, a nastepnie przedmiot.",
applyChanges: "Zastosuj zmiany",
selectInventoryTitle: "Wybierz folder QS inventory",
itemsFileMissing: "Nie znaleziono items.lua. Wybierz folder qs-inventory.",
imagesMissing: "Nie znaleziono folderu obrazow: qs-inventory\\html\\images",
noItemsDetected:
"Nie wykryto przedmiotow. Upewnij sie, ze plik zaczyna sie od `ItemList = {` lub `QBShared.Items = {`.",
loadedItems: ({ count }) => `Wczytano: ${count} przedmiotow`,
loadError: ({ message }) => `Blad wczytywania: ${message}`,
saved: "Zapisano",
saveError: ({ message }) => `Blad zapisu: ${message}`,
backupError: ({ message }) => `Nie udalo sie utworzyc kopii zapasowej: ${message}`,
language: "Jezyk",
newItem: "Nowy przedmiot",
template: "Szablon",
create: "Utworz",
cancel: "Anuluj",
itemId: "ID przedmiotu",
itemLabel: "Etykieta",
idRequired: "Podaj ID przedmiotu.",
idExists: ({ id }) => `ID przedmiotu juz istnieje: ${id}`,
templateNormal: "Zwykle przedmioty",
templateNormalRare: "Zwykle przedmioty z rzadkoscia",
templateWeapon: "Bron",
templateFood: "Jedzenie",
templateDrink: "Napoj",
selectTemplateTitle: "Wybierz szablon",
createItemTitle: "Edytuj nowy przedmiot",
close: "Zamknij",
itemCreated: "Przedmiot zapisany",
imageAdd: "Dodaj obraz",
imageAddError: ({ message }) => `Nie udalo sie dodac obrazu: ${message}`,
imageAdded: "Obraz dodany",
},
tr: {
allItems: "Tum ogeler",
uncategorized: "Atanmamis",
categories: "Kategoriler",
category: "Kategori",
newCategoryPlaceholder: "Yeni kategori olustur...",
searchPlaceholder: "Oge ara...",
inventoryOpen: "Envanteri ac",
inventoryLabel: "Envanter",
loadedFile: "Yuklendi",
chooseItemHint: "Soldan bir kategori secin ve sonra bir oge secin.",
applyChanges: "Degisiklikleri uygula",
selectInventoryTitle: "QS inventory klasorunu sec",
itemsFileMissing: "items.lua bulunamadi. Lutfen qs-inventory klasorunu secin.",
imagesMissing: "Gorsel klasoru bulunamadi: qs-inventory\\html\\images",
noItemsDetected:
"Oge bulunamadi. Dosyanin `ItemList = {` veya `QBShared.Items = {` ile basladigindan emin olun.",
loadedItems: ({ count }) => `Yuklendi: ${count} oge`,
loadError: ({ message }) => `Yukleme hatasi: ${message}`,
saved: "Kaydedildi",
saveError: ({ message }) => `Kaydetme hatasi: ${message}`,
backupError: ({ message }) => `Yedek olusturulamadi: ${message}`,
language: "Dil",
newItem: "Yeni oge",
template: "Sablon",
create: "Olustur",
cancel: "Iptal",
itemId: "Oge ID",
itemLabel: "Etiket",
idRequired: "Lutfen bir oge ID girin.",
idExists: ({ id }) => `Oge ID zaten mevcut: ${id}`,
templateNormal: "Normal ogeler",
templateNormalRare: "Nadirlikli normal ogeler",
templateWeapon: "Silahlar",
templateFood: "Yiyecek",
templateDrink: "Icecek",
selectTemplateTitle: "Sablon sec",
createItemTitle: "Yeni ogeyi duzenle",
close: "Kapat",
itemCreated: "Oge kaydedildi",
imageAdd: "Gorsel ekle",
imageAddError: ({ message }) => `Gorsel eklenemedi: ${message}`,
imageAdded: "Gorsel eklendi",
},
ru: {
allItems: "\u0412\u0441\u0435 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u044b",
uncategorized: "\u0411\u0435\u0437 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
categories: "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
category: "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
newCategoryPlaceholder: "\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e...",
searchPlaceholder: "\u041f\u043e\u0438\u0441\u043a \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430...",
inventoryOpen: "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c",
inventoryLabel: "\u0418\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c",
loadedFile: "\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043e",
chooseItemHint:
"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e \u0441\u043b\u0435\u0432\u0430, \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u043c\u0435\u0442.",
applyChanges: "\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f",
selectInventoryTitle: "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0430\u043f\u043a\u0443 QS inventory",
itemsFileMissing:
"\u0424\u0430\u0439\u043b items.lua \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0430\u043f\u043a\u0443 qs-inventory.",
imagesMissing:
"\u041f\u0430\u043f\u043a\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430: qs-inventory\\html\\images",
noItemsDetected:
"\u041f\u0440\u0435\u0434\u043c\u0435\u0442\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0444\u0430\u0439\u043b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 `ItemList = {` \u0438\u043b\u0438 `QBShared.Items = {`.",
loadedItems: ({ count }) => `\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043e: ${count} \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043e\u0432`,
loadError: ({ message }) => `\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438: ${message}`,
saved: "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e",
saveError: ({ message }) => `\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f: ${message}`,
backupError: ({ message }) =>
`\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e: ${message}`,
language: "\u042f\u0437\u044b\u043a",
newItem: "\u041d\u043e\u0432\u044b\u0439 \u043f\u0440\u0435\u0434\u043c\u0435\u0442",
template: "\u0428\u0430\u0431\u043b\u043e\u043d",
create: "\u0421\u043e\u0437\u0434\u0430\u0442\u044c",
cancel: "\u041e\u0442\u043c\u0435\u043d\u0430",
itemId: "ID \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430",
itemLabel: "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",
idRequired: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 ID \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430.",
idExists: ({ id }) => `ID \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442: ${id}`,
templateNormal: "\u041e\u0431\u044b\u0447\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u044b",
templateNormalRare: "\u041e\u0431\u044b\u0447\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u044b \u0441 \u0440\u0435\u0434\u043a\u043e\u0441\u0442\u044c\u044e",
templateWeapon: "\u041e\u0440\u0443\u0436\u0438\u0435",
templateFood: "\u0415\u0434\u0430",
templateDrink: "\u041d\u0430\u043f\u0438\u0442\u043e\u043a",
selectTemplateTitle: "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0448\u0430\u0431\u043b\u043e\u043d",
createItemTitle: "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430",
close: "\u0417\u0430\u043a\u0440\u044b\u0442\u044c",
itemCreated: "\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d",
imageAdd: "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435",
imageAddError: ({ message }) =>
`\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435: ${message}`,
imageAdded: "\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e",
},
};
const itemTemplates = [