Added Assets Localization

This commit is contained in:
2025-10-12 19:41:02 +02:00
parent f15f4cf822
commit 090db4a1ab
3 changed files with 160 additions and 22 deletions

View File

@@ -13,8 +13,26 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, ...</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, ...</value>
</resheader> </resheader>
<data name="Assets" xml:space="preserve">
<value>Assets</value>
</data>
<data name="Create asset" xml:space="preserve"> <data name="Create asset" xml:space="preserve">
<value>Asset anlegen</value> <value>Asset erstellen</value>
</data>
<data name="Owner" xml:space="preserve">
<value>Besitzer</value>
</data>
<data name="Asset ID" xml:space="preserve">
<value>Asset ID</value>
</data>
<data name="Asset Name" xml:space="preserve">
<value>Asset Name</value>
</data>
<data name="Location" xml:space="preserve">
<value>Ort</value>
</data>
<data name="Action" xml:space="preserve">
<value>Aktion</value>
</data> </data>
<data name="Update" xml:space="preserve"> <data name="Update" xml:space="preserve">
<value>Anpassen</value> <value>Anpassen</value>
@@ -22,4 +40,103 @@
<data name="Delete" xml:space="preserve"> <data name="Delete" xml:space="preserve">
<value>Löschen</value> <value>Löschen</value>
</data> </data>
<data name="Create Asset" xml:space="preserve">
<value>Asset erstellen</value>
</data>
<data name="Name" xml:space="preserve">
<value>Name</value>
</data>
<data name="Serial Number" xml:space="preserve">
<value>Seriennummer</value>
</data>
<data name="Description" xml:space="preserve">
<value>Beschreibung</value>
</data>
<data name="Type" xml:space="preserve">
<value>Art</value>
</data>
<data name="Make" xml:space="preserve">
<value>Marke</value>
</data>
<data name="Model" xml:space="preserve">
<value>Modell</value>
</data>
<data name="Attributes" xml:space="preserve">
<value>Attribute</value>
</data>
<data name="Add Attribute" xml:space="preserve">
<value>Attribut hinzufügen</value>
</data>
<data name="Purchase Information" xml:space="preserve">
<value>Kaufinformationen</value>
</data>
<data name="Purchase Value" xml:space="preserve">
<value>Kaufwert</value>
</data>
<data name="Purchased At" xml:space="preserve">
<value>Gekauft bei</value>
</data>
<data name="Purchased By" xml:space="preserve">
<value>Gekauft von</value>
</data>
<data name="Cancel" xml:space="preserve">
<value>Abbrechen</value>
</data>
<data name="Create" xml:space="preserve">
<value>Erstellen</value>
</data>
<data name="Update Asset" xml:space="preserve">
<value>Asset anpassen</value>
</data>
<data name="Purchase Date" xml:space="preserve">
<value>Kaufdatum</value>
</data>
<data name="Save Changes" xml:space="preserve">
<value>Änderungen anwenden</value>
</data>
<data name="Attribute name" xml:space="preserve">
<value>Attribut Name</value>
</data>
<data name="Attribute value" xml:space="preserve">
<value>Attribut Wert</value>
</data>
<data name="Remove" xml:space="preserve">
<value>Entfernen</value>
</data>
<data name="Confirm Delete" xml:space="preserve">
<value>Asset löschen</value>
</data>
<data name="AssetDeleteConfirmation1" xml:space="preserve">
<value>Sind Sie sicher, dass Sie das Asset</value>
</data>
<data name="AssetDeleteConfirmation2" xml:space="preserve">
<value> löschen wollen?</value>
</data>
<data name="Yes, Delete" xml:space="preserve">
<value>Ja, löschen</value>
</data>
<data name="Asset deleted successfully" xml:space="preserve">
<value>Asset wurde erfolgreich gelöscht</value>
</data>
<data name="Error contacting server" xml:space="preserve">
<value>Server konnte nicht erreicht werden</value>
</data>
<data name="Unknown error" xml:space="preserve">
<value>Unbekannter Fehler</value>
</data>
<data name="Asset created successfully" xml:space="preserve">
<value>Asset wurde erfolgreich erstellt</value>
</data>
<data name="Error creating asset" xml:space="preserve">
<value>Fehler beim Erstellen des Asset</value>
</data>
<data name="Error loading asset data" xml:space="preserve">
<value>Fehler beim Laden der Asset Daten</value>
</data>
<data name="Asset updated successfully" xml:space="preserve">
<value>Asset wurde erfolgreich angepasst</value>
</data>
<data name="Error updating asset" xml:space="preserve">
<value>Fehler beim Anpassen des Assets</value>
</data>
</root> </root>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, ...</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, ...</value>
</resheader>
<data name="AssetDeleteConfirmation1" xml:space="preserve">
<value>Are you sure you want to delete the asset</value>
</data>
<data name="AssetDeleteConfirmation2" xml:space="preserve">
<value>?</value>
</data>
</root>

View File

