From 9782108a11cb0f677783c0e041dc608f038a788e Mon Sep 17 00:00:00 2001 From: Bernd Storath <32197462+kaaax0815@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:37:05 +0200 Subject: [PATCH] use i18n ally (#1391) --- .vscode/extensions.json | 5 +- .vscode/settings.json | 37 +- CHANGELOG.md | 4 + src/i18n.config.ts | 739 +++------------------------------------- src/locales/ca.json | 27 ++ src/locales/de.json | 32 ++ src/locales/en.json | 46 +++ src/locales/es.json | 37 ++ src/locales/fr.json | 45 +++ src/locales/hi.json | 28 ++ src/locales/is.json | 27 ++ src/locales/it.json | 31 ++ src/locales/ko.json | 37 ++ src/locales/nl.json | 27 ++ src/locales/no.json | 27 ++ src/locales/pl.json | 27 ++ src/locales/pt.json | 27 ++ src/locales/ru.json | 38 +++ src/locales/th.json | 27 ++ src/locales/tr.json | 38 +++ src/locales/ua.json | 38 +++ src/locales/vi.json | 38 +++ src/locales/zh-chs.json | 40 +++ src/locales/zh-cht.json | 40 +++ 24 files changed, 756 insertions(+), 706 deletions(-) create mode 100644 src/locales/ca.json create mode 100644 src/locales/de.json create mode 100644 src/locales/en.json create mode 100644 src/locales/es.json create mode 100644 src/locales/fr.json create mode 100644 src/locales/hi.json create mode 100644 src/locales/is.json create mode 100644 src/locales/it.json create mode 100644 src/locales/ko.json create mode 100644 src/locales/nl.json create mode 100644 src/locales/no.json create mode 100644 src/locales/pl.json create mode 100644 src/locales/pt.json create mode 100644 src/locales/ru.json create mode 100644 src/locales/th.json create mode 100644 src/locales/tr.json create mode 100644 src/locales/ua.json create mode 100644 src/locales/vi.json create mode 100644 src/locales/zh-chs.json create mode 100644 src/locales/zh-cht.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 8615e74e..9a3a0def 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -8,6 +8,7 @@ "esbenp.prettier-vscode", "yoavbls.pretty-ts-errors", "bradlc.vscode-tailwindcss", - "vue.volar" + "vue.volar", + "lokalise.i18n-ally" ] -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 435e4bdb..1cc37767 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,16 +1,25 @@ { - "editor.tabSize": 2, - "editor.useTabStops": false, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, - "nuxtr.vueFiles.style.addStyleTag": false, - "nuxtr.piniaFiles.defaultTemplate": "setup", - "nuxtr.monorepoMode.DirectoryName": "src", - "[vue]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "typescript.tsdk": "./src/node_modules/typescript/lib" + "editor.tabSize": 2, + "editor.useTabStops": false, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "nuxtr.vueFiles.style.addStyleTag": false, + "nuxtr.piniaFiles.defaultTemplate": "setup", + "nuxtr.monorepoMode.DirectoryName": "src", + "[vue]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "typescript.tsdk": "./src/node_modules/typescript/lib", + "i18n-ally.enabledFrameworks": [ + "vue" + ], + "i18n-ally.localesPaths": [ + "src/locales" + ], + "i18n-ally.sortKeys": false, + "i18n-ally.keepFulfilled": false, + "i18n-ally.keystyle": "nested" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index ceb098e5..e842e6bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ This update is an entire rewrite to make it even easier to set up your own VPN. - Almost all Environment variables removed - New and Improved UI +## Minor Changes + +- Renamed Chinese Locales (cht -> zh-cht, chs -> zh-chs) + ## [14.0.0] - 2024-09-04 ### Major changes diff --git a/src/i18n.config.ts b/src/i18n.config.ts index b179d9a5..6cc464a9 100644 --- a/src/i18n.config.ts +++ b/src/i18n.config.ts @@ -1,696 +1,55 @@ +import en from './locales/en.json'; +import ua from './locales/ua.json'; +import ru from './locales/ru.json'; +import tr from './locales/tr.json'; +import no from './locales/no.json'; +import pl from './locales/pl.json'; +import fr from './locales/fr.json'; +import de from './locales/de.json'; +import ca from './locales/ca.json'; +import es from './locales/es.json'; +import ko from './locales/ko.json'; +import vi from './locales/vi.json'; +import nl from './locales/nl.json'; +import is from './locales/is.json'; +import pt from './locales/pt.json'; +import zhChs from './locales/zh-chs.json'; +import zhCht from './locales/zh-cht.json'; +import it from './locales/it.json'; +import th from './locales/th.json'; +import hi from './locales/hi.json'; + export default defineI18nConfig(() => ({ legacy: false, locale: 'en', messages: { - en: { - name: 'Name', - username: 'Username', - password: 'Password', - signIn: 'Sign In', - logout: 'Logout', - updateAvailable: 'There is an update available!', - update: 'Update', - clients: 'Clients', - new: 'New', - deleteClient: 'Delete Client', - deleteDialog1: 'Are you sure you want to delete', - deleteDialog2: 'This action cannot be undone.', - cancel: 'Cancel', - create: 'Create', - createdOn: 'Created on ', - lastSeen: 'Last seen on ', - totalDownload: 'Total Download: ', - totalUpload: 'Total Upload: ', - newClient: 'New Client', - disableClient: 'Disable Client', - enableClient: 'Enable Client', - noClients: 'There are no clients yet.', - noPrivKey: - 'This client has no known private key. Cannot create Configuration.', - showQR: 'Show QR Code', - downloadConfig: 'Download Configuration', - madeBy: 'Made by', - donate: 'Donate', - toggleCharts: 'Show/hide Charts', - theme: { - dark: 'Dark theme', - light: 'Light theme', - system: 'System theme', - }, - restore: 'Restore', - backup: 'Backup', - titleRestoreConfig: 'Restore your configuration', - titleBackupConfig: 'Backup your configuration', - rememberMe: 'Remember me', - titleRememberMe: 'Stay logged after closing the browser', - sort: 'Sort', - ExpireDate: 'Expire Date', - Permanent: 'Permanent', - OneTimeLink: 'Generate short one time link', - errorInit: 'Initialization failed.', - }, - ua: { - name: 'Ім`я', - password: 'Пароль', - signIn: 'Увійти', - logout: 'Вихід', - updateAvailable: 'Доступне оновлення!', - update: 'Оновити', - clients: 'Клієнти', - new: 'Новий', - deleteClient: 'Видалити клієнта', - deleteDialog1: 'Ви впевнені, що бажаєте видалити', - deleteDialog2: 'Цю дію неможливо скасувати.', - cancel: 'Скасувати', - create: 'Створити', - createdOn: 'Створено ', - lastSeen: 'Останнє підключення в ', - totalDownload: 'Всього завантажено: ', - totalUpload: 'Всього відправлено: ', - newClient: 'Новий клієнт', - disableClient: 'Вимкнути клієнта', - enableClient: 'Увімкнути клієнта', - noClients: 'Ще немає клієнтів.', - noPrivKey: - 'У цього клієнта немає відомого приватного ключа. Неможливо створити конфігурацію.', - showQR: 'Показати QR-код', - downloadConfig: 'Завантажити конфігурацію', - madeBy: 'Зроблено', - donate: 'Пожертвувати', - toggleCharts: 'Показати/сховати діаграми', - theme: { - dark: 'Темна тема', - light: 'Світла тема', - system: 'Автоматична тема', - }, - restore: 'Відновити', - backup: 'Резервна копія', - titleRestoreConfig: 'Відновити конфігурацію', - titleBackupConfig: 'Створити резервну копію конфігурації', - }, - ru: { - name: 'Имя', - password: 'Пароль', - signIn: 'Войти', - logout: 'Выйти', - updateAvailable: 'Доступно обновление!', - update: 'Обновить', - clients: 'Клиенты', - new: 'Создать', - deleteClient: 'Удалить клиента', - deleteDialog1: 'Вы уверены, что хотите удалить', - deleteDialog2: 'Это действие невозможно отменить.', - cancel: 'Закрыть', - create: 'Создать', - createdOn: 'Создано в ', - lastSeen: 'Последнее подключение в ', - totalDownload: 'Всего скачано: ', - totalUpload: 'Всего загружено: ', - newClient: 'Создать клиента', - disableClient: 'Выключить клиента', - enableClient: 'Включить клиента', - noClients: 'Пока нет клиентов.', - noPrivKey: - 'Невозможно создать конфигурацию: у клиента нет известного приватного ключа.', - showQR: 'Показать QR-код', - downloadConfig: 'Скачать конфигурацию', - madeBy: 'Автор', - donate: 'Поблагодарить', - toggleCharts: 'Показать/скрыть графики', - theme: { - dark: 'Темная тема', - light: 'Светлая тема', - system: 'Как в системе', - }, - restore: 'Восстановить', - backup: 'Резервная копия', - titleRestoreConfig: 'Восстановить конфигурацию', - titleBackupConfig: 'Создать резервную копию конфигурации', - rememberMe: 'Запомнить меня', - titleRememberMe: 'Оставаться в системе после закрытия браузера', - sort: 'Сортировка', - ExpireDate: 'Дата истечения срока', - Permanent: 'Бессрочно', - OneTimeLink: 'Создать короткую одноразовую ссылку', - }, - tr: { - // Müslüm Barış Korkmazer @babico - name: 'İsim', - password: 'Şifre', - signIn: 'Giriş Yap', - logout: 'Çıkış Yap', - updateAvailable: 'Mevcut bir güncelleme var!', - update: 'Güncelle', - clients: 'Kullanıcılar', - new: 'Yeni', - deleteClient: 'Kullanıcı Sil', - deleteDialog1: 'Silmek istediğine emin misin', - deleteDialog2: 'Bu işlem geri alınamaz.', - cancel: 'İptal', - create: 'Oluştur', - createdOn: 'Şu saatte oluşturuldu: ', - lastSeen: 'Son görülme tarihi: ', - totalDownload: 'Toplam İndirme: ', - totalUpload: 'Toplam Yükleme: ', - newClient: 'Yeni Kullanıcı', - disableClient: 'Kullanıcıyı Devre Dışı Bırak', - enableClient: 'Kullanıcıyı Etkinleştir', - noClients: 'Henüz kullanıcı yok.', - noPrivKey: - 'Bu istemcinin bilinen bir özel anahtarı yok. Yapılandırma oluşturulamıyor.', - showQR: 'QR Kodunu Göster', - downloadConfig: 'Yapılandırmayı İndir', - madeBy: 'Yapan Kişi: ', - donate: 'Bağış Yap', - toggleCharts: 'Grafiği göster/gizle', - theme: { - dark: 'Karanlık tema', - light: 'Açık tema', - system: 'Otomatik tema', - }, - restore: 'Geri yükle', - backup: 'Yedekle', - titleRestoreConfig: 'Yapılandırmanızı geri yükleyin', - titleBackupConfig: 'Yapılandırmanızı yedekleyin', - }, - no: { - // github.com/digvalley - name: 'Navn', - password: 'Passord', - signIn: 'Logg Inn', - logout: 'Logg Ut', - updateAvailable: 'En ny oppdatering er tilgjengelig!', - update: 'Oppdater', - clients: 'Klienter', - new: 'Ny', - deleteClient: 'Slett Klient', - deleteDialog1: 'Er du sikker på at du vil slette?', - deleteDialog2: 'Denne handlingen kan ikke angres', - cancel: 'Avbryt', - create: 'Opprett', - createdOn: 'Opprettet ', - lastSeen: 'Sist sett ', - totalDownload: 'Total Nedlasting: ', - totalUpload: 'Total Opplasting: ', - newClient: 'Ny Klient', - disableClient: 'Deaktiver Klient', - enableClient: 'Aktiver Klient', - noClients: 'Ingen klienter opprettet enda.', - showQR: 'Vis QR Kode', - downloadConfig: 'Last Ned Konfigurasjon', - madeBy: 'Laget av', - donate: 'Doner', - }, - pl: { - // github.com/archont94 - name: 'Nazwa', - password: 'Hasło', - signIn: 'Zaloguj się', - logout: 'Wyloguj się', - updateAvailable: 'Dostępna aktualizacja!', - update: 'Aktualizuj', - clients: 'Klienci', - new: 'Stwórz klienta', - deleteClient: 'Usuń klienta', - deleteDialog1: 'Jesteś pewny że chcesz usunąć', - deleteDialog2: 'Tej akcji nie da się cofnąć.', - cancel: 'Anuluj', - create: 'Stwórz', - createdOn: 'Utworzono ', - lastSeen: 'Ostatnio widziany ', - totalDownload: 'Całkowite pobieranie: ', - totalUpload: 'Całkowite wysyłanie: ', - newClient: 'Nowy klient', - disableClient: 'Wyłączenie klienta', - enableClient: 'Włączenie klienta', - noClients: 'Nie ma jeszcze klientów.', - showQR: 'Pokaż kod QR', - downloadConfig: 'Pobierz konfigurację', - madeBy: 'Stworzone przez', - donate: 'Wsparcie autora', - }, - fr: { - // github.com/clem3109 - name: 'Nom', - password: 'Mot de passe', - signIn: 'Se Connecter', - logout: 'Se déconnecter', - updateAvailable: 'Une mise à jour est disponible !', - update: 'Mise à jour', - clients: 'Clients', - new: 'Nouveau', - deleteClient: 'Supprimer ce client', - deleteDialog1: 'Êtes-vous sûr de vouloir supprimer', - deleteDialog2: 'Cette action ne peut pas être annulée.', - cancel: 'Annuler', - create: 'Créer', - createdOn: 'Créé le ', - lastSeen: 'Dernière connexion le ', - totalDownload: 'Téléchargement total : ', - totalUpload: 'Téléversement total : ', - newClient: 'Nouveau client', - disableClient: 'Désactiver ce client', - enableClient: 'Activer ce client', - noClients: 'Aucun client pour le moment.', - noPrivKey: - "Ce client n'a pas de clé privée connue. Impossible de créer la configuration.", - showQR: 'Afficher le code QR', - downloadConfig: 'Télécharger la configuration', - madeBy: 'Développé par', - donate: 'Faire un don', - toggleCharts: 'Afficher/masquer les graphiques', - theme: { - dark: 'Thème sombre', - light: 'Thème clair', - system: 'Thème du système', - }, - restore: 'Restaurer', - backup: 'Sauvegarder', - titleRestoreConfig: 'Restaurer votre configuration', - titleBackupConfig: 'Sauvegarder votre configuration', - rememberMe: 'Se souvenir de moi', - titleRememberMe: 'Restez connecté après la fermeture du navigateur', - sort: 'Trier', - ExpireDate: "Date d'expiration", - Permanent: 'Permanent', - OneTimeLink: 'Générer un lien court à usage unique', - errorInit: "Échec de l'initialisation.", - }, - de: { - // github.com/florian-asche - name: 'Name', - password: 'Passwort', - signIn: 'Anmelden', - logout: 'Abmelden', - updateAvailable: 'Eine Aktualisierung steht zur Verfügung!', - update: 'Aktualisieren', - clients: 'Clients', - new: 'Neu', - deleteClient: 'Client löschen', - deleteDialog1: 'Möchtest du wirklich löschen?', - deleteDialog2: 'Diese Aktion kann nicht rückgängig gemacht werden.', - cancel: 'Abbrechen', - create: 'Erstellen', - createdOn: 'Erstellt am ', - lastSeen: 'Zuletzt Online ', - totalDownload: 'Gesamt Download: ', - totalUpload: 'Gesamt Upload: ', - newClient: 'Neuer Client', - disableClient: 'Client deaktivieren', - enableClient: 'Client aktivieren', - noClients: 'Es wurden noch keine Clients konfiguriert.', - noPrivKey: - 'Es ist kein Private Key für diesen Client bekannt. Eine Konfiguration kann nicht erstellt werden.', - showQR: 'Zeige den QR Code', - downloadConfig: 'Konfiguration herunterladen', - madeBy: 'Erstellt von', - donate: 'Spenden', - restore: 'Wiederherstellen', - backup: 'Sichern', - titleRestoreConfig: 'Stelle deine Konfiguration wieder her', - titleBackupConfig: 'Sichere deine Konfiguration', - }, - ca: { - // github.com/guillembonet - name: 'Nom', - password: 'Contrasenya', - signIn: 'Iniciar sessió', - logout: 'Tanca sessió', - updateAvailable: 'Hi ha una actualització disponible!', - update: 'Actualitza', - clients: 'Clients', - new: 'Nou', - deleteClient: 'Esborra client', - deleteDialog1: 'Estàs segur que vols esborrar aquest client?', - deleteDialog2: 'Aquesta acció no es pot desfer.', - cancel: 'Cancel·la', - create: 'Crea', - createdOn: 'Creat el ', - lastSeen: 'Última connexió el ', - totalDownload: 'Baixada total: ', - totalUpload: 'Pujada total: ', - newClient: 'Nou client', - disableClient: 'Desactiva client', - enableClient: 'Activa client', - noClients: 'Encara no hi ha cap client.', - showQR: 'Mostra codi QR', - downloadConfig: 'Descarrega configuració', - madeBy: 'Fet per', - donate: 'Donatiu', - }, - es: { - // github.com/amarqz - name: 'Nombre', - password: 'Contraseña', - signIn: 'Iniciar sesión', - logout: 'Cerrar sesión', - updateAvailable: '¡Hay una actualización disponible!', - update: 'Actualizar', - clients: 'Clientes', - new: 'Nuevo', - deleteClient: 'Eliminar cliente', - deleteDialog1: '¿Estás seguro de que quieres borrar este cliente?', - deleteDialog2: 'Esta acción no podrá ser revertida.', - cancel: 'Cancelar', - create: 'Crear', - createdOn: 'Creado el ', - lastSeen: 'Última conexión el ', - totalDownload: 'Total descargado: ', - totalUpload: 'Total subido: ', - newClient: 'Nuevo cliente', - disableClient: 'Desactivar cliente', - enableClient: 'Activar cliente', - noClients: 'Aún no hay ningún cliente.', - showQR: 'Mostrar código QR', - downloadConfig: 'Descargar configuración', - madeBy: 'Hecho por', - donate: 'Donar', - toggleCharts: 'Mostrar/Ocultar gráficos', - theme: { - dark: 'Modo oscuro', - light: 'Modo claro', - system: 'Modo automático', - }, - restore: 'Restaurar', - backup: 'Realizar copia de seguridad', - titleRestoreConfig: 'Restaurar su configuración', - titleBackupConfig: 'Realizar copia de seguridad de su configuración', - }, - ko: { - name: '이름', - password: '암호', - signIn: '로그인', - logout: '로그아웃', - updateAvailable: '업데이트가 있습니다!', - update: '업데이트', - clients: '클라이언트', - new: '추가', - deleteClient: '클라이언트 삭제', - deleteDialog1: '삭제 하시겠습니까?', - deleteDialog2: '이 작업은 취소할 수 없습니다.', - cancel: '취소', - create: '생성', - createdOn: '생성일: ', - lastSeen: '마지막 사용 날짜: ', - totalDownload: '총 다운로드: ', - totalUpload: '총 업로드: ', - newClient: '새로운 클라이언트', - disableClient: '클라이언트 비활성화', - enableClient: '클라이언트 활성화', - noClients: '아직 클라이언트가 없습니다.', - showQR: 'QR 코드 표시', - downloadConfig: '구성 다운로드', - madeBy: '만든 사람', - donate: '기부', - toggleCharts: '차트 표시/숨기기', - theme: { dark: '어두운 테마', light: '밝은 테마', auto: '자동 테마' }, - restore: '복원', - backup: '백업', - titleRestoreConfig: '구성 파일 복원', - titleBackupConfig: '구성 파일 백업', - }, - vi: { - // https://github.com/hoangneeee - name: 'Tên', - password: 'Mật khẩu', - signIn: 'Đăng nhập', - logout: 'Đăng xuất', - updateAvailable: 'Có bản cập nhật mới!', - update: 'Cập nhật', - clients: 'Danh sách người dùng', - new: 'Mới', - deleteClient: 'Xóa người dùng', - deleteDialog1: 'Bạn có chắc chắn muốn xóa', - deleteDialog2: 'Thao tác này không thể hoàn tác.', - cancel: 'Huỷ', - create: 'Tạo', - createdOn: 'Được tạo lúc ', - lastSeen: 'Lần xem cuối vào ', - totalDownload: 'Tổng dung lượng tải xuống: ', - totalUpload: 'Tổng dung lượng tải lên: ', - newClient: 'Người dùng mới', - disableClient: 'Vô hiệu hóa người dùng', - enableClient: 'Kích hoạt người dùng', - noClients: 'Hiện chưa có người dùng nào.', - showQR: 'Hiển thị mã QR', - downloadConfig: 'Tải xuống cấu hình', - madeBy: 'Được tạo bởi', - donate: 'Ủng hộ', - toggleCharts: 'Mở/Ẩn Biểu đồ', - theme: { dark: 'Dark theme', light: 'Light theme', auto: 'Auto theme' }, - restore: 'Khôi phục', - backup: 'Sao lưu', - titleRestoreConfig: 'Khôi phục cấu hình của bạn', - titleBackupConfig: 'Sao lưu cấu hình của bạn', - sort: 'Sắp xếp', - }, - nl: { - name: 'Naam', - password: 'Wachtwoord', - signIn: 'Inloggen', - logout: 'Uitloggen', - updateAvailable: 'Nieuw update beschikbaar!', - update: 'update', - clients: 'clients', - new: 'Nieuw', - deleteClient: 'client verwijderen', - deleteDialog1: 'Weet je zeker dat je wilt verwijderen', - deleteDialog2: 'Deze actie kan niet ongedaan worden gemaakt.', - cancel: 'Annuleren', - create: 'Creëren', - createdOn: 'Gemaakt op ', - lastSeen: 'Laatst gezien op ', - totalDownload: 'Totaal Gedownload: ', - totalUpload: 'Totaal Geupload: ', - newClient: 'Nieuwe client', - disableClient: 'client uitschakelen', - enableClient: 'client inschakelen', - noClients: 'Er zijn nog geen clients.', - showQR: 'QR-code weergeven', - downloadConfig: 'Configuratie downloaden', - madeBy: 'Gemaakt door', - donate: 'Doneren', - }, - is: { - name: 'Nafn', - password: 'Lykilorð', - signIn: 'Skrá inn', - logout: 'Útskráning', - updateAvailable: 'Það er uppfærsla í boði!', - update: 'Uppfæra', - clients: 'Viðskiptavinir', - new: 'Nýtt', - deleteClient: 'Eyða viðskiptavin', - deleteDialog1: 'Ertu viss um að þú viljir eyða', - deleteDialog2: 'Þessi aðgerð getur ekki verið afturkallað.', - cancel: 'Hætta við', - create: 'Búa til', - createdOn: 'Búið til á ', - lastSeen: 'Síðast séð á ', - totalDownload: 'Samtals Niðurhlaða: ', - totalUpload: 'Samtals Upphlaða: ', - newClient: 'Nýr Viðskiptavinur', - disableClient: 'Gera viðskiptavin óvirkan', - enableClient: 'Gera viðskiptavin virkan', - noClients: 'Engir viðskiptavinir ennþá.', - showQR: 'Sýna QR-kóða', - downloadConfig: 'Niðurhal Stillingar', - madeBy: 'Gert af', - donate: 'Gefa', - }, - pt: { - name: 'Nome', - password: 'Palavra Chave', - signIn: 'Entrar', - logout: 'Sair', - updateAvailable: 'Existe uma atualização disponível!', - update: 'Atualizar', - clients: 'Clientes', - new: 'Novo', - deleteClient: 'Apagar Clientes', - deleteDialog1: 'Tem certeza que pretende apagar', - deleteDialog2: 'Esta ação não pode ser revertida.', - cancel: 'Cancelar', - create: 'Criar', - createdOn: 'Criado em ', - lastSeen: 'Último acesso em ', - totalDownload: 'Total Download: ', - totalUpload: 'Total Upload: ', - newClient: 'Novo Cliente', - disableClient: 'Desativar Cliente', - enableClient: 'Ativar Cliente', - noClients: 'Não existem ainda clientes.', - showQR: 'Apresentar o código QR', - downloadConfig: 'Descarregar Configuração', - madeBy: 'Feito por', - donate: 'Doar', - }, - chs: { - name: '名称', - password: '密码', - signIn: '登录', - logout: '退出', - updateAvailable: '有新版本可用!', - update: '更新', - clients: '客户端', - new: '新建', - deleteClient: '删除客户端', - deleteDialog1: '您确定要删除', - deleteDialog2: '此操作无法撤销。', - cancel: '取消', - create: '创建', - createdOn: '创建于 ', - lastSeen: '最后访问于 ', - totalDownload: '总下载: ', - totalUpload: '总上传: ', - newClient: '新建客户端', - disableClient: '禁用客户端', - enableClient: '启用客户端', - noClients: '目前没有客户端。', - noPrivKey: '此客户端没有已知的私钥。无法创建配置。', - showQR: '显示二维码', - downloadConfig: '下载配置', - madeBy: '由', - donate: '捐赠', - toggleCharts: '显示/隐藏图表', - theme: { dark: '暗黑主题', light: '明亮主题', auto: '自动主题' }, - restore: '恢复', - backup: '备份', - titleRestoreConfig: '恢复您的配置', - titleBackupConfig: '备份您的配置', - rememberMe: '记住我', - titleRememberMe: '关闭浏览器后保持登录', - sort: '排序', - ExpireDate: '到期日期', - Permanent: '永久', - OneTimeLink: '生成一次性短链接', - }, - cht: { - name: '名字', - password: '密碼', - signIn: '登入', - logout: '登出', - updateAvailable: '有新版本可以使用!', - update: '更新', - clients: '使用者', - new: '建立', - deleteClient: '刪除使用者', - deleteDialog1: '您確定要刪除', - deleteDialog2: '此作業無法復原。', - cancel: '取消', - create: '建立', - createdOn: '建立於 ', - lastSeen: '最後存取於 ', - totalDownload: '總下載: ', - totalUpload: '總上傳: ', - newClient: '新用戶', - disableClient: '停用使用者', - enableClient: '啟用使用者', - noClients: '目前沒有使用者。', - noPrivKey: '此使用者沒有已知的私鑰。無法創建配置。', - showQR: '顯示 QR Code', - downloadConfig: '下載 Config 檔', - madeBy: '由', - donate: '抖內', - toggleCharts: '顯示/隱藏圖表', - theme: { dark: '暗黑主題', light: '明亮主題', auto: '自動主題' }, - restore: '恢復', - backup: '備份', - titleRestoreConfig: '恢復您的配置', - titleBackupConfig: '備份您的配置', - rememberMe: '記住我', - titleRememberMe: '關閉瀏覽器後保持登錄', - sort: '排序', - ExpireDate: '到期日期', - Permanent: '永久', - OneTimeLink: '生成一次性短鏈接', - }, - it: { - name: 'Nome', - password: 'Password', - signIn: 'Accedi', - logout: 'Esci', - updateAvailable: 'È disponibile un aggiornamento!', - update: 'Aggiorna', - clients: 'Client', - new: 'Nuovo', - deleteClient: 'Elimina Client', - deleteDialog1: 'Sei sicuro di voler eliminare', - deleteDialog2: 'Questa azione non può essere annullata.', - cancel: 'Annulla', - create: 'Crea', - createdOn: 'Creato il ', - lastSeen: "Visto l'ultima volta il ", - totalDownload: 'Totale Download: ', - totalUpload: 'Totale Upload: ', - newClient: 'Nuovo Client', - disableClient: 'Disabilita Client', - enableClient: 'Abilita Client', - noClients: 'Non ci sono ancora client.', - showQR: 'Mostra codice QR', - downloadConfig: 'Scarica configurazione', - madeBy: 'Realizzato da', - donate: 'Donazione', - restore: 'Ripristina', - backup: 'Backup', - titleRestoreConfig: 'Ripristina la tua configurazione', - titleBackupConfig: 'Esegui il backup della tua configurazione', - }, - th: { - name: 'ชื่อ', - password: 'รหัสผ่าน', - signIn: 'ลงชื่อเข้าใช้', - logout: 'ออกจากระบบ', - updateAvailable: 'มีอัปเดตพร้อมใช้งาน!', - update: 'อัปเดต', - clients: 'Clients', - new: 'ใหม่', - deleteClient: 'ลบ Client', - deleteDialog1: 'คุณแน่ใจหรือไม่ว่าต้องการลบ', - deleteDialog2: 'การกระทำนี้;ไม่สามารถยกเลิกได้', - cancel: 'ยกเลิก', - create: 'สร้าง', - createdOn: 'สร้างเมื่อ ', - lastSeen: 'เห็นครั้งสุดท้ายเมื่อ ', - totalDownload: 'ดาวน์โหลดทั้งหมด: ', - totalUpload: 'อัพโหลดทั้งหมด: ', - newClient: 'Client ใหม่', - disableClient: 'ปิดการใช้งาน Client', - enableClient: 'เปิดการใช้งาน Client', - noClients: 'ยังไม่มี Clients เลย', - showQR: 'แสดงรหัส QR', - downloadConfig: 'ดาวน์โหลดการตั้งค่า', - madeBy: 'สร้างโดย', - donate: 'บริจาค', - }, - hi: { - // github.com/rahilarious - name: 'नाम', - password: 'पासवर्ड', - signIn: 'लॉगिन', - logout: 'लॉगआउट', - updateAvailable: 'अपडेट उपलब्ध है!', - update: 'अपडेट', - clients: 'उपयोगकर्ताये', - new: 'नया', - deleteClient: 'उपयोगकर्ता हटाएँ', - deleteDialog1: 'क्या आपको पक्का हटाना है', - deleteDialog2: 'यह निर्णय पलट नहीं सकता।', - cancel: 'कुछ ना करें', - create: 'बनाएं', - createdOn: 'सर्जन तारीख ', - lastSeen: 'पिछली बार देखे गए थे ', - totalDownload: 'कुल डाउनलोड: ', - totalUpload: 'कुल अपलोड: ', - newClient: 'नया उपयोगकर्ता', - disableClient: 'उपयोगकर्ता स्थगित कीजिये', - enableClient: 'उपयोगकर्ता शुरू कीजिये', - noClients: 'अभी तक कोई भी उपयोगकर्ता नहीं है।', - noPrivKey: 'ये उपयोगकर्ता की कोई भी गुप्त चाबी नहीं हे। बना नहीं सकते।', - showQR: 'क्यू आर कोड देखिये', - downloadConfig: 'डाउनलोड कॉन्फीग्यूरेशन', - madeBy: 'सर्जक', - donate: 'दान करें', - }, + en, + ua, + ru, + // Müslüm Barış Korkmazer @babico + tr, + // github.com/digvalley + no, + // github.com/archont94 + pl, + // github.com/clem3109 + fr, + de, + // github.com/guillembonet + ca, + // github.com/amarqz + es, + ko, + // https://github.com/hoangneeee + vi, + nl, + is, + pt, + zhChs, + zhCht, + it, + th, + // github.com/rahilarious + hi, }, })); diff --git a/src/locales/ca.json b/src/locales/ca.json new file mode 100644 index 00000000..962bda92 --- /dev/null +++ b/src/locales/ca.json @@ -0,0 +1,27 @@ +{ + "name": "Nom", + "password": "Contrasenya", + "signIn": "Iniciar sessió", + "logout": "Tanca sessió", + "updateAvailable": "Hi ha una actualització disponible!", + "update": "Actualitza", + "clients": "Clients", + "new": "Nou", + "deleteClient": "Esborra client", + "deleteDialog1": "Estàs segur que vols esborrar aquest client?", + "deleteDialog2": "Aquesta acció no es pot desfer.", + "cancel": "Cancel·la", + "create": "Crea", + "createdOn": "Creat el ", + "lastSeen": "Última connexió el ", + "totalDownload": "Baixada total: ", + "totalUpload": "Pujada total: ", + "newClient": "Nou client", + "disableClient": "Desactiva client", + "enableClient": "Activa client", + "noClients": "Encara no hi ha cap client.", + "showQR": "Mostra codi QR", + "downloadConfig": "Descarrega configuració", + "madeBy": "Fet per", + "donate": "Donatiu" +} diff --git a/src/locales/de.json b/src/locales/de.json new file mode 100644 index 00000000..8cc64e26 --- /dev/null +++ b/src/locales/de.json @@ -0,0 +1,32 @@ +{ + "name": "Name", + "password": "Passwort", + "signIn": "Anmelden", + "logout": "Abmelden", + "updateAvailable": "Eine Aktualisierung steht zur Verfügung!", + "update": "Aktualisieren", + "clients": "Clients", + "new": "Neu", + "deleteClient": "Client löschen", + "deleteDialog1": "Möchtest du wirklich löschen?", + "deleteDialog2": "Diese Aktion kann nicht rückgängig gemacht werden.", + "cancel": "Abbrechen", + "create": "Erstellen", + "createdOn": "Erstellt am ", + "lastSeen": "Zuletzt Online ", + "totalDownload": "Gesamt Download: ", + "totalUpload": "Gesamt Upload: ", + "newClient": "Neuer Client", + "disableClient": "Client deaktivieren", + "enableClient": "Client aktivieren", + "noClients": "Es wurden noch keine Clients konfiguriert.", + "noPrivKey": "Es ist kein Private Key für diesen Client bekannt. Eine Konfiguration kann nicht erstellt werden.", + "showQR": "Zeige den QR Code", + "downloadConfig": "Konfiguration herunterladen", + "madeBy": "Erstellt von", + "donate": "Spenden", + "restore": "Wiederherstellen", + "backup": "Sichern", + "titleRestoreConfig": "Stelle deine Konfiguration wieder her", + "titleBackupConfig": "Sichere deine Konfiguration" +} diff --git a/src/locales/en.json b/src/locales/en.json new file mode 100644 index 00000000..77cae6ff --- /dev/null +++ b/src/locales/en.json @@ -0,0 +1,46 @@ +{ + "name": "Name", + "username": "Username", + "password": "Password", + "signIn": "Sign In", + "logout": "Logout", + "updateAvailable": "There is an update available!", + "update": "Update", + "clients": "Clients", + "new": "New", + "deleteClient": "Delete Client", + "deleteDialog1": "Are you sure you want to delete", + "deleteDialog2": "This action cannot be undone.", + "cancel": "Cancel", + "create": "Create", + "createdOn": "Created on ", + "lastSeen": "Last seen on ", + "totalDownload": "Total Download: ", + "totalUpload": "Total Upload: ", + "newClient": "New Client", + "disableClient": "Disable Client", + "enableClient": "Enable Client", + "noClients": "There are no clients yet.", + "noPrivKey": "This client has no known private key. Cannot create Configuration.", + "showQR": "Show QR Code", + "downloadConfig": "Download Configuration", + "madeBy": "Made by", + "donate": "Donate", + "toggleCharts": "Show/hide Charts", + "theme": { + "dark": "Dark theme", + "light": "Light theme", + "system": "System theme" + }, + "restore": "Restore", + "backup": "Backup", + "titleRestoreConfig": "Restore your configuration", + "titleBackupConfig": "Backup your configuration", + "rememberMe": "Remember me", + "titleRememberMe": "Stay logged after closing the browser", + "sort": "Sort", + "ExpireDate": "Expire Date", + "Permanent": "Permanent", + "OneTimeLink": "Generate short one time link", + "errorInit": "Initialization failed." +} diff --git a/src/locales/es.json b/src/locales/es.json new file mode 100644 index 00000000..4f69c4d4 --- /dev/null +++ b/src/locales/es.json @@ -0,0 +1,37 @@ +{ + "name": "Nombre", + "password": "Contraseña", + "signIn": "Iniciar sesión", + "logout": "Cerrar sesión", + "updateAvailable": "¡Hay una actualización disponible!", + "update": "Actualizar", + "clients": "Clientes", + "new": "Nuevo", + "deleteClient": "Eliminar cliente", + "deleteDialog1": "¿Estás seguro de que quieres borrar este cliente?", + "deleteDialog2": "Esta acción no podrá ser revertida.", + "cancel": "Cancelar", + "create": "Crear", + "createdOn": "Creado el ", + "lastSeen": "Última conexión el ", + "totalDownload": "Total descargado: ", + "totalUpload": "Total subido: ", + "newClient": "Nuevo cliente", + "disableClient": "Desactivar cliente", + "enableClient": "Activar cliente", + "noClients": "Aún no hay ningún cliente.", + "showQR": "Mostrar código QR", + "downloadConfig": "Descargar configuración", + "madeBy": "Hecho por", + "donate": "Donar", + "toggleCharts": "Mostrar/Ocultar gráficos", + "theme": { + "dark": "Modo oscuro", + "light": "Modo claro", + "system": "Modo automático" + }, + "restore": "Restaurar", + "backup": "Realizar copia de seguridad", + "titleRestoreConfig": "Restaurar su configuración", + "titleBackupConfig": "Realizar copia de seguridad de su configuración" +} diff --git a/src/locales/fr.json b/src/locales/fr.json new file mode 100644 index 00000000..747a7aac --- /dev/null +++ b/src/locales/fr.json @@ -0,0 +1,45 @@ +{ + "name": "Nom", + "password": "Mot de passe", + "signIn": "Se Connecter", + "logout": "Se déconnecter", + "updateAvailable": "Une mise à jour est disponible !", + "update": "Mise à jour", + "clients": "Clients", + "new": "Nouveau", + "deleteClient": "Supprimer ce client", + "deleteDialog1": "Êtes-vous sûr de vouloir supprimer", + "deleteDialog2": "Cette action ne peut pas être annulée.", + "cancel": "Annuler", + "create": "Créer", + "createdOn": "Créé le ", + "lastSeen": "Dernière connexion le ", + "totalDownload": "Téléchargement total : ", + "totalUpload": "Téléversement total : ", + "newClient": "Nouveau client", + "disableClient": "Désactiver ce client", + "enableClient": "Activer ce client", + "noClients": "Aucun client pour le moment.", + "noPrivKey": "Ce client n'a pas de clé privée connue. Impossible de créer la configuration.", + "showQR": "Afficher le code QR", + "downloadConfig": "Télécharger la configuration", + "madeBy": "Développé par", + "donate": "Faire un don", + "toggleCharts": "Afficher/masquer les graphiques", + "theme": { + "dark": "Thème sombre", + "light": "Thème clair", + "system": "Thème du système" + }, + "restore": "Restaurer", + "backup": "Sauvegarder", + "titleRestoreConfig": "Restaurer votre configuration", + "titleBackupConfig": "Sauvegarder votre configuration", + "rememberMe": "Se souvenir de moi", + "titleRememberMe": "Restez connecté après la fermeture du navigateur", + "sort": "Trier", + "ExpireDate": "Date d'expiration", + "Permanent": "Permanent", + "OneTimeLink": "Générer un lien court à usage unique", + "errorInit": "Échec de l'initialisation." +} diff --git a/src/locales/hi.json b/src/locales/hi.json new file mode 100644 index 00000000..df156cd0 --- /dev/null +++ b/src/locales/hi.json @@ -0,0 +1,28 @@ +{ + "name": "नाम", + "password": "पासवर्ड", + "signIn": "लॉगिन", + "logout": "लॉगआउट", + "updateAvailable": "अपडेट उपलब्ध है!", + "update": "अपडेट", + "clients": "उपयोगकर्ताये", + "new": "नया", + "deleteClient": "उपयोगकर्ता हटाएँ", + "deleteDialog1": "क्या आपको पक्का हटाना है", + "deleteDialog2": "यह निर्णय पलट नहीं सकता।", + "cancel": "कुछ ना करें", + "create": "बनाएं", + "createdOn": "सर्जन तारीख ", + "lastSeen": "पिछली बार देखे गए थे ", + "totalDownload": "कुल डाउनलोड: ", + "totalUpload": "कुल अपलोड: ", + "newClient": "नया उपयोगकर्ता", + "disableClient": "उपयोगकर्ता स्थगित कीजिये", + "enableClient": "उपयोगकर्ता शुरू कीजिये", + "noClients": "अभी तक कोई भी उपयोगकर्ता नहीं है।", + "noPrivKey": "ये उपयोगकर्ता की कोई भी गुप्त चाबी नहीं हे। बना नहीं सकते।", + "showQR": "क्यू आर कोड देखिये", + "downloadConfig": "डाउनलोड कॉन्फीग्यूरेशन", + "madeBy": "सर्जक", + "donate": "दान करें" +} diff --git a/src/locales/is.json b/src/locales/is.json new file mode 100644 index 00000000..30984b32 --- /dev/null +++ b/src/locales/is.json @@ -0,0 +1,27 @@ +{ + "name": "Nafn", + "password": "Lykilorð", + "signIn": "Skrá inn", + "logout": "Útskráning", + "updateAvailable": "Það er uppfærsla í boði!", + "update": "Uppfæra", + "clients": "Viðskiptavinir", + "new": "Nýtt", + "deleteClient": "Eyða viðskiptavin", + "deleteDialog1": "Ertu viss um að þú viljir eyða", + "deleteDialog2": "Þessi aðgerð getur ekki verið afturkallað.", + "cancel": "Hætta við", + "create": "Búa til", + "createdOn": "Búið til á ", + "lastSeen": "Síðast séð á ", + "totalDownload": "Samtals Niðurhlaða: ", + "totalUpload": "Samtals Upphlaða: ", + "newClient": "Nýr Viðskiptavinur", + "disableClient": "Gera viðskiptavin óvirkan", + "enableClient": "Gera viðskiptavin virkan", + "noClients": "Engir viðskiptavinir ennþá.", + "showQR": "Sýna QR-kóða", + "downloadConfig": "Niðurhal Stillingar", + "madeBy": "Gert af", + "donate": "Gefa" +} diff --git a/src/locales/it.json b/src/locales/it.json new file mode 100644 index 00000000..283cb253 --- /dev/null +++ b/src/locales/it.json @@ -0,0 +1,31 @@ +{ + "name": "Nome", + "password": "Password", + "signIn": "Accedi", + "logout": "Esci", + "updateAvailable": "È disponibile un aggiornamento!", + "update": "Aggiorna", + "clients": "Client", + "new": "Nuovo", + "deleteClient": "Elimina Client", + "deleteDialog1": "Sei sicuro di voler eliminare", + "deleteDialog2": "Questa azione non può essere annullata.", + "cancel": "Annulla", + "create": "Crea", + "createdOn": "Creato il ", + "lastSeen": "Visto l'ultima volta il ", + "totalDownload": "Totale Download: ", + "totalUpload": "Totale Upload: ", + "newClient": "Nuovo Client", + "disableClient": "Disabilita Client", + "enableClient": "Abilita Client", + "noClients": "Non ci sono ancora client.", + "showQR": "Mostra codice QR", + "downloadConfig": "Scarica configurazione", + "madeBy": "Realizzato da", + "donate": "Donazione", + "restore": "Ripristina", + "backup": "Backup", + "titleRestoreConfig": "Ripristina la tua configurazione", + "titleBackupConfig": "Esegui il backup della tua configurazione" +} diff --git a/src/locales/ko.json b/src/locales/ko.json new file mode 100644 index 00000000..a1d2d4c5 --- /dev/null +++ b/src/locales/ko.json @@ -0,0 +1,37 @@ +{ + "name": "이름", + "password": "암호", + "signIn": "로그인", + "logout": "로그아웃", + "updateAvailable": "업데이트가 있습니다!", + "update": "업데이트", + "clients": "클라이언트", + "new": "추가", + "deleteClient": "클라이언트 삭제", + "deleteDialog1": "삭제 하시겠습니까?", + "deleteDialog2": "이 작업은 취소할 수 없습니다.", + "cancel": "취소", + "create": "생성", + "createdOn": "생성일: ", + "lastSeen": "마지막 사용 날짜: ", + "totalDownload": "총 다운로드: ", + "totalUpload": "총 업로드: ", + "newClient": "새로운 클라이언트", + "disableClient": "클라이언트 비활성화", + "enableClient": "클라이언트 활성화", + "noClients": "아직 클라이언트가 없습니다.", + "showQR": "QR 코드 표시", + "downloadConfig": "구성 다운로드", + "madeBy": "만든 사람", + "donate": "기부", + "toggleCharts": "차트 표시/숨기기", + "theme": { + "dark": "어두운 테마", + "light": "밝은 테마", + "system": "자동 테마" + }, + "restore": "복원", + "backup": "백업", + "titleRestoreConfig": "구성 파일 복원", + "titleBackupConfig": "구성 파일 백업" +} diff --git a/src/locales/nl.json b/src/locales/nl.json new file mode 100644 index 00000000..759bd2b1 --- /dev/null +++ b/src/locales/nl.json @@ -0,0 +1,27 @@ +{ + "name": "Naam", + "password": "Wachtwoord", + "signIn": "Inloggen", + "logout": "Uitloggen", + "updateAvailable": "Nieuw update beschikbaar!", + "update": "update", + "clients": "clients", + "new": "Nieuw", + "deleteClient": "client verwijderen", + "deleteDialog1": "Weet je zeker dat je wilt verwijderen", + "deleteDialog2": "Deze actie kan niet ongedaan worden gemaakt.", + "cancel": "Annuleren", + "create": "Creëren", + "createdOn": "Gemaakt op ", + "lastSeen": "Laatst gezien op ", + "totalDownload": "Totaal Gedownload: ", + "totalUpload": "Totaal Geupload: ", + "newClient": "Nieuwe client", + "disableClient": "client uitschakelen", + "enableClient": "client inschakelen", + "noClients": "Er zijn nog geen clients.", + "showQR": "QR-code weergeven", + "downloadConfig": "Configuratie downloaden", + "madeBy": "Gemaakt door", + "donate": "Doneren" +} diff --git a/src/locales/no.json b/src/locales/no.json new file mode 100644 index 00000000..b71b54da --- /dev/null +++ b/src/locales/no.json @@ -0,0 +1,27 @@ +{ + "name": "Navn", + "password": "Passord", + "signIn": "Logg Inn", + "logout": "Logg Ut", + "updateAvailable": "En ny oppdatering er tilgjengelig!", + "update": "Oppdater", + "clients": "Klienter", + "new": "Ny", + "deleteClient": "Slett Klient", + "deleteDialog1": "Er du sikker på at du vil slette?", + "deleteDialog2": "Denne handlingen kan ikke angres", + "cancel": "Avbryt", + "create": "Opprett", + "createdOn": "Opprettet ", + "lastSeen": "Sist sett ", + "totalDownload": "Total Nedlasting: ", + "totalUpload": "Total Opplasting: ", + "newClient": "Ny Klient", + "disableClient": "Deaktiver Klient", + "enableClient": "Aktiver Klient", + "noClients": "Ingen klienter opprettet enda.", + "showQR": "Vis QR Kode", + "downloadConfig": "Last Ned Konfigurasjon", + "madeBy": "Laget av", + "donate": "Doner" +} diff --git a/src/locales/pl.json b/src/locales/pl.json new file mode 100644 index 00000000..6c7cace0 --- /dev/null +++ b/src/locales/pl.json @@ -0,0 +1,27 @@ +{ + "name": "Nazwa", + "password": "Hasło", + "signIn": "Zaloguj się", + "logout": "Wyloguj się", + "updateAvailable": "Dostępna aktualizacja!", + "update": "Aktualizuj", + "clients": "Klienci", + "new": "Stwórz klienta", + "deleteClient": "Usuń klienta", + "deleteDialog1": "Jesteś pewny że chcesz usunąć", + "deleteDialog2": "Tej akcji nie da się cofnąć.", + "cancel": "Anuluj", + "create": "Stwórz", + "createdOn": "Utworzono ", + "lastSeen": "Ostatnio widziany ", + "totalDownload": "Całkowite pobieranie: ", + "totalUpload": "Całkowite wysyłanie: ", + "newClient": "Nowy klient", + "disableClient": "Wyłączenie klienta", + "enableClient": "Włączenie klienta", + "noClients": "Nie ma jeszcze klientów.", + "showQR": "Pokaż kod QR", + "downloadConfig": "Pobierz konfigurację", + "madeBy": "Stworzone przez", + "donate": "Wsparcie autora" +} diff --git a/src/locales/pt.json b/src/locales/pt.json new file mode 100644 index 00000000..edab62aa --- /dev/null +++ b/src/locales/pt.json @@ -0,0 +1,27 @@ +{ + "name": "Nome", + "password": "Palavra Chave", + "signIn": "Entrar", + "logout": "Sair", + "updateAvailable": "Existe uma atualização disponível!", + "update": "Atualizar", + "clients": "Clientes", + "new": "Novo", + "deleteClient": "Apagar Clientes", + "deleteDialog1": "Tem certeza que pretende apagar", + "deleteDialog2": "Esta ação não pode ser revertida.", + "cancel": "Cancelar", + "create": "Criar", + "createdOn": "Criado em ", + "lastSeen": "Último acesso em ", + "totalDownload": "Total Download: ", + "totalUpload": "Total Upload: ", + "newClient": "Novo Cliente", + "disableClient": "Desativar Cliente", + "enableClient": "Ativar Cliente", + "noClients": "Não existem ainda clientes.", + "showQR": "Apresentar o código QR", + "downloadConfig": "Descarregar Configuração", + "madeBy": "Feito por", + "donate": "Doar" +} diff --git a/src/locales/ru.json b/src/locales/ru.json new file mode 100644 index 00000000..2676f8fd --- /dev/null +++ b/src/locales/ru.json @@ -0,0 +1,38 @@ +{ + "name": "Ім`я", + "password": "Пароль", + "signIn": "Увійти", + "logout": "Вихід", + "updateAvailable": "Доступне оновлення!", + "update": "Оновити", + "clients": "Клієнти", + "new": "Новий", + "deleteClient": "Видалити клієнта", + "deleteDialog1": "Ви впевнені, що бажаєте видалити", + "deleteDialog2": "Цю дію неможливо скасувати.", + "cancel": "Скасувати", + "create": "Створити", + "createdOn": "Створено ", + "lastSeen": "Останнє підключення в ", + "totalDownload": "Всього завантажено: ", + "totalUpload": "Всього відправлено: ", + "newClient": "Новий клієнт", + "disableClient": "Вимкнути клієнта", + "enableClient": "Увімкнути клієнта", + "noClients": "Ще немає клієнтів.", + "noPrivKey": "У цього клієнта немає відомого приватного ключа. Неможливо створити конфігурацію.", + "showQR": "Показати QR-код", + "downloadConfig": "Завантажити конфігурацію", + "madeBy": "Зроблено", + "donate": "Пожертвувати", + "toggleCharts": "Показати/сховати діаграми", + "theme": { + "dark": "Темна тема", + "light": "Світла тема", + "system": "Автоматична тема" + }, + "restore": "Відновити", + "backup": "Резервна копія", + "titleRestoreConfig": "Відновити конфігурацію", + "titleBackupConfig": "Створити резервну копію конфігурації" +} diff --git a/src/locales/th.json b/src/locales/th.json new file mode 100644 index 00000000..bff2523b --- /dev/null +++ b/src/locales/th.json @@ -0,0 +1,27 @@ +{ + "name": "ชื่อ", + "password": "รหัสผ่าน", + "signIn": "ลงชื่อเข้าใช้", + "logout": "ออกจากระบบ", + "updateAvailable": "มีอัปเดตพร้อมใช้งาน!", + "update": "อัปเดต", + "clients": "Clients", + "new": "ใหม่", + "deleteClient": "ลบ Client", + "deleteDialog1": "คุณแน่ใจหรือไม่ว่าต้องการลบ", + "deleteDialog2": "การกระทำนี้;ไม่สามารถยกเลิกได้", + "cancel": "ยกเลิก", + "create": "สร้าง", + "createdOn": "สร้างเมื่อ ", + "lastSeen": "เห็นครั้งสุดท้ายเมื่อ ", + "totalDownload": "ดาวน์โหลดทั้งหมด: ", + "totalUpload": "อัพโหลดทั้งหมด: ", + "newClient": "Client ใหม่", + "disableClient": "ปิดการใช้งาน Client", + "enableClient": "เปิดการใช้งาน Client", + "noClients": "ยังไม่มี Clients เลย", + "showQR": "แสดงรหัส QR", + "downloadConfig": "ดาวน์โหลดการตั้งค่า", + "madeBy": "สร้างโดย", + "donate": "บริจาค" +} diff --git a/src/locales/tr.json b/src/locales/tr.json new file mode 100644 index 00000000..ff057498 --- /dev/null +++ b/src/locales/tr.json @@ -0,0 +1,38 @@ +{ + "name": "İsim", + "password": "Şifre", + "signIn": "Giriş Yap", + "logout": "Çıkış Yap", + "updateAvailable": "Mevcut bir güncelleme var!", + "update": "Güncelle", + "clients": "Kullanıcılar", + "new": "Yeni", + "deleteClient": "Kullanıcı Sil", + "deleteDialog1": "Silmek istediğine emin misin", + "deleteDialog2": "Bu işlem geri alınamaz.", + "cancel": "İptal", + "create": "Oluştur", + "createdOn": "Şu saatte oluşturuldu: ", + "lastSeen": "Son görülme tarihi: ", + "totalDownload": "Toplam İndirme: ", + "totalUpload": "Toplam Yükleme: ", + "newClient": "Yeni Kullanıcı", + "disableClient": "Kullanıcıyı Devre Dışı Bırak", + "enableClient": "Kullanıcıyı Etkinleştir", + "noClients": "Henüz kullanıcı yok.", + "noPrivKey": "Bu istemcinin bilinen bir özel anahtarı yok. Yapılandırma oluşturulamıyor.", + "showQR": "QR Kodunu Göster", + "downloadConfig": "Yapılandırmayı İndir", + "madeBy": "Yapan Kişi: ", + "donate": "Bağış Yap", + "toggleCharts": "Grafiği göster/gizle", + "theme": { + "dark": "Karanlık tema", + "light": "Açık tema", + "system": "Otomatik tema" + }, + "restore": "Geri yükle", + "backup": "Yedekle", + "titleRestoreConfig": "Yapılandırmanızı geri yükleyin", + "titleBackupConfig": "Yapılandırmanızı yedekleyin" +} diff --git a/src/locales/ua.json b/src/locales/ua.json new file mode 100644 index 00000000..2676f8fd --- /dev/null +++ b/src/locales/ua.json @@ -0,0 +1,38 @@ +{ + "name": "Ім`я", + "password": "Пароль", + "signIn": "Увійти", + "logout": "Вихід", + "updateAvailable": "Доступне оновлення!", + "update": "Оновити", + "clients": "Клієнти", + "new": "Новий", + "deleteClient": "Видалити клієнта", + "deleteDialog1": "Ви впевнені, що бажаєте видалити", + "deleteDialog2": "Цю дію неможливо скасувати.", + "cancel": "Скасувати", + "create": "Створити", + "createdOn": "Створено ", + "lastSeen": "Останнє підключення в ", + "totalDownload": "Всього завантажено: ", + "totalUpload": "Всього відправлено: ", + "newClient": "Новий клієнт", + "disableClient": "Вимкнути клієнта", + "enableClient": "Увімкнути клієнта", + "noClients": "Ще немає клієнтів.", + "noPrivKey": "У цього клієнта немає відомого приватного ключа. Неможливо створити конфігурацію.", + "showQR": "Показати QR-код", + "downloadConfig": "Завантажити конфігурацію", + "madeBy": "Зроблено", + "donate": "Пожертвувати", + "toggleCharts": "Показати/сховати діаграми", + "theme": { + "dark": "Темна тема", + "light": "Світла тема", + "system": "Автоматична тема" + }, + "restore": "Відновити", + "backup": "Резервна копія", + "titleRestoreConfig": "Відновити конфігурацію", + "titleBackupConfig": "Створити резервну копію конфігурації" +} diff --git a/src/locales/vi.json b/src/locales/vi.json new file mode 100644 index 00000000..adc6c34c --- /dev/null +++ b/src/locales/vi.json @@ -0,0 +1,38 @@ +{ + "name": "Tên", + "password": "Mật khẩu", + "signIn": "Đăng nhập", + "logout": "Đăng xuất", + "updateAvailable": "Có bản cập nhật mới!", + "update": "Cập nhật", + "clients": "Danh sách người dùng", + "new": "Mới", + "deleteClient": "Xóa người dùng", + "deleteDialog1": "Bạn có chắc chắn muốn xóa", + "deleteDialog2": "Thao tác này không thể hoàn tác.", + "cancel": "Huỷ", + "create": "Tạo", + "createdOn": "Được tạo lúc ", + "lastSeen": "Lần xem cuối vào ", + "totalDownload": "Tổng dung lượng tải xuống: ", + "totalUpload": "Tổng dung lượng tải lên: ", + "newClient": "Người dùng mới", + "disableClient": "Vô hiệu hóa người dùng", + "enableClient": "Kích hoạt người dùng", + "noClients": "Hiện chưa có người dùng nào.", + "showQR": "Hiển thị mã QR", + "downloadConfig": "Tải xuống cấu hình", + "madeBy": "Được tạo bởi", + "donate": "Ủng hộ", + "toggleCharts": "Mở/Ẩn Biểu đồ", + "theme": { + "dark": "Dark theme", + "light": "Light theme", + "system": "System theme" + }, + "restore": "Khôi phục", + "backup": "Sao lưu", + "titleRestoreConfig": "Khôi phục cấu hình của bạn", + "titleBackupConfig": "Sao lưu cấu hình của bạn", + "sort": "Sắp xếp" +} diff --git a/src/locales/zh-chs.json b/src/locales/zh-chs.json new file mode 100644 index 00000000..14279ccc --- /dev/null +++ b/src/locales/zh-chs.json @@ -0,0 +1,40 @@ +{ + "name": "名称", + "password": "密码", + "signIn": "登录", + "logout": "退出", + "updateAvailable": "有新版本可用!", + "update": "更新", + "clients": "客户端", + "new": "新建", + "deleteClient": "删除客户端", + "deleteDialog1": "您确定要删除", + "deleteDialog2": "此操作无法撤销。", + "cancel": "取消", + "create": "创建", + "createdOn": "创建于 ", + "lastSeen": "最后访问于 ", + "totalDownload": "总下载: ", + "totalUpload": "总上传: ", + "newClient": "新建客户端", + "disableClient": "禁用客户端", + "enableClient": "启用客户端", + "noClients": "目前没有客户端。", + "noPrivKey": "此客户端没有已知的私钥。无法创建配置。", + "showQR": "显示二维码", + "downloadConfig": "下载配置", + "madeBy": "由", + "donate": "捐赠", + "toggleCharts": "显示/隐藏图表", + "theme": { "dark": "暗黑主题", "light": "明亮主题", "system": "自动主题" }, + "restore": "恢复", + "backup": "备份", + "titleRestoreConfig": "恢复您的配置", + "titleBackupConfig": "备份您的配置", + "rememberMe": "记住我", + "titleRememberMe": "关闭浏览器后保持登录", + "sort": "排序", + "ExpireDate": "到期日期", + "Permanent": "永久", + "OneTimeLink": "生成一次性短链接" +} diff --git a/src/locales/zh-cht.json b/src/locales/zh-cht.json new file mode 100644 index 00000000..ebb66da0 --- /dev/null +++ b/src/locales/zh-cht.json @@ -0,0 +1,40 @@ +{ + "name": "名字", + "password": "密碼", + "signIn": "登入", + "logout": "登出", + "updateAvailable": "有新版本可以使用!", + "update": "更新", + "clients": "使用者", + "new": "建立", + "deleteClient": "刪除使用者", + "deleteDialog1": "您確定要刪除", + "deleteDialog2": "此作業無法復原。", + "cancel": "取消", + "create": "建立", + "createdOn": "建立於 ", + "lastSeen": "最後存取於 ", + "totalDownload": "總下載: ", + "totalUpload": "總上傳: ", + "newClient": "新用戶", + "disableClient": "停用使用者", + "enableClient": "啟用使用者", + "noClients": "目前沒有使用者。", + "noPrivKey": "此使用者沒有已知的私鑰。無法創建配置。", + "showQR": "顯示 QR Code", + "downloadConfig": "下載 Config 檔", + "madeBy": "由", + "donate": "抖內", + "toggleCharts": "顯示/隱藏圖表", + "theme": { "dark": "暗黑主題", "light": "明亮主題", "system": "自動主題" }, + "restore": "恢復", + "backup": "備份", + "titleRestoreConfig": "恢復您的配置", + "titleBackupConfig": "備份您的配置", + "rememberMe": "記住我", + "titleRememberMe": "關閉瀏覽器後保持登錄", + "sort": "排序", + "ExpireDate": "到期日期", + "Permanent": "永久", + "OneTimeLink": "生成一次性短鏈接" +}