mirror of
https://github.com/armbian/imager.git
synced 2026-01-06 12:31:28 -08:00
Add Slovenian (sl) language support
New translation for Slovenian language, bringing total to 15 supported languages.
This commit is contained in:
@@ -58,7 +58,7 @@ Inspired by the simplicity of [Raspberry Pi Imager](https://github.com/raspberry
|
||||
| **Verified Writes** | SHA256 read-back verification ensures your flash is perfect |
|
||||
| **Custom Images** | Use your own `.img`, `.img.xz`, `.img.gz`, `.img.bz2`, `.img.zst` files |
|
||||
| **Touch ID** | Authenticate with biometrics on macOS |
|
||||
| **14 Languages** | Auto-detects system language (EN, IT, DE, FR, ES, PT, NL, PL, RU, ZH, JA, KO, UK, TR) |
|
||||
| **15 Languages** | Auto-detects system language (EN, IT, DE, FR, ES, PT, NL, PL, RU, ZH, JA, KO, UK, TR, SL) |
|
||||
| **Light/Dark Mode** | Follows your system preference |
|
||||
| **Device Hot-Swap** | Automatically detects when devices are connected/disconnected |
|
||||
| **Log Upload** | One-click error log upload to paste.armbian.com with QR code |
|
||||
@@ -113,7 +113,7 @@ Built with modern technologies for optimal performance:
|
||||
| **Framework** | Tauri 2 | Native performance, tiny bundle |
|
||||
| **Backend** | Rust | Memory-safe, blazing fast I/O |
|
||||
| **Async** | Tokio | Efficient concurrent operations |
|
||||
| **i18n** | i18next + react-i18next | 14 language translations |
|
||||
| **i18n** | i18next + react-i18next | 15 language translations |
|
||||
| **Icons** | Lucide React | Modern, consistent icon set |
|
||||
|
||||
### Why Tauri over Electron?
|
||||
@@ -149,6 +149,7 @@ The app automatically detects your system language:
|
||||
| Spanish | `es` | Ukrainian | `uk` |
|
||||
| Portuguese | `pt` | Turkish | `tr` |
|
||||
| Dutch | `nl` | Polish | `pl` |
|
||||
| Slovenian | `sl` | | |
|
||||
|
||||
## Development
|
||||
|
||||
@@ -217,7 +218,7 @@ armbian-imager/
|
||||
│ │ └── shared/ # Shared components (ErrorDisplay)
|
||||
│ ├── hooks/ # React Hooks (useTauri, useAsyncData, useDeviceMonitor)
|
||||
│ ├── config/ # Configuration (manufacturers, badges, OS info)
|
||||
│ ├── locales/ # i18n translations (14 languages)
|
||||
│ ├── locales/ # i18n translations (15 languages)
|
||||
│ ├── styles/ # Modular CSS
|
||||
│ ├── types/ # TypeScript interfaces
|
||||
│ ├── assets/ # Images, logos, OS icons
|
||||
|
||||
@@ -16,6 +16,7 @@ import ja from './locales/ja.json';
|
||||
import ko from './locales/ko.json';
|
||||
import uk from './locales/uk.json';
|
||||
import tr from './locales/tr.json';
|
||||
import sl from './locales/sl.json';
|
||||
|
||||
const resources = {
|
||||
en: { translation: en },
|
||||
@@ -32,10 +33,11 @@ const resources = {
|
||||
ko: { translation: ko },
|
||||
uk: { translation: uk },
|
||||
tr: { translation: tr },
|
||||
sl: { translation: sl },
|
||||
};
|
||||
|
||||
// Supported languages
|
||||
const supportedLanguages = ['en', 'it', 'de', 'fr', 'es', 'pt', 'nl', 'pl', 'ru', 'zh', 'ja', 'ko', 'uk', 'tr'];
|
||||
const supportedLanguages = ['en', 'it', 'de', 'fr', 'es', 'pt', 'nl', 'pl', 'ru', 'zh', 'ja', 'ko', 'uk', 'tr', 'sl'];
|
||||
|
||||
/**
|
||||
* Extract language code from locale string
|
||||
|
||||
113
src/locales/sl.json
Normal file
113
src/locales/sl.json
Normal file
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"home": {
|
||||
"manufacturer": "Proizvajalec",
|
||||
"board": "Plošča",
|
||||
"operatingSystem": "Operacijski sistem",
|
||||
"storage": "Shramba",
|
||||
"chooseBrand": "IZBERI ZNAMKO",
|
||||
"chooseBoard": "IZBERI PLOŠČO",
|
||||
"chooseOs": "IZBERI OS",
|
||||
"chooseStorage": "IZBERI SHRAMBO",
|
||||
"useCustomImage": "Uporabi sliko po meri",
|
||||
"changeCustomImage": "Spremeni sliko po meri",
|
||||
"images": "slike",
|
||||
"boards": "plošče"
|
||||
},
|
||||
"flash": {
|
||||
"downloading": "Prenašanje slike...",
|
||||
"decompressing": "Razširjanje slike...",
|
||||
"writing": "Zapisovanje slike na napravo...",
|
||||
"verifying": "Preverjanje zapisanih podatkov...",
|
||||
"complete": "Zapisovanje končano!",
|
||||
"failed": "Prišlo je do napake",
|
||||
"cancelled": "Preklicano",
|
||||
"cancel": "Prekliči",
|
||||
"retry": "Poskusi znova",
|
||||
"back": "Nazaj",
|
||||
"done": "Končano",
|
||||
"flashAnother": "Zapiši drugo",
|
||||
"authorizing": "Zahteva za avtorizacijo...",
|
||||
"authorizingDesc": "Za nadaljevanje potrdite zahtevo za avtorizacijo.",
|
||||
"preparing": "Priprava...",
|
||||
"confirmTitle": "Potrdi izbiro",
|
||||
"confirmText": "Zapisali boste na:",
|
||||
"confirmWarning": "VSI PODATKI BODO TRAJNO IZBRISANI",
|
||||
"eraseAndFlash": "Izbriši in zapiši",
|
||||
"dataWarning": "Vsi podatki na izbrani napravi bodo izbrisani",
|
||||
"successHint": "Vaša SD kartica je pripravljena! Napravo lahko varno odstranite in jo vstavite v {{boardName}}."
|
||||
},
|
||||
"modal": {
|
||||
"selectManufacturer": "Izberi proizvajalca",
|
||||
"selectBoard": "Izberi ploščo",
|
||||
"selectImage": "Izberi operacijski sistem",
|
||||
"selectDevice": "Izberi napravo za shranjevanje",
|
||||
"searchManufacturer": "Išči proizvajalca...",
|
||||
"searchBoard": "Išči plošče...",
|
||||
"searchImage": "Išči slike...",
|
||||
"close": "Zapri",
|
||||
"noResults": "Ni rezultatov",
|
||||
"noManufacturers": "Proizvajalcev ni mogoče najti",
|
||||
"noBoards": "Plošč ni mogoče najti",
|
||||
"noImages": "Slik ni mogoče najti",
|
||||
"noDevices": "Naprav ni mogoče najti",
|
||||
"loading": "Nalaganje...",
|
||||
"error": "Napaka pri nalaganju podatkov",
|
||||
"retry": "Poskusi znova",
|
||||
"promoted": "Priporočeno",
|
||||
"stable": "Stabilna",
|
||||
"nightly": "Nightly",
|
||||
"apps": "Aplikacije",
|
||||
"minimal": "Minimalna",
|
||||
"allImages": "Vse slike",
|
||||
"scanningDevices": "Iskanje naprav...",
|
||||
"insertDevice": "Vstavite SD kartico ali USB pogon",
|
||||
"refreshDevices": "Osveži naprave"
|
||||
},
|
||||
"device": {
|
||||
"removable": "Izmenljiva",
|
||||
"system": "Sistemska",
|
||||
"sdCard": "SD kartica",
|
||||
"usb": "USB",
|
||||
"sata": "SATA",
|
||||
"sas": "SAS",
|
||||
"nvme": "NVMe",
|
||||
"noDevices": "Izmenljivih naprav ni mogoče najti",
|
||||
"refreshing": "Osveževanje...",
|
||||
"refresh": "Osveži"
|
||||
},
|
||||
"header": {
|
||||
"title": "Armbian Imager",
|
||||
"stepManufacturer": "Proizvajalec",
|
||||
"stepBoard": "Plošča",
|
||||
"stepOs": "OS",
|
||||
"stepStorage": "Shramba",
|
||||
"stepImage": "Slika"
|
||||
},
|
||||
"errorDisplay": {
|
||||
"retry": "Poskusi znova",
|
||||
"uploadLogs": "Naloži dnevnike",
|
||||
"uploading": "Nalaganje...",
|
||||
"uploadingLogs": "Nalaganje dnevnikov...",
|
||||
"uploadLogsForSupport": "Naloži dnevnike za podporo",
|
||||
"viewLogs": "Prikaži dnevnike",
|
||||
"scanQrOrShare": "Skenirajte QR ali delite to povezavo:",
|
||||
"uploadFailed": "Nalaganje ni uspelo"
|
||||
},
|
||||
"error": {
|
||||
"downloadFailed": "Prenos ni uspel",
|
||||
"flashFailed": "Zapisovanje ni uspelo",
|
||||
"verifyFailed": "Preverjanje ni uspelo",
|
||||
"cancelled": "Operacija preklicana",
|
||||
"authFailed": "Avtorizacija ni uspela",
|
||||
"authCancelled": "Uporabnik je preklical avtorizacijo",
|
||||
"decompressionFailed": "Razširjanje ni uspelo",
|
||||
"uploadFailed": "Nalaganje ni uspelo",
|
||||
"deviceDisconnected": "Naprava odklopljena"
|
||||
},
|
||||
"custom": {
|
||||
"customImage": "Slika po meri"
|
||||
},
|
||||
"common": {
|
||||
"unknown": "Neznano"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user