@@ -67,16 +67,16 @@
<div class="modal-dialog modal-dialog-centered"> <div class="modal-dialog modal-dialog-centered">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header bg-danger text-white"> <div class="modal-header bg-danger text-white">
<h5 class="modal-title" id="deleteModalLabel">Confirm Delete</h5> <h5 class="modal-title" id="deleteModalLabel">@T["Confirm Delete"]</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>Are you sure you want to delete the asset <strong id="assetName"></strong> (ID: <span id="assetId"></span>)?</p> <p>@T["AssetDeleteConfirmation1"] <strong id="assetName"></strong> (ID: <span id="assetId"></span>)@T["AssetDeleteConfirmation2"]</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">@T["Cancel"]</button>
<form id="deleteForm" method="post" action=""> <form id="deleteForm" method="post" action="">
<button type="submit" class="btn btn-danger">Yes, Delete</button> <button type="submit" class="btn btn-danger">@T["Yes, Delete"]</button>
</form> </form>
</div> </div>
</div> </div>
@@ -157,13 +157,13 @@
row.classList.add('table-danger'); row.classList.add('table-danger');
setTimeout(() => row.remove(), 300); setTimeout(() => row.remove(), 300);
showToast('Asset deleted successfully', 'success'); showToast('@T["Asset deleted successfully"]', 'success');
} else { } else {
showToast(`${result.reason}: ${result.exception || 'Unknown error'}`, 'danger'); showToast(`${result.reason}: ${result.exception || '@T["Unknown error"]'}`, 'danger');
} }
} catch (error) { } catch (error) {
console.error(error); console.error(error);
showToast('Error contacting server', 'danger'); showToast('@T["Error contacting server"]', 'danger');
} }
}); });
}); });
@@ -274,9 +274,9 @@
const row = document.createElement('div'); const row = document.createElement('div');
row.className = 'd-flex gap-2 align-items-center attribute-row'; row.className = 'd-flex gap-2 align-items-center attribute-row';
row.innerHTML = ` row.innerHTML = `
<input type="text" class="form-control" placeholder="Attribute name" data-attr-name /> <input type="text" class="form-control" placeholder="@T["Attribute name"]" data-attr-name />
<input type="text" class="form-control" placeholder="Attribute value" data-attr-value /> <input type="text" class="form-control" placeholder="@T["Attribute value"]" data-attr-value />
<button type="button" class="btn btn-danger btn-sm btn-remove-attribute"></button> <button type="button" class="btn btn-danger btn-sm btn-remove-attribute">@T["Remove"]</button>
`; `;
attributesContainer.appendChild(row); attributesContainer.appendChild(row);
}); });
@@ -333,14 +333,14 @@
bootstrap.Modal.getInstance(createModalEl).hide(); bootstrap.Modal.getInstance(createModalEl).hide();
createForm.reset(); createForm.reset();
attributesContainer.innerHTML = ''; attributesContainer.innerHTML = '';
showToast('Asset created successfully', 'success'); showToast('@T["Asset created successfully"]', 'success');
} else { } else {
showToast(`${result.reason || 'Error creating asset'}`, 'danger'); showToast(`${result.reason || '@T["Error creating asset"]'}`, 'danger');
} }
}) })
.catch(err => { .catch(err => {
console.error(err); console.error(err);
showToast('Error contacting server', 'danger'); showToast('@T["Error contacting server"]', 'danger');
}); });
}); });
}); });
@@ -448,9 +448,9 @@ document.addEventListener('DOMContentLoaded', () => {
const row = document.createElement('div'); const row = document.createElement('div');
row.className = 'd-flex gap-2 align-items-center attribute-row'; row.className = 'd-flex gap-2 align-items-center attribute-row';
row.innerHTML = ` row.innerHTML = `
<input type="text" class="form-control" placeholder="Attribute name" data-attr-name /> <input type="text" class="form-control" placeholder="@T["Attribute name"]" data-attr-name />
<input type="text" class="form-control" placeholder="Attribute value" data-attr-value /> <input type="text" class="form-control" placeholder="@T["Attribute value"]" data-attr-value />
<button type="button" class="btn btn-danger btn-sm btn-remove-attribute"></button> <button type="button" class="btn btn-danger btn-sm btn-remove-attribute">@T["Remove"]</button>
`; `;
updateAttributesContainer.appendChild(row); updateAttributesContainer.appendChild(row);
}); });
@@ -493,7 +493,7 @@ document.addEventListener('DOMContentLoaded', () => {
row.innerHTML = ` row.innerHTML = `
<input type="text" class="form-control" value="${attrName}" data-attr-name /> <input type="text" class="form-control" value="${attrName}" data-attr-name />
<input type="text" class="form-control" value="${attrValue}" data-attr-value /> <input type="text" class="form-control" value="${attrValue}" data-attr-value />
<button type="button" class="btn btn-danger btn-sm btn-remove-attribute"></button> <button type="button" class="btn btn-danger btn-sm btn-remove-attribute">@T["Remove"]</button>
`; `;
updateAttributesContainer.appendChild(row); updateAttributesContainer.appendChild(row);
} }
@@ -509,7 +509,7 @@ document.addEventListener('DOMContentLoaded', () => {
} }
} catch (err) { } catch (err) {
console.error(err); console.error(err);
showToast('Error loading asset data', 'danger'); showToast('@T["Error loading asset data"]', 'danger');
} }
}); });
@@ -551,7 +551,7 @@ document.addEventListener('DOMContentLoaded', () => {
if (result.success) { if (result.success) {
bootstrap.Modal.getInstance(updateModal).hide(); bootstrap.Modal.getInstance(updateModal).hide();
showToast('Asset updated successfully', 'success'); showToast('@T["Asset updated successfully"]', 'success');
// Optionally refresh the row // Optionally refresh the row
const row = [...document.querySelectorAll('tr')] const row = [...document.querySelectorAll('tr')]
@@ -563,11 +563,11 @@ document.addEventListener('DOMContentLoaded', () => {
row.children[3].textContent = jsonData.Location || ''; row.children[3].textContent = jsonData.Location || '';
} }
} else { } else {
showToast(result.reason || 'Error updating asset', 'danger'); showToast(result.reason || '@T["Error updating asset"]', 'danger');
} }
} catch (err) { } catch (err) {
console.error(err); console.error(err);
showToast('Error contacting server', 'danger'); showToast('@T["Error contacting server"]', 'danger');
} }
}); });
}); });