In-app store, torrential backend, locales (#332)

* feat: add store nav and fixes

* fix: reduce password requirement & new task error ui

* fix: client webtoken fix

* fix: delta versions and dockerfile

* fix: use setup platforms for filter & display

* fix: setup not accounted when returning valid options

* feat: tighter delta version support

* feat: dl/disk size

* feat: offload manifest generation to torrential

* fix: bump torrential

* feat: remove droplet

* feat: bump torrential

* feat: convert locales
This commit is contained in:
DecDuck
2026-02-06 00:12:24 +11:00
committed by GitHub
parent 6b614acfd8
commit 13c97cfcfc
82 changed files with 1737 additions and 967 deletions
+2 -2
View File
@@ -70,7 +70,7 @@
"register": {
"confirmPasswordFormat": "Muss mit oben genanntem übereinstimmen",
"emailFormat": "Muss im Format nutzer{'@'}beispiel.de sein",
"passwordFormat": "Muss mindestens 14 Zeichen enthalten",
"passwordFormat": "Muss mindestens 8 Zeichen enthalten",
"subheader": "Gebe unten deine Daten ein, um dein Konto zu erstellen.",
"title": "Erstelle dein Drop Konto",
"usernameFormat": "Muss mindestens 5 Zeichen enthalten und aus Kleinbuchstaben bestehen"
@@ -101,6 +101,7 @@
"close": "Schließen",
"create": "Erstellen",
"date": "Datum",
"delete": "Löschen",
"deleteConfirm": "Möchtest du \"{0}\" wirklich löschen?",
"divider": "{'|'}",
"edit": "Bearbeiten",
@@ -120,7 +121,6 @@
"tags": "Tags",
"today": "Heute"
},
"delete": "Löschen",
"drop": {
"desc": "Eine Open-Source-Plattform für die Verteilung von Spielen, die auf Geschwindigkeit, Flexibilität und Ästhetik ausgelegt ist.",
"drop": "Drop"
+2 -2
View File
@@ -56,7 +56,7 @@
"register": {
"confirmPasswordFormat": "Must be the same as above, savvy?",
"emailFormat": "Must be in the fashion of a true scallywag {'@'} example.com",
"passwordFormat": "Must be 14 or more marks, ye landlubber!",
"passwordFormat": "Must be 8 or more marks, ye landlubber!",
"subheader": "Fill in yer details below to make yer mark.",
"title": "Forge yer Drop Mark",
"usernameFormat": "Must be 5 or more marks, and all lowercase, argh!"
@@ -87,6 +87,7 @@
"close": "Shut yer trap!",
"create": "Forge!",
"date": "Date",
"delete": "Scuttle!",
"deleteConfirm": "Are ye sure ye want to scuttle \"{0}\", ye rogue?",
"divider": "{'|'}",
"edit": "Amend",
@@ -104,7 +105,6 @@
"tags": "Marks",
"today": "Today"
},
"delete": "Scuttle!",
"drop": {
"desc": "An open-source game distribution platform built for speed, flexibility and beauty, like a swift brigantine!",
"drop": "Drop"
+121 -11
View File
@@ -9,7 +9,9 @@
"subheader": "Manage the devices authorized to access your Drop account.",
"title": "Devices"
},
"home": { "title": "Home" },
"home": {
"title": "Home"
},
"notifications": {
"all": "View all {arrow}",
"clear": "Clear notifications",
@@ -21,7 +23,35 @@
"title": "Notifications",
"unread": "Unread Notifications"
},
"security": { "title": "Security" },
"security": {
"2fa": {
"superlevelHint": {
"signin": "Sign in {arrow}",
"success": "You have access to these protected actions.",
"title": "Sign in again to access these settings."
},
"title": "Two-factor authentication",
"totp": {
"description": "TOTP generates one-time codes, completely offline. You can use any TOTP authenticator you like.",
"disableButton": "Disable",
"title": "TOTP"
},
"webauthn": {
"bypassHint": "Also lets you bypass signing in with compatible devices.",
"description": "Otherwise known as passkeys. Authenticate using biometrics, a device, YubiKeys, or any compatible FIDO2 device.",
"manage": "Manage",
"modal": {
"description": "Create new keys or remove existing keys from your account.",
"new": "New key",
"tableCreated": "Created",
"tableName": "Name",
"title": "WebAuthn Keys"
},
"title": "WebAuthn"
}
},
"title": "Security"
},
"settings": "Settings",
"title": "Account Settings",
"token": {
@@ -50,6 +80,31 @@
"adminTitle": "Admin Dashboard - Drop",
"adminTitleTemplate": "{0} - Admin - Drop",
"auth": {
"2fa": {
"backToOptions": "{arrow} Back to options",
"description": "Two-factor authentication is enabled on your account. Choose one of the options below to continue.",
"passkey": {
"createDescription": "WebAuthn, or passkeys, allow you to sign in or complete 2FA with biometrics or hardware security devices.",
"createTitle": "Create a passkey",
"description": "Use a passkey, like biometrics, a hardware security device, or other compatible device to sign in to your Drop account.",
"passkeyNameTag": "Name",
"signinButton": "Sign in with WebAuthn",
"title": "WebAuthn"
},
"success": {
"back": "{arrow} Back to account security",
"description": "Drop has successfully created and added your 2FA method. If this is your first time configuring 2FA, your account now requires it to sign in.",
"title": "Added your 2FA method!"
},
"title": "Two-factor authentication",
"totp": {
"createDescription": "Use your TOTP authenticator, like Google Authenticator, Aegis, or Bitwarden, to add 2FA to your Drop account.",
"createHint": "Enter the generated code to enable TOTP",
"createTitle": "Set up your authenticator",
"description": "Use a one-time code to sign in to your Drop account.",
"title": "TOTP"
}
},
"callback": {
"authClient": "Authorize client?",
"authorize": "Authorize",
@@ -72,7 +127,7 @@
"register": {
"confirmPasswordFormat": "Must be the same as above",
"emailFormat": "Must be in the format user{'@'}example.com",
"passwordFormat": "Must be 14 or more characters",
"passwordFormat": "Must be 8 or more characters",
"subheader": "Fill in your details below to create your account.",
"title": "Create your Drop account",
"usernameFormat": "Must be 5 or more characters, and lowercase"
@@ -81,12 +136,14 @@
"externalProvider": "external provider",
"forgot": "Forgot password?",
"noAccount": "Don't have an account? Ask an admin to create one for you.",
"noAccountProtected": "We need you to sign in again for security reasons while attempting to access more sensitive actions.",
"or": "OR",
"pageTitle": "Sign in to Drop",
"rememberMe": "Remember me",
"signin": "Sign in",
"signinWithExternalProvider": "Sign in with {externalProvider} {arrow}",
"title": "Sign in to your account"
"title": "Sign in to your account",
"titleProtected": "Sign in to access protected action"
},
"signout": "Signout",
"username": "Username"
@@ -105,6 +162,7 @@
"close": "Close",
"create": "Create",
"date": "Date",
"delete": "Delete",
"deleteConfirm": "Are you sure you want to delete \"{0}\"?",
"divider": "{'|'}",
"edit": "Edit",
@@ -119,12 +177,12 @@
"remove": "Remove",
"save": "Save",
"saved": "Saved",
"select": "Select",
"servers": "Servers",
"srLoading": "Loading…",
"tags": "Tags",
"today": "Today"
},
"delete": "Delete",
"drop": {
"desc": "An open-source game distribution platform built for speed, flexibility and beauty.",
"drop": "Drop"
@@ -158,7 +216,9 @@
"invalidPassState": "Invalid password state. Please contact the server administrator.",
"invalidUserOrPass": "Invalid username or password.",
"inviteIdRequired": "id required in fetching invitation",
"method": { "signinDisabled": "Sign in method not enabled" },
"method": {
"signinDisabled": "Sign in method not enabled"
},
"usernameTaken": "Username already taken."
},
"backHome": "{arrow} Back to home",
@@ -248,12 +308,18 @@
"aboutDrop": "About Drop",
"api": "API documentation",
"comparison": "Comparison",
"docs": { "client": "Client Docs", "server": "Server Docs" },
"docs": {
"client": "Client Docs",
"server": "Server Docs"
},
"documentation": "Documentation",
"findGame": "Find a Game",
"footer": "Footer",
"games": "Games",
"social": { "discord": "Discord", "github": "GitHub" },
"social": {
"discord": "Discord",
"github": "GitHub"
},
"topSellers": "Top Sellers",
"version": "Drop {version} {gitRef}"
},
@@ -303,6 +369,10 @@
"admin": {
"detectedGame": "Drop has detected you have new games to import.",
"detectedVersion": "Drop has detected you have new versions of this game to import.",
"fileExtSelector": {
"add": "Add \"{0}\"",
"noSelected": "No extensions selected."
},
"game": {
"addCarouselNoImages": "No images to add.",
"addDescriptionNoImages": "No images to add.",
@@ -323,10 +393,14 @@
"setCover": "Set as cover"
},
"gameLibrary": "Game Library",
"gameSelector": {
"hint": "Type at least 4 characters to get results"
},
"import": {
"bulkImportDescription": "When on this page, you won't be redirect to the import task, so you can import multiple games in succession.",
"bulkImportTitle": "Bulk import mode",
"import": "Import",
"importAs": "Import as",
"link": "Import {arrow}",
"loading": "Loading game results…",
"search": "Search",
@@ -344,6 +418,7 @@
"launchPlaceholder": "game.exe --args",
"loadingVersion": "Loading version metadata…",
"noLaunches": "No launch configurations added.",
"noNameProvided": "No name provided.",
"noSetups": "No setup configurations added.",
"noVersions": "No versions to import",
"platform": "Version platform",
@@ -357,6 +432,23 @@
},
"withoutMetadata": "Import without metadata"
},
"launchRow": {
"autosuggestHint": "Auto-suggest extensions",
"currentDirHint": "The installation directory is set as the current directory when launching. It is not prepended to your command.",
"executorHint": "{executor} is replaced with the game's launch command for emulators.",
"executorSelect": "Select new executor",
"executorTitle": "Executor",
"noExecutorSelected": "No executor selected"
},
"launchSelector": {
"description": "Select a launch option as an executor for your new launch option.",
"noVersions": "No versions imported.",
"platformFilterHint": "Only showing launches for:",
"search": "Search for an executor",
"selectCommand": "Select a launch command",
"selectVersions": "Select a version",
"title": "Select a launch option"
},
"libraryHint": "No libraries configured.",
"libraryHintDocsLink": "What does this mean? {arrow}",
"metadata": {
@@ -446,7 +538,17 @@
"subheader": "As you add folders to your library sources, Drop will detect it and prompt you to import it. Each game needs to be imported before you can import a version.",
"title": "Libraries",
"version": {
"noVersions": "You have no versions of this game available."
"description": "All versions imported for your game.",
"noSetups": "No setups configured.",
"noVersions": "You have no versions of this game available.",
"setupOnly": "Version configured as in setup-only mode.",
"table": {
"launch": "Launch Configurations",
"name": "Name (ID)",
"path": "Path",
"setup": "Setup Configurations"
},
"title": "Versions"
}
},
"back": "Back to Library",
@@ -595,6 +697,7 @@
"completedTasksTitle": "Completed tasks",
"dailyScheduledTitle": "Daily scheduled tasks",
"execute": "{arrow} Execute",
"noActions": "No actions",
"noTasksRunning": "No tasks currently running",
"progress": "{0}%",
"runningTasksTitle": "Running tasks",
@@ -628,8 +731,15 @@
},
"userHeader": {
"closeSidebar": "Close sidebar",
"links": { "community": "Community", "library": "Library", "news": "News" },
"profile": { "admin": "Admin Dashboard", "settings": "Account settings" }
"links": {
"community": "Community",
"library": "Library",
"news": "News"
},
"profile": {
"admin": "Admin Dashboard",
"settings": "Account settings"
}
},
"users": {
"admin": {
+2 -2
View File
@@ -70,7 +70,7 @@
"register": {
"confirmPasswordFormat": "Doit être pareil qu'au dessus",
"emailFormat": "Doit être au format utilisateur{'@'}exemple.com",
"passwordFormat": "Doit être au moins 14 caractères ou plus",
"passwordFormat": "Doit être au moins 8 caractères ou plus",
"subheader": "Remplissez vos coordonnées pour créer votre compte.",
"title": "Créer votre compte Drop",
"usernameFormat": "Doit être au moins 5 caractères et en minuscules"
@@ -101,6 +101,7 @@
"close": "Fermer",
"create": "Créer",
"date": "Date",
"delete": "Supprimer",
"deleteConfirm": "Êtes vous sûr de vouloir supprimer \"{0}\" ?",
"divider": "{'|'}",
"edit": "Éditer",
@@ -120,7 +121,6 @@
"tags": "Étiquettes",
"today": "Aujourd'hui"
},
"delete": "Supprimer",
"drop": {
"desc": "Une plateforme de distribution libre conçue pour être rapide, flexible et belle.",
"drop": "Drop"
+2 -2
View File
@@ -70,7 +70,7 @@
"register": {
"confirmPasswordFormat": "Musi być takie samo jak powyżej",
"emailFormat": "Musi być w formacie uzytkownik{'@'}example.com",
"passwordFormat": "Musi mieć conajmniej 14 znaków",
"passwordFormat": "Musi mieć conajmniej 8 znaków",
"subheader": "Wpisz poniżej swoje dane, aby utworzyć swoje konto.",
"title": "Stwórz swoje konto Drop",
"usernameFormat": "Musi mieć co najmniej 5 znaków i małe litery"
@@ -101,6 +101,7 @@
"close": "Zamknij",
"create": "Utwórz",
"date": "Data",
"delete": "Usuń",
"deleteConfirm": "Czy jesteś pewny że chcesz usunąć \"{0}\"?",
"divider": "{'|'}",
"edit": "Edytuj",
@@ -120,7 +121,6 @@
"tags": "Tagi",
"today": "Dzisiaj"
},
"delete": "Usuń",
"drop": {
"desc": "Platforma typu open source do dystrybucji gier, stworzona z myślą o szybkości, elastyczności i estetyce.",
"drop": "Drop"
+1 -1
View File
@@ -79,6 +79,7 @@
"close": "Закрыть",
"create": "Создать",
"date": "Дата",
"delete": "Удалить",
"deleteConfirm": "Вы точно хотите удалить \"{0}\"?",
"edit": "Редактировать",
"friends": "Друзья",
@@ -94,7 +95,6 @@
"tags": "Теги",
"today": "Сегодня"
},
"delete": "Удалить",
"drop": {
"drop": "Уронить"
},