diff --git a/package-lock.json b/package-lock.json index 79169bc0..55e387b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,7 @@ "turndown": "^7.2.0", "usb": "^2.16.0", "vue": "^3.5.13", + "vue-i18n": "^12.0.0-alpha.3", "vue-router": "^4.5.0", "vue3-apexcharts": "^1.8.0", "xel": "^0.33.7", @@ -48,9 +49,6 @@ "typescript": "~5.6.3", "vite": "^6.0.7", "vue-tsc": "^2.2.0" - }, - "engines": { - "node": ">=23.6.0" } }, "node_modules/@alloc/quick-lru": { @@ -600,6 +598,68 @@ "node": ">= 10.0.0" } }, + "node_modules/@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/windows-sign/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.10", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", @@ -1070,6 +1130,67 @@ "vue": ">=3" } }, + "node_modules/@intlify/core-base": { + "version": "12.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-12.0.0-alpha.3.tgz", + "integrity": "sha512-LEvBHBUbiOOtIBkp4IIQENVC5Fg2YHsvdXN1+WRIxQ8hzHbHSBiqZ2l68B/yg8sE1a4S7dqhkaAedunShWPH+Q==", + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "12.0.0-alpha.3", + "@intlify/shared": "12.0.0-alpha.3" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "12.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-12.0.0-alpha.3.tgz", + "integrity": "sha512-mDDTN3gfYOHhBnpnlby19UHyvMaOnzdlpsIrxUfs44R/vCATfn8pMOkE8PXD2t410xkocEj3FpDcC9XC/0v4Dg==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "12.0.0-alpha.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "12.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-12.0.0-alpha.3.tgz", + "integrity": "sha512-ryaNYBvxQjyJUmVuBBg+HHUsmGnfxcEUPR0NCeG4/K9N2qtyFE35C80S15IN6iYFE2MGWLN7HfOSyg0MXZIc9w==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/vue-i18n-core": { + "version": "12.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@intlify/vue-i18n-core/-/vue-i18n-core-12.0.0-alpha.3.tgz", + "integrity": "sha512-YwAfTQILHN+VoK0P/Yv47GbKnEf1lhfbliyVyW3knAL1EmT8m0m3rwffXJnwyQhYw8Jpx85CpL49WkSgyi6d/g==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "12.0.0-alpha.3", + "@intlify/shared": "12.0.0-alpha.3", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", @@ -2212,6 +2333,7 @@ "resolved": "https://registry.npmjs.org/@svgdotjs/svg.js/-/svg.js-3.2.5.tgz", "integrity": "sha512-/VNHWYhNu+BS7ktbYoVGrCmsXDh+chFMaONMwGNdIBcFHrWqk2jY8fNyr3DLdtQUIalvkPfM554ZSFa3dm3nxQ==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/Fuzzyma" @@ -2235,6 +2357,7 @@ "resolved": "https://registry.npmjs.org/@svgdotjs/svg.select.js/-/svg.select.js-4.0.3.tgz", "integrity": "sha512-qkMgso1sd2hXKd1FZ1weO7ANq12sNmQJeGDjs46QwDVsxSRcHmvWKL2NDF7Yimpwf3sl5esOLkPqtV2bQ3v/Jg==", "license": "MIT", + "peer": true, "engines": { "node": ">= 14.18" }, @@ -2899,6 +3022,7 @@ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3024,6 +3148,7 @@ "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-4.7.0.tgz", "integrity": "sha512-iZSrrBGvVlL+nt2B1NpqfDuBZ9jX61X9I2+XV0hlYXHtTwhwLTHDKGXjNXAgFBDLuvSYCB/rq2nPWVPRv2DrGA==", "license": "MIT", + "peer": true, "dependencies": { "@svgdotjs/svg.draggable.js": "^3.0.4", "@svgdotjs/svg.filter.js": "^3.0.8", @@ -3385,6 +3510,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001741", @@ -4136,6 +4262,14 @@ "buffer": "^5.1.0" } }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -4378,6 +4512,7 @@ "integrity": "sha512-59CAAjAhTaIMCN8y9kD573vDkxbs1uhDcrFLHSgutYdPcGOU35Rf95725snvzEOy4BFB7+eLJ8djCNPmGwG67w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "app-builder-lib": "26.0.12", "builder-util": "26.0.11", @@ -4555,6 +4690,7 @@ "integrity": "sha512-dnL+JvLraKZl7iusXTVTGYs10TKfzUi30uEDTqsmTm0guN9V2tbOjTzyIZbh9n3ygUjgEYyo+igAwMRXIi3IPw==", "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^22.7.7", @@ -4729,7 +4865,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", @@ -4750,7 +4885,6 @@ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -4782,16 +4916,6 @@ "dev": true, "license": "MIT" }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -7199,6 +7323,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -7335,6 +7460,34 @@ "dev": true, "license": "MIT" }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/prettier": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", @@ -8449,7 +8602,6 @@ "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "mkdirp": "^0.5.1", "rimraf": "~2.6.2" @@ -8513,7 +8665,6 @@ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "minimist": "^1.2.6" }, @@ -8528,7 +8679,6 @@ "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -8633,6 +8783,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "devOptional": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -8749,6 +8900,7 @@ "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -9068,6 +9220,7 @@ "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -9161,6 +9314,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -9180,6 +9334,7 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.22.tgz", "integrity": "sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==", "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.22", "@vue/compiler-sfc": "3.5.22", @@ -9196,6 +9351,27 @@ } } }, + "node_modules/vue-i18n": { + "version": "12.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-12.0.0-alpha.3.tgz", + "integrity": "sha512-+KQgD9LJoHfGCdJh3gaLdVS/Sps1n860+6wsjyeNLWJeEofjdVH7KPjz4rAeBlTAUaIDlIjHoXQY0Lk+8B6S9w==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "12.0.0-alpha.3", + "@intlify/shared": "12.0.0-alpha.3", + "@intlify/vue-i18n-core": "12.0.0-alpha.3", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-router": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz", diff --git a/src/renderer/i18n.ts b/src/renderer/i18n.ts new file mode 100644 index 00000000..4d9e5400 --- /dev/null +++ b/src/renderer/i18n.ts @@ -0,0 +1,17 @@ +import { createI18n } from 'vue-i18n'; +import en from './locales/en.json'; +import tr from './locales/tr.json'; + +type MessageSchema = typeof en; + +const i18n = createI18n<[MessageSchema], 'en'>({ + legacy: false, // Use with Vue 3 Composition API + locale: navigator.language.split('-')[0] || 'en', // Use browser language + fallbackLocale: 'en', // Default language for unsupported locales + messages: { + en, + tr, + }, +}); + +export default i18n; diff --git a/src/renderer/locales/de.json b/src/renderer/locales/de.json new file mode 100644 index 00000000..3851cb04 --- /dev/null +++ b/src/renderer/locales/de.json @@ -0,0 +1,121 @@ +{ + "_meta": { + "Generated": "This file has been translated by ai paperclips." + }, + "welcome": { + "title": "Willkommen bei WinBoat", + "description1": "WinBoat ist eine vollwertige App, die Ihnen hilft, Windows-Anwendungen mühelos nativ auf Ihrem Linux-Rechner auszuführen.", + "description2": "Wir werden einige notwendige Schritte durchgehen, damit Sie in kürzester Zeit loslegen können.", + "nextButton": "Weiter" + }, + "license": { + "title": "Lizenzvereinbarung", + "description": "WinBoat ist eine Open-Source-Software, die unter der MIT-Lizenz lizenziert ist. Bitte lesen Sie die Lizenzvereinbarung unten.", + "backButton": "Zurück", + "agreeButton": "Ich stimme zu" + }, + "prerequisites": { + "title": "Voraussetzungen", + "description": "Um WinBoat auszuführen, muss Ihr Computer die folgenden Anforderungen erfüllen.", + "ram": "Mindestens 4 GB RAM (Erkannt: {ramGB} GB)", + "cpu": "Mindestens 2 CPU-Kerne (Erkannt: {cpuCores} Kerne)", + "kvm": "Virtualisierung (KVM) aktiviert", + "docker": "Docker installiert", + "dockerCompose": "Docker Compose v2 installiert", + "dockerGroup": "Benutzer zur Docker-Gruppe hinzugefügt", + "dockerRunning": "Docker-Daemon läuft", + "freerdp": "FreeRDP 3.x.x installiert", + "how": "Wie?", + "relogRequired": "(Neuanmeldung erforderlich)", + "enableOnBoot": "(Auch beim Systemstart aktivieren)", + "nextButton": "Weiter" + }, + "installLocation": { + "title": "Installationsort", + "description1": "Wählen Sie, wo Sie WinBoat installieren möchten. Dateien im Zusammenhang mit der virtuellen Windows-Maschine werden an diesem Ort gespeichert.", + "description2": "Stellen Sie sicher, dass Sie am ausgewählten Ort über mindestens {minDiskGB} GB freien Speicherplatz verfügen.", + "inputPlaceholder": "Installationsort auswählen", + "changeButton": "Ändern", + "selectButton": "Auswählen", + "validFolder": "Gültiger Installationsordner", + "errors": { + "noLocation": "Bitte wählen Sie einen Installationsort aus", + "notWritable": "Der ausgewählte Installationsort ist nicht beschreibbar", + "noDiskSpace": "Nicht genügend Speicherplatz verfügbar. Mindestens {minDiskGB} GB sind erforderlich, aber nur {freeGB} GB sind verfügbar." + } + }, + "windowsConfig": { + "title": "Windows konfigurieren", + "description1": "Wählen Sie die Windows-Version, die Sie installieren möchten, und die Sprache, die Sie verwenden möchten.", + "description2": "Sie können diese Einstellungen nur jetzt ändern. Sobald die Installation abgeschlossen ist, können Sie sie nicht mehr ändern, es sei denn, Sie installieren neu.", + "edition": "Edition auswählen", + "language": "Sprache auswählen", + "customIso": "Benutzerdefinierte ISO (Optional)", + "selectIsoButton": "ISO-Datei auswählen", + "isoWarning": "Wir bieten Ihnen die Möglichkeit, eine benutzerdefinierte Windows-ISO für Ihre Bequemlichkeit zu verwenden, können jedoch keinen Support leisten, wenn Ihre benutzerdefinierte ISO fehlerhaft ist oder bestimmte Funktionen in WinBoat nicht mehr funktionieren.", + "selectedIso": "Ausgewählt: {fileName}", + "removeButton": "Entfernen", + "brokenLang": "(Defekt, Sprachpaket verwenden)" + }, + "userConfig": { + "title": "Benutzerkonfiguration", + "description1": "Konfigurieren Sie den Benutzernamen und das Passwort für Windows.", + "description2": "Diese Anmeldeinformationen werden verwendet, um sich bei der virtuellen Windows-Maschine anzumelden und über das Remote Desktop Protocol (RDP) darauf zuzugreifen. Sie können diese Einstellungen später nicht mehr ändern, es sei denn, Sie installieren neu.", + "username": "Benutzername", + "password": "Passwort", + "confirmPassword": "Passwort bestätigen", + "errors": { + "user": { + "tooShort": "Muss mindestens 2 Zeichen lang sein", + "alphanumeric": "Darf nur alphanumerische Zeichen enthalten" + }, + "pass": { + "noMatch": "Die Passwörter stimmen nicht überein", + "alphanumeric": "Darf nur alphanumerische Zeichen enthalten", + "tooShort": "Muss mindestens 4 Zeichen lang sein" + } + } + }, + "hardwareConfig": { + "title": "Hardware-Konfiguration", + "description1": "WinBoat verwendet eine containerisierte KVM-Virtuelle-Maschine, um Windows-Anwendungen auszuführen. Bitte konfigurieren Sie die Hardware-Einstellungen für die virtuelle Maschine.", + "description2": "Es wird nicht empfohlen, mehr als die Hälfte Ihrer Systemressourcen Windows zuzuweisen. Sie können diese Einstellungen bei Bedarf später ändern.", + "cpuCores": "CPU-Kerne auswählen", + "ram": "RAM auswählen", + "diskSize": "Festplattengröße auswählen", + "cores": "{count} Kern | {count} Kerne", + "warning": "Warnung", + "ramWarning": "Sie haben nicht genügend ungenutzten Arbeitsspeicher zur Verfügung, um die angeforderte Menge an RAM zuzuweisen. Sie haben derzeit ~{availableGB} GB ungenutzten Arbeitsspeicher verfügbar. Wenn Sie mit dieser RAM-Menge fortfahren, wird der Container wahrscheinlich abstürzen.", + "diskWarning": "Sie sind dabei, den größten Teil Ihres verbleibenden Speicherplatzes mit weniger als 5 GB Überschuss zuzuweisen. Sie haben derzeit ~{availableGB} GB Speicherplatz für das Laufwerk entsprechend {installFolder} zur Verfügung. Wenn Sie mit dieser Festplattengröße fortfahren, könnte Ihnen der Speicherplatz ausgehen und unerwartete Probleme auftreten." + }, + "homeFolderSharing": { + "title": "Home-Ordner-Freigabe", + "description1": "WinBoat ermöglicht es Ihnen, Ihren Linux-Home-Ordner mit der virtuellen Windows-Maschine zu teilen. Hier können Sie wählen, ob Sie diese Funktion aktivieren möchten oder nicht.", + "description2": "⚠️ WARNUNG: Die Freigabe Ihres Home-Ordners setzt Ihre Linux-Dateien Windows-spezifischer Malware und Viren aus. Aktivieren Sie diese Funktion nur, wenn Sie die damit verbundenen Risiken verstehen. Seien Sie immer vorsichtig mit den Dateien, die Sie in Windows herunterladen und öffnen.", + "enableSharing": "Home-Ordner-Freigabe aktivieren", + "acknowledge": "Indem Sie dieses Kästchen ankreuzen, bestätigen Sie, dass Sie die oben genannten Risiken verstanden haben" + }, + "review": { + "title": "Überprüfen", + "description": "Bitte überprüfen Sie die Einstellungen, die Sie für Ihre WinBoat-Installation gewählt haben. Wenn alles korrekt aussieht, klicken Sie auf \"Installieren\", um zu beginnen.", + "yourConfig": "Ihre Konfiguration", + "winVersion": "Windows-Version", + "language": "Sprache", + "cpuCores": "CPU-Kerne", + "ram": "RAM", + "diskSize": "Festplattengröße", + "username": "Benutzername", + "installLocation": "Installationsort", + "installButton": "Installieren" + }, + "install": { + "title": "Installation", + "description": "WinBoat installiert jetzt Windows. Bitte haben Sie etwas Geduld, da dies bis zu einer Stunde dauern kann. In der Zwischenzeit können Sie sich einen Kaffee holen und den Installationsstatus in Ihrem Browser überprüfen.", + "installing": "{state}...", + "preinstall": "{message}", + "error": "Bei der Installation von Windows ist ein Fehler aufgetreten. Bitte überprüfen Sie die Protokolle in ~/.winboat und prüfen Sie docker logs WinBoat in Ihrem Terminal für weitere Informationen.", + "retry": "Um zurückzusetzen und es erneut zu versuchen, folgen Sie diesen Anweisungen.", + "completed": "Windows wurde erfolgreich installiert!", + "finishButton": "Abschließen" + } +} \ No newline at end of file diff --git a/src/renderer/locales/en.json b/src/renderer/locales/en.json new file mode 100644 index 00000000..94c3d054 --- /dev/null +++ b/src/renderer/locales/en.json @@ -0,0 +1,118 @@ +{ + "welcome": { + "title": "Welcome to WinBoat", + "description1": "WinBoat is a full-fledged app that helps you natively run Windows applications on your Linux machine with ease.", + "description2": "We will go through a few required steps to get you started in no time.", + "nextButton": "Next" + }, + "license": { + "title": "License Agreement", + "description": "WinBoat is open-source software licensed under the MIT License. Please review the license agreement below.", + "backButton": "Back", + "agreeButton": "I Agree" + }, + "prerequisites": { + "title": "Pre-Requisites", + "description": "In order to run WinBoat, your computer must meet the following requirements.", + "ram": "At least 4 GB of RAM (Detected: {ramGB} GB)", + "cpu": "At least 2 CPU cores (Detected: {cpuCores} cores)", + "kvm": "Virtualization (KVM) enabled", + "docker": "Docker installed", + "dockerCompose": "Docker Compose v2 installed", + "dockerGroup": "User added to the docker group", + "dockerRunning": "Docker daemon is running", + "freerdp": "FreeRDP 3.x.x installed", + "how": "How?", + "relogRequired": "(Relog required)", + "enableOnBoot": "(Also enable on boot)", + "nextButton": "Next" + }, + "installLocation": { + "title": "Install Location", + "description1": "Choose where you want to install WinBoat. Files related to the Windows virtual machine will be stored in this location.", + "description2": "Make sure you have at least {minDiskGB}GB of disk space available in the selected location.", + "inputPlaceholder": "Select Install Location", + "changeButton": "Change", + "selectButton": "Select", + "validFolder": "Valid install folder", + "errors": { + "noLocation": "Please select an install location", + "notWritable": "The selected install location is not writable", + "noDiskSpace": "Not enough disk space available. At least {minDiskGB} GB is required, but only {freeGB} GB is available." + } + }, + "windowsConfig": { + "title": "Configure Windows", + "description1": "Pick the version of Windows you want to install, and the language you'd like to use.", + "description2": "You can only change these settings now. Once the installation is complete, you will not be able to change them unless you reinstall.", + "edition": "Select Edition", + "language": "Select Language", + "customIso": "Custom ISO (Optional)", + "selectIsoButton": "Select ISO File", + "isoWarning": "We offer you the possibility of using a custom Windows ISO for your convenience, however we can't provide any support if your custom ISO breaks or certain features within WinBoat stop working.", + "selectedIso": "Selected: {fileName}", + "removeButton": "Remove", + "brokenLang": "(Broken, use Language Pack)" + }, + "userConfig": { + "title": "User Configuration", + "description1": "Configure the username and password for Windows.", + "description2": "These credentials will be used to log in to the Windows virtual machine and to access it through Remote Desktop Protocol (RDP). You will not be able to change these settings later on unless you reinstall.", + "username": "Username", + "password": "Password", + "confirmPassword": "Confirm Password", + "errors": { + "user": { + "tooShort": "Must be at least 2 characters long", + "alphanumeric": "Must only contain alphanumeric characters" + }, + "pass": { + "noMatch": "Passwords do not match", + "alphanumeric": "Must only contain alphanumeric characters", + "tooShort": "Must be at least 4 characters long" + } + } + }, + "hardwareConfig": { + "title": "Hardware Configuration", + "description1": "WinBoat utilizes a containerized KVM virtual machine to run Windows applications. Please configure the hardware settings for the virtual machine.", + "description2": "It is not recommended to allocate more than half of your system resources to Windows. You will be able to change these settings later on if needed.", + "cpuCores": "Select CPU Cores", + "ram": "Select RAM", + "diskSize": "Select Disk Size", + "cores": "{count} Core | {count} Cores", + "warning": "Warning", + "ramWarning": "You don't have enough unused memory available to allocate the requested amount of RAM. You currently have ~{availableGB} GB of unused memory available. If you continue with this amount of RAM, the container will likely crash.", + "diskWarning": "You're about to allocate most of your remaining disk space with less than 5GB in excess. You currently have ~{availableGB} GB of disk space available for the drive corresponding to {installFolder}. If you continue with this disk size, you may run out of space and encounter unexpected issues." + }, + "homeFolderSharing": { + "title": "Home Folder Sharing", + "description1": "WinBoat allows you to share your Linux home folder with the Windows virtual machine, here you can choose whether to enable this feature or not.", + "description2": "⚠️ WARNING: Sharing your home folder exposes your Linux files to Windows-specific malware and viruses. Only enable this feature if you understand the risks involved. Always be careful with the files you download and open in Windows.", + "enableSharing": "Enable home folder sharing", + "acknowledge": "By checking this box, you acknowledge the risks mentioned above" + }, + "review": { + "title": "Review", + "description": "Please review the settings you've chosen for your WinBoat installation. If everything looks correct, click \"Install\" to begin.", + "yourConfig": "Your Configuration", + "winVersion": "Windows Version", + "language": "Language", + "cpuCores": "CPU Cores", + "ram": "RAM", + "diskSize": "Disk Size", + "username": "Username", + "installLocation": "Install Location", + "installButton": "Install" + }, + "install": { + "title": "Installation", + "description": "WinBoat is now installing Windows. Please be patient as this may take up to an hour. In the meantime, you can grab a coffee and check the installation status in your browser.", + "installing": "{state}...", + "preinstall": "{message}", + "error": "An error occurred while installing Windows. Please check the logs in ~/.winboat and verify docker logs WinBoat in your terminal for more information.", + "retry": "To reset and try again, follow these instructions.", + "completed": "Windows has been installed successfully!", + "finishButton": "Finish" + } +} diff --git a/src/renderer/locales/es.json b/src/renderer/locales/es.json new file mode 100644 index 00000000..074666f0 --- /dev/null +++ b/src/renderer/locales/es.json @@ -0,0 +1,121 @@ +{ + "_meta": { + "Generated": "This file has been translated by ai paperclips." + }, + "welcome": { + "title": "Bienvenido a WinBoat", + "description1": "WinBoat es una aplicación completa que te ayuda a ejecutar aplicaciones de Windows de forma nativa en tu máquina Linux con facilidad.", + "description2": "Repasaremos algunos pasos necesarios para que puedas empezar en poco tiempo.", + "nextButton": "Siguiente" + }, + "license": { + "title": "Acuerdo de Licencia", + "description": "WinBoat es un software de código abierto licenciado bajo la Licencia MIT. Por favor, revisa el acuerdo de licencia a continuación.", + "backButton": "Atrás", + "agreeButton": "Acepto" + }, + "prerequisites": { + "title": "Pre-Requisitos", + "description": "Para ejecutar WinBoat, tu computadora debe cumplir con los siguientes requisitos.", + "ram": "Al menos 4 GB de RAM (Detectado: {ramGB} GB)", + "cpu": "Al menos 2 núcleos de CPU (Detectado: {cpuCores} núcleos)", + "kvm": "Virtualización (KVM) habilitada", + "docker": "Docker instalado", + "dockerCompose": "Docker Compose v2 instalado", + "dockerGroup": "Usuario añadido al grupo docker", + "dockerRunning": "El demonio de Docker está en ejecución", + "freerdp": "FreeRDP 3.x.x instalado", + "how": "¿Cómo?", + "relogRequired": "(Reinicio de sesión requerido)", + "enableOnBoot": "(Habilitar también al arrancar)", + "nextButton": "Siguiente" + }, + "installLocation": { + "title": "Ubicación de Instalación", + "description1": "Elige dónde quieres instalar WinBoat. Los archivos relacionados con la máquina virtual de Windows se almacenarán en esta ubicación.", + "description2": "Asegúrate de tener al menos {minDiskGB}GB de espacio en disco disponible en la ubicación seleccionada.", + "inputPlaceholder": "Seleccionar Ubicación de Instalación", + "changeButton": "Cambiar", + "selectButton": "Seleccionar", + "validFolder": "Carpeta de instalación válida", + "errors": { + "noLocation": "Por favor, selecciona una ubicación de instalación", + "notWritable": "La ubicación de instalación seleccionada no tiene permisos de escritura", + "noDiskSpace": "No hay suficiente espacio en disco disponible. Se requieren al menos {minDiskGB} GB, pero solo hay {freeGB} GB disponibles." + } + }, + "windowsConfig": { + "title": "Configurar Windows", + "description1": "Elige la versión de Windows que quieres instalar y el idioma que te gustaría usar.", + "description2": "Solo puedes cambiar estos ajustes ahora. Una vez completada la instalación, no podrás cambiarlos a menos que reinstales.", + "edition": "Seleccionar Edición", + "language": "Seleccionar Idioma", + "customIso": "ISO Personalizado (Opcional)", + "selectIsoButton": "Seleccionar Archivo ISO", + "isoWarning": "Te ofrecemos la posibilidad de usar un ISO de Windows personalizado para tu conveniencia, sin embargo, no podemos proporcionar soporte si tu ISO personalizado falla o ciertas características dentro de WinBoat dejan de funcionar.", + "selectedIso": "Seleccionado: {fileName}", + "removeButton": "Eliminar", + "brokenLang": "(Roto, usar Paquete de Idioma)" + }, + "userConfig": { + "title": "Configuración de Usuario", + "description1": "Configura el nombre de usuario y la contraseña para Windows.", + "description2": "Estas credenciales se utilizarán para iniciar sesión en la máquina virtual de Windows y para acceder a ella a través del Protocolo de Escritorio Remoto (RDP). No podrás cambiar estos ajustes más tarde a menos que reinstales.", + "username": "Nombre de usuario", + "password": "Contraseña", + "confirmPassword": "Confirmar Contraseña", + "errors": { + "user": { + "tooShort": "Debe tener al menos 2 caracteres", + "alphanumeric": "Debe contener solo caracteres alfanuméricos" + }, + "pass": { + "noMatch": "Las contraseñas no coinciden", + "alphanumeric": "Debe contener solo caracteres alfanuméricos", + "tooShort": "Debe tener al menos 4 caracteres" + } + } + }, + "hardwareConfig": { + "title": "Configuración de Hardware", + "description1": "WinBoat utiliza una máquina virtual KVM en contenedores para ejecutar aplicaciones de Windows. Por favor, configura los ajustes de hardware para la máquina virtual.", + "description2": "No se recomienda asignar más de la mitad de los recursos de tu sistema a Windows. Podrás cambiar estos ajustes más tarde si es necesario.", + "cpuCores": "Seleccionar Núcleos de CPU", + "ram": "Seleccionar RAM", + "diskSize": "Seleccionar Tamaño de Disco", + "cores": "{count} Núcleo | {count} Núcleos", + "warning": "Advertencia", + "ramWarning": "No tienes suficiente memoria sin usar disponible para asignar la cantidad de RAM solicitada. Actualmente tienes ~{availableGB} GB de memoria sin usar disponible. Si continúas con esta cantidad de RAM, es probable que el contenedor falle.", + "diskWarning": "Estás a punto de asignar la mayor parte de tu espacio en disco restante con menos de 5GB de exceso. Actualmente tienes ~{availableGB} GB de espacio en disco disponible para la unidad correspondiente a {installFolder}. Si continúas con este tamaño de disco, puedes quedarte sin espacio y encontrar problemas inesperados." + }, + "homeFolderSharing": { + "title": "Compartir Carpeta de Inicio", + "description1": "WinBoat te permite compartir tu carpeta de inicio de Linux con la máquina virtual de Windows, aquí puedes elegir si habilitar esta función o no.", + "description2": "⚠️ ADVERTENCIA: Compartir tu carpeta de inicio expone tus archivos de Linux a malware y virus específicos de Windows. Solo habilita esta función si comprendes los riesgos involucrados. Siempre ten cuidado con los archivos que descargas y abres en Windows.", + "enableSharing": "Habilitar compartir carpeta de inicio", + "acknowledge": "Al marcar esta casilla, reconoces los riesgos mencionados anteriormente" + }, + "review": { + "title": "Revisar", + "description": "Por favor, revisa los ajustes que has elegido para tu instalación de WinBoat. Si todo parece correcto, haz clic en \"Instalar\" para comenzar.", + "yourConfig": "Tu Configuración", + "winVersion": "Versión de Windows", + "language": "Idioma", + "cpuCores": "Núcleos de CPU", + "ram": "RAM", + "diskSize": "Tamaño de Disco", + "username": "Nombre de usuario", + "installLocation": "Ubicación de Instalación", + "installButton": "Instalar" + }, + "install": { + "title": "Instalación", + "description": "WinBoat está instalando Windows. Por favor, sé paciente ya que esto puede tardar hasta una hora. Mientras tanto, puedes tomar un café y verificar el estado de la instalación en tu navegador.", + "installing": "{state}...", + "preinstall": "{message}", + "error": "Ocurrió un error mientras se instalaba Windows. Por favor, comprueba los registros en ~/.winboat y verifica docker logs WinBoat en tu terminal para más información.", + "retry": "Para reiniciar e intentarlo de nuevo, sigue estas instrucciones.", + "completed": "¡Windows se ha instalado correctamente!", + "finishButton": "Finalizar" + } +} \ No newline at end of file diff --git a/src/renderer/locales/fr.json b/src/renderer/locales/fr.json new file mode 100644 index 00000000..c82458ca --- /dev/null +++ b/src/renderer/locales/fr.json @@ -0,0 +1,121 @@ +{ + "_meta": { + "Generated": "This file has been translated by ai paperclips." + }, + "welcome": { + "title": "Bienvenue sur WinBoat", + "description1": "WinBoat est une application complète qui vous aide à exécuter nativement des applications Windows sur votre machine Linux en toute simplicité.", + "description2": "Nous passerons en revue quelques étapes nécessaires pour vous permettre de démarrer rapidement.", + "nextButton": "Suivant" + }, + "license": { + "title": "Contrat de Licence", + "description": "WinBoat est un logiciel open-source sous licence MIT. Veuillez consulter le contrat de licence ci-dessous.", + "backButton": "Retour", + "agreeButton": "J'accepte" + }, + "prerequisites": { + "title": "Prérequis", + "description": "Pour exécuter WinBoat, votre ordinateur doit répondre aux exigences suivantes.", + "ram": "Au moins 4 Go de RAM (Détecté : {ramGB} Go)", + "cpu": "Au moins 2 cœurs de CPU (Détecté : {cpuCores} cœurs)", + "kvm": "Virtualisation (KVM) activée", + "docker": "Docker installé", + "dockerCompose": "Docker Compose v2 installé", + "dockerGroup": "Utilisateur ajouté au groupe docker", + "dockerRunning": "Le démon Docker est en cours d'exécution", + "freerdp": "FreeRDP 3.x.x installé", + "how": "Comment ?", + "relogRequired": "(Reconnexion requise)", + "enableOnBoot": "(Activer aussi au démarrage)", + "nextButton": "Suivant" + }, + "installLocation": { + "title": "Emplacement d'Installation", + "description1": "Choisissez où vous souhaitez installer WinBoat. Les fichiers relatifs à la machine virtuelle Windows seront stockés à cet emplacement.", + "description2": "Assurez-vous de disposer d'au moins {minDiskGB} Go d'espace disque disponible à l'emplacement sélectionné.", + "inputPlaceholder": "Sélectionner l'Emplacement d'Installation", + "changeButton": "Changer", + "selectButton": "Sélectionner", + "validFolder": "Dossier d'installation valide", + "errors": { + "noLocation": "Veuillez sélectionner un emplacement d'installation", + "notWritable": "L'emplacement d'installation sélectionné n'est pas accessible en écriture", + "noDiskSpace": "Espace disque insuffisant. Au moins {minDiskGB} Go sont requis, mais seulement {freeGB} Go sont disponibles." + } + }, + "windowsConfig": { + "title": "Configurer Windows", + "description1": "Choisissez la version de Windows que vous souhaitez installer et la langue que vous aimeriez utiliser.", + "description2": "Vous ne pouvez modifier ces paramètres que maintenant. Une fois l'installation terminée, vous ne pourrez plus les modifier à moins de réinstaller.", + "edition": "Sélectionner l'Édition", + "language": "Sélectionner la Langue", + "customIso": "ISO Personnalisé (Optionnel)", + "selectIsoButton": "Sélectionner le Fichier ISO", + "isoWarning": "Nous vous offrons la possibilité d'utiliser un ISO Windows personnalisé pour votre commodité, cependant nous ne pouvons fournir aucun support si votre ISO personnalisé échoue ou si certaines fonctionnalités de WinBoat cessent de fonctionner.", + "selectedIso": "Sélectionné : {fileName}", + "removeButton": "Supprimer", + "brokenLang": "(Corrompu, utilisez le Pack Langue)" + }, + "userConfig": { + "title": "Configuration Utilisateur", + "description1": "Configurez le nom d'utilisateur et le mot de passe pour Windows.", + "description2": "Ces identifiants seront utilisés pour vous connecter à la machine virtuelle Windows et pour y accéder via le Protocole RDP (Remote Desktop Protocol). Vous ne pourrez pas modifier ces paramètres ultérieurement sans réinstaller.", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "confirmPassword": "Confirmer le Mot de Passe", + "errors": { + "user": { + "tooShort": "Doit comporter au moins 2 caractères", + "alphanumeric": "Ne doit contenir que des caractères alphanumériques" + }, + "pass": { + "noMatch": "Les mots de passe ne correspondent pas", + "alphanumeric": "Ne doit contenir que des caractères alphanumériques", + "tooShort": "Doit comporter au moins 4 caractères" + } + } + }, + "hardwareConfig": { + "title": "Configuration Matérielle", + "description1": "WinBoat utilise une machine virtuelle KVM conteneurisée pour exécuter des applications Windows. Veuillez configurer les paramètres matériels pour la machine virtuelle.", + "description2": "Il n'est pas recommandé d'allouer plus de la moitié des ressources de votre système à Windows. Vous pourrez modifier ces paramètres ultérieurement si nécessaire.", + "cpuCores": "Sélectionner les Cœurs CPU", + "ram": "Sélectionner la RAM", + "diskSize": "Sélectionner la Taille du Disque", + "cores": "{count} Cœur | {count} Cœurs", + "warning": "Avertissement", + "ramWarning": "Vous n'avez pas assez de mémoire inutilisée disponible pour allouer la quantité de RAM demandée. Vous disposez actuellement d'environ {availableGB} Go de mémoire inutilisée. Si vous continuez avec cette quantité de RAM, le conteneur plantera probablement.", + "diskWarning": "Vous êtes sur le point d'allouer la majeure partie de votre espace disque restant avec moins de 5 Go d'excédent. Vous disposez actuellement d'environ {availableGB} Go d'espace disque disponible pour le lecteur correspondant à {installFolder}. Si vous continuez avec cette taille de disque, vous risquez de manquer d'espace et de rencontrer des problèmes inattendus." + }, + "homeFolderSharing": { + "title": "Partage du Dossier Personnel", + "description1": "WinBoat vous permet de partager votre dossier personnel Linux avec la machine virtuelle Windows, vous pouvez choisir ici d'activer ou non cette fonctionnalité.", + "description2": "⚠️ ATTENTION : Partager votre dossier personnel expose vos fichiers Linux aux logiciels malveillants et virus spécifiques à Windows. N'activez cette fonctionnalité que si vous comprenez les risques encourus. Soyez toujours prudent avec les fichiers que vous téléchargez et ouvrez sous Windows.", + "enableSharing": "Activer le partage du dossier personnel", + "acknowledge": "En cochant cette case, vous reconnaissez les risques mentionnés ci-dessus" + }, + "review": { + "title": "Vérification", + "description": "Veuillez vérifier les paramètres que vous avez choisis pour votre installation de WinBoat. Si tout semble correct, cliquez sur \"Installer\" pour commencer.", + "yourConfig": "Votre Configuration", + "winVersion": "Version de Windows", + "language": "Langue", + "cpuCores": "Cœurs CPU", + "ram": "RAM", + "diskSize": "Taille du Disque", + "username": "Nom d'utilisateur", + "installLocation": "Emplacement d'Installation", + "installButton": "Installer" + }, + "install": { + "title": "Installation", + "description": "WinBoat installe actuellement Windows. Veuillez patienter, cela peut prendre jusqu'à une heure. En attendant, vous pouvez prendre un café et vérifier l'état de l'installation dans votre navigateur.", + "installing": "{state}...", + "preinstall": "{message}", + "error": "Une erreur est survenue lors de l'installation de Windows. Veuillez vérifier les journaux dans ~/.winboat et vérifier docker logs WinBoat dans votre terminal pour plus d'informations.", + "retry": "Pour réinitialiser et réessayer, suivez ces instructions.", + "completed": "Windows a été installé avec succès !", + "finishButton": "Terminer" + } +} \ No newline at end of file diff --git a/src/renderer/locales/it.json b/src/renderer/locales/it.json new file mode 100644 index 00000000..f49dd6ce --- /dev/null +++ b/src/renderer/locales/it.json @@ -0,0 +1,121 @@ +{ + "_meta": { + "Generated": "This file has been translated by ai paperclips." + }, + "welcome": { + "title": "Benvenuto in WinBoat", + "description1": "WinBoat è un'app completa che ti aiuta a eseguire facilmente applicazioni Windows in modo nativo sulla tua macchina Linux.", + "description2": "Seguiremo alcuni passaggi necessari per iniziare in pochissimo tempo.", + "nextButton": "Avanti" + }, + "license": { + "title": "Contratto di Licenza", + "description": "WinBoat è un software open source con licenza MIT. Si prega di rivedere il contratto di licenza qui sotto.", + "backButton": "Indietro", + "agreeButton": "Accetto" + }, + "prerequisites": { + "title": "Pre-Requisiti", + "description": "Per eseguire WinBoat, il tuo computer deve soddisfare i seguenti requisiti.", + "ram": "Almeno 4 GB di RAM (Rilevato: {ramGB} GB)", + "cpu": "Almeno 2 core CPU (Rilevato: {cpuCores} core)", + "kvm": "Virtualizzazione (KVM) abilitata", + "docker": "Docker installato", + "dockerCompose": "Docker Compose v2 installato", + "dockerGroup": "Utente aggiunto al gruppo docker", + "dockerRunning": "Il demone Docker è in esecuzione", + "freerdp": "FreeRDP 3.x.x installato", + "how": "Come?", + "relogRequired": "(Riavvio sessione richiesto)", + "enableOnBoot": "(Abilita anche all'avvio)", + "nextButton": "Avanti" + }, + "installLocation": { + "title": "Posizione di Installazione", + "description1": "Scegli dove installare WinBoat. I file relativi alla macchina virtuale Windows verranno archiviati in questa posizione.", + "description2": "Assicurati di avere almeno {minDiskGB}GB di spazio su disco disponibile nella posizione selezionata.", + "inputPlaceholder": "Seleziona Posizione di Installazione", + "changeButton": "Cambia", + "selectButton": "Seleziona", + "validFolder": "Cartella di installazione valida", + "errors": { + "noLocation": "Seleziona una posizione di installazione", + "notWritable": "La posizione di installazione selezionata non è scrivibile", + "noDiskSpace": "Spazio su disco insufficiente. Sono richiesti almeno {minDiskGB} GB, ma sono disponibili solo {freeGB} GB." + } + }, + "windowsConfig": { + "title": "Configura Windows", + "description1": "Scegli la versione di Windows che vuoi installare e la lingua che desideri utilizzare.", + "description2": "Puoi modificare queste impostazioni solo ora. Una volta completata l'installazione, non potrai modificarle a meno che non reinstalli.", + "edition": "Seleziona Edizione", + "language": "Seleziona Lingua", + "customIso": "ISO Personalizzato (Opzionale)", + "selectIsoButton": "Seleziona File ISO", + "isoWarning": "Ti offriamo la possibilità di utilizzare un ISO di Windows personalizzato per tua comodità, tuttavia non possiamo fornire alcun supporto se il tuo ISO personalizzato si rompe o alcune funzionalità all'interno di WinBoat smettono di funzionare.", + "selectedIso": "Selezionato: {fileName}", + "removeButton": "Rimuovi", + "brokenLang": "(Corrotto, usa Language Pack)" + }, + "userConfig": { + "title": "Configurazione Utente", + "description1": "Configura il nome utente e la password per Windows.", + "description2": "Queste credenziali verranno utilizzate per accedere alla macchina virtuale Windows e per accedervi tramite il Protocollo Desktop Remoto (RDP). Non potrai modificare queste impostazioni in seguito a meno che non reinstalli.", + "username": "Nome utente", + "password": "Password", + "confirmPassword": "Conferma Password", + "errors": { + "user": { + "tooShort": "Deve contenere almeno 2 caratteri", + "alphanumeric": "Deve contenere solo caratteri alfanumerici" + }, + "pass": { + "noMatch": "Le password non corrispondono", + "alphanumeric": "Deve contenere solo caratteri alfanumerici", + "tooShort": "Deve contenere almeno 4 caratteri" + } + } + }, + "hardwareConfig": { + "title": "Configurazione Hardware", + "description1": "WinBoat utilizza una macchina virtuale KVM containerizzata per eseguire applicazioni Windows. Configura le impostazioni hardware per la macchina virtuale.", + "description2": "Non è consigliabile allocare più della metà delle risorse di sistema a Windows. Potrai modificare queste impostazioni in seguito, se necessario.", + "cpuCores": "Seleziona Core CPU", + "ram": "Seleziona RAM", + "diskSize": "Seleziona Dimensione Disco", + "cores": "{count} Core | {count} Core", + "warning": "Attenzione", + "ramWarning": "Non hai abbastanza memoria inutilizzata disponibile per allocare la quantità di RAM richiesta. Attualmente hai ~{availableGB} GB di memoria inutilizzata disponibile. Se continui con questa quantità di RAM, è probabile che il container vada in crash.", + "diskWarning": "Stai per allocare la maggior parte dello spazio su disco rimanente con meno di 5GB in eccesso. Attualmente hai ~{availableGB} GB di spazio su disco disponibile per l'unità corrispondente a {installFolder}. Se continui con questa dimensione del disco, potresti esaurire lo spazio e riscontrare problemi imprevisti." + }, + "homeFolderSharing": { + "title": "Condivisione Cartella Home", + "description1": "WinBoat ti permette di condividere la tua cartella home di Linux con la macchina virtuale Windows, qui puoi scegliere se abilitare o meno questa funzione.", + "description2": "⚠️ ATTENZIONE: La condivisione della tua cartella home espone i tuoi file Linux a malware e virus specifici di Windows. Abilita questa funzione solo se comprendi i rischi connessi. Fai sempre attenzione ai file che scarichi e apri in Windows.", + "enableSharing": "Abilita condivisione cartella home", + "acknowledge": "Selezionando questa casella, riconosci i rischi sopra menzionati" + }, + "review": { + "title": "Riepilogo", + "description": "Rivedi le impostazioni scelte per l'installazione di WinBoat. Se tutto sembra corretto, fai clic su \"Installa\" per iniziare.", + "yourConfig": "La tua Configurazione", + "winVersion": "Versione Windows", + "language": "Lingua", + "cpuCores": "Core CPU", + "ram": "RAM", + "diskSize": "Dimensione Disco", + "username": "Nome utente", + "installLocation": "Posizione di Installazione", + "installButton": "Installa" + }, + "install": { + "title": "Installazione", + "description": "WinBoat sta installando Windows. Sii paziente, questa operazione potrebbe richiedere fino a un'ora. Nel frattempo, puoi prendere un caffè e controllare lo stato dell'installazione nel tuo browser.", + "installing": "{state}...", + "preinstall": "{message}", + "error": "Si è verificato un errore durante l'installazione di Windows. Controlla i log in ~/.winboat e verifica docker logs WinBoat nel tuo terminale per maggiori informazioni.", + "retry": "Per reimpostare e riprovare, segui queste istruzioni.", + "completed": "Windows è stato installato con successo!", + "finishButton": "Fine" + } +} \ No newline at end of file diff --git a/src/renderer/locales/tr.json b/src/renderer/locales/tr.json new file mode 100644 index 00000000..be91c4db --- /dev/null +++ b/src/renderer/locales/tr.json @@ -0,0 +1,121 @@ +{ +"_meta": { + "Generated": "This translation was done manually to ensure accuracy and natural phrasing." + }, + "welcome": { + "title": "WinBoat'a Hoş Geldiniz", + "description1": "WinBoat, Windows uygulamalarını Linux makinenizde yerel olarak kolaylıkla çalıştırmanıza yardımcı olan tam teşekküllü bir uygulamadır.", + "description2": "Birkaç gerekli adımın ardından kısa sürede başlamış olacaksınız.", + "nextButton": "Sonraki" + }, + "license": { + "title": "Lisans Sözleşmesi", + "description": "WinBoat MIT lisanslı bir yazılımdır. Lütfen aşşağıdaki lisans sözleşmesini okuyun.", + "backButton": "Geri", + "agreeButton": "Onaylıyorum" + }, + "prerequisites": { + "title": "Ön Koşullar", + "description": "WinBoat'u çalıştırmak için bilgisayarınızın aşşağıdaki gereksinimleri karşılaması gerekir.", + "ram": "Minumum 4 GB RAM (Tavsiye edilen: {ramGB} GB)", + "cpu": "Minumum 2 CPU çekirdeği (Tavsiye edilen: {cpuCores} çekirdek)", + "kvm": "Sanallaştırma (KVM) etkin", + "docker": "Docker indirilmiş", + "dockerCompose": "Docker Compose v2 indirilmiş", + "dockerGroup": "Docker groubuna kullanıcı eklenmiş", + "dockerRunning": "Docker daemon çalışır durumda", + "freerdp": "FreeRDP 3.x.x indirilmiş", + "how": "Nasıl?", + "relogRequired": "(Yeniden giriş gerekli)", + "enableOnBoot": "(Ayrıca açılışta etkinleştir)", + "nextButton": "Sonraki" + }, + "installLocation": { + "title": "Yükleme Konumu", + "description1": "WinBoat'u nereye yüklemek istediğinizi seçin. Windows sanal makinesine ait dosyalar bu konumda depolanacaktır.", + "description2": "Seçilen konumda en az {minDiskGB}GB disk alanınızın olduğundan emin olun.", + "inputPlaceholder": "Yükleme Konumunu Seçin", + "changeButton": "Değiştir", + "selectButton": "Seç", + "validFolder": "Geçerli yükleme klasörü", + "errors": { + "noLocation": "Lütfen bir yükleme konumu seçin", + "notWritable": "Seçilen yükleme konumu kullanılabilir değil", + "noDiskSpace": "Yeterli disk alanı yok. En az {minDiskGB} GB gereklidir, ancak yalnızca {freeGB} GB mevcut." + } + }, + "windowsConfig": { + "title": "Windows'u Yapılandır", + "description1": "Yüklemek istediğiniz Windows sürümünü ve kullanmak istediğiniz dili seçin.", + "description2": "Bu ayarları yalnızca şimdi değiştirebilirsiniz. Kurulum tamamlandıktan sonra, yeniden yüklemediğiniz sürece bunları değiştiremezsiniz.", + "edition": "Sürüm Seçin", + "language": "Dil Seçin", + "customIso": "ISO Ekleyin (İsteğe Bağlı)", + "selectIsoButton": "ISO Dosyası Seçin", + "isoWarning": "Kullanıcı dostu olması için özel bir Windows ISO'su kullanma olanağı sunuyoruz, ancak özel ISO'nuz bozulursa veya WinBoat içindeki belirli özellikler çalışmayı durdurursa herhangi bir destek sağlayamayız.", + "selectedIso": "Seçilen: {fileName}", + "removeButton": "Kaldır", + "brokenLang": "(Bozuk, Dil Paketi kullanın)" + }, + "userConfig": { + "title": "Kullanıcı Yapılandırması", + "description1": "Windows için kullanıcı adı ve şifreyi yapılandırın.", + "description2": "Bu kimlik bilgileri, Windows sanal makinesine giriş yapmak ve Uzak Masaüstü Protokolü (RDP) aracılığıyla erişmek için kullanılacaktır. Yeniden yüklemediğiniz sürece bu ayarları daha sonra değiştiremeyeceksiniz.", + "username": "Kullanıcı Adı", + "password": "Şifre", + "confirmPassword": "Şifreyi Doğrula", + "errors": { + "user": { + "tooShort": "En az 2 karakter uzunluğunda olmalı", + "alphanumeric": "Yalnızca alfasayısal karakterler içermeli" + }, + "pass": { + "noMatch": "Şifreler eşleşmiyor", + "alphanumeric": "Yalnızca alfasayısal karakterler içermeli", + "tooShort": "En az 4 karakter uzunluğunda olmalı" + } + } + }, + "hardwareConfig": { + "title": "Donanım Yapılandırması", + "description1": "Windows'a ayırmak istediğiniz donanım kaynaklarını seçin.", + "description2": "Bu ayarları yalnızca şimdi değiştirebilirsiniz. Kurulum tamamlandıktan sonra, yeniden yüklemediğiniz sürece bunları değiştiremezsiniz.", + "cpuCores": "CPU Çekirdek sayısını Seçin", + "ram": "RAM miktarını Seçin", + "diskSize": "Disk Boyutunu Seçin", + "cores": "{count} Çekirdek | {count} Çekirdekler", + "warning": "Uyarı", + "ramWarning": "Sisteminizde kalan RAM'in yarısından fazlasını ayırmak üzeresiniz. Şu anda sisteminizde ~{availableGB} GB RAM mevcut. Bu RAM miktarını ayırmaya devam ederseniz, sisteminizde beklenmedik sorunlar yaşayabilirsiniz.", + "diskWarning": "Kalan disk alanınızın çoğunu ayırmak üzeresiniz. Şu anda {installFolder} için ~{availableGB} GB disk alanı mevcut. Bu disk boyutunu ayırmaya devam ederseniz, disk alanınız tükenebilir ve beklenmedik sorunlarla karşılaşabilirsiniz." + }, + "homeFolderSharing": { + "title": "Ana Klasör Paylaşımı", + "description1": "Ana klasörünüzü Windows ile paylaşmak istiyorsanız, bu özelliği etkinleştirebilirsiniz.", + "description2": "⚠️ Dikkat: Ana klasörünüzü paylaşmak, Windows içindeki kötü amaçlı yazılımların Linux ana makinenize erişmesine ve zarar vermesine neden olabilir. Bu riski anladığınızdan ve kabul ettiğinizden emin olun.", + "enableSharing": "Ana klasörü paylaşmayı etkinleştir.", + "acknowledge": "⚠️ Bu riski anladım ve kabul ediyorum." + }, + "review": { + "title": "Yapılandırmayı Gözden Geçir", + "description": "Seçtiğiniz WinBoat kurulum ayarlarını gözden geçirin. Her şey doğru görünüyorsa, kuruluma başlamak için \"Yükle\" düğmesine tıklayın.", + "yourConfig": "Your Configuration", + "winVersion": "Windows Versiyonu", + "language": "Dil Seçin", + "cpuCores": "CPU Çekirdekleri", + "ram": "RAM", + "diskSize": "Disk Boyutu", + "username": "Kullanıcı Adı", + "installLocation": "Yükleme Konumu", + "installButton": "Yükle" + }, + "install": { + "title": "Kurulum", + "description": "WinBoat şu anda Windows'u yüklüyor. Lütfen sabırlı olun, bu işlem bir saat kadar sürebilir. Bu arada, bir kahve alıp tarayıcınızdan kurulum durumunu kontrol edebilirsiniz .", + "installing": "{state}...", + "preinstall": "{message}", + "error": "Windows yüklenirken bir hata oluştu. Lütfen ~/.winboat konumundaki günlükleri kontrol edin ve daha fazla bilgi için terminalinizde docker logs WinBoat komutunu doğrulayın.", + "retry": "Sıfırlamak ve yeniden denemek için bu talimatları izleyin.", + "completed": "Windows başarıyla yüklendi!", + "finishButton": "Tamamlandı" + } +} \ No newline at end of file diff --git a/src/renderer/main.ts b/src/renderer/main.ts index 695ab979..429cba9f 100644 --- a/src/renderer/main.ts +++ b/src/renderer/main.ts @@ -2,6 +2,7 @@ import { createApp } from "vue"; import App from "./App.vue"; import { router } from "./router"; import { MotionPlugin } from "@vueuse/motion"; +import i18n from "./i18n"; import "./index.css"; import { autoScroll } from "./directives/autoscroll"; import VueApexCharts from "vue3-apexcharts"; @@ -9,6 +10,7 @@ import VueApexCharts from "vue3-apexcharts"; createApp(App) .directive("auto-scroll", autoScroll) .use(router) + .use(i18n) .use(MotionPlugin) .use(VueApexCharts as any) // TODO: See https://github.com/apexcharts/vue3-apexcharts/issues/141 .mount("#app"); diff --git a/src/renderer/views/SetupUI.vue b/src/renderer/views/SetupUI.vue index 848556ba..956daee5 100644 --- a/src/renderer/views/SetupUI.vue +++ b/src/renderer/views/SetupUI.vue @@ -44,164 +44,160 @@
- WinBoat is a full-fledged app that helps you natively run Windows applications on your Linux - machine with ease. + {{ t("welcome.description1") }}
- We will go through a few required steps to get you started in no time. + {{ t("welcome.description2") }}
- WinBoat is open-source software licensed under the MIT License. Please review the license - agreement below. + {{ t("license.description") }}
{{
license
}}
- In order to run WinBoat, your computer must meet the following requirements. + {{ t("prerequisites.description") }}
- Choose where you want to install WinBoat. Files related to the Windows virtual machine will - be stored in this location. + {{ t("installLocation.description1") }}
- Make sure you have at least {{ MIN_DISK_GB }}GB of disk space available in the selected - location. + {{ t("installLocation.description2", { minDiskGB: MIN_DISK_GB }) }}
- Pick the version of Windows you want to install, and the language you'd like to use. + {{ t("windowsConfig.description1") }}
- You can only change these settings now. Once the installation is complete, you will not be - able to change them unless you reinstall. + {{ t("windowsConfig.description2") }}
Configure the username and password for Windows.
+{{ t("userConfig.description1") }}
- These credentials will be used to log in to the Windows virtual machine and to access it - through Remote Desktop Protocol (RDP). You will not be able to change these settings later - on unless you reinstall. + {{ t("userConfig.description2") }}
- WinBoat utilizes a containerized KVM virtual machine to run Windows applications. Please - configure the hardware settings for the virtual machine. + {{ t("hardwareConfig.description1") }}
- It is not recommended to allocate more than half of your system resources to Windows. You - will be able to change these settings later on if needed. + {{ t("hardwareConfig.description2") }}
- WinBoat allows you to share your Linux home folder with the Windows virtual machine, here - you can choose whether to enable this feature or not. -
-- ⚠️ WARNING: - Sharing your home folder exposes your Linux files to Windows-specific malware and viruses. - Only enable this feature if you understand the risks involved. Always be careful with the - files you download and open in Windows. + {{ t("homeFolderSharing.description1") }}
+- Please review the settings you've chosen for your WinBoat installation. If everything looks - correct, click "Install" to begin. + {{ t("review.description") }}
- WinBoat is now installing Windows. Please be patient as this may take up to an hour. In the - meantime, you can grab a coffee and check the installation status - in your browser. +
@@ -647,10 +619,10 @@ v-if="installState !== InstallStates.MONITORING_PREINSTALL" class="text-lg text-gray-400 text-center" > - {{ installState }}... + {{ t("install.installing", { state: installState }) }}