Compare commits

...

19 Commits

Author SHA1 Message Date
Elias Schneider
968352cb6c release: 0.27.0 2024-07-11 21:57:37 +02:00
Elias Schneider
355f860387 chore(translations): update translations via Crowdin (#524)
* New translations en-us.ts (French)

* New translations en-us.ts (Spanish)

* New translations en-us.ts (Danish)

* New translations en-us.ts (German)

* New translations en-us.ts (Greek)

* New translations en-us.ts (Finnish)

* New translations en-us.ts (Hungarian)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Japanese)

* New translations en-us.ts (Korean)

* New translations en-us.ts (Polish)

* New translations en-us.ts (Russian)

* New translations en-us.ts (Slovenian)

* New translations en-us.ts (Serbian (Cyrillic))

* New translations en-us.ts (Swedish)

* New translations en-us.ts (Ukrainian)

* New translations en-us.ts (Chinese Simplified)

* New translations en-us.ts (Chinese Traditional)

* New translations en-us.ts (Portuguese, Brazilian)

* New translations en-us.ts (Thai)

* New translations en-us.ts (Dutch, Belgium)

* New translations en-us.ts (Arabic, Egypt)

* New translations en-us.ts (Turkish)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Portuguese, Brazilian)

* New translations en-us.ts (French)

* New translations en-us.ts (French)

* New translations en-us.ts (Spanish)

* New translations en-us.ts (Danish)

* New translations en-us.ts (German)

* New translations en-us.ts (Greek)

* New translations en-us.ts (Finnish)

* New translations en-us.ts (Hungarian)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Japanese)

* New translations en-us.ts (Korean)

* New translations en-us.ts (Polish)

* New translations en-us.ts (Russian)

* New translations en-us.ts (Slovenian)

* New translations en-us.ts (Serbian (Cyrillic))

* New translations en-us.ts (Swedish)

* New translations en-us.ts (Ukrainian)

* New translations en-us.ts (Chinese Simplified)

* New translations en-us.ts (Chinese Traditional)

* New translations en-us.ts (Portuguese, Brazilian)

* New translations en-us.ts (Thai)

* New translations en-us.ts (Dutch, Belgium)

* New translations en-us.ts (Arabic, Egypt)

* New translations en-us.ts (Turkish)
2024-07-11 21:57:08 +02:00
thecrafterjt
083d82c28b feat(smtp): allow unauthorized mail server certificates (#525)
* Update config.seed.ts

Added Config Option "allowUnauthenticatedCertificates".

* Update email.service.ts

Now using new Config Option "allowUnauthenticatedCertificates".

* Update en-US.ts

* Update ar-EG.ts

* Update da-DK.ts

* Update el-GR.ts

* Update es-ES.ts

* Update fi-FI.ts

* Update fr-FR.ts

* Update hu-HU.ts

* Update it-IT.ts

* Update ja-JP.ts

* Update ko-KR.ts

* Update nl-BE.ts

* Update pl-PL.ts

* Update pt-BR.ts

* Update ru-RU.ts

* Update sl-SI.ts

* Update sr-SP.ts

* Update sv-SE.ts

* Update th-TH.ts

* Update tr-TR.ts

* Update uk-UA.ts

* Update zh-CN.ts

* Update zh-TW.ts

* Update config.seed.ts

* Update email.service.ts

* Update de-DE.ts

* Add files via upload

rename allow-unauthenticated-certificates to allow-unauthorized-certificates

* Add files via upload

rename allowUnauthenticatedCertificates to allowUnauthorizedCertificates

* Add files via upload

rename allowUnauthenticatedCertificates to allowUnauthorizedCertificates

* rename "unauthenticated" to "unauthorized"

* refactor: run formatter

---------

Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-07-11 21:50:09 +02:00
Elias Schneider
046c630abf Merge branches 'main' and 'main' of https://github.com/stonith404/pingvin-share 2024-07-10 18:39:53 +02:00
Elias Schneider
d2bfb9a55f feat: add logs for successful registration, successful login and failed login 2024-07-10 18:39:47 +02:00
Elias Schneider
fccf57e9e4 chore(translations): update translations via Crowdin (#520)
* New translations en-us.ts (Hungarian)

* New translations en-us.ts (Korean)
2024-07-07 23:08:28 +02:00
Marvin A. Ruder
e1a68f75f7 feat(auth): Allow to hide username / password login form when OAuth is enabled (#518)
* 🚀 Feature: Allow to hide username / password login form when OAuth is enabled

* Hide “Sign in” password form
* Disable routes related to password authentication
* Change styling of OAuth provider buttons
* Open OAuth page in same tab
* Fix consistent usage of informal language in de-DE locale

Fixes #489

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>

* fix: order of new config variables

---------

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>
Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-07-07 23:08:14 +02:00
Elias Schneider
9d9cc7b4ab release: 0.26.0 2024-07-03 08:21:14 +02:00
Elias Schneider
d1cde75a66 chore(translations): update translations via Crowdin (#516)
* New translations en-us.ts (Turkish)

* New translations en-us.ts (Portuguese, Brazilian)

* New translations en-us.ts (Turkish)

* New translations en-us.ts (Turkish)

* New translations en-us.ts (Turkish)

* New translations en-us.ts (Turkish)

* New translations en-us.ts (Turkish)

* New translations en-us.ts (Italian)
2024-07-03 08:19:52 +02:00
Elias Schneider
bbc81d8dd0 chore(translations): add Turkish files 2024-07-02 13:38:05 +02:00
Elias Schneider
0cdc04bfb5 chore(translations): update translations via Crowdin (#515)
* New translations en-us.ts (French)

* New translations en-us.ts (Spanish)

* New translations en-us.ts (Danish)

* New translations en-us.ts (Greek)

* New translations en-us.ts (Finnish)

* New translations en-us.ts (Hungarian)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Japanese)

* New translations en-us.ts (Korean)

* New translations en-us.ts (Polish)

* New translations en-us.ts (Russian)

* New translations en-us.ts (Slovenian)

* New translations en-us.ts (Serbian (Cyrillic))

* New translations en-us.ts (Swedish)

* New translations en-us.ts (Ukrainian)

* New translations en-us.ts (Chinese Simplified)

* New translations en-us.ts (Chinese Traditional)

* New translations en-us.ts (Portuguese, Brazilian)

* New translations en-us.ts (Thai)

* New translations en-us.ts (Dutch, Belgium)

* New translations en-us.ts (Arabic, Egypt)
2024-07-02 13:36:47 +02:00
Marvin A. Ruder
367f804a49 feat(backend): Make session duration configurable (#512)
* feat(backend): Make session duration configurable
Fixes #507

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>

* Apply suggestions from code review

Co-authored-by: Elias Schneider <login@eliasschneider.com>

* Move new config option to “General” category

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>

---------

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>
Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-07-02 13:35:12 +02:00
Elias Schneider
9193a79b9a chore: upgrade dependencies 2024-07-01 11:08:23 +02:00
Marvin A. Ruder
31366d961f fix(oauth): provider username is ignored when signing up using OAuth (#511)
* 🐛 Bug Report: Provider username is ignored when signing up using OAuth
Fixes #505

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>

* Implement fallback logic for username conflicts

* Reprioritize claims for OIDC provider username

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>

---------

Signed-off-by: Marvin A. Ruder <signed@mruder.dev>
2024-07-01 10:34:31 +02:00
Elias Schneider
2dac38560b fix: set max age of access token cookie to 15 minutes 2024-06-30 20:10:16 +02:00
IRahul MIshra
db2720ab7b Worked on issue Feature Add email recipients more efficiently issue #500 (#510)
* Worked on issue #500 Feature Add email recipients more efficiently

* Worked on issue #500 Feature Add email recipients more efficiently both features added

* Removed log

* refactor: run formatter

---------

Co-authored-by: Rahul Mishra <rahul07@Rahuls-Laptop.local>
Co-authored-by: Elias Schneider <login@eliasschneider.com>
2024-06-30 19:53:41 +02:00
Elias Schneider
6d6b9e81ff New translations en-us.ts (French) (#504) 2024-06-26 20:48:56 +02:00
Elias Schneider
f9ddd7bacd chore(translations): update translations via Crowdin (#501)
* New translations en-us.ts (Dutch, Belgium)

* New translations en-us.ts (Danish)
2024-06-18 08:51:22 +02:00
Elias Schneider
3773432eb5 chore(translations): update translations via Crowdin (#497)
* New translations en-us.ts (Arabic, Egypt)

* New translations en-us.ts (Korean)

* New translations en-us.ts (Hungarian)

* New translations en-us.ts (Russian)

* New translations en-us.ts (French)

* New translations en-us.ts (Spanish)

* New translations en-us.ts (Danish)

* New translations en-us.ts (German)

* New translations en-us.ts (Greek)

* New translations en-us.ts (Finnish)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Japanese)

* New translations en-us.ts (Polish)

* New translations en-us.ts (Slovenian)

* New translations en-us.ts (Serbian (Cyrillic))

* New translations en-us.ts (Swedish)

* New translations en-us.ts (Ukrainian)

* New translations en-us.ts (Chinese Simplified)

* New translations en-us.ts (Chinese Traditional)

* New translations en-us.ts (Portuguese, Brazilian)

* New translations en-us.ts (Thai)

* New translations en-us.ts (Dutch, Belgium)

* New translations en-us.ts (Italian)

* New translations en-us.ts (Hungarian)
2024-06-11 11:51:11 +02:00
47 changed files with 2508 additions and 1215 deletions

View File

@@ -1,3 +1,25 @@
## [0.27.0](https://github.com/stonith404/pingvin-share/compare/v0.26.0...v0.27.0) (2024-07-11)
### Features
* add logs for successful registration, successful login and failed login ([d2bfb9a](https://github.com/stonith404/pingvin-share/commit/d2bfb9a55fdad6a05377b8552471cf1151304c90))
* **auth:** Allow to hide username / password login form when OAuth is enabled ([#518](https://github.com/stonith404/pingvin-share/issues/518)) ([e1a68f7](https://github.com/stonith404/pingvin-share/commit/e1a68f75f7b034f1ef9e45f26de584f13e355589)), closes [#489](https://github.com/stonith404/pingvin-share/issues/489)
* **smtp:** allow unauthorized mail server certificates ([#525](https://github.com/stonith404/pingvin-share/issues/525)) ([083d82c](https://github.com/stonith404/pingvin-share/commit/083d82c28b835c178f076e89ef8f5885e8ea31cb))
## [0.26.0](https://github.com/stonith404/pingvin-share/compare/v0.25.0...v0.26.0) (2024-07-03)
### Features
* **backend:** Make session duration configurable ([#512](https://github.com/stonith404/pingvin-share/issues/512)) ([367f804](https://github.com/stonith404/pingvin-share/commit/367f804a494c85b4caf879d51982339fb6b86ba1)), closes [#507](https://github.com/stonith404/pingvin-share/issues/507)
### Bug Fixes
* **oauth:** provider username is ignored when signing up using OAuth ([#511](https://github.com/stonith404/pingvin-share/issues/511)) ([31366d9](https://github.com/stonith404/pingvin-share/commit/31366d961f5827c200038b65ec9de5d4ddc8b898)), closes [#505](https://github.com/stonith404/pingvin-share/issues/505)
* set max age of access token cookie to 15 minutes ([2dac385](https://github.com/stonith404/pingvin-share/commit/2dac38560b6c54b6e7676dcd4682bfa57973292f))
## [0.25.0](https://github.com/stonith404/pingvin-share/compare/v0.24.2...v0.25.0) (2024-06-10) ## [0.25.0](https://github.com/stonith404/pingvin-share/compare/v0.24.2...v0.25.0) (2024-06-10)

1897
backend/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "pingvin-share-backend", "name": "pingvin-share-backend",
"version": "0.25.0", "version": "0.27.0",
"scripts": { "scripts": {
"build": "nest build", "build": "nest build",
"dev": "cross-env NODE_ENV=development nest start --watch", "dev": "cross-env NODE_ENV=development nest start --watch",
@@ -14,20 +14,20 @@
}, },
"dependencies": { "dependencies": {
"@nestjs/cache-manager": "^2.2.2", "@nestjs/cache-manager": "^2.2.2",
"@nestjs/common": "^10.3.8", "@nestjs/common": "^10.3.9",
"@nestjs/config": "^3.2.2", "@nestjs/config": "^3.2.2",
"@nestjs/core": "^10.3.8", "@nestjs/core": "^10.3.9",
"@nestjs/jwt": "^10.2.0", "@nestjs/jwt": "^10.2.0",
"@nestjs/passport": "^10.0.3", "@nestjs/passport": "^10.0.3",
"@nestjs/platform-express": "^10.3.8", "@nestjs/platform-express": "^10.3.9",
"@nestjs/schedule": "^3.0.4", "@nestjs/schedule": "^4.0.2",
"@nestjs/swagger": "^7.3.1", "@nestjs/swagger": "^7.3.1",
"@nestjs/throttler": "^4.2.1", "@nestjs/throttler": "^5.2.0",
"@prisma/client": "^5.14.0", "@prisma/client": "^5.16.1",
"archiver": "^5.3.2", "archiver": "^7.0.1",
"argon2": "^0.40.1", "argon2": "^0.40.3",
"body-parser": "^1.20.2", "body-parser": "^1.20.2",
"cache-manager": "^5.5.2", "cache-manager": "^5.6.1",
"clamscan": "^2.2.1", "clamscan": "^2.2.1",
"class-transformer": "^0.5.1", "class-transformer": "^0.5.1",
"class-validator": "^0.14.1", "class-validator": "^0.14.1",
@@ -36,50 +36,48 @@
"mime-types": "^2.1.35", "mime-types": "^2.1.35",
"moment": "^2.30.1", "moment": "^2.30.1",
"nanoid": "^3.3.7", "nanoid": "^3.3.7",
"node-fetch": "^2.7.0", "nodemailer": "^6.9.14",
"nodemailer": "^6.9.13",
"otplib": "^12.0.1", "otplib": "^12.0.1",
"passport": "^0.7.0", "passport": "^0.7.0",
"passport-jwt": "^4.0.1", "passport-jwt": "^4.0.1",
"passport-local": "^1.0.0", "passport-local": "^1.0.0",
"qrcode-svg": "^1.1.0", "qrcode-svg": "^1.1.0",
"reflect-metadata": "^0.1.12", "reflect-metadata": "^0.2.2",
"rimraf": "^5.0.7", "rimraf": "^5.0.7",
"rxjs": "^7.8.1", "rxjs": "^7.8.1",
"sharp": "^0.32.4", "sharp": "^0.33.4",
"ts-node": "^10.9.2" "ts-node": "^10.9.2"
}, },
"devDependencies": { "devDependencies": {
"@nestjs/cli": "^10.3.2", "@nestjs/cli": "^10.3.2",
"@nestjs/schematics": "^10.1.1", "@nestjs/schematics": "^10.1.1",
"@nestjs/testing": "^10.3.8", "@nestjs/testing": "^10.3.9",
"@types/archiver": "^5.3.4", "@types/archiver": "^6.0.2",
"@types/clamscan": "^2.0.8", "@types/clamscan": "^2.0.8",
"@types/cookie-parser": "^1.4.7", "@types/cookie-parser": "^1.4.7",
"@types/cron": "^2.0.1", "@types/cron": "^2.0.1",
"@types/express": "^4.17.21", "@types/express": "^4.17.21",
"@types/mime-types": "^2.1.4", "@types/mime-types": "^2.1.4",
"@types/multer": "^1.4.11", "@types/multer": "^1.4.11",
"@types/node": "^20.12.12", "@types/node": "^20.14.9",
"@types/node-fetch": "^2.6.11",
"@types/nodemailer": "^6.4.15", "@types/nodemailer": "^6.4.15",
"@types/passport-jwt": "^3.0.13", "@types/passport-jwt": "^4.0.1",
"@types/qrcode-svg": "^1.1.4", "@types/qrcode-svg": "^1.1.4",
"@types/sharp": "^0.31.1", "@types/sharp": "^0.31.1",
"@types/supertest": "^2.0.16", "@types/supertest": "^6.0.2",
"@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/eslint-plugin": "^7.14.1",
"@typescript-eslint/parser": "^6.21.0", "@typescript-eslint/parser": "^7.14.1",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"eslint": "^8.57.0", "eslint": "^8.56.0",
"eslint-config-prettier": "^8.10.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"newman": "^6.1.2", "newman": "^6.1.3",
"prettier": "^3.2.5", "prettier": "^3.3.2",
"prisma": "^5.14.0", "prisma": "^5.16.1",
"source-map-support": "^0.5.21", "source-map-support": "^0.5.21",
"ts-loader": "^9.5.1", "ts-loader": "^9.5.1",
"tsconfig-paths": "4.2.0", "tsconfig-paths": "4.2.0",
"typescript": "^5.4.5", "typescript": "^5.5.2",
"wait-on": "^7.2.0" "wait-on": "^7.2.0"
} }
} }

View File

@@ -25,6 +25,11 @@ const configVariables: ConfigVariables = {
defaultValue: "true", defaultValue: "true",
secret: false, secret: false,
}, },
sessionDuration: {
type: "number",
defaultValue: "2160",
secret: false,
},
}, },
share: { share: {
allowRegistration: { allowRegistration: {
@@ -66,7 +71,6 @@ const configVariables: ConfigVariables = {
enableShareEmailRecipients: { enableShareEmailRecipients: {
type: "boolean", type: "boolean",
defaultValue: "false", defaultValue: "false",
secret: false, secret: false,
}, },
shareRecipientsSubject: { shareRecipientsSubject: {
@@ -112,6 +116,12 @@ const configVariables: ConfigVariables = {
defaultValue: "false", defaultValue: "false",
secret: false, secret: false,
}, },
allowUnauthorizedCertificates: {
type: "boolean",
defaultValue: "false",
secret: false,
},
host: { host: {
type: "string", type: "string",
defaultValue: "", defaultValue: "",
@@ -143,6 +153,11 @@ const configVariables: ConfigVariables = {
type: "boolean", type: "boolean",
defaultValue: "true", defaultValue: "true",
}, },
"disablePassword": {
type: "boolean",
defaultValue: "false",
secret: false,
},
"github-enabled": { "github-enabled": {
type: "boolean", type: "boolean",
defaultValue: "false", defaultValue: "false",
@@ -224,7 +239,7 @@ const configVariables: ConfigVariables = {
defaultValue: "", defaultValue: "",
obscured: true, obscured: true,
}, },
} },
}; };
type ConfigVariables = { type ConfigVariables = {
@@ -276,12 +291,15 @@ async function seedConfigVariables() {
async function migrateConfigVariables() { async function migrateConfigVariables() {
const existingConfigVariables = await prisma.config.findMany(); const existingConfigVariables = await prisma.config.findMany();
const orderMap: { [category: string]: number } = {};
for (const existingConfigVariable of existingConfigVariables) { for (const existingConfigVariable of existingConfigVariables) {
const configVariable = const configVariable =
configVariables[existingConfigVariable.category]?.[ configVariables[existingConfigVariable.category]?.[
existingConfigVariable.name existingConfigVariable.name
]; ];
// Delete the config variable if it doesn't exist in the seed
if (!configVariable) { if (!configVariable) {
await prisma.config.delete({ await prisma.config.delete({
where: { where: {
@@ -292,15 +310,11 @@ async function migrateConfigVariables() {
}, },
}); });
// Update the config variable if the metadata changed // Update the config variable if it exists in the seed
} else if ( } else {
JSON.stringify({ const variableOrder = Object.keys(
...configVariable, configVariables[existingConfigVariable.category]
name: existingConfigVariable.name, ).indexOf(existingConfigVariable.name);
category: existingConfigVariable.category,
value: existingConfigVariable.value,
}) != JSON.stringify(existingConfigVariable)
) {
await prisma.config.update({ await prisma.config.update({
where: { where: {
name_category: { name_category: {
@@ -313,8 +327,10 @@ async function migrateConfigVariables() {
name: existingConfigVariable.name, name: existingConfigVariable.name,
category: existingConfigVariable.category, category: existingConfigVariable.category,
value: existingConfigVariable.value, value: existingConfigVariable.value,
order: variableOrder,
}, },
}); });
orderMap[existingConfigVariable.category] = variableOrder + 1;
} }
} }
} }

View File

@@ -3,20 +3,20 @@ import { Module } from "@nestjs/common";
import { ScheduleModule } from "@nestjs/schedule"; import { ScheduleModule } from "@nestjs/schedule";
import { AuthModule } from "./auth/auth.module"; import { AuthModule } from "./auth/auth.module";
import { CacheModule } from "@nestjs/cache-manager";
import { APP_GUARD } from "@nestjs/core"; import { APP_GUARD } from "@nestjs/core";
import { ThrottlerGuard, ThrottlerModule } from "@nestjs/throttler"; import { ThrottlerGuard, ThrottlerModule } from "@nestjs/throttler";
import { AppController } from "./app.controller";
import { ClamScanModule } from "./clamscan/clamscan.module";
import { ConfigModule } from "./config/config.module"; import { ConfigModule } from "./config/config.module";
import { EmailModule } from "./email/email.module"; import { EmailModule } from "./email/email.module";
import { FileModule } from "./file/file.module"; import { FileModule } from "./file/file.module";
import { JobsModule } from "./jobs/jobs.module"; import { JobsModule } from "./jobs/jobs.module";
import { OAuthModule } from "./oauth/oauth.module";
import { PrismaModule } from "./prisma/prisma.module"; import { PrismaModule } from "./prisma/prisma.module";
import { ReverseShareModule } from "./reverseShare/reverseShare.module";
import { ShareModule } from "./share/share.module"; import { ShareModule } from "./share/share.module";
import { UserModule } from "./user/user.module"; import { UserModule } from "./user/user.module";
import { ClamScanModule } from "./clamscan/clamscan.module";
import { ReverseShareModule } from "./reverseShare/reverseShare.module";
import { AppController } from "./app.controller";
import { OAuthModule } from "./oauth/oauth.module";
import { CacheModule } from "@nestjs/cache-manager";
@Module({ @Module({
imports: [ imports: [
@@ -28,10 +28,12 @@ import { CacheModule } from "@nestjs/cache-manager";
ConfigModule, ConfigModule,
JobsModule, JobsModule,
UserModule, UserModule,
ThrottlerModule.forRoot({ ThrottlerModule.forRoot([
ttl: 60, {
limit: 100, ttl: 60,
}), limit: 100,
},
]),
ScheduleModule.forRoot(), ScheduleModule.forRoot(),
ClamScanModule, ClamScanModule,
ReverseShareModule, ReverseShareModule,

View File

@@ -37,15 +37,21 @@ export class AuthController {
) {} ) {}
@Post("signUp") @Post("signUp")
@Throttle(10, 5 * 60) @Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
async signUp( async signUp(
@Body() dto: AuthRegisterDTO, @Body() dto: AuthRegisterDTO,
@Req() { ip }: Request,
@Res({ passthrough: true }) response: Response, @Res({ passthrough: true }) response: Response,
) { ) {
if (!this.config.get("share.allowRegistration")) if (!this.config.get("share.allowRegistration"))
throw new ForbiddenException("Registration is not allowed"); throw new ForbiddenException("Registration is not allowed");
const result = await this.authService.signUp(dto); const result = await this.authService.signUp(dto, ip);
this.authService.addTokensToResponse( this.authService.addTokensToResponse(
response, response,
@@ -57,13 +63,19 @@ export class AuthController {
} }
@Post("signIn") @Post("signIn")
@Throttle(10, 5 * 60) @Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(200) @HttpCode(200)
async signIn( async signIn(
@Body() dto: AuthSignInDTO, @Body() dto: AuthSignInDTO,
@Req() { ip }: Request,
@Res({ passthrough: true }) response: Response, @Res({ passthrough: true }) response: Response,
) { ) {
const result = await this.authService.signIn(dto); const result = await this.authService.signIn(dto, ip);
if (result.accessToken && result.refreshToken) { if (result.accessToken && result.refreshToken) {
this.authService.addTokensToResponse( this.authService.addTokensToResponse(
@@ -77,7 +89,12 @@ export class AuthController {
} }
@Post("signIn/totp") @Post("signIn/totp")
@Throttle(10, 5 * 60) @Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(200) @HttpCode(200)
async signInTotp( async signInTotp(
@Body() dto: AuthSignInTotpDTO, @Body() dto: AuthSignInTotpDTO,
@@ -95,14 +112,24 @@ export class AuthController {
} }
@Post("resetPassword/:email") @Post("resetPassword/:email")
@Throttle(5, 5 * 60) @Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(202) @HttpCode(202)
async requestResetPassword(@Param("email") email: string) { async requestResetPassword(@Param("email") email: string) {
this.authService.requestResetPassword(email); this.authService.requestResetPassword(email);
} }
@Post("resetPassword") @Post("resetPassword")
@Throttle(5, 5 * 60) @Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@HttpCode(204) @HttpCode(204)
async resetPassword(@Body() dto: ResetPasswordDTO) { async resetPassword(@Body() dto: ResetPasswordDTO) {
return await this.authService.resetPassword(dto.token, dto.password); return await this.authService.resetPassword(dto.token, dto.password);

View File

@@ -2,6 +2,7 @@ import {
BadRequestException, BadRequestException,
ForbiddenException, ForbiddenException,
Injectable, Injectable,
Logger,
UnauthorizedException, UnauthorizedException,
} from "@nestjs/common"; } from "@nestjs/common";
import { JwtService } from "@nestjs/jwt"; import { JwtService } from "@nestjs/jwt";
@@ -24,8 +25,9 @@ export class AuthService {
private config: ConfigService, private config: ConfigService,
private emailService: EmailService, private emailService: EmailService,
) {} ) {}
private readonly logger = new Logger(AuthService.name);
async signUp(dto: AuthRegisterDTO) { async signUp(dto: AuthRegisterDTO, ip: string) {
const isFirstUser = (await this.prisma.user.count()) == 0; const isFirstUser = (await this.prisma.user.count()) == 0;
const hash = dto.password ? await argon.hash(dto.password) : null; const hash = dto.password ? await argon.hash(dto.password) : null;
@@ -44,6 +46,7 @@ export class AuthService {
); );
const accessToken = await this.createAccessToken(user, refreshTokenId); const accessToken = await this.createAccessToken(user, refreshTokenId);
this.logger.log(`User ${user.email} signed up from IP ${ip}`);
return { accessToken, refreshToken, user }; return { accessToken, refreshToken, user };
} catch (e) { } catch (e) {
if (e instanceof PrismaClientKnownRequestError) { if (e instanceof PrismaClientKnownRequestError) {
@@ -57,19 +60,27 @@ export class AuthService {
} }
} }
async signIn(dto: AuthSignInDTO) { async signIn(dto: AuthSignInDTO, ip: string) {
if (!dto.email && !dto.username) if (!dto.email && !dto.username)
throw new BadRequestException("Email or username is required"); throw new BadRequestException("Email or username is required");
if (this.config.get("oauth.disablePassword"))
throw new ForbiddenException("Password sign in is disabled");
const user = await this.prisma.user.findFirst({ const user = await this.prisma.user.findFirst({
where: { where: {
OR: [{ email: dto.email }, { username: dto.username }], OR: [{ email: dto.email }, { username: dto.username }],
}, },
}); });
if (!user || !(await argon.verify(user.password, dto.password))) if (!user || !(await argon.verify(user.password, dto.password))) {
this.logger.log(
`Failed login attempt for user ${dto.email} from IP ${ip}`,
);
throw new UnauthorizedException("Wrong email or password"); throw new UnauthorizedException("Wrong email or password");
}
this.logger.log(`Successful login for user ${dto.email} from IP ${ip}`);
return this.generateToken(user); return this.generateToken(user);
} }
@@ -94,6 +105,9 @@ export class AuthService {
} }
async requestResetPassword(email: string) { async requestResetPassword(email: string) {
if (this.config.get("oauth.disablePassword"))
throw new ForbiddenException("Password sign in is disabled");
const user = await this.prisma.user.findFirst({ const user = await this.prisma.user.findFirst({
where: { email }, where: { email },
include: { resetPasswordToken: true }, include: { resetPasswordToken: true },
@@ -119,6 +133,9 @@ export class AuthService {
} }
async resetPassword(token: string, newPassword: string) { async resetPassword(token: string, newPassword: string) {
if (this.config.get("oauth.disablePassword"))
throw new ForbiddenException("Password sign in is disabled");
const user = await this.prisma.user.findFirst({ const user = await this.prisma.user.findFirst({
where: { resetPasswordToken: { token } }, where: { resetPasswordToken: { token } },
}); });
@@ -205,7 +222,12 @@ export class AuthService {
async createRefreshToken(userId: string) { async createRefreshToken(userId: string) {
const { id, token } = await this.prisma.refreshToken.create({ const { id, token } = await this.prisma.refreshToken.create({
data: { userId, expiresAt: moment().add(3, "months").toDate() }, data: {
userId,
expiresAt: moment()
.add(this.config.get("general.sessionDuration"), "hours")
.toDate(),
},
}); });
return { refreshTokenId: id, refreshToken: token }; return { refreshTokenId: id, refreshToken: token };
@@ -229,14 +251,14 @@ export class AuthService {
if (accessToken) if (accessToken)
response.cookie("access_token", accessToken, { response.cookie("access_token", accessToken, {
sameSite: "lax", sameSite: "lax",
maxAge: 1000 * 60 * 60 * 24 * 30 * 3, // 3 months maxAge: 1000 * 60 * 15, // 15 minutes
}); });
if (refreshToken) if (refreshToken)
response.cookie("refresh_token", refreshToken, { response.cookie("refresh_token", refreshToken, {
path: "/api/auth/token", path: "/api/auth/token",
httpOnly: true, httpOnly: true,
sameSite: "strict", sameSite: "strict",
maxAge: 1000 * 60 * 60 * 24 * 30 * 3, // 3 months maxAge: 1000 * 60 * 60 * this.config.get("general.sessionDuration"),
}); });
} }

View File

@@ -25,6 +25,11 @@ export class EmailService {
user: this.config.get("smtp.username"), user: this.config.get("smtp.username"),
pass: this.config.get("smtp.password"), pass: this.config.get("smtp.password"),
}, },
tls: {
rejectUnauthorized: !this.config.get(
"smtp.allowUnauthorizedCertificates",
),
},
}); });
} }

View File

@@ -85,7 +85,7 @@ export class OAuthController {
accessToken?: string; accessToken?: string;
refreshToken?: string; refreshToken?: string;
loginToken?: string; loginToken?: string;
} = await this.oauthService.signIn(user); } = await this.oauthService.signIn(user, request.ip);
if (token.accessToken) { if (token.accessToken) {
this.authService.addTokensToResponse( this.authService.addTokensToResponse(
response, response,

View File

@@ -1,4 +1,4 @@
import { Inject, Injectable } from "@nestjs/common"; import { Inject, Injectable, Logger } from "@nestjs/common";
import { User } from "@prisma/client"; import { User } from "@prisma/client";
import { nanoid } from "nanoid"; import { nanoid } from "nanoid";
import { AuthService } from "../auth/auth.service"; import { AuthService } from "../auth/auth.service";
@@ -15,6 +15,7 @@ export class OAuthService {
private auth: AuthService, private auth: AuthService,
@Inject("OAUTH_PLATFORMS") private platforms: string[], @Inject("OAUTH_PLATFORMS") private platforms: string[],
) {} ) {}
private readonly logger = new Logger(OAuthService.name);
available(): string[] { available(): string[] {
return this.platforms return this.platforms
@@ -39,7 +40,7 @@ export class OAuthService {
return Object.fromEntries(oauthUsers.map((u) => [u.provider, u])); return Object.fromEntries(oauthUsers.map((u) => [u.provider, u]));
} }
async signIn(user: OAuthSignInDto) { async signIn(user: OAuthSignInDto, ip: string) {
const oauthUser = await this.prisma.oAuthUser.findFirst({ const oauthUser = await this.prisma.oAuthUser.findFirst({
where: { where: {
provider: user.provider, provider: user.provider,
@@ -50,10 +51,11 @@ export class OAuthService {
}, },
}); });
if (oauthUser) { if (oauthUser) {
this.logger.log(`Successful login for user ${user.email} from IP ${ip}`);
return this.auth.generateToken(oauthUser.user, true); return this.auth.generateToken(oauthUser.user, true);
} }
return this.signUp(user); return this.signUp(user, ip);
} }
async link( async link(
@@ -102,9 +104,9 @@ export class OAuthService {
} }
} }
private async getAvailableUsername(email: string) { private async getAvailableUsername(preferredUsername: string) {
// only remove + and - from email for now (maybe not enough) // only remove + and - from preferred username for now (maybe not enough)
let username = email.split("@")[0].replace(/[+-]/g, "").substring(0, 20); let username = preferredUsername.replace(/[+-]/g, "").substring(0, 20);
while (true) { while (true) {
const user = await this.prisma.user.findFirst({ const user = await this.prisma.user.findFirst({
where: { where: {
@@ -119,7 +121,7 @@ export class OAuthService {
} }
} }
private async signUp(user: OAuthSignInDto) { private async signUp(user: OAuthSignInDto, ip: string) {
// register // register
if (!this.config.get("oauth.allowRegistration")) { if (!this.config.get("oauth.allowRegistration")) {
throw new ErrorPageException("no_user", "/auth/signIn", [ throw new ErrorPageException("no_user", "/auth/signIn", [
@@ -151,11 +153,14 @@ export class OAuthService {
return this.auth.generateToken(existingUser, true); return this.auth.generateToken(existingUser, true);
} }
const result = await this.auth.signUp({ const result = await this.auth.signUp(
email: user.email, {
username: await this.getAvailableUsername(user.email), email: user.email,
password: null, username: await this.getAvailableUsername(user.providerUsername),
}); password: null,
},
ip,
);
await this.prisma.oAuthUser.create({ await this.prisma.oAuthUser.create({
data: { data: {

View File

@@ -1,5 +1,4 @@
import { Injectable } from "@nestjs/common"; import { Injectable } from "@nestjs/common";
import fetch from "node-fetch";
import { ConfigService } from "../../config/config.service"; import { ConfigService } from "../../config/config.service";
import { OAuthCallbackDto } from "../dto/oauthCallback.dto"; import { OAuthCallbackDto } from "../dto/oauthCallback.dto";
import { OAuthSignInDto } from "../dto/oauthSignIn.dto"; import { OAuthSignInDto } from "../dto/oauthSignIn.dto";
@@ -52,7 +51,7 @@ export class DiscordProvider implements OAuthProvider<DiscordToken> {
this.config.get("general.appUrl") + "/api/oauth/callback/discord", this.config.get("general.appUrl") + "/api/oauth/callback/discord",
}), }),
}); });
const token: DiscordToken = await res.json(); const token = (await res.json()) as DiscordToken;
return { return {
accessToken: token.access_token, accessToken: token.access_token,
refreshToken: token.refresh_token, refreshToken: token.refresh_token,

View File

@@ -1,5 +1,4 @@
import { Logger } from "@nestjs/common"; import { Logger } from "@nestjs/common";
import fetch from "node-fetch";
import { ConfigService } from "../../config/config.service"; import { ConfigService } from "../../config/config.service";
import { JwtService } from "@nestjs/jwt"; import { JwtService } from "@nestjs/jwt";
import { Cache } from "cache-manager"; import { Cache } from "cache-manager";
@@ -25,7 +24,7 @@ export abstract class GenericOidcProvider implements OAuthProvider<OidcToken> {
protected cache: Cache, protected cache: Cache,
) { ) {
this.discoveryUri = this.getDiscoveryUri(); this.discoveryUri = this.getDiscoveryUri();
this.config.addListener("update", (key: string, _: unknown) => { this.config.addListener("update", (key: string) => {
if (this.keyOfConfigUpdateEvents.includes(key)) { if (this.keyOfConfigUpdateEvents.includes(key)) {
this.deinit(); this.deinit();
this.discoveryUri = this.getDiscoveryUri(); this.discoveryUri = this.getDiscoveryUri();
@@ -94,7 +93,7 @@ export abstract class GenericOidcProvider implements OAuthProvider<OidcToken> {
redirect_uri: this.getRedirectUri(), redirect_uri: this.getRedirectUri(),
}).toString(), }).toString(),
}); });
const token: OidcToken = await res.json(); const token = (await res.json()) as OidcToken;
return { return {
accessToken: token.access_token, accessToken: token.access_token,
expiresIn: token.expires_in, expiresIn: token.expires_in,
@@ -125,9 +124,9 @@ export abstract class GenericOidcProvider implements OAuthProvider<OidcToken> {
const username = claim const username = claim
? idTokenData[claim] ? idTokenData[claim]
: idTokenData.name || : idTokenData.preferred_username ||
idTokenData.nickname || idTokenData.name ||
idTokenData.preferred_username; idTokenData.nickname;
if (!username) { if (!username) {
this.logger.error( this.logger.error(
@@ -159,7 +158,7 @@ export abstract class GenericOidcProvider implements OAuthProvider<OidcToken> {
: Date.now() + 1000 * 60 * 60 * 24; : Date.now() + 1000 * 60 * 60 * 24;
this.configuration = { this.configuration = {
expires, expires,
data: await res.json(), data: (await res.json()) as OidcConfiguration,
}; };
} }

View File

@@ -1,5 +1,4 @@
import { Injectable } from "@nestjs/common"; import { Injectable } from "@nestjs/common";
import fetch from "node-fetch";
import { ConfigService } from "../../config/config.service"; import { ConfigService } from "../../config/config.service";
import { OAuthCallbackDto } from "../dto/oauthCallback.dto"; import { OAuthCallbackDto } from "../dto/oauthCallback.dto";
import { OAuthSignInDto } from "../dto/oauthSignIn.dto"; import { OAuthSignInDto } from "../dto/oauthSignIn.dto";
@@ -38,7 +37,7 @@ export class GitHubProvider implements OAuthProvider<GitHubToken> {
}, },
}, },
); );
const token: GitHubToken = await res.json(); const token = (await res.json()) as GitHubToken;
return { return {
accessToken: token.access_token, accessToken: token.access_token,
tokenType: token.token_type, tokenType: token.token_type,

View File

@@ -36,7 +36,12 @@ export class ReverseShareController {
return { token, link }; return { token, link };
} }
@Throttle(20, 60) @Throttle({
default: {
limit: 20,
ttl: 60,
},
})
@Get(":reverseShareToken") @Get(":reverseShareToken")
async getByToken(@Param("reverseShareToken") reverseShareToken: string) { async getByToken(@Param("reverseShareToken") reverseShareToken: string) {
const isValid = await this.reverseShareService.isValid(reverseShareToken); const isValid = await this.reverseShareService.isValid(reverseShareToken);

View File

@@ -16,6 +16,7 @@ import { Request, Response } from "express";
import { GetUser } from "src/auth/decorator/getUser.decorator"; import { GetUser } from "src/auth/decorator/getUser.decorator";
import { AdministratorGuard } from "src/auth/guard/isAdmin.guard"; import { AdministratorGuard } from "src/auth/guard/isAdmin.guard";
import { JwtGuard } from "src/auth/guard/jwt.guard"; import { JwtGuard } from "src/auth/guard/jwt.guard";
import { AdminShareDTO } from "./dto/adminShare.dto";
import { CreateShareDTO } from "./dto/createShare.dto"; import { CreateShareDTO } from "./dto/createShare.dto";
import { MyShareDTO } from "./dto/myShare.dto"; import { MyShareDTO } from "./dto/myShare.dto";
import { ShareDTO } from "./dto/share.dto"; import { ShareDTO } from "./dto/share.dto";
@@ -26,7 +27,6 @@ import { ShareOwnerGuard } from "./guard/shareOwner.guard";
import { ShareSecurityGuard } from "./guard/shareSecurity.guard"; import { ShareSecurityGuard } from "./guard/shareSecurity.guard";
import { ShareTokenSecurity } from "./guard/shareTokenSecurity.guard"; import { ShareTokenSecurity } from "./guard/shareTokenSecurity.guard";
import { ShareService } from "./share.service"; import { ShareService } from "./share.service";
import { AdminShareDTO } from "./dto/adminShare.dto";
@Controller("shares") @Controller("shares")
export class ShareController { export class ShareController {
constructor(private shareService: ShareService) {} constructor(private shareService: ShareService) {}
@@ -99,14 +99,24 @@ export class ShareController {
await this.shareService.remove(id, isDeleterAdmin); await this.shareService.remove(id, isDeleterAdmin);
} }
@Throttle(10, 60) @Throttle({
default: {
limit: 10,
ttl: 60,
},
})
@Get("isShareIdAvailable/:id") @Get("isShareIdAvailable/:id")
async isShareIdAvailable(@Param("id") id: string) { async isShareIdAvailable(@Param("id") id: string) {
return this.shareService.isShareIdAvailable(id); return this.shareService.isShareIdAvailable(id);
} }
@HttpCode(200) @HttpCode(200)
@Throttle(20, 5 * 60) @Throttle({
default: {
limit: 20,
ttl: 5 * 60,
},
})
@UseGuards(ShareTokenSecurity) @UseGuards(ShareTokenSecurity)
@Post(":id/token") @Post(":id/token")
async getShareToken( async getShareToken(

View File

@@ -11,7 +11,7 @@ import { ShareService } from "./share.service";
imports: [ imports: [
JwtModule.register({}), JwtModule.register({}),
EmailModule, EmailModule,
ClamScanModule, forwardRef(() => ClamScanModule),
ReverseShareModule, ReverseShareModule,
forwardRef(() => FileModule), forwardRef(() => FileModule),
], ],

View File

@@ -1,12 +1,12 @@
{ {
"name": "pingvin-share-frontend", "name": "pingvin-share-frontend",
"version": "0.25.0", "version": "0.27.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pingvin-share-frontend", "name": "pingvin-share-frontend",
"version": "0.25.0", "version": "0.27.0",
"dependencies": { "dependencies": {
"@emotion/react": "^11.11.4", "@emotion/react": "^11.11.4",
"@emotion/server": "^11.11.0", "@emotion/server": "^11.11.0",
@@ -4022,11 +4022,11 @@
} }
}, },
"node_modules/braces": { "node_modules/braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dependencies": { "dependencies": {
"fill-range": "^7.0.1" "fill-range": "^7.1.1"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
@@ -5673,9 +5673,9 @@
} }
}, },
"node_modules/fill-range": { "node_modules/fill-range": {
"version": "7.0.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dependencies": { "dependencies": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
}, },
@@ -12547,11 +12547,11 @@
} }
}, },
"braces": { "braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"requires": { "requires": {
"fill-range": "^7.0.1" "fill-range": "^7.1.1"
} }
}, },
"browserslist": { "browserslist": {
@@ -13772,9 +13772,9 @@
} }
}, },
"fill-range": { "fill-range": {
"version": "7.0.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"requires": { "requires": {
"to-regex-range": "^5.0.1" "to-regex-range": "^5.0.1"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "pingvin-share-frontend", "name": "pingvin-share-frontend",
"version": "0.25.0", "version": "0.27.0",
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",
"build": "next build", "build": "next build",

View File

@@ -28,6 +28,19 @@ import toast from "../../utils/toast.util";
import { safeRedirectPath } from "../../utils/router.util"; import { safeRedirectPath } from "../../utils/router.util";
const useStyles = createStyles((theme) => ({ const useStyles = createStyles((theme) => ({
signInWith: {
fontWeight: 500,
"&:before": {
content: "''",
flex: 1,
display: "block",
},
"&:after": {
content: "''",
flex: 1,
display: "block",
},
},
or: { or: {
"&:before": { "&:before": {
content: "''", content: "''",
@@ -128,49 +141,58 @@ const SignInForm = ({ redirectPath }: { redirectPath: string }) => {
</Text> </Text>
)} )}
<Paper withBorder shadow="md" p={30} mt={30} radius="md"> <Paper withBorder shadow="md" p={30} mt={30} radius="md">
<form {config.get("oauth.disablePassword") || (
onSubmit={form.onSubmit((values) => { <form
signIn(values.emailOrUsername, values.password); onSubmit={form.onSubmit((values) => {
})} signIn(values.emailOrUsername, values.password);
> })}
<TextInput >
label={t("signin.input.email-or-username")} <TextInput
placeholder={t("signin.input.email-or-username.placeholder")} label={t("signin.input.email-or-username")}
{...form.getInputProps("emailOrUsername")} placeholder={t("signin.input.email-or-username.placeholder")}
/> {...form.getInputProps("emailOrUsername")}
<PasswordInput />
label={t("signin.input.password")} <PasswordInput
placeholder={t("signin.input.password.placeholder")} label={t("signin.input.password")}
mt="md" placeholder={t("signin.input.password.placeholder")}
{...form.getInputProps("password")} mt="md"
/> {...form.getInputProps("password")}
{config.get("smtp.enabled") && ( />
<Group position="right" mt="xs"> {config.get("smtp.enabled") && (
<Anchor component={Link} href="/auth/resetPassword" size="xs"> <Group position="right" mt="xs">
<FormattedMessage id="resetPassword.title" /> <Anchor component={Link} href="/auth/resetPassword" size="xs">
</Anchor> <FormattedMessage id="resetPassword.title" />
</Group> </Anchor>
)} </Group>
<Button fullWidth mt="xl" type="submit"> )}
<FormattedMessage id="signin.button.submit" /> <Button fullWidth mt="xl" type="submit">
</Button> <FormattedMessage id="signin.button.submit" />
</form> </Button>
</form>
)}
{oauth.length > 0 && ( {oauth.length > 0 && (
<Stack mt="xl"> <Stack mt={config.get("oauth.disablePassword") ? undefined : "xl"}>
<Group align="center" className={classes.or}> {config.get("oauth.disablePassword") ? (
<Text>{t("signIn.oauth.or")}</Text> <Group align="center" className={classes.signInWith}>
</Group> <Text>{t("signIn.oauth.signInWith")}</Text>
</Group>
) : (
<Group align="center" className={classes.or}>
<Text>{t("signIn.oauth.or")}</Text>
</Group>
)}
<Group position="center"> <Group position="center">
{oauth.map((provider) => ( {oauth.map((provider) => (
<Button <Button
key={provider} key={provider}
component="a" component="a"
target="_blank"
title={t(`signIn.oauth.${provider}`)} title={t(`signIn.oauth.${provider}`)}
href={getOAuthUrl(config.get("general.appUrl"), provider)} href={getOAuthUrl(config.get("general.appUrl"), provider)}
variant="light" variant="light"
fullWidth
> >
{getOAuthIcon(provider)} {getOAuthIcon(provider)}
{"\u2002" + t(`signIn.oauth.${provider}`)}
</Button> </Button>
))} ))}
</Group> </Group>

View File

@@ -30,6 +30,7 @@ import shareService from "../../../services/share.service";
import { FileUpload } from "../../../types/File.type"; import { FileUpload } from "../../../types/File.type";
import { CreateShare } from "../../../types/share.type"; import { CreateShare } from "../../../types/share.type";
import { getExpirationPreview } from "../../../utils/date.util"; import { getExpirationPreview } from "../../../utils/date.util";
import React from "react";
const showCreateUploadModal = ( const showCreateUploadModal = (
modals: ModalsContextProps, modals: ModalsContextProps,
@@ -242,7 +243,6 @@ const CreateUploadModalBody = ({
disabled={form.values.never_expires} disabled={form.values.never_expires}
{...form.getInputProps("expiration_unit")} {...form.getInputProps("expiration_unit")}
data={[ data={[
// Set the label to singular if the number is 1, else plural
{ {
value: "-minutes", value: "-minutes",
label: label:
@@ -347,7 +347,9 @@ const CreateUploadModalBody = ({
placeholder={t("upload.modal.accordion.email.placeholder")} placeholder={t("upload.modal.accordion.email.placeholder")}
searchable searchable
creatable creatable
autoComplete="email-recipients" id="recipient_email"
autoComplete="email"
type="email"
getCreateLabel={(query) => `+ ${query}`} getCreateLabel={(query) => `+ ${query}`}
onCreate={(query) => { onCreate={(query) => {
if (!query.match(/^\S+@\S+\.\S+$/)) { if (!query.match(/^\S+@\S+\.\S+$/)) {
@@ -365,6 +367,25 @@ const CreateUploadModalBody = ({
} }
}} }}
{...form.getInputProps("recipients")} {...form.getInputProps("recipients")}
onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => {
// Add email on comma or semicolon
if (e.key === "," || e.key === ";") {
e.preventDefault();
const inputValue = (
e.target as HTMLInputElement
).value.trim();
if (inputValue.match(/^\S+@\S+\.\S+$/)) {
form.setFieldValue("recipients", [
...form.values.recipients,
inputValue,
]);
(e.target as HTMLInputElement).value = "";
}
} else if (e.key === " ") {
e.preventDefault();
(e.target as HTMLInputElement).value = "";
}
}}
/> />
</Accordion.Panel> </Accordion.Panel>
</Accordion.Item> </Accordion.Item>

View File

@@ -21,6 +21,7 @@ import thai from "./translations/th-TH";
import ukrainian from "./translations/uk-UA"; import ukrainian from "./translations/uk-UA";
import chineseSimplified from "./translations/zh-CN"; import chineseSimplified from "./translations/zh-CN";
import chineseTraditional from "./translations/zh-TW"; import chineseTraditional from "./translations/zh-TW";
import turkish from "./translations/tr-TR";
export const LOCALES = { export const LOCALES = {
ENGLISH: { ENGLISH: {
@@ -138,4 +139,9 @@ export const LOCALES = {
code: "ko-KR", code: "ko-KR",
messages: korean, messages: korean,
}, },
TURKISH: {
name: "Türkçe",
code: "tr-TR",
messages: turkish,
},
}; };

View File

@@ -37,6 +37,7 @@ export default {
"signIn.notify.totp-required.title": "إن المصادقة الثنائية ضرورية", "signIn.notify.totp-required.title": "إن المصادقة الثنائية ضرورية",
"signIn.notify.totp-required.description": "فضلًا أدخل رمز المصادقة الثنائية", "signIn.notify.totp-required.description": "فضلًا أدخل رمز المصادقة الثنائية",
"signIn.oauth.or": "أو", "signIn.oauth.or": "أو",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -326,6 +327,9 @@ export default {
"admin.config.general.show-home-page": "إظهار الصفحة الرئيسية", "admin.config.general.show-home-page": "إظهار الصفحة الرئيسية",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"تحديد ما إذا كان سيتم عرض الصفحة الرئيسية", "تحديد ما إذا كان سيتم عرض الصفحة الرئيسية",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "الشعار", "admin.config.general.logo": "الشعار",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"يمكنك تغيير شعارك عن طريق تحميل صورة جديدة. يجب أن تكون الصورة PNG ويجب أن يكون تنسيقها 1:1.", "يمكنك تغيير شعارك عن طريق تحميل صورة جديدة. يجب أن تكون الصورة PNG ويجب أن يكون تنسيقها 1:1.",
@@ -376,6 +380,9 @@ export default {
"admin.config.share.chunk-size": "حجم القطعة", "admin.config.share.chunk-size": "حجم القطعة",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"ضبط حجم القطعة (بالبايت) لملفاتك المرفوعة للموازنة بين الكفاءة والفعالية حسب قوة اتصالك بالإنترنت. القطع الأصغر يمكن أن ترفع معدل النجاح في حال كان اتصالك بالإنترنت غير مستقر، بينما القطع الأكبر يمكنها أن تُسرّع رفع الملفات في حال كان الاتصال بالإنترنت مستقرًا.", "ضبط حجم القطعة (بالبايت) لملفاتك المرفوعة للموازنة بين الكفاءة والفعالية حسب قوة اتصالك بالإنترنت. القطع الأصغر يمكن أن ترفع معدل النجاح في حال كان اتصالك بالإنترنت غير مستقر، بينما القطع الأكبر يمكنها أن تُسرّع رفع الملفات في حال كان الاتصال بالإنترنت مستقرًا.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "مفعل", "admin.config.smtp.enabled": "مفعل",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"تفعيل الـSMTP. لا تفعّله إلا إذا قمت بإدخال المضيف، والمنفذ، والبريد الإلكتروني، واسم المستخدم، وكلمة السر لخادم الـSMTP.", "تفعيل الـSMTP. لا تفعّله إلا إذا قمت بإدخال المضيف، والمنفذ، والبريد الإلكتروني، واسم المستخدم، وكلمة السر لخادم الـSMTP.",
@@ -391,12 +398,15 @@ export default {
"admin.config.smtp.password": "كلمة السر", "admin.config.smtp.password": "كلمة السر",
"admin.config.smtp.password.description": "كلمة السر لخادم الـSMTP", "admin.config.smtp.password.description": "كلمة السر لخادم الـSMTP",
"admin.config.smtp.button.test": "إرسال رسالة بريد تجريبية", "admin.config.smtp.button.test": "إرسال رسالة بريد تجريبية",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "السماح بتسجيل الحسابات الجديدة", "admin.config.oauth.allow-registration": "السماح بتسجيل الحسابات الجديدة",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"السماح للمستخدمين بالدخول بواسطة حساباتهم الاجتماعية", "السماح للمستخدمين بالدخول بواسطة حساباتهم الاجتماعية",
"admin.config.oauth.ignore-totp": "تجاهل TOTP", "admin.config.oauth.ignore-totp": "تجاهل TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "تجاهل TOTP إذا دخل المستخدم بحسابه الاجتماعي",
"تجاهل TOTP إذا دخل المستخدم بحسابه الاجتماعي", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"تفعيل خيار الدخول بحساب GitHub", "تفعيل خيار الدخول بحساب GitHub",

View File

@@ -39,6 +39,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Indtast den aktuelle engangskode fra din 2-faktor Authenticator", "Indtast den aktuelle engangskode fra din 2-faktor Authenticator",
"signIn.oauth.or": "OR", "signIn.oauth.or": "OR",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -224,7 +225,7 @@ export default {
"admin.shares.title": "Share management", "admin.shares.title": "Share management",
"admin.shares.table.id": "Share ID", "admin.shares.table.id": "Share ID",
"admin.shares.table.username": "Creator", "admin.shares.table.username": "Creator",
"admin.shares.table.visitors": "Visitors", "admin.shares.table.visitors": "Besøgende",
"admin.shares.table.expires": "Expires At", "admin.shares.table.expires": "Expires At",
"admin.shares.edit.delete.title": "Delete share {id}", "admin.shares.edit.delete.title": "Delete share {id}",
"admin.shares.edit.delete.description": "admin.shares.edit.delete.description":
@@ -271,7 +272,7 @@ export default {
"upload.modal.expires.year-singular": "År", "upload.modal.expires.year-singular": "År",
"upload.modal.expires.year-plural": "År", "upload.modal.expires.year-plural": "År",
"upload.modal.accordion.name-and-description.title": "Name and description", "upload.modal.accordion.name-and-description.title": "Name and description",
"upload.modal.accordion.name-and-description.name.placeholder": "Name", "upload.modal.accordion.name-and-description.name.placeholder": "Navn",
"upload.modal.accordion.name-and-description.description.placeholder": "upload.modal.accordion.name-and-description.description.placeholder":
"Note for the recipients of this share", "Note for the recipients of this share",
"upload.modal.accordion.email.title": "E-mail modtagere", "upload.modal.accordion.email.title": "E-mail modtagere",
@@ -316,7 +317,7 @@ export default {
"A preview for this file type is unsupported. Please download the file to view it.", "A preview for this file type is unsupported. Please download the file to view it.",
// END /share/[id] // END /share/[id]
// /share/[id]/edit // /share/[id]/edit
"share.edit.title": "Edit {shareId}", "share.edit.title": "Rediger {shareId}",
"share.edit.append-upload": "Append file", "share.edit.append-upload": "Append file",
"share.edit.notify.generic-error": "share.edit.notify.generic-error":
"An error occurred while finishing your share.", "An error occurred while finishing your share.",
@@ -336,6 +337,9 @@ export default {
"På hvilken URL Pingvin Share er tilgængelig", "På hvilken URL Pingvin Share er tilgængelig",
"admin.config.general.show-home-page": "Vis forside", "admin.config.general.show-home-page": "Vis forside",
"admin.config.general.show-home-page.description": "Om forsiden skal vises", "admin.config.general.show-home-page.description": "Om forsiden skal vises",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Skift dit logo ved at uploade et nyt billede. Billedet skal være PNG og skal have formatet 1:1.", "Skift dit logo ved at uploade et nyt billede. Billedet skal være PNG og skal have formatet 1:1.",
@@ -386,6 +390,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Aktiveret", "admin.config.smtp.enabled": "Aktiveret",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Om SMTP er aktiveret. Aktiver kun SMTP, hvis du har indtastet SMTP-server vært, port, e-mail, bruger og adgangskode.", "Om SMTP er aktiveret. Aktiver kun SMTP, hvis du har indtastet SMTP-server vært, port, e-mail, bruger og adgangskode.",
@@ -401,12 +408,15 @@ export default {
"admin.config.smtp.password": "Adgangskode", "admin.config.smtp.password": "Adgangskode",
"admin.config.smtp.password.description": "Adgangskoden til SMTP serveren", "admin.config.smtp.password.description": "Adgangskoden til SMTP serveren",
"admin.config.smtp.button.test": "Send test e-mail", "admin.config.smtp.button.test": "Send test e-mail",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Tillad registrering", "admin.config.oauth.allow-registration": "Tillad registrering",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Allow users to register via social login", "Allow users to register via social login",
"admin.config.oauth.ignore-totp": "Ignore TOTP", "admin.config.oauth.ignore-totp": "Ignore TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login",
"Whether to ignore TOTP when user using social login", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Whether GitHub login is enabled", "Whether GitHub login is enabled",

View File

@@ -12,17 +12,13 @@ export default {
// END navbar // END navbar
// / // /
"home.title": "Eine <h>selbst gehostete</h> Dateifreigabe-Plattform.", "home.title": "Eine <h>selbst gehostete</h> Dateifreigabe-Plattform.",
"home.description": "home.description": "Möchtest du wirklich deine persönlichen Dateien an Drittanbieter wie WeTransfer weitergeben?",
"Möchtest du wirklich deine persönlichen Dateien an Drittanbieter wie WeTransfer weitergeben?",
"home.bullet.a.name": "Selbst gehostet", "home.bullet.a.name": "Selbst gehostet",
"home.bullet.a.description": "home.bullet.a.description": "Betreibe Pingvin Share auf deinem eigenen Server.",
"Betreibe Pingvin Share auf deinem eigenen Server.",
"home.bullet.b.name": "Privatsphäre", "home.bullet.b.name": "Privatsphäre",
"home.bullet.b.description": "home.bullet.b.description": "Deine Dateien gehören dir und sollten niemals in die Hände Dritter gelangen.",
"Deine Dateien gehören dir und sollten niemals in die Hände Dritter gelangen.",
"home.bullet.c.name": "Keine lästige Dateigrößenbegrenzung", "home.bullet.c.name": "Keine lästige Dateigrößenbegrenzung",
"home.bullet.c.description": "home.bullet.c.description": "Lade Dateien beliebiger Größe hoch. Nur dein Festplattenspeicher stellt die Grenze dar.",
"Lade Dateien beliebiger Größe hoch. Nur dein Festplattenspeicher stellt die Grenze dar.",
"home.button.start": "Lege los", "home.button.start": "Lege los",
"home.button.source": "Quellcode", "home.button.source": "Quellcode",
// END / // END /
@@ -31,15 +27,14 @@ export default {
"signin.description": "Du hast noch kein Konto?", "signin.description": "Du hast noch kein Konto?",
"signin.button.signup": "Registrieren", "signin.button.signup": "Registrieren",
"signin.input.email-or-username": "Email oder Benutzername", "signin.input.email-or-username": "Email oder Benutzername",
"signin.input.email-or-username.placeholder": "signin.input.email-or-username.placeholder": "Deine Email Adresse oder Benutzername",
"Deine Email Adresse oder Benutzername",
"signin.input.password": "Passwort", "signin.input.password": "Passwort",
"signin.input.password.placeholder": "Dein Passwort", "signin.input.password.placeholder": "Dein Passwort",
"signin.button.submit": "Anmelden", "signin.button.submit": "Anmelden",
"signIn.notify.totp-required.title": "Zwei-Faktor-Authentifizierung benötigt", "signIn.notify.totp-required.title": "Zwei-Faktor-Authentifizierung benötigt",
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description": "Bitte füge deinen Zwei-Faktor-Authentifizierungscode ein",
"Bitte füge deinen Zwei-Faktor-Authentifizierungscode ein",
"signIn.oauth.or": "ODER", "signIn.oauth.or": "ODER",
"signIn.oauth.signInWith": "Anmelden mit",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -62,16 +57,13 @@ export default {
// END /auth/totp // END /auth/totp
// /auth/reset-password // /auth/reset-password
"resetPassword.title": "Passwort vergessen?", "resetPassword.title": "Passwort vergessen?",
"resetPassword.description": "resetPassword.description": "Gib deine Email Adresse ein, um dein Passwort zurückzusetzen.",
"Gib deine Email Adresse ein, um dein Passwort zurückzusetzen.", "resetPassword.notify.success": "Wir haben dir einen Link gesendet, unter dem du dein Passwort zurücksetzen kannst.",
"resetPassword.notify.success":
"Wir haben dir einen Link gesendet, unter dem du dein Passwort zurücksetzen kannst.",
"resetPassword.button.back": "Zurück zur Anmeldeseite", "resetPassword.button.back": "Zurück zur Anmeldeseite",
"resetPassword.text.resetPassword": "Passwort zurücksetzen", "resetPassword.text.resetPassword": "Passwort zurücksetzen",
"resetPassword.text.enterNewPassword": "Gib dein neues Passwort ein", "resetPassword.text.enterNewPassword": "Gib dein neues Passwort ein",
"resetPassword.input.password": "Neues Passwort", "resetPassword.input.password": "Neues Passwort",
"resetPassword.notify.passwordReset": "resetPassword.notify.passwordReset": "Dein Passwort wurde erfolgreich zurückgesetzt.",
"Dein Passwort wurde erfolgreich zurückgesetzt.",
// /account // /account
"account.title": "Mein Konto", "account.title": "Mein Konto",
"account.card.info.title": "Kontoinformationen", "account.card.info.title": "Kontoinformationen",
@@ -81,8 +73,7 @@ export default {
"account.card.password.title": "Passwort", "account.card.password.title": "Passwort",
"account.card.password.old": "Altes Passwort", "account.card.password.old": "Altes Passwort",
"account.card.password.new": "Neues Passwort", "account.card.password.new": "Neues Passwort",
"account.card.password.noPasswordSet": "account.card.password.noPasswordSet": "Du hast kein Passwort erstellt. Wenn Du Dich mit E-Mail und Passwort anmelden möchtest, musst Du ein Passwort festlegen.",
"Du hast kein Passwort erstellt. Wenn Du Dich mit E-Mail und Passwort anmelden möchtest, musst Du ein Passwort festlegen.",
"account.notify.password.success": "Passwort erfolgreich geändert", "account.notify.password.success": "Passwort erfolgreich geändert",
"account.card.oauth.title": "Anmeldung über soziale Netzwerke", "account.card.oauth.title": "Anmeldung über soziale Netzwerke",
"account.card.oauth.github": "GitHub", "account.card.oauth.github": "GitHub",
@@ -94,14 +85,11 @@ export default {
"account.card.oauth.unlink": "Verknüpfung aufheben", "account.card.oauth.unlink": "Verknüpfung aufheben",
"account.card.oauth.unlinked": "Verknüpfung aufgehoben", "account.card.oauth.unlinked": "Verknüpfung aufgehoben",
"account.modal.unlink.title": "Kontoverknüpfung aufheben", "account.modal.unlink.title": "Kontoverknüpfung aufheben",
"account.modal.unlink.description": "account.modal.unlink.description": "Das Entfernen der Verknüpfung mit Deinem sozialen Konten kann dazu führen, dass Du Dein Konto verlierst, wenn Du Dich nicht an Deinen Benutzernamen und Dein Passwort erinnerst.",
"Das Entfernen der Verknüpfung mit Deinem sozialen Konten kann dazu führen, dass Du Dein Konto verlierst, wenn Du Dich nicht an Deinen Benutzernamen und Dein Passwort erinnerst.",
"account.notify.oauth.unlinked.success": "Verknüpfung erfolgreich aufgehoben", "account.notify.oauth.unlinked.success": "Verknüpfung erfolgreich aufgehoben",
"account.card.security.title": "Sicherheit", "account.card.security.title": "Sicherheit",
"account.card.security.totp.enable.description": "account.card.security.totp.enable.description": "Gib dein aktuelles Passwort ein, um TOTP zu aktivieren",
"Gib dein aktuelles Passwort ein, um TOTP zu aktivieren", "account.card.security.totp.disable.description": "Gib dein aktuelles Passwort ein, um TOTP zu deaktivieren",
"account.card.security.totp.disable.description":
"Gib dein aktuelles Passwort ein, um TOTP zu deaktivieren",
"account.card.security.totp.button.start": "Starten", "account.card.security.totp.button.start": "Starten",
"account.modal.totp.title": "TOTP aktivieren", "account.modal.totp.title": "TOTP aktivieren",
"account.modal.totp.step1": "Schritt 1: Füge deinen Authenticator hinzu", "account.modal.totp.step1": "Schritt 1: Füge deinen Authenticator hinzu",
@@ -113,8 +101,7 @@ export default {
"account.notify.totp.disable": "TOTP erfolgreich deaktiviert", "account.notify.totp.disable": "TOTP erfolgreich deaktiviert",
"account.notify.totp.enable": "TOTP erfolgreich aktiviert", "account.notify.totp.enable": "TOTP erfolgreich aktiviert",
"account.card.language.title": "Sprache", "account.card.language.title": "Sprache",
"account.card.language.description": "account.card.language.description": "Das Projekt wird von der Community übersetzt. Einige Sprachen könnten unvollständig sein.",
"Das Projekt wird von der Community übersetzt. Einige Sprachen könnten unvollständig sein.",
"account.card.color.title": "Farbschema", "account.card.color.title": "Farbschema",
// ThemeSwitcher.tsx // ThemeSwitcher.tsx
"account.theme.dark": "Dunkel", "account.theme.dark": "Dunkel",
@@ -122,8 +109,7 @@ export default {
"account.theme.system": "System", "account.theme.system": "System",
"account.button.delete": "Konto löschen", "account.button.delete": "Konto löschen",
"account.modal.delete.title": "Konto löschen", "account.modal.delete.title": "Konto löschen",
"account.modal.delete.description": "account.modal.delete.description": "Möchtest du wirklich dein Konto inklusive aller aktiven Freigaben löschen?",
"Möchtest du wirklich dein Konto inklusive aller aktiven Freigaben löschen?",
// END /account // END /account
// /account/shares // /account/shares
"account.shares.title": "Meine Freigaben", "account.shares.title": "Meine Freigaben",
@@ -141,16 +127,13 @@ export default {
"account.shares.modal.share-informations": "Teile deine Information", "account.shares.modal.share-informations": "Teile deine Information",
"account.shares.modal.share-link": "Freigabe teilen", "account.shares.modal.share-link": "Freigabe teilen",
"account.shares.modal.delete.title": "Lösche Freigabe {share}", "account.shares.modal.delete.title": "Lösche Freigabe {share}",
"account.shares.modal.delete.description": "account.shares.modal.delete.description": "Möchtest du wirklich diese Freigabe löschen?",
"Möchtest du wirklich diese Freigabe löschen?",
// END /account/shares // END /account/shares
// /account/reverseShares // /account/reverseShares
"account.reverseShares.title": "Externe Freigaben", "account.reverseShares.title": "Externe Freigaben",
"account.reverseShares.description": "account.reverseShares.description": "Eine externe Freigabe erlaubt dir eine einzigartige URL zu erstellen, die externen Benutzern erlaubt Dateien hochzuladen.",
"Eine externe Freigabe erlaubt dir eine einzigartige URL zu erstellen, die externen Benutzern erlaubt Dateien hochzuladen.",
"account.reverseShares.title.empty": "Es ist leer hier 👀", "account.reverseShares.title.empty": "Es ist leer hier 👀",
"account.reverseShares.description.empty": "account.reverseShares.description.empty": "Du hast keine externen Freigaben erstellt.",
"Du hast keine externen Freigaben erstellt.",
// showCreateReverseShareModal.tsx // showCreateReverseShareModal.tsx
"account.reverseShares.modal.title": "Externe Freigabe erstellen", "account.reverseShares.modal.title": "Externe Freigabe erstellen",
"account.reverseShares.modal.expiration.label": "Gültig bis", "account.reverseShares.modal.expiration.label": "Gültig bis",
@@ -168,15 +151,11 @@ export default {
"account.reverseShares.modal.expiration.year-plural": "Jahre", "account.reverseShares.modal.expiration.year-plural": "Jahre",
"account.reverseShares.modal.max-size.label": "Max. Freigabengröße", "account.reverseShares.modal.max-size.label": "Max. Freigabengröße",
"account.reverseShares.modal.send-email": "Email Benachrichtigung senden", "account.reverseShares.modal.send-email": "Email Benachrichtigung senden",
"account.reverseShares.modal.send-email.description": "account.reverseShares.modal.send-email.description": "Sendet eine Email Benachrichtigung, wenn eine Datei auf einer externen Freigabe hochgeladen wurde.",
"Sendet eine Email Benachrichtigung, wenn eine Datei auf einer externen Freigabe hochgeladen wurde.",
"account.reverseShares.modal.max-use.label": "Maximale Nutzungen", "account.reverseShares.modal.max-use.label": "Maximale Nutzungen",
"account.reverseShares.modal.max-use.description": "account.reverseShares.modal.max-use.description": "Die maximale Anzahl von Verwendungen der URL, um Dateien hochzuladen.",
"Die maximale Anzahl von Verwendungen der URL, um Dateien hochzuladen.", "account.reverseShare.never-expires": "Diese externe Freigabe wird nicht ablaufen.",
"account.reverseShare.never-expires": "account.reverseShare.expires-on": "Diese externe Freigabe wird am {expiration} ablaufen.",
"Diese externe Freigabe wird nicht ablaufen.",
"account.reverseShare.expires-on":
"Diese externe Freigabe wird am {expiration} ablaufen.",
"account.reverseShares.table.no-shares": "Noch keine Freigaben erstellt", "account.reverseShares.table.no-shares": "Noch keine Freigaben erstellt",
"account.reverseShares.table.count.singular": "Freigabe", "account.reverseShares.table.count.singular": "Freigabe",
"account.reverseShares.table.count.plural": "Freigaben", "account.reverseShares.table.count.plural": "Freigaben",
@@ -186,8 +165,7 @@ export default {
"account.reverseShares.table.expires": "Läuft ab am", "account.reverseShares.table.expires": "Läuft ab am",
"account.reverseShares.modal.reverse-share-link": "Link zu externer Freigabe", "account.reverseShares.modal.reverse-share-link": "Link zu externer Freigabe",
"account.reverseShares.modal.delete.title": "Lösche externe Freigabe", "account.reverseShares.modal.delete.title": "Lösche externe Freigabe",
"account.reverseShares.modal.delete.description": "account.reverseShares.modal.delete.description": "Möchtest du wirklich diese externe Freigabe löschen? In diesem Falle werden auch hiermit verbundene Freigaben gelöscht.",
"Möchtest du wirklich diese externe Freigabe löschen? In diesem Falle werden auch hiermit verbundene Freigaben gelöscht.",
// END /account/reverseShares // END /account/reverseShares
// /admin // /admin
"admin.title": "Verwaltung", "admin.title": "Verwaltung",
@@ -206,22 +184,18 @@ export default {
"admin.users.edit.update.change-password.title": "Passwort ändern", "admin.users.edit.update.change-password.title": "Passwort ändern",
"admin.users.edit.update.change-password.field": "Neues Passwort", "admin.users.edit.update.change-password.field": "Neues Passwort",
"admin.users.edit.update.change-password.button": "Neues Passwort speichern", "admin.users.edit.update.change-password.button": "Neues Passwort speichern",
"admin.users.edit.update.notify.password.success": "admin.users.edit.update.notify.password.success": "Passwort erfolgreich geändert",
"Passwort erfolgreich geändert",
"admin.users.edit.delete.title": "Löschen des Nutzers {username}", "admin.users.edit.delete.title": "Löschen des Nutzers {username}",
"admin.users.edit.delete.description": "admin.users.edit.delete.description": "Möchtest du wirklich diesen Benutzer und all seine Freigaben löschen?",
"Möchtest du wirklich diesen Benutzer und all seine Freigaben löschen?",
// showCreateUserModal.tsx // showCreateUserModal.tsx
"admin.users.modal.create.title": "Benutzer erstellen", "admin.users.modal.create.title": "Benutzer erstellen",
"admin.users.modal.create.username": "Benutzername", "admin.users.modal.create.username": "Benutzername",
"admin.users.modal.create.email": "Email", "admin.users.modal.create.email": "Email",
"admin.users.modal.create.password": "Passwort", "admin.users.modal.create.password": "Passwort",
"admin.users.modal.create.manual-password": "Passwort manuell festlegen", "admin.users.modal.create.manual-password": "Passwort manuell festlegen",
"admin.users.modal.create.manual-password.description": "admin.users.modal.create.manual-password.description": "Wenn nicht aktiviert, erhält der Benutzer eine Email mit einem Link, um sein Passwort festzulegen.",
"Wenn nicht aktiviert, erhält der Benutzer eine Email mit einem Link, um sein Passwort festzulegen.",
"admin.users.modal.create.admin": "Administratorrechte", "admin.users.modal.create.admin": "Administratorrechte",
"admin.users.modal.create.admin.description": "admin.users.modal.create.admin.description": "Wenn aktiviert, kann der Benutzer auf das Administrator-Panel zugreifen.",
"Wenn aktiviert, kann der Benutzer auf das Administrator-Panel zugreifen.",
// END /admin/users // END /admin/users
// /admin/shares // /admin/shares
"admin.shares.title": "Freigabenverwaltung", "admin.shares.title": "Freigabenverwaltung",
@@ -230,36 +204,28 @@ export default {
"admin.shares.table.visitors": "Besucher", "admin.shares.table.visitors": "Besucher",
"admin.shares.table.expires": "Läuft ab am", "admin.shares.table.expires": "Läuft ab am",
"admin.shares.edit.delete.title": "Lösche Freigabe {id}", "admin.shares.edit.delete.title": "Lösche Freigabe {id}",
"admin.shares.edit.delete.description": "admin.shares.edit.delete.description": "Möchtest du wirklich diese Freigabe löschen?",
"Möchtest du wirklich diese Freigabe löschen?",
// END /admin/shares // END /admin/shares
// /upload // /upload
"upload.title": "Upload", "upload.title": "Upload",
"upload.notify.generic-error": "upload.notify.generic-error": "Während der Erstellung der Freigabe ist ein Fehler aufgetreten.",
"Während der Erstellung der Freigabe ist ein Fehler aufgetreten.", "upload.notify.count-failed": "{count} Dateien konnten nicht hochgeladen werden. Wird erneut versucht.",
"upload.notify.count-failed":
"{count} Dateien konnten nicht hochgeladen werden. Wird erneut versucht.",
// Dropzone.tsx // Dropzone.tsx
"upload.dropzone.title": "Dateien hochladen", "upload.dropzone.title": "Dateien hochladen",
"upload.dropzone.description": "upload.dropzone.description": "Ziehe Dateien hierher, um deine Freigabe zu starten. Wir können nur Dateien akzeptieren, die insgesamt weniger als {maxSize} groß sind.",
"Ziehe Dateien hierher, um deine Freigabe zu starten. Wir können nur Dateien akzeptieren, die insgesamt weniger als {maxSize} groß sind.", "upload.dropzone.notify.file-too-big": "Ihre Dateien überschreiten die maximale Freigabegröße von {maxSize}.",
"upload.dropzone.notify.file-too-big":
"Ihre Dateien überschreiten die maximale Freigabegröße von {maxSize}.",
// FileList.tsx // FileList.tsx
"upload.filelist.name": "Name", "upload.filelist.name": "Name",
"upload.filelist.size": "Größe", "upload.filelist.size": "Größe",
// showCreateUploadModal.tsx // showCreateUploadModal.tsx
"upload.modal.title": "Erstelle Freigabe", "upload.modal.title": "Erstelle Freigabe",
"upload.modal.link.error.invalid": "upload.modal.link.error.invalid": "Darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten",
"Darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten",
"upload.modal.link.error.taken": "Dieser Link wird bereits verwendet", "upload.modal.link.error.taken": "Dieser Link wird bereits verwendet",
"upload.modal.not-signed-in": "Du bist nicht angemeldet", "upload.modal.not-signed-in": "Du bist nicht angemeldet",
"upload.modal.not-signed-in-description": "upload.modal.not-signed-in-description": "Du wirst deine Freigabe nicht löschen können oder die Besucheranzahl sehen.",
"Du wirst deine Freigabe nicht löschen können oder die Besucheranzahl sehen.",
"upload.modal.expires.never": "niemals", "upload.modal.expires.never": "niemals",
"upload.modal.expires.never-long": "Läuft nicht ab", "upload.modal.expires.never-long": "Läuft nicht ab",
"upload.modal.expires.error.too-long": "upload.modal.expires.error.too-long": "Ablauf überschreitet das maximale Ablaufdatum von {max}.",
"Ablauf überschreitet das maximale Ablaufdatum von {max}.",
"upload.modal.link.label": "Link", "upload.modal.link.label": "Link",
"upload.modal.expires.label": "Gültig bis", "upload.modal.expires.label": "Gültig bis",
"upload.modal.expires.minute-singular": "Minute", "upload.modal.expires.minute-singular": "Minute",
@@ -276,8 +242,7 @@ export default {
"upload.modal.expires.year-plural": "Year", "upload.modal.expires.year-plural": "Year",
"upload.modal.accordion.name-and-description.title": "Name und Beschreibung", "upload.modal.accordion.name-and-description.title": "Name und Beschreibung",
"upload.modal.accordion.name-and-description.name.placeholder": "Name", "upload.modal.accordion.name-and-description.name.placeholder": "Name",
"upload.modal.accordion.name-and-description.description.placeholder": "upload.modal.accordion.name-and-description.description.placeholder": "Hinweis für die Empfänger dieser Freigabe",
"Hinweis für die Empfänger dieser Freigabe",
"upload.modal.accordion.email.title": "Email Empfänger", "upload.modal.accordion.email.title": "Email Empfänger",
"upload.modal.accordion.email.placeholder": "Email der Empfänger eingeben", "upload.modal.accordion.email.placeholder": "Email der Empfänger eingeben",
"upload.modal.accordion.email.invalid-email": "Ungültige Emailadresse", "upload.modal.accordion.email.invalid-email": "Ungültige Emailadresse",
@@ -288,40 +253,33 @@ export default {
"upload.modal.accordion.security.max-views.placeholder": "Unbegrenzt", "upload.modal.accordion.security.max-views.placeholder": "Unbegrenzt",
// showCompletedUploadModal.tsx // showCompletedUploadModal.tsx
"upload.modal.completed.never-expires": "Diese Freigabe läuft niemals ab.", "upload.modal.completed.never-expires": "Diese Freigabe läuft niemals ab.",
"upload.modal.completed.expires-on": "upload.modal.completed.expires-on": "Diese Freigabe wird am {expiration} ablaufen.",
"Diese Freigabe wird am {expiration} ablaufen.",
"upload.modal.completed.share-ready": "Freigabe bereit", "upload.modal.completed.share-ready": "Freigabe bereit",
// END /upload // END /upload
// /share/[id] // /share/[id]
"share.title": "Freigabe {shareId}", "share.title": "Freigabe {shareId}",
"share.description": "Schau, was ich mit dir geteilt habe!", "share.description": "Schau, was ich mit dir geteilt habe!",
"share.error.visitor-limit-exceeded.title": "Besucher Limit erreicht", "share.error.visitor-limit-exceeded.title": "Besucher Limit erreicht",
"share.error.visitor-limit-exceeded.description": "share.error.visitor-limit-exceeded.description": "Die maximale Besucheranzahl für diese Freigabe ist überschritten.",
"Die maximale Besucheranzahl für diese Freigabe ist überschritten.",
"share.error.removed.title": "Freigabe entfernt", "share.error.removed.title": "Freigabe entfernt",
"share.error.not-found.title": "Freigabe nicht gefunden", "share.error.not-found.title": "Freigabe nicht gefunden",
"share.error.not-found.description": "Die gesuchte Freigabe existiert nicht.", "share.error.not-found.description": "Die gesuchte Freigabe existiert nicht.",
"share.modal.password.title": "Passwort erforderlich", "share.modal.password.title": "Passwort erforderlich",
"share.modal.password.description": "share.modal.password.description": "Um auf diese Freigabe zuzugreifen, gib bitte das Passwort für die Freigabe ein.",
"Um auf diese Freigabe zuzugreifen, gib bitte das Passwort für die Freigabe ein.",
"share.modal.password": "Passwort", "share.modal.password": "Passwort",
"share.modal.error.invalid-password": "Ungültiges Passwort", "share.modal.error.invalid-password": "Ungültiges Passwort",
"share.button.download-all": "Alles herunterladen", "share.button.download-all": "Alles herunterladen",
"share.notify.download-all-preparing": "share.notify.download-all-preparing": "Die Freigabe wird vorbereitet. Versuche es in ein paar Minuten erneut.",
"Die Freigabe wird vorbereitet. Versuche es in ein paar Minuten erneut.",
"share.modal.file-link": "Dateilink", "share.modal.file-link": "Dateilink",
"share.table.name": "Name", "share.table.name": "Name",
"share.table.size": "Größe", "share.table.size": "Größe",
"share.modal.file-preview.error.not-supported.title": "share.modal.file-preview.error.not-supported.title": "Vorschau wird nicht unterstützt",
"Vorschau wird nicht unterstützt", "share.modal.file-preview.error.not-supported.description": "Eine Vorschau für diesen Dateityp wird nicht unterstützt. Bitte lade die Datei herunter, um sie anzusehen.",
"share.modal.file-preview.error.not-supported.description":
"Eine Vorschau für diesen Dateityp wird nicht unterstützt. Bitte lade die Datei herunter, um sie anzusehen.",
// END /share/[id] // END /share/[id]
// /share/[id]/edit // /share/[id]/edit
"share.edit.title": "{shareId} bearbeiten", "share.edit.title": "{shareId} bearbeiten",
"share.edit.append-upload": "Datei anfügen", "share.edit.append-upload": "Datei anfügen",
"share.edit.notify.generic-error": "share.edit.notify.generic-error": "Während der Erstellung der Freigabe ist ein Fehler aufgetreten.",
"Während der Erstellung der Freigabe ist ein Fehler aufgetreten.",
"share.edit.notify.save-success": "Freigabe erfolgreich aktualisiert", "share.edit.notify.save-success": "Freigabe erfolgreich aktualisiert",
// END /share/[id]/edit // END /share/[id]/edit
// /admin/config // /admin/config
@@ -334,142 +292,105 @@ export default {
"admin.config.general.app-name": "App-Name", "admin.config.general.app-name": "App-Name",
"admin.config.general.app-name.description": "Name der Applikation", "admin.config.general.app-name.description": "Name der Applikation",
"admin.config.general.app-url": "App-URL", "admin.config.general.app-url": "App-URL",
"admin.config.general.app-url.description": "admin.config.general.app-url.description": "Auf welcher URL Pingvin Share verfügbar ist",
"Auf welcher URL Pingvin Share verfügbar ist",
"admin.config.general.show-home-page": "Startseite anzeigen", "admin.config.general.show-home-page": "Startseite anzeigen",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description": "Ob die Startseite angezeigt werden soll",
"Ob die Startseite angezeigt werden soll", "admin.config.general.session-duration": "Session-Dauer",
"admin.config.general.session-duration.description": "Zeit in Stunden, nach der ein Benutzer sich erneut anmelden muss (Voreinstellung: 3 Monate).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description": "Ändere dein Logo durch Hochladen eines Bildes. Das Bild muss im PNG-Format vorliegen und sollte mit Seitenverhältnis 1:1 sein.",
"Ändere dein Logo durch Hochladen eines Bildes. Das Bild muss im PNG-Format vorliegen und sollte mit Seitenverhältnis 1:1 sein.",
"admin.config.general.logo.placeholder": "Bild auswählen", "admin.config.general.logo.placeholder": "Bild auswählen",
"admin.config.email.enable-share-email-recipients": "admin.config.email.enable-share-email-recipients": "Erlaube das Teilen der Freigabe via Email",
"Erlaube das Teilen der Freigabe via Email", "admin.config.email.enable-share-email-recipients.description": "Gibt an, ob Emails an Freigabe-Empfänger ermöglicht werden sollen. Aktiviere dies nur, wenn Du SMTP aktivierst hast.",
"admin.config.email.enable-share-email-recipients.description": "admin.config.email.share-recipients-subject": "Betreff für Freigabe-Empfänger",
"Gibt an, ob Emails an Freigabe-Empfänger ermöglicht werden sollen. Aktiviere dies nur, wenn Du SMTP aktivierst hast.", "admin.config.email.share-recipients-subject.description": "Betreff der E-Mail, die an die Freigabe-Empfänger gesendet wird.",
"admin.config.email.share-recipients-subject": "admin.config.email.share-recipients-message": "Nachricht für Freigabe-Empfänger",
"Betreff für Freigabe-Empfänger", "admin.config.email.share-recipients-message.description": "Nachricht, die an die Freigabe-Empfänger gesendet wird. Verfügbare Variablen:\n- {creator} - Der Benutzername des Erstellers der Freigabe\n- {shareUrl} - Die URL der Freigabe\n- {desc} - Die Beschreibung der Freigabe\n- {expires} - Das Ablaufdatum der Freigabe\nVariablen werden durch die tatsächlichen Werte ersetzt.",
"admin.config.email.share-recipients-subject.description":
"Betreff der E-Mail, die an die Freigabe-Empfänger gesendet wird.",
"admin.config.email.share-recipients-message":
"Nachricht für Freigabe-Empfänger",
"admin.config.email.share-recipients-message.description":
"Nachricht, die an die Freigabe-Empfänger gesendet wird. Verfügbare Variablen:\n- {creator} - Der Benutzername des Erstellers der Freigabe\n- {shareUrl} - Die URL der Freigabe\n- {desc} - Die Beschreibung der Freigabe\n- {expires} - Das Ablaufdatum der Freigabe\nVariablen werden durch die tatsächlichen Werte ersetzt.",
"admin.config.email.reverse-share-subject": "Name der externen Freigabe", "admin.config.email.reverse-share-subject": "Name der externen Freigabe",
"admin.config.email.reverse-share-subject.description": "admin.config.email.reverse-share-subject.description": "Betreff der Email, die gesendet wird, wenn jemand eine Datei mit deinem externen Freigabe-Link hochlädt.",
"Betreff der Email, die gesendet wird, wenn jemand eine Datei mit deinem externen Freigabe-Link hochlädt.",
"admin.config.email.reverse-share-message": "Nachricht für externe Freigabe", "admin.config.email.reverse-share-message": "Nachricht für externe Freigabe",
"admin.config.email.reverse-share-message.description": "admin.config.email.reverse-share-message.description": "Nachricht, die gesendet wird, wenn jemand eine Freigabe mit deinem externen Freigabe-Link erstellt. {shareUrl} wird durch den Namen des Erstellers und die Freigabe-URL ersetzt.",
"Nachricht, die gesendet wird, wenn jemand eine Freigabe mit deinem externen Freigabe-Link erstellt. {shareUrl} wird durch den Namen des Erstellers und die Freigabe-URL ersetzt.", "admin.config.email.reset-password-subject": "Betreff für Passwortzurücksetzung",
"admin.config.email.reset-password-subject": "admin.config.email.reset-password-subject.description": "Betreff der E-Mail, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert.",
"Betreff für Passwortzurücksetzung", "admin.config.email.reset-password-message": "Nachricht für Passwortzurücksetzung",
"admin.config.email.reset-password-subject.description": "admin.config.email.reset-password-message.description": "Nachricht, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert. {url} wird durch die URL für das Zurücksetzen des Passworts ersetzt.",
"Betreff der E-Mail, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert.",
"admin.config.email.reset-password-message":
"Nachricht für Passwortzurücksetzung",
"admin.config.email.reset-password-message.description":
"Nachricht, die gesendet wird, wenn ein Benutzer eine Passwortzurücksetzung anfordert. {url} wird durch die URL für das Zurücksetzen des Passworts ersetzt.",
"admin.config.email.invite-subject": "Betreff für Einladung", "admin.config.email.invite-subject": "Betreff für Einladung",
"admin.config.email.invite-subject.description": "admin.config.email.invite-subject.description": "Betreff der E-Mail, die gesendet wird, wenn ein Administrator einen Benutzer einlädt.",
"Betreff der E-Mail, die gesendet wird, wenn ein Administrator einen Benutzer einlädt.",
"admin.config.email.invite-message": "Nachricht für Einladung", "admin.config.email.invite-message": "Nachricht für Einladung",
"admin.config.email.invite-message.description": "admin.config.email.invite-message.description": "Nachricht, die gesendet wird, wenn ein Administrator einen Benutzer einlädt. {url} wird durch die Einladungs-URL und {password} durch das Passwort ersetzt.",
"Nachricht, die gesendet wird, wenn ein Administrator einen Benutzer einlädt. {url} wird durch die Einladungs-URL und {password} durch das Passwort ersetzt.",
"admin.config.share.allow-registration": "Registrierung erlauben", "admin.config.share.allow-registration": "Registrierung erlauben",
"admin.config.share.allow-registration.description": "admin.config.share.allow-registration.description": "Gibt an, ob eine Registrierung erlaubt ist",
"Gibt an, ob eine Registrierung erlaubt ist", "admin.config.share.allow-unauthenticated-shares": "Nicht authentifizierte Freigaben erlauben",
"admin.config.share.allow-unauthenticated-shares": "admin.config.share.allow-unauthenticated-shares.description": "Gibt an, ob nicht authentifizierte Benutzer Freigaben erstellen können",
"Nicht authentifizierte Freigaben erlauben",
"admin.config.share.allow-unauthenticated-shares.description":
"Gibt an, ob nicht authentifizierte Benutzer Freigaben erstellen können",
"admin.config.share.max-expiration": "Max. Ablaufdatum", "admin.config.share.max-expiration": "Max. Ablaufdatum",
"admin.config.share.max-expiration.description": "admin.config.share.max-expiration.description": "Maximale Ablaufzeit in Stunden. Auf 0 setzen, um kein Ablaufdatum zu definieren.",
"Maximale Ablaufzeit in Stunden. Auf 0 setzen, um kein Ablaufdatum zu definieren.",
"admin.config.share.max-size": "Maximale Größe", "admin.config.share.max-size": "Maximale Größe",
"admin.config.share.max-size.description": "admin.config.share.max-size.description": "Maximale Größe einer Freigabe in Bytes",
"Maximale Größe einer Freigabe in Bytes",
"admin.config.share.zip-compression-level": "Zip Komprimierungsstufe", "admin.config.share.zip-compression-level": "Zip Komprimierungsstufe",
"admin.config.share.zip-compression-level.description": "admin.config.share.zip-compression-level.description": "Passe den Wert an, um ein Gleichgewicht zwischen Dateigröße und Komprimierungsgeschwindigkeit herzustellen. Gültige Werte liegen zwischen 0 und 9, wobei 0 für keine Komprimierung und 9 für maximale Komprimierung steht.",
"Passe den Wert an, um ein Gleichgewicht zwischen Dateigröße und Komprimierungsgeschwindigkeit herzustellen. Gültige Werte liegen zwischen 0 und 9, wobei 0 für keine Komprimierung und 9 für maximale Komprimierung steht.",
"admin.config.share.chunk-size": "Chunkgröße", "admin.config.share.chunk-size": "Chunkgröße",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description": "Passe die Chunkgröße (in Bytes) für deine Uploads an, um die Zuverlässigkeit deiner Internetverbindung auszugleichen. Kleinere Chunks können die Erfolgsraten für instabile Verbindungen verbessern, während größere Chunks Uploads für stabile Verbindungen beschleunigen können.",
"Passe die Chunkgröße (in Bytes) für deine Uploads an, um die Zuverlässigkeit deiner Internetverbindung auszugleichen. Kleinere Chunks können die Erfolgsraten für instabile Verbindungen verbessern, während größere Chunks Uploads für stabile Verbindungen beschleunigen können.", "admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description": "The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Aktiviert", "admin.config.smtp.enabled": "Aktiviert",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description": "Gibt an, ob SMTP aktiviert ist. Aktiviere dies nur, wenn Du den Host, den Port, die Email, den Benutzernamen und das Passwort deines SMTP-Servers eingegeben hast.",
"Gibt an, ob SMTP aktiviert ist. Aktiviere dies nur, wenn Du den Host, den Port, die Email, den Benutzernamen und das Passwort deines SMTP-Servers eingegeben hast.",
"admin.config.smtp.host": "Host", "admin.config.smtp.host": "Host",
"admin.config.smtp.host.description": "Host des SMTP-Servers", "admin.config.smtp.host.description": "Host des SMTP-Servers",
"admin.config.smtp.port": "Port", "admin.config.smtp.port": "Port",
"admin.config.smtp.port.description": "Port des SMTP-Servers", "admin.config.smtp.port.description": "Port des SMTP-Servers",
"admin.config.smtp.email": "E-Mail", "admin.config.smtp.email": "E-Mail",
"admin.config.smtp.email.description": "admin.config.smtp.email.description": "E-Mail-Adresse, von der die E-Mails gesendet werden",
"E-Mail-Adresse, von der die E-Mails gesendet werden",
"admin.config.smtp.username": "Benutzername", "admin.config.smtp.username": "Benutzername",
"admin.config.smtp.username.description": "Benutzername des SMTP-Servers", "admin.config.smtp.username.description": "Benutzername des SMTP-Servers",
"admin.config.smtp.password": "Passwort", "admin.config.smtp.password": "Passwort",
"admin.config.smtp.password.description": "Passwort des SMTP-Servers", "admin.config.smtp.password.description": "Passwort des SMTP-Servers",
"admin.config.smtp.button.test": "Test-E-Mail senden", "admin.config.smtp.button.test": "Test-E-Mail senden",
"admin.config.smtp.allow-unauthorized-certificates": "Vertrauen von nicht authentifizierten SMTP-Server-Zertifikaten",
"admin.config.smtp.allow-unauthorized-certificates.description": "Verwenden Sie diese Option nur, wenn Sie selbst signierten Zertifikaten vertrauen müssen.",
"admin.config.oauth.allow-registration": "Registrierung erlauben", "admin.config.oauth.allow-registration": "Registrierung erlauben",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description": "Benutzern erlauben, sich über Soziale Netzwerke zu registrieren",
"Benutzern erlauben, sich über Soziale Netzwerke zu registrieren",
"admin.config.oauth.ignore-totp": "TOTP ignorieren", "admin.config.oauth.ignore-totp": "TOTP ignorieren",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Gibt an, ob TOTP ignoriert werden soll, wenn sich der Benutzer über Soziale Netzwerke anmeldet",
"Gibt an, ob TOTP ignoriert werden soll, wenn sich der Benutzer über Soziale Netzwerke anmeldet", "admin.config.oauth.disable-password": "Anmelden mit Passwort deaktivieren",
"admin.config.oauth.disable-password.description": "Deaktiviert das Anmelden mit Passwort\nStelle vor Aktivierung dieser Konfiguration sicher, dass ein OAuth-Provider korrekt konfiguriert ist, um nicht ausgesperrt zu werden.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "GitHub Anmeldung erlaubt", "admin.config.oauth.github-enabled.description": "GitHub Anmeldung erlaubt",
"admin.config.oauth.github-client-id": "GitHub Client-ID", "admin.config.oauth.github-client-id": "GitHub Client-ID",
"admin.config.oauth.github-client-id.description": "admin.config.oauth.github-client-id.description": "Client-ID der GitHub OAuth-App",
"Client-ID der GitHub OAuth-App",
"admin.config.oauth.github-client-secret": "GitHub Client-Secret", "admin.config.oauth.github-client-secret": "GitHub Client-Secret",
"admin.config.oauth.github-client-secret.description": "admin.config.oauth.github-client-secret.description": "Client-Secret der GitHub OAuth-App",
"Client-Secret der GitHub OAuth-App",
"admin.config.oauth.google-enabled": "Google", "admin.config.oauth.google-enabled": "Google",
"admin.config.oauth.google-enabled.description": "Google Anmeldung erlaubt", "admin.config.oauth.google-enabled.description": "Google Anmeldung erlaubt",
"admin.config.oauth.google-client-id": "Google Client-ID", "admin.config.oauth.google-client-id": "Google Client-ID",
"admin.config.oauth.google-client-id.description": "admin.config.oauth.google-client-id.description": "Client-ID der Google OAuth-App",
"Client-ID der Google OAuth-App",
"admin.config.oauth.google-client-secret": "Google Client-Secret", "admin.config.oauth.google-client-secret": "Google Client-Secret",
"admin.config.oauth.google-client-secret.description": "admin.config.oauth.google-client-secret.description": "Client-Secret der Google OAuth-App",
"Client-Secret der Google OAuth-App",
"admin.config.oauth.microsoft-enabled": "Microsoft", "admin.config.oauth.microsoft-enabled": "Microsoft",
"admin.config.oauth.microsoft-enabled.description": "admin.config.oauth.microsoft-enabled.description": "Microsoft Anmeldung erlaubt",
"Microsoft Anmeldung erlaubt",
"admin.config.oauth.microsoft-tenant": "Microsoft Mandant", "admin.config.oauth.microsoft-tenant": "Microsoft Mandant",
"admin.config.oauth.microsoft-tenant.description": "admin.config.oauth.microsoft-tenant.description": "Mandant-ID der Microsoft OAuth App\ncommon: Benutzer mit einem persönlichen Microsoft-Konto und einem Arbeits- oder Schulkonto von Microsoft Entra ID können sich in der Anwendung anmelden.\norganizations: Nur Benutzer mit Arbeits- oder Schulkonten von Microsoft Entra ID können sich in der Anwendung anmelden.\nconsumers: Nur Benutzer mit einem persönlichen Microsoft-Konto können sich in der Anwendung anmelden.\nDomänenname des Microsoft Entra Mandanten oder die Mandanten-ID im GUID-Format: Nur Benutzer eines bestimmten Microsoft Entra Mandanten (Verzeichnismitglieder mit einem Arbeits- oder Schulkonto oder Verzeichnis Gäste mit einem persönlichen Microsoft-Konto) können sich anmelden.",
"Mandant-ID der Microsoft OAuth App\ncommon: Benutzer mit einem persönlichen Microsoft-Konto und einem Arbeits- oder Schulkonto von Microsoft Entra ID können sich in der Anwendung anmelden.\norganizations: Nur Benutzer mit Arbeits- oder Schulkonten von Microsoft Entra ID können sich in der Anwendung anmelden.\nconsumers: Nur Benutzer mit einem persönlichen Microsoft-Konto können sich in der Anwendung anmelden.\nDomänenname des Microsoft Entra Mandanten oder die Mandanten-ID im GUID-Format: Nur Benutzer eines bestimmten Microsoft Entra Mandanten (Verzeichnismitglieder mit einem Arbeits- oder Schulkonto oder Verzeichnis Gäste mit einem persönlichen Microsoft-Konto) können sich anmelden.",
"admin.config.oauth.microsoft-client-id": "Microsoft Client-ID", "admin.config.oauth.microsoft-client-id": "Microsoft Client-ID",
"admin.config.oauth.microsoft-client-id.description": "admin.config.oauth.microsoft-client-id.description": "Client-ID der Microsoft OAuth-App",
"Client-ID der Microsoft OAuth-App",
"admin.config.oauth.microsoft-client-secret": "Microsoft Client-Secret", "admin.config.oauth.microsoft-client-secret": "Microsoft Client-Secret",
"admin.config.oauth.microsoft-client-secret.description": "admin.config.oauth.microsoft-client-secret.description": "Client-Secret der Microsoft OAuth-App",
"Client-Secret der Microsoft OAuth-App",
"admin.config.oauth.discord-enabled": "Discord", "admin.config.oauth.discord-enabled": "Discord",
"admin.config.oauth.discord-enabled.description": "Discord Anmeldung erlaubt", "admin.config.oauth.discord-enabled.description": "Discord Anmeldung erlaubt",
"admin.config.oauth.discord-limited-guild": "Discord Server-ID", "admin.config.oauth.discord-limited-guild": "Discord Server-ID",
"admin.config.oauth.discord-limited-guild.description": "admin.config.oauth.discord-limited-guild.description": "Die Anmeldung auf Benutzer in einem bestimmten Server beschränken. Leer lassen, um zu deaktivieren.",
"Die Anmeldung auf Benutzer in einem bestimmten Server beschränken. Leer lassen, um zu deaktivieren.",
"admin.config.oauth.discord-client-id": "Discord Client-ID", "admin.config.oauth.discord-client-id": "Discord Client-ID",
"admin.config.oauth.discord-client-id.description": "admin.config.oauth.discord-client-id.description": "Client-ID der Discord OAuth-App",
"Client-ID der Discord OAuth-App",
"admin.config.oauth.discord-client-secret": "Discord Client-Secret", "admin.config.oauth.discord-client-secret": "Discord Client-Secret",
"admin.config.oauth.discord-client-secret.description": "admin.config.oauth.discord-client-secret.description": "Client-Secret der Discord OAuth-App",
"Client-Secret der Discord OAuth-App",
"admin.config.oauth.oidc-enabled": "OpenID Connect", "admin.config.oauth.oidc-enabled": "OpenID Connect",
"admin.config.oauth.oidc-enabled.description": "admin.config.oauth.oidc-enabled.description": "OpenID Connect Anmeldung erlaubt",
"OpenID Connect Anmeldung erlaubt",
"admin.config.oauth.oidc-discovery-uri": "OpenID Verbindung Discovery URL", "admin.config.oauth.oidc-discovery-uri": "OpenID Verbindung Discovery URL",
"admin.config.oauth.oidc-discovery-uri.description": "admin.config.oauth.oidc-discovery-uri.description": "Discovery-URL der OpenID OAuth App",
"Discovery-URL der OpenID OAuth App", "admin.config.oauth.oidc-username-claim": "OpenID Connect Benutzername anfordern",
"admin.config.oauth.oidc-username-claim": "admin.config.oauth.oidc-username-claim.description": "Benutzername im OpenID Token. Leer lassen, wenn du nicht weißt, was diese Konfiguration bedeutet.",
"OpenID Connect Benutzername anfordern",
"admin.config.oauth.oidc-username-claim.description":
"Benutzername im OpenID Token. Leer lassen, wenn du nicht weißt, was diese Konfiguration bedeutet.",
"admin.config.oauth.oidc-client-id": "OpenID Connect Client-ID", "admin.config.oauth.oidc-client-id": "OpenID Connect Client-ID",
"admin.config.oauth.oidc-client-id.description": "admin.config.oauth.oidc-client-id.description": "Client-ID der OpenID Connect OAuth-App",
"Client-ID der OpenID Connect OAuth-App",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client-Secret", "admin.config.oauth.oidc-client-secret": "OpenID Connect Client-Secret",
"admin.config.oauth.oidc-client-secret.description": "admin.config.oauth.oidc-client-secret.description": "Client-Secret der OpenID Connect OAuth-App",
"Client-Secret der OpenID Connect OAuth-App",
// 404 // 404
"404.description": "Ups, diese Seite existiert nicht.", "404.description": "Ups, diese Seite existiert nicht.",
"404.button.home": "Zurück zur Startseite", "404.button.home": "Zurück zur Startseite",
@@ -478,25 +399,16 @@ export default {
"error.description": "Ups!", "error.description": "Ups!",
"error.button.back": "Zurück", "error.button.back": "Zurück",
"error.msg.default": "Etwas ist schief gelaufen.", "error.msg.default": "Etwas ist schief gelaufen.",
"error.msg.access_denied": "error.msg.access_denied": "Du hast den Authentifizierungsprozess abgebrochen, bitte versuche es erneut.",
"Du hast den Authentifizierungsprozess abgebrochen, bitte versuche es erneut.", "error.msg.expired_token": "Der Authentifizierungsprozess hat zu lange gedauert, bitte versuche es erneut.",
"error.msg.expired_token":
"Der Authentifizierungsprozess hat zu lange gedauert, bitte versuche es erneut.",
"error.msg.invalid_token": "Interner Fehler", "error.msg.invalid_token": "Interner Fehler",
"error.msg.no_user": "error.msg.no_user": "Der mit diesem {0} Konto verknüpfte Benutzer existiert nicht.",
"Der mit diesem {0} Konto verknüpfte Benutzer existiert nicht.", "error.msg.no_email": "Kann die E-Mail-Adresse von dem Konto {0} nicht abrufen.",
"error.msg.no_email": "error.msg.already_linked": "Das Konto {0} ist bereits mit einem anderen Konto verknüpft.",
"Kann die E-Mail-Adresse von dem Konto {0} nicht abrufen.", "error.msg.not_linked": "Das Konto {0} wurde noch nicht mit einem Konto verknüpft.",
"error.msg.already_linked": "error.msg.unverified_account": "Dieses Konto {0} wurde noch nicht verifiziert, bitte versuche es nach der Verifikation erneut.",
"Das Konto {0} ist bereits mit einem anderen Konto verknüpft.", "error.msg.discord_guild_permission_denied": "Du bist nicht berechtigt, Dich anzumelden.",
"error.msg.not_linked": "error.msg.cannot_get_user_info": "Deine Benutzerinformationen können nicht von diesem Konto {0} abgerufen werden.",
"Das Konto {0} wurde noch nicht mit einem Konto verknüpft.",
"error.msg.unverified_account":
"Dieses Konto {0} wurde noch nicht verifiziert, bitte versuchen Sie es nach der Verifikation erneut.",
"error.msg.discord_guild_permission_denied":
"Du bist nicht berechtigt, Dich anzumelden.",
"error.msg.cannot_get_user_info":
"Deine Benutzerinformationen können nicht von diesem Konto {0} abgerufen werden.",
"error.param.provider_github": "GitHub", "error.param.provider_github": "GitHub",
"error.param.provider_google": "Google", "error.param.provider_google": "Google",
"error.param.provider_microsoft": "Microsoft", "error.param.provider_microsoft": "Microsoft",
@@ -527,5 +439,5 @@ export default {
"common.error.too-long": "Muss maximal {length} Zeichen enthalten", "common.error.too-long": "Muss maximal {length} Zeichen enthalten",
"common.error.exact-length": "Muss genau {length} Zeichen lang sein", "common.error.exact-length": "Muss genau {length} Zeichen lang sein",
"common.error.invalid-number": "Muss eine Zahl sein", "common.error.invalid-number": "Muss eine Zahl sein",
"common.error.field-required": "Dieses Feld ist erforderlich", "common.error.field-required": "Dieses Feld ist erforderlich"
}; };

View File

@@ -41,6 +41,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Παρακαλώ εισάγετε τον κωδικό 2FA.", "Παρακαλώ εισάγετε τον κωδικό 2FA.",
"signIn.oauth.or": "Ή", "signIn.oauth.or": "Ή",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -348,6 +349,9 @@ export default {
"admin.config.general.show-home-page": "Εμφάνιση αρχικής σελίδας", "admin.config.general.show-home-page": "Εμφάνιση αρχικής σελίδας",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Εάν θα εμφανίζεται η αρχική σελίδα", "Εάν θα εμφανίζεται η αρχική σελίδα",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Λογότυπο", "admin.config.general.logo": "Λογότυπο",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Αλλάξτε το λογότυπό σας ανεβάζοντας μια νέα εικόνα. Η εικόνα πρέπει να είναι PNG και αναλογία 1:1.", "Αλλάξτε το λογότυπό σας ανεβάζοντας μια νέα εικόνα. Η εικόνα πρέπει να είναι PNG και αναλογία 1:1.",
@@ -404,6 +408,9 @@ export default {
"admin.config.share.chunk-size": "Μέγεθος κομματιών", "admin.config.share.chunk-size": "Μέγεθος κομματιών",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Προσαρμόστε το μέγεθος κομματιών (σε bytes) για να εξισορροπήσετε την αποδοτικότητα και την αξιοπιστία του συστήματος σύμφωνα με τη σύνδεσή σας στο διαδίκτυο. Μικρότερα κομμάτια μπορούν να βελτιώσουν τα ποσοστά επιτυχίας σε ασταθείς συνδέσεις, ενώ μεγαλύτερα κομμάτια επιταχύνουν τις μεταφορτώσεις σε σταθερές συνδέσεις.", "Προσαρμόστε το μέγεθος κομματιών (σε bytes) για να εξισορροπήσετε την αποδοτικότητα και την αξιοπιστία του συστήματος σύμφωνα με τη σύνδεσή σας στο διαδίκτυο. Μικρότερα κομμάτια μπορούν να βελτιώσουν τα ποσοστά επιτυχίας σε ασταθείς συνδέσεις, ενώ μεγαλύτερα κομμάτια επιταχύνουν τις μεταφορτώσεις σε σταθερές συνδέσεις.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Ενεργοποιημένο", "admin.config.smtp.enabled": "Ενεργοποιημένο",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Εάν η λειτουργία SMTP είναι ενεργοποιημένη. Ενεργοποιήστε τη μόνον όταν ορίσετε σωστά τις παραμέτρους που ακολουθούν.", "Εάν η λειτουργία SMTP είναι ενεργοποιημένη. Ενεργοποιήστε τη μόνον όταν ορίσετε σωστά τις παραμέτρους που ακολουθούν.",
@@ -421,12 +428,15 @@ export default {
"admin.config.smtp.password.description": "admin.config.smtp.password.description":
"Κωδικός πρόσβασης στον εξυπηρετητή SMTP", "Κωδικός πρόσβασης στον εξυπηρετητή SMTP",
"admin.config.smtp.button.test": "Αποστολή δοκιμαστικού email", "admin.config.smtp.button.test": "Αποστολή δοκιμαστικού email",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Να επιτρέπεται η εγγραφή", "admin.config.oauth.allow-registration": "Να επιτρέπεται η εγγραφή",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Επιτρέψτε στους χρήστες να εγγραφούν μέσω λογαριασμών κοινωνικής δικτύωσης", "Επιτρέψτε στους χρήστες να εγγραφούν μέσω λογαριασμών κοινωνικής δικτύωσης",
"admin.config.oauth.ignore-totp": "Παράβλεψη TOTP", "admin.config.oauth.ignore-totp": "Παράβλεψη TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Αν θα αγνοηθεί το TOTP όταν ο χρήστης χρησιμοποιεί την κοινωνική σύνδεση",
"Αν θα αγνοηθεί το TOTP όταν ο χρήστης χρησιμοποιεί την κοινωνική σύνδεση", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Αν είναι ενεργοποιημένη η σύνδεση GitHub", "Αν είναι ενεργοποιημένη η σύνδεση GitHub",

View File

@@ -44,6 +44,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Please enter your two-factor authentication code", "Please enter your two-factor authentication code",
"signIn.oauth.or": "OR", "signIn.oauth.or": "OR",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -399,6 +400,9 @@ export default {
"admin.config.general.show-home-page": "Show home page", "admin.config.general.show-home-page": "Show home page",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Whether to show the home page", "Whether to show the home page",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Change your logo by uploading a new image. The image must be a PNG and should have the format 1:1.", "Change your logo by uploading a new image. The image must be a PNG and should have the format 1:1.",
@@ -432,6 +436,7 @@ export default {
"admin.config.email.invite-message": "Invite message", "admin.config.email.invite-message": "Invite message",
"admin.config.email.invite-message.description": "admin.config.email.invite-message.description":
"Message which gets sent when an admin invites a user. {url} will be replaced with the invite URL and {password} with the password.", "Message which gets sent when an admin invites a user. {url} will be replaced with the invite URL and {password} with the password.",
"admin.config.share.allow-registration": "Allow registration", "admin.config.share.allow-registration": "Allow registration",
"admin.config.share.allow-registration.description": "admin.config.share.allow-registration.description":
"Whether registration is allowed", "Whether registration is allowed",
@@ -448,9 +453,11 @@ export default {
"admin.config.share.zip-compression-level.description": "admin.config.share.zip-compression-level.description":
"Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ", "Adjust the level to balance between file size and compression speed. Valid values range from 0 to 9, with 0 being no compression and 9 being maximum compression. ",
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal", "admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description": "The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.", "admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Enabled", "admin.config.smtp.enabled": "Enabled",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
@@ -467,6 +474,10 @@ export default {
"admin.config.smtp.password": "Password", "admin.config.smtp.password": "Password",
"admin.config.smtp.password.description": "Password of the SMTP server", "admin.config.smtp.password.description": "Password of the SMTP server",
"admin.config.smtp.button.test": "Send test email", "admin.config.smtp.button.test": "Send test email",
"admin.config.smtp.allow-unauthorized-certificates":
"Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description":
"Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Allow registration", "admin.config.oauth.allow-registration": "Allow registration",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
@@ -474,6 +485,9 @@ export default {
"admin.config.oauth.ignore-totp": "Ignore TOTP", "admin.config.oauth.ignore-totp": "Ignore TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description":
"Whether to ignore TOTP when user using social login", "Whether to ignore TOTP when user using social login",
"admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description":
"Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Whether GitHub login is enabled", "Whether GitHub login is enabled",

View File

@@ -39,6 +39,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Por favor ingrese su código de autenticación de dos factores", "Por favor ingrese su código de autenticación de dos factores",
"signIn.oauth.or": "O", "signIn.oauth.or": "O",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -343,6 +344,9 @@ export default {
"admin.config.general.show-home-page": "Mostrar página de inicio", "admin.config.general.show-home-page": "Mostrar página de inicio",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Mostrar o no la página de inicio", "Mostrar o no la página de inicio",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Cambia tu logo subiendo una nueva imagen. La imagen debe ser un PNG y debe estar en formato 1:1.", "Cambia tu logo subiendo una nueva imagen. La imagen debe ser un PNG y debe estar en formato 1:1.",
@@ -396,6 +400,9 @@ export default {
"admin.config.share.chunk-size": "Tamaño de los fragmentos", "admin.config.share.chunk-size": "Tamaño de los fragmentos",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Ajusta el tamaño de los fragmentos (en bytes) para tus cargas para equilibrar la eficiencia y la fiabilidad según tu conexión a internet. Fragmentos más pequeños pueden mejorar las tasas de éxito para conexiones inestables, mientras que fragmentos más grandes aceleran las cargas para conexiones estables.", "Ajusta el tamaño de los fragmentos (en bytes) para tus cargas para equilibrar la eficiencia y la fiabilidad según tu conexión a internet. Fragmentos más pequeños pueden mejorar las tasas de éxito para conexiones inestables, mientras que fragmentos más grandes aceleran las cargas para conexiones estables.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Habilitado", "admin.config.smtp.enabled": "Habilitado",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Si SMTP está habilitado. Active solo si ha introducido el host, el puerto, el correo, el usuario y la contraseña de su servidor SMTP.", "Si SMTP está habilitado. Active solo si ha introducido el host, el puerto, el correo, el usuario y la contraseña de su servidor SMTP.",
@@ -411,12 +418,15 @@ export default {
"admin.config.smtp.password": "Contraseña", "admin.config.smtp.password": "Contraseña",
"admin.config.smtp.password.description": "Contraseña del servidor SMTP", "admin.config.smtp.password.description": "Contraseña del servidor SMTP",
"admin.config.smtp.button.test": "Enviar correo de prueba", "admin.config.smtp.button.test": "Enviar correo de prueba",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Permitir registro", "admin.config.oauth.allow-registration": "Permitir registro",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Permitir a los usuarios registrarse mediante login social", "Permitir a los usuarios registrarse mediante login social",
"admin.config.oauth.ignore-totp": "Ignorar TOTP", "admin.config.oauth.ignore-totp": "Ignorar TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Ignorar TOTP cuando el usuario utiliza inicio de sesión social",
"Ignorar TOTP cuando el usuario utiliza inicio de sesión social", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Si el inicio de sesión de GitHub está habilitado", "Si el inicio de sesión de GitHub está habilitado",

View File

@@ -40,6 +40,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Syötä kaksivaiheisen tunnistautumisen koodi tähän", "Syötä kaksivaiheisen tunnistautumisen koodi tähän",
"signIn.oauth.or": "OR", "signIn.oauth.or": "OR",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -339,6 +340,9 @@ export default {
"admin.config.general.show-home-page": "Näytä kotisivu", "admin.config.general.show-home-page": "Näytä kotisivu",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Näytetäänkö kotisivu vai ei", "Näytetäänkö kotisivu vai ei",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Muuta logoa lataamalla uusi kuva. Kuvan on oltava PNG ja sen on oltava formaatti 1:1.", "Muuta logoa lataamalla uusi kuva. Kuvan on oltava PNG ja sen on oltava formaatti 1:1.",
@@ -389,6 +393,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Käytössä", "admin.config.smtp.enabled": "Käytössä",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Onko SMTP käytössä. Aseta tämä todeksi vain, jos olet syöttänyt SMTP-palvelimen isäntän, portin, sähköpostin, käyttäjän ja salasanan.", "Onko SMTP käytössä. Aseta tämä todeksi vain, jos olet syöttänyt SMTP-palvelimen isäntän, portin, sähköpostin, käyttäjän ja salasanan.",
@@ -404,12 +411,15 @@ export default {
"admin.config.smtp.password": "Salasana", "admin.config.smtp.password": "Salasana",
"admin.config.smtp.password.description": "SMTP palvelimen salasana", "admin.config.smtp.password.description": "SMTP palvelimen salasana",
"admin.config.smtp.button.test": "Lähetä testisähköposti", "admin.config.smtp.button.test": "Lähetä testisähköposti",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Allow registration", "admin.config.oauth.allow-registration": "Allow registration",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Allow users to register via social login", "Allow users to register via social login",
"admin.config.oauth.ignore-totp": "Ignore TOTP", "admin.config.oauth.ignore-totp": "Ignore TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login",
"Whether to ignore TOTP when user using social login", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Whether GitHub login is enabled", "Whether GitHub login is enabled",

View File

@@ -40,6 +40,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Veuillez entrer votre code d'authentification à deux facteurs", "Veuillez entrer votre code d'authentification à deux facteurs",
"signIn.oauth.or": "OU", "signIn.oauth.or": "OU",
"signIn.oauth.signInWith": "Se connecter avec",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -341,8 +342,9 @@ export default {
"admin.config.general.app-url.description": "admin.config.general.app-url.description":
"Depuis quel URL le partage Pingvin est disponible", "Depuis quel URL le partage Pingvin est disponible",
"admin.config.general.show-home-page": "Afficher la page daccueil", "admin.config.general.show-home-page": "Afficher la page daccueil",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description": "Afficher ou non la page daccueil",
"Afficher ou non la page daccueil", "admin.config.general.session-duration": "Durée de la session",
"admin.config.general.session-duration.description": "Nombre dheures après lesquelles un utilisateur doit se reconnecter (par défaut : 3 mois).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Changez de logo en envoyant une nouvelle image. Limage doit être au format PNG et doit avoir un ratio 1:1.", "Changez de logo en envoyant une nouvelle image. Limage doit être au format PNG et doit avoir un ratio 1:1.",
@@ -396,6 +398,10 @@ export default {
"admin.config.share.chunk-size": "Taille des tronçons", "admin.config.share.chunk-size": "Taille des tronçons",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Ajustez la taille des tronçons (en octets) pour que vos téléchargements équilibrent efficacité et fiabilité en fonction de votre connexion Internet. Les petits tronçons peuvent améliorer les taux de succès sur les connexions instables, tandis que les tronçons plus importants accélèrent les téléchargements sur les connexions stables.", "Ajustez la taille des tronçons (en octets) pour que vos téléchargements équilibrent efficacité et fiabilité en fonction de votre connexion Internet. Les petits tronçons peuvent améliorer les taux de succès sur les connexions instables, tandis que les tronçons plus importants accélèrent les téléchargements sur les connexions stables.",
"admin.config.share.auto-open-share-modal":
"Ouvrir automatiquement la modale de partage",
"admin.config.share.auto-open-share-modal.description":
"La modale de création de partage apparaît automatiquement lorsquun utilisateur sélectionne des fichiers, ce qui élimine le besoin de cliquer manuellement sur le bouton.",
"admin.config.smtp.enabled": "Activer", "admin.config.smtp.enabled": "Activer",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Active SMTP. Activez ceci uniquement si vous avez saisi lhôte, le port, le courriel, lutilisateur et son mot de passe, de votre serveur SMTP.", "Active SMTP. Activez ceci uniquement si vous avez saisi lhôte, le port, le courriel, lutilisateur et son mot de passe, de votre serveur SMTP.",
@@ -410,13 +416,20 @@ export default {
"admin.config.smtp.username.description": "Nom dutilisateur du serveur SMTP", "admin.config.smtp.username.description": "Nom dutilisateur du serveur SMTP",
"admin.config.smtp.password": "Mot de passe", "admin.config.smtp.password": "Mot de passe",
"admin.config.smtp.password.description": "Mot de passe du serveur SMTP", "admin.config.smtp.password.description": "Mot de passe du serveur SMTP",
"admin.config.smtp.allow-unauthorized-certificates":
"Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description":
"Only set this to true if you need to trust self signed certificates.",
"admin.config.smtp.button.test": "Envoyer un courriel de test", "admin.config.smtp.button.test": "Envoyer un courriel de test",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Autoriser linscription", "admin.config.oauth.allow-registration": "Autoriser linscription",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Permettre aux utilisateurs de sinscrire via leur identifiant social", "Permettre aux utilisateurs de sinscrire via leur identifiant social",
"admin.config.oauth.ignore-totp": "Ignorer TOTP", "admin.config.oauth.ignore-totp": "Ignorer TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Ignorer le TOTP lorsque lutilisateur utilise un identifiant social.",
"Ignorer le TOTP lorsque lutilisateur utilise un identifiant social.", "admin.config.oauth.disable-password": "Désactiver la connexion par mot de passe",
"admin.config.oauth.disable-password.description": "Désactive la connexion par mot de passe\nAssurez-vous quun fournisseur OAuth soit correctement configuré avant dactiver cette configuration pour éviter d'être enfermé.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Permettre la connexion via GitHub.", "Permettre la connexion via GitHub.",

View File

@@ -40,6 +40,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Adja meg a másik úton kapott kódját", "Adja meg a másik úton kapott kódját",
"signIn.oauth.or": "VAGY", "signIn.oauth.or": "VAGY",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -339,6 +340,9 @@ export default {
"admin.config.general.show-home-page": "Kezdőlap mutatása", "admin.config.general.show-home-page": "Kezdőlap mutatása",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"A kezdőlap mutatásának ki- és bekapcsolása", "A kezdőlap mutatásának ki- és bekapcsolása",
"admin.config.general.session-duration": "Munkamenet időtartama",
"admin.config.general.session-duration.description":
"Annak az időtartamnak a megadása, amit követően a felhasználónak ismét be kell jelentkeznie (alapérték: 3 hónap).",
"admin.config.general.logo": "Logó", "admin.config.general.logo": "Logó",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"A logó személyessé tételéhez töltsön fel egy új képet. A formátum legyen PNG, az oldalarány 1:1.", "A logó személyessé tételéhez töltsön fel egy új képet. A formátum legyen PNG, az oldalarány 1:1.",
@@ -390,6 +394,10 @@ export default {
"admin.config.share.chunk-size": "Darabolási méret", "admin.config.share.chunk-size": "Darabolási méret",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Az internet kapcsolat megbízhatóságának és átvitelének megfelelően választható feltöltési darabok mérete bájtban. A kisebb darabok növelhetik a szakadozó kapcsolatok használatának sikerességét, a nagyobb darabok a stabil kapcsolatokat gyorsítják.", "Az internet kapcsolat megbízhatóságának és átvitelének megfelelően választható feltöltési darabok mérete bájtban. A kisebb darabok növelhetik a szakadozó kapcsolatok használatának sikerességét, a nagyobb darabok a stabil kapcsolatokat gyorsítják.",
"admin.config.share.auto-open-share-modal":
"Megosztás létrehozása felület automatikus megjelenítése",
"admin.config.share.auto-open-share-modal.description":
"A mgosztás létrehozása előugró elem automatikusan megjelenik a fájlok kiválasztásakor, ehhez nem szükséges külön kattintani.",
"admin.config.smtp.enabled": "Engedélyezett", "admin.config.smtp.enabled": "Engedélyezett",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"A(z) SMTP bekapcsolása. Csak akkor engedélyezze, ha már megadta a kiszolgáló, port, email, felhasználónév és jelszó beállításokat az SMTP kiszolgálóhoz.", "A(z) SMTP bekapcsolása. Csak akkor engedélyezze, ha már megadta a kiszolgáló, port, email, felhasználónév és jelszó beállításokat az SMTP kiszolgálóhoz.",
@@ -406,12 +414,15 @@ export default {
"admin.config.smtp.password": "Jelszó", "admin.config.smtp.password": "Jelszó",
"admin.config.smtp.password.description": "Jelszó az SMTP kiszolgálón", "admin.config.smtp.password.description": "Jelszó az SMTP kiszolgálón",
"admin.config.smtp.button.test": "Teszt email küldése", "admin.config.smtp.button.test": "Teszt email küldése",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Regisztráció engedélyezése", "admin.config.oauth.allow-registration": "Regisztráció engedélyezése",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"A felhasználók közösségi bejelentkezésen át is regisztrálhatnak", "A felhasználók közösségi bejelentkezésen át is regisztrálhatnak",
"admin.config.oauth.ignore-totp": "TOTP mellőzése", "admin.config.oauth.ignore-totp": "TOTP mellőzése",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "TOTP mellőzése a közösségi bejelentkezést használó felhasználónál",
"TOTP mellőzése a közösségi bejelentkezést használó felhasználónál", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"GitHub bejelentkezés engedélyezése", "GitHub bejelentkezés engedélyezése",

View File

@@ -38,6 +38,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Inserisci il tuo codice di autenticazione a due fattori", "Inserisci il tuo codice di autenticazione a due fattori",
"signIn.oauth.or": "OPPURE", "signIn.oauth.or": "OPPURE",
"signIn.oauth.signInWith": "Registrati con",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -342,6 +343,9 @@ export default {
"admin.config.general.show-home-page": "Visualizza Home Page", "admin.config.general.show-home-page": "Visualizza Home Page",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Indica se mostrare la home page", "Indica se mostrare la home page",
"admin.config.general.session-duration": "Durata della sessione",
"admin.config.general.session-duration.description":
"Tempo in ore dopo il quale un utente deve accedere nuovamente (default: 3 mesi).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Cambia il tuo logo caricando una nuova immagine. L'immagine deve essere un PNG e dovrebbe avere il formato 1:1.", "Cambia il tuo logo caricando una nuova immagine. L'immagine deve essere un PNG e dovrebbe avere il formato 1:1.",
@@ -399,6 +403,10 @@ export default {
"admin.config.share.chunk-size": "Dimensione dei chunk", "admin.config.share.chunk-size": "Dimensione dei chunk",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Regola la dimensione del chunk (in byte) per i tuoi caricamenti per bilanciare l'efficienza e l'affidabilità in base alla tua connessione internet. I chunk più piccoli possono migliorare i tassi di successo per connessioni instabili, mentre i chunks più grandi velocizzano i caricamenti per connessioni stabili.", "Regola la dimensione del chunk (in byte) per i tuoi caricamenti per bilanciare l'efficienza e l'affidabilità in base alla tua connessione internet. I chunk più piccoli possono migliorare i tassi di successo per connessioni instabili, mentre i chunks più grandi velocizzano i caricamenti per connessioni stabili.",
"admin.config.share.auto-open-share-modal":
"Apertura automatica creazione modalità condivisione",
"admin.config.share.auto-open-share-modal.description":
"La modalità di creazione della condivisione viene visualizzata automaticamente quando un utente seleziona i file, eliminando la necessità di fare clic manualmente sul pulsante.",
"admin.config.smtp.enabled": "Abilitato", "admin.config.smtp.enabled": "Abilitato",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Indica se SMTP è abilitato. Impostalo a VERO solo se hai inserito host, porta, email, utente e password del tuo server SMTP.", "Indica se SMTP è abilitato. Impostalo a VERO solo se hai inserito host, porta, email, utente e password del tuo server SMTP.",
@@ -414,12 +422,15 @@ export default {
"admin.config.smtp.password": "Password", "admin.config.smtp.password": "Password",
"admin.config.smtp.password.description": "Password del server SMTP", "admin.config.smtp.password.description": "Password del server SMTP",
"admin.config.smtp.button.test": "Invia e-mail di prova", "admin.config.smtp.button.test": "Invia e-mail di prova",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Consenti la registrazione", "admin.config.oauth.allow-registration": "Consenti la registrazione",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Consenti agli utenti di registrarsi tramite social login", "Consenti agli utenti di registrarsi tramite social login",
"admin.config.oauth.ignore-totp": "Ignora TOTP", "admin.config.oauth.ignore-totp": "Ignora TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Indica se ignorare TOTP quando l'utente utilizza il social login",
"Indica se ignorare TOTP quando l'utente utilizza il social login", "admin.config.oauth.disable-password": "Disabilita l'accesso tramite password",
"admin.config.oauth.disable-password.description": "Nel caso di disabilitazione della password di accesso\nAssicurarti di aver configurato correttamente un provider OAuth prima di attivare questa configurazione, per evitare di essere bloccato fuori dal servizio.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Se l'accesso tramite GitHub è abilitato", "Se l'accesso tramite GitHub è abilitato",

View File

@@ -40,6 +40,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"二段階認証コードを入力してください", "二段階認証コードを入力してください",
"signIn.oauth.or": "または", "signIn.oauth.or": "または",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -335,6 +336,9 @@ export default {
"admin.config.general.show-home-page": "ホームページを表示する", "admin.config.general.show-home-page": "ホームページを表示する",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"ホームページを表示するかどうか選択", "ホームページを表示するかどうか選択",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "ロゴ", "admin.config.general.logo": "ロゴ",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"新しい画像をアップロードしてロゴを変更できます。画像は、PNG形式でアスペクト比が1:1である必要があります。", "新しい画像をアップロードしてロゴを変更できます。画像は、PNG形式でアスペクト比が1:1である必要があります。",
@@ -385,6 +389,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "有効", "admin.config.smtp.enabled": "有効",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"SMTPを有効にするかどうかを選択してください。SMTPサーバーのホスト名、ポート番号、電子メールアドレス、ユーザー名、パスワードが入力されている場合にのみ、有効にしてください。", "SMTPを有効にするかどうかを選択してください。SMTPサーバーのホスト名、ポート番号、電子メールアドレス、ユーザー名、パスワードが入力されている場合にのみ、有効にしてください。",
@@ -399,12 +406,15 @@ export default {
"admin.config.smtp.password": "パスワード", "admin.config.smtp.password": "パスワード",
"admin.config.smtp.password.description": "SMTPサーバーのパスワード", "admin.config.smtp.password.description": "SMTPサーバーのパスワード",
"admin.config.smtp.button.test": "テストメールを送信", "admin.config.smtp.button.test": "テストメールを送信",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "登録を許可する", "admin.config.oauth.allow-registration": "登録を許可する",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"ユーザーにソーシャルアカウント経由での登録を許可します", "ユーザーにソーシャルアカウント経由での登録を許可します",
"admin.config.oauth.ignore-totp": "二段階認証を無視する", "admin.config.oauth.ignore-totp": "二段階認証を無視する",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "ソーシャルログイン時に二段階認証を無視するかどうかを設定します",
"ソーシャルログイン時に二段階認証を無視するかどうかを設定します", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"GitHubアカウントを使用したログインを許可するかどうかを設定します", "GitHubアカウントを使用したログインを許可するかどうかを設定します",

View File

@@ -39,6 +39,7 @@ export default {
"signIn.notify.totp-required.title": "2단계 인증이 필요합니다", "signIn.notify.totp-required.title": "2단계 인증이 필요합니다",
"signIn.notify.totp-required.description": "2단계 인증 코드를 입력해주세요", "signIn.notify.totp-required.description": "2단계 인증 코드를 입력해주세요",
"signIn.oauth.or": "또는", "signIn.oauth.or": "또는",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "깃허브", "signIn.oauth.github": "깃허브",
"signIn.oauth.google": "구글", "signIn.oauth.google": "구글",
"signIn.oauth.microsoft": "마이크로소프트", "signIn.oauth.microsoft": "마이크로소프트",
@@ -49,10 +50,10 @@ export default {
"signup.title": "계정 만들기", "signup.title": "계정 만들기",
"signup.description": "이미 계정이 있으신가요?", "signup.description": "이미 계정이 있으신가요?",
"signup.button.signin": "로그인", "signup.button.signin": "로그인",
"signup.input.username": "사용자 이름", "signup.input.username": "사용자",
"signup.input.username.placeholder": "당신의 사용지 이름", "signup.input.username.placeholder": "귀하의 사용자명",
"signup.input.email": "이메일", "signup.input.email": "이메일",
"signup.input.email.placeholder": "당신의 이메일", "signup.input.email.placeholder": "귀하의 이메일",
"signup.button.submit": "시작하기", "signup.button.submit": "시작하기",
// END /auth/signup // END /auth/signup
// /auth/totp // /auth/totp
@@ -182,7 +183,8 @@ export default {
"account.reverseShares.table.expires": "만료 날짜", "account.reverseShares.table.expires": "만료 날짜",
"account.reverseShares.modal.reverse-share-link": "역방향 공유 링크", "account.reverseShares.modal.reverse-share-link": "역방향 공유 링크",
"account.reverseShares.modal.delete.title": "역방향 공유 삭제", "account.reverseShares.modal.delete.title": "역방향 공유 삭제",
"account.reverseShares.modal.delete.description": "이 역방향 공유를 삭제하시겠습니까? 삭제하면 관련 공유도 삭제됩니다.", "account.reverseShares.modal.delete.description":
"이 역방향 공유를 삭제하시겠습니까? 삭제하면 관련 공유도 삭제됩니다.",
// END /account/reverseShares // END /account/reverseShares
// /admin // /admin
"admin.title": "관리자", "admin.title": "관리자",
@@ -203,16 +205,19 @@ export default {
"admin.users.edit.update.change-password.button": "새 비밀번호 저장", "admin.users.edit.update.change-password.button": "새 비밀번호 저장",
"admin.users.edit.update.notify.password.success": "비밀번호 변경 완료", "admin.users.edit.update.notify.password.success": "비밀번호 변경 완료",
"admin.users.edit.delete.title": "{username} 사용자 삭제", "admin.users.edit.delete.title": "{username} 사용자 삭제",
"admin.users.edit.delete.description": "이 사용자의 모든 공유를 삭제하시겠습니까?", "admin.users.edit.delete.description":
"이 사용자의 모든 공유를 삭제하시겠습니까?",
// showCreateUserModal.tsx // showCreateUserModal.tsx
"admin.users.modal.create.title": "사용자 생성", "admin.users.modal.create.title": "사용자 생성",
"admin.users.modal.create.username": "사용자 이름", "admin.users.modal.create.username": "사용자 이름",
"admin.users.modal.create.email": "이메일", "admin.users.modal.create.email": "이메일",
"admin.users.modal.create.password": "비밀번호", "admin.users.modal.create.password": "비밀번호",
"admin.users.modal.create.manual-password": "수동 암호 설정", "admin.users.modal.create.manual-password": "수동 암호 설정",
"admin.users.modal.create.manual-password.description": "선택하지 않으면 사용자는 암호를 설정할 수 있는 링크가 포함된 이메일을 받게 됩니다.", "admin.users.modal.create.manual-password.description":
"선택하지 않으면 사용자는 암호를 설정할 수 있는 링크가 포함된 이메일을 받게 됩니다.",
"admin.users.modal.create.admin": "Admin Privilege", "admin.users.modal.create.admin": "Admin Privilege",
"admin.users.modal.create.admin.description": "이 옵션을 선택하면 사용자는 관리 패널에 액세스할 수 있습니다.", "admin.users.modal.create.admin.description":
"이 옵션을 선택하면 사용자는 관리 패널에 액세스할 수 있습니다.",
// END /admin/users // END /admin/users
// /admin/shares // /admin/shares
"admin.shares.title": "공유 관리", "admin.shares.title": "공유 관리",
@@ -226,23 +231,29 @@ export default {
// /upload // /upload
"upload.title": "업로드", "upload.title": "업로드",
"upload.notify.generic-error": "공유를 완료하는 동안 오류가 발생했습니다.", "upload.notify.generic-error": "공유를 완료하는 동안 오류가 발생했습니다.",
"upload.notify.count-failed": "{count}개의 파일을 업로드하지 못했습니다. 다시 시도하세요.", "upload.notify.count-failed":
"{count}개의 파일을 업로드하지 못했습니다. 다시 시도하세요.",
// Dropzone.tsx // Dropzone.tsx
"upload.dropzone.title": "파일 업로드", "upload.dropzone.title": "파일 업로드",
"upload.dropzone.description": "파일을 여기로 드래그&드랍하여 파일 업로드를 시작합니다. {maxSize} 를 초과하지 않는 파일만 업로드할 수 있습니다.", "upload.dropzone.description":
"upload.dropzone.notify.file-too-big": "파일이 {maxSize} 의 최대 공유 크기를 초과합니다.", "파일을 여기로 드래그&드랍하여 파일 업로드를 시작합니다. {maxSize} 를 초과하지 않는 파일만 업로드할 수 있습니다.",
"upload.dropzone.notify.file-too-big":
"파일이 {maxSize} 의 최대 공유 크기를 초과합니다.",
// FileList.tsx // FileList.tsx
"upload.filelist.name": "이름", "upload.filelist.name": "이름",
"upload.filelist.size": "크기", "upload.filelist.size": "크기",
// showCreateUploadModal.tsx // showCreateUploadModal.tsx
"upload.modal.title": "공유 생성", "upload.modal.title": "공유 생성",
"upload.modal.link.error.invalid": "문자, 숫자, 밑줄 및 하이픈만 포함할 수 있습니다", "upload.modal.link.error.invalid":
"문자, 숫자, 밑줄 및 하이픈만 포함할 수 있습니다",
"upload.modal.link.error.taken": "이미 사용 중인 링크입니다", "upload.modal.link.error.taken": "이미 사용 중인 링크입니다",
"upload.modal.not-signed-in": "로그인하지 않았습니다", "upload.modal.not-signed-in": "로그인하지 않았습니다",
"upload.modal.not-signed-in-description": "공유를 수동으로 삭제하고 방문자 수를 볼 수 없습니다.", "upload.modal.not-signed-in-description":
"공유를 수동으로 삭제하고 방문자 수를 볼 수 없습니다.",
"upload.modal.expires.never": "절대 안 함", "upload.modal.expires.never": "절대 안 함",
"upload.modal.expires.never-long": "만료 없음", "upload.modal.expires.never-long": "만료 없음",
"upload.modal.expires.error.too-long": "만료가 {max} 의 최대 만료일을 초과합니다.", "upload.modal.expires.error.too-long":
"만료가 {max} 의 최대 만료일을 초과합니다.",
"upload.modal.link.label": "링크", "upload.modal.link.label": "링크",
"upload.modal.expires.label": "만료일", "upload.modal.expires.label": "만료일",
"upload.modal.expires.minute-singular": "분", "upload.modal.expires.minute-singular": "분",
@@ -259,7 +270,8 @@ export default {
"upload.modal.expires.year-plural": "년", "upload.modal.expires.year-plural": "년",
"upload.modal.accordion.name-and-description.title": "이름과 설명", "upload.modal.accordion.name-and-description.title": "이름과 설명",
"upload.modal.accordion.name-and-description.name.placeholder": "이름", "upload.modal.accordion.name-and-description.name.placeholder": "이름",
"upload.modal.accordion.name-and-description.description.placeholder": "공유를 받을 사람에게 메모", "upload.modal.accordion.name-and-description.description.placeholder":
"공유를 받을 사람에게 메모",
"upload.modal.accordion.email.title": "받는 사람 메일 주소", "upload.modal.accordion.email.title": "받는 사람 메일 주소",
"upload.modal.accordion.email.placeholder": "메일 주소 입력", "upload.modal.accordion.email.placeholder": "메일 주소 입력",
"upload.modal.accordion.email.invalid-email": "이메일 주소가 틀립니다", "upload.modal.accordion.email.invalid-email": "이메일 주소가 틀립니다",
@@ -276,27 +288,33 @@ export default {
// /share/[id] // /share/[id]
"share.title": "공유 {shareId}", "share.title": "공유 {shareId}",
"share.description": "내가 당신과 공유한 것을 보세요!", "share.description": "내가 당신과 공유한 것을 보세요!",
"share.error.visitor-limit-exceeded.title": "방문자 한 초과", "share.error.visitor-limit-exceeded.title": "방문자 한 초과",
"share.error.visitor-limit-exceeded.description": "The visitor limit from this share has been exceeded.", "share.error.visitor-limit-exceeded.description":
"이 공유의 방문자 한도를 초과했습니다.",
"share.error.removed.title": "공유가 삭제됨", "share.error.removed.title": "공유가 삭제됨",
"share.error.not-found.title": "공유를 찾을 수 없습니다.", "share.error.not-found.title": "공유를 찾을 수 없습니다.",
"share.error.not-found.description": "당신이 찾는 공유는 존재하지 않습니다.", "share.error.not-found.description": "당신이 찾는 공유는 존재하지 않습니다.",
"share.modal.password.title": "비밀번호 필요", "share.modal.password.title": "비밀번호 필요",
"share.modal.password.description": "이 공유에 액세스하려면 공유의 암호를 입력하십시오.", "share.modal.password.description":
"이 공유에 접근하려면 공유의 암호를 입력하십시오.",
"share.modal.password": "비밀번호", "share.modal.password": "비밀번호",
"share.modal.error.invalid-password": "잘못된 비밀번호", "share.modal.error.invalid-password": "잘못된 비밀번호",
"share.button.download-all": "모두 다운로드", "share.button.download-all": "모두 다운로드",
"share.notify.download-all-preparing": "공유가 준비 중입니다. 잠시 후에 다시 시도하십시오.", "share.notify.download-all-preparing":
"공유가 준비 중입니다. 잠시 후에 다시 시도하십시오.",
"share.modal.file-link": "파일 링크", "share.modal.file-link": "파일 링크",
"share.table.name": "이름", "share.table.name": "이름",
"share.table.size": "크기", "share.table.size": "크기",
"share.modal.file-preview.error.not-supported.title": "미리보기는 지원되지 않습니다", "share.modal.file-preview.error.not-supported.title":
"share.modal.file-preview.error.not-supported.description": "이 파일 형식의 미리보기 지원되지 않습니다. 파일을 다운로드하여 확인하십시오.", "미리보기 지원되지 않습니다",
"share.modal.file-preview.error.not-supported.description":
"이 파일 형식의 미리보기가 지원되지 않습니다. 파일을 다운로드하여 확인하십시오.",
// END /share/[id] // END /share/[id]
// /share/[id]/edit // /share/[id]/edit
"share.edit.title": "수정 {shareId}", "share.edit.title": "수정 {shareId}",
"share.edit.append-upload": "파일 추가", "share.edit.append-upload": "파일 추가",
"share.edit.notify.generic-error": "공유를 완료하는 동안 오류가 발생했습니다.", "share.edit.notify.generic-error":
"공유를 완료하는 동안 오류가 발생했습니다.",
"share.edit.notify.save-success": "공유가 업데이트 되었습니다.", "share.edit.notify.save-success": "공유가 업데이트 되었습니다.",
// END /share/[id]/edit // END /share/[id]/edit
// /admin/config // /admin/config
@@ -307,46 +325,69 @@ export default {
"admin.config.category.smtp": "SMTP", "admin.config.category.smtp": "SMTP",
"admin.config.category.oauth": "소셜 로그인", "admin.config.category.oauth": "소셜 로그인",
"admin.config.general.app-name": "앱 이름", "admin.config.general.app-name": "앱 이름",
"admin.config.general.app-name.description": "Name of the application", "admin.config.general.app-name.description": "이 앱의 이름",
"admin.config.general.app-url": "앱 URL", "admin.config.general.app-url": "앱 URL",
"admin.config.general.app-url.description": "Pingvin Share를 사용할 수 있는 URL", "admin.config.general.app-url.description":
"Pingvin Share를 사용할 수 있는 URL",
"admin.config.general.show-home-page": "홈 페이지 표시", "admin.config.general.show-home-page": "홈 페이지 표시",
"admin.config.general.show-home-page.description": "홈 페이지를 표시할지 여부를 점검하십시오.", "admin.config.general.show-home-page.description":
"홈 페이지를 표시할지 여부",
"admin.config.general.session-duration": "세션 기간",
"admin.config.general.session-duration.description":
"사용자가 다시 로그인해야 하는 시간 (기본값: 3개월)",
"admin.config.general.logo": "로고", "admin.config.general.logo": "로고",
"admin.config.general.logo.description": "새 이미지를 업로드하여 로고를 변경하십시오. 이미지는 PNG여야 하며 1:1 비율이어야 합니다.", "admin.config.general.logo.description":
"새 이미지를 업로드하여 로고를 변경하십시오. 이미지는 PNG여야 하며 1:1 비율이어야 합니다.",
"admin.config.general.logo.placeholder": "이미지 선택", "admin.config.general.logo.placeholder": "이미지 선택",
"admin.config.email.enable-share-email-recipients": "메일 수신 허용", "admin.config.email.enable-share-email-recipients": "메일 수신 허용",
"admin.config.email.enable-share-email-recipients.description": "메일이 수신자를 공유하도록 허용할지 여부. SMTP를 사용 가능으로 설정한 경우에만 이 옵션을 사용 가능으로 설정합니다.", "admin.config.email.enable-share-email-recipients.description":
"메일이 수신자를 공유하도록 허용할지 여부. SMTP를 사용 가능으로 설정한 경우에만 이 옵션을 사용 가능으로 설정합니다.",
"admin.config.email.share-recipients-subject": "공유 제목", "admin.config.email.share-recipients-subject": "공유 제목",
"admin.config.email.share-recipients-subject.description": "공유 수신자에게 전송되는 이메일의 제목입니다.", "admin.config.email.share-recipients-subject.description":
"공유 수신자에게 전송되는 이메일의 제목입니다.",
"admin.config.email.share-recipients-message": "수신자 메시지 공유", "admin.config.email.share-recipients-message": "수신자 메시지 공유",
"admin.config.email.share-recipients-message.description": "공유 수신자에게 보내는 메시지입니다. 사용 가능한 변수:\n {creator} - 공유 작성자의 사용자 이름\n {shareUrl} - 공유의 URL\n {desc} - 공유에 대한 설명\n {expires} - 공유 만료일\n 변수는 실제 값으로 대체됩니다.", "admin.config.email.share-recipients-message.description":
"admin.config.email.reverse-share-subject": "역공유 제목", "공유 수신자에게 보내는 메시지입니다. 사용 가능한 변수:\n {creator} - 공유 작성자의 사용자 이름\n {shareUrl} - 공유의 URL\n {desc} - 공유에 대한 설명\n {expires} - 공유 만료일\n 변수는 실제 값으로 대체됩니다.",
"admin.config.email.reverse-share-subject.description": "누군가 당신이 공유한 역방향 공유 링크를 사용하여 공유를 생성했을 때 전송되는 이메일의 제목입니다.", "admin.config.email.reverse-share-subject": "역방향 공유 제목",
"admin.config.email.reverse-share-message": "역공유 메시지", "admin.config.email.reverse-share-subject.description":
"admin.config.email.reverse-share-message.description": "누군가 귀하의 역방향 공유 링크를 사용하여 공유를 생성하면 전송되는 메시지입니다.. {shareUrl} 은 작성자 이름 및 공유 URL로 대체됩니다.", "누군가 당신이 공유한 역방향 공유 링크를 사용하여 공유를 생성했을 때 전송되는 이메일의 제목입니다.",
"admin.config.email.reverse-share-message": "역방향 공유 메시지",
"admin.config.email.reverse-share-message.description":
"누군가 귀하의 역방향 공유 링크를 사용하여 공유를 생성하면 전송되는 메시지입니다.. {shareUrl} 은 작성자 이름 및 공유 URL로 대체됩니다.",
"admin.config.email.reset-password-subject": "비밀번호 재설정 제목", "admin.config.email.reset-password-subject": "비밀번호 재설정 제목",
"admin.config.email.reset-password-subject.description": "사용자가 암호 재설정을 요청할 때 전송되는 메일의 제목입니다.", "admin.config.email.reset-password-subject.description":
"사용자가 암호 재설정을 요청할 때 전송되는 메일의 제목입니다.",
"admin.config.email.reset-password-message": "비밀번호 재설정 메시지", "admin.config.email.reset-password-message": "비밀번호 재설정 메시지",
"admin.config.email.reset-password-message.description": "사용자가 비밀번호 재설정을 요청할 때 전송되는 메시지입니다. {url} 은 비밀번호 재설정 URL로 대체됩니다.", "admin.config.email.reset-password-message.description":
"사용자가 비밀번호 재설정을 요청할 때 전송되는 메시지입니다. {url} 은 비밀번호 재설정 URL로 대체됩니다.",
"admin.config.email.invite-subject": "초대 제목", "admin.config.email.invite-subject": "초대 제목",
"admin.config.email.invite-subject.description": "관리자가 사용자를 초대할 때 전송되는 이메일의 제목입니다.", "admin.config.email.invite-subject.description":
"관리자가 사용자를 초대할 때 전송되는 이메일의 제목입니다.",
"admin.config.email.invite-message": "초대 메시지", "admin.config.email.invite-message": "초대 메시지",
"admin.config.email.invite-message.description": "관리자가 사용자를 초대하면 전송되는 메시지입니다. {url} 은 초대 URL로, {password} 는 비밀번호로 대체됩니다.", "admin.config.email.invite-message.description":
"관리자가 사용자를 초대하면 전송되는 메시지입니다. {url} 은 초대 URL로, {password} 는 비밀번호로 대체됩니다.",
"admin.config.share.allow-registration": "가입 허용", "admin.config.share.allow-registration": "가입 허용",
"admin.config.share.allow-registration.description": "등록 가능 여부", "admin.config.share.allow-registration.description": "등록 가능 여부",
"admin.config.share.allow-unauthenticated-shares": "인증되지 않은 공유 허용", "admin.config.share.allow-unauthenticated-shares": "인증되지 않은 공유 허용",
"admin.config.share.allow-unauthenticated-shares.description": "인증되지 않은 사용자가 공유를 생성할 수 있는지 여부", "admin.config.share.allow-unauthenticated-shares.description":
"admin.config.share.max-expiration": "최대 만료일", "인증되지 않은 사용자가 공유를 생성할 수 있는지 여부",
"admin.config.share.max-expiration.description": "최대 공유 만료 시간입니다. 만료 기간을 설정하지 않는경우 0으로 설정합니다.", "admin.config.share.max-expiration": "최대 만료 시간",
"admin.config.share.max-expiration.description":
"공유의 최대 만료 시간. 무제한 만료를 허용하려면 0으로 설정하세요.",
"admin.config.share.max-size": "최대 크기", "admin.config.share.max-size": "최대 크기",
"admin.config.share.max-size.description": "공유 최대 크기 - 바이트", "admin.config.share.max-size.description": "공유 최대 크기 (바이트)",
"admin.config.share.zip-compression-level": "압축 레벨", "admin.config.share.zip-compression-level": "Zip 압축 레벨",
"admin.config.share.zip-compression-level.description": "파일 크기와 압축 속도 간의 균형을 맞추도록 레벨을 조정합니다. 유효한 값의 범위는 0에서 9까지이며, 0은 압축되지 않고 9는 최대 압축입니다. ", "admin.config.share.zip-compression-level.description":
"파일 크기와 압축 속도 간의 균형을 맞추도록 레벨을 조정합니다. 유효한 값의 범위는 0에서 9까지이며, 0은 압축되지 않고 9는 최대 압축입니다. ",
"admin.config.share.chunk-size": "청크 크기", "admin.config.share.chunk-size": "청크 크기",
"admin.config.share.chunk-size.description": "업로드할 청크 크기(바이트 단위)를 조정하여 인터넷 연결에 따라 효율성과 신뢰성의 균형을 유지합니다. 더 작은 청크는 불안정한 연결에 대한 성공률을 향상시킬 수 있고, 더 큰 청크는 안정적인 연결에 대한 업로드 속도를 높일 수 있습니다.", "admin.config.share.chunk-size.description":
"업로드할 청크 크기(바이트 단위)를 조정하여 인터넷 연결에 따라 효율성과 신뢰성의 균형을 유지합니다. 더 작은 청크는 불안정한 연결에 대한 성공률을 향상시킬 수 있고, 더 큰 청크는 안정적인 연결에 대한 업로드 속도를 높일 수 있습니다.",
"admin.config.share.auto-open-share-modal": "공유 생성 창 자동 열기",
"admin.config.share.auto-open-share-modal.description":
"사용자가 파일을 선택하면 공유 생성 창이 자동으로 나타나서 버튼을 수동으로 클릭할 필요가 없습니다.",
"admin.config.smtp.enabled": "활성화됨", "admin.config.smtp.enabled": "활성화됨",
"admin.config.smtp.enabled.description": "SMTP 사용 여부 SMTP 서버의 호스트, 포트, 전자 메일, 사용자 및 암호를 입력한 경우에만 true로 설정합니다.", "admin.config.smtp.enabled.description":
"SMTP 사용 여부 SMTP 서버의 호스트, 포트, 전자 메일, 사용자 및 암호를 입력한 경우에만 true로 설정합니다.",
"admin.config.smtp.host": "호스트", "admin.config.smtp.host": "호스트",
"admin.config.smtp.host.description": "SMTP 서버의 호스트", "admin.config.smtp.host.description": "SMTP 서버의 호스트",
"admin.config.smtp.port": "포트", "admin.config.smtp.port": "포트",
@@ -358,49 +399,70 @@ export default {
"admin.config.smtp.password": "비밀번호", "admin.config.smtp.password": "비밀번호",
"admin.config.smtp.password.description": "SMTP 서버 비밀번호", "admin.config.smtp.password.description": "SMTP 서버 비밀번호",
"admin.config.smtp.button.test": "테스트 이메일 보내기", "admin.config.smtp.button.test": "테스트 이메일 보내기",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "가입 허용", "admin.config.oauth.allow-registration": "가입 허용",
"admin.config.oauth.allow-registration.description": "사용자가 소셜 로그인을 통해 등록할 수 있도록 허용", "admin.config.oauth.allow-registration.description":
"사용자가 소셜 로그인을 통해 등록할 수 있도록 허용",
"admin.config.oauth.ignore-totp": "TOTP 무시", "admin.config.oauth.ignore-totp": "TOTP 무시",
"admin.config.oauth.ignore-totp.description": "사용자가 소셜 로그인을 사용하는 경우 TOTP를 무시할 것인지 여부", "admin.config.oauth.ignore-totp.description": "사용자가 소셜 로그인을 사용하는 경우 TOTP를 무시할 것인지 여부",
"admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "깃허브", "admin.config.oauth.github-enabled": "깃허브",
"admin.config.oauth.github-enabled.description": "깃허브 로그인 사용 여부", "admin.config.oauth.github-enabled.description": "깃허브 로그인 사용 여부",
"admin.config.oauth.github-client-id": "GitHub 클라이언트 ID", "admin.config.oauth.github-client-id": "GitHub 클라이언트 ID",
"admin.config.oauth.github-client-id.description": "GitHub OAuth 앱의 클라이언트 ID", "admin.config.oauth.github-client-id.description":
"GitHub OAuth 앱의 클라이언트 ID",
"admin.config.oauth.github-client-secret": "GitHub 클라이언트 secret", "admin.config.oauth.github-client-secret": "GitHub 클라이언트 secret",
"admin.config.oauth.github-client-secret.description": "GitHub OAuth 앱의 클라이언트 secret", "admin.config.oauth.github-client-secret.description":
"GitHub OAuth 앱의 클라이언트 secret",
"admin.config.oauth.google-enabled": "구글", "admin.config.oauth.google-enabled": "구글",
"admin.config.oauth.google-enabled.description": "구글 로그인 활성화 여부", "admin.config.oauth.google-enabled.description": "구글 로그인 활성화 여부",
"admin.config.oauth.google-client-id": "Google 클라이언트 ID", "admin.config.oauth.google-client-id": "Google 클라이언트 ID",
"admin.config.oauth.google-client-id.description": "Google OAuth 앱의 클라이언트 ID", "admin.config.oauth.google-client-id.description":
"Google OAuth 앱의 클라이언트 ID",
"admin.config.oauth.google-client-secret": "Google 클라이언트 secret", "admin.config.oauth.google-client-secret": "Google 클라이언트 secret",
"admin.config.oauth.google-client-secret.description": "Google OAuth 앱의 클라이언트 secret", "admin.config.oauth.google-client-secret.description":
"Google OAuth 앱의 클라이언트 secret",
"admin.config.oauth.microsoft-enabled": "마이크로소프트", "admin.config.oauth.microsoft-enabled": "마이크로소프트",
"admin.config.oauth.microsoft-enabled.description": "마이크로소프트 로그인 사용 여부", "admin.config.oauth.microsoft-enabled.description":
"마이크로소프트 로그인 사용 여부",
"admin.config.oauth.microsoft-tenant": "마이크로소프트 테넌트", "admin.config.oauth.microsoft-tenant": "마이크로소프트 테넌트",
"admin.config.oauth.microsoft-tenant.description": "Microsoft OAuth 앱의 테넌트 ID\n공통: Microsoft 개인 계정과 Microsoft Entra ID의 직장 또는 학교 계정을 모두 가진 사용자는 응용 프로그램에 로그인할 수 있습니다. 조직: Microsoft Entra ID의 직장 또는 학교 계정을 가진 사용자만 응용 프로그램에 로그인할 수 있습니다.\n소비자: 개인 마이크로소프트 계정을 가진 사용자만 애플리케이션에 로그인할 수 있습니다.\nMicrosoft Entra 테넌트의 도메인 이름 또는 GUID 형식의 테넌트 ID: 특정 Microsoft Entra 테넌트의 사용자(직장 또는 학교 계정을 가진 디렉토리 구성원 또는 개인 Microsoft 계정을 가진 디렉토리 게스트)만 응용 프로그램에 로그인할 수 있습니다.", "admin.config.oauth.microsoft-tenant.description":
"Microsoft OAuth 앱의 테넌트 ID\n공통: Microsoft 개인 계정과 Microsoft Entra ID의 직장 또는 학교 계정을 모두 가진 사용자는 응용 프로그램에 로그인할 수 있습니다. 조직: Microsoft Entra ID의 직장 또는 학교 계정을 가진 사용자만 응용 프로그램에 로그인할 수 있습니다.\n소비자: 개인 마이크로소프트 계정을 가진 사용자만 애플리케이션에 로그인할 수 있습니다.\nMicrosoft Entra 테넌트의 도메인 이름 또는 GUID 형식의 테넌트 ID: 특정 Microsoft Entra 테넌트의 사용자(직장 또는 학교 계정을 가진 디렉토리 구성원 또는 개인 Microsoft 계정을 가진 디렉토리 게스트)만 응용 프로그램에 로그인할 수 있습니다.",
"admin.config.oauth.microsoft-client-id": "마이크로소프트 클라이언트 ID", "admin.config.oauth.microsoft-client-id": "마이크로소프트 클라이언트 ID",
"admin.config.oauth.microsoft-client-id.description": "Microsoft OAuth 앱의 클라이언트 ID", "admin.config.oauth.microsoft-client-id.description":
"Microsoft OAuth 앱의 클라이언트 ID",
"admin.config.oauth.microsoft-client-secret": "Microsoft 클라이언트 secret", "admin.config.oauth.microsoft-client-secret": "Microsoft 클라이언트 secret",
"admin.config.oauth.microsoft-client-secret.description": "Microsoft OAuth 앱의 클라이언트 비밀", "admin.config.oauth.microsoft-client-secret.description":
"Microsoft OAuth 앱의 클라이언트 비밀",
"admin.config.oauth.discord-enabled": "디스코드", "admin.config.oauth.discord-enabled": "디스코드",
"admin.config.oauth.discord-enabled.description": "Discord 로그인 활성화 여부", "admin.config.oauth.discord-enabled.description":
"Discord 로그인 활성화 여부",
"admin.config.oauth.discord-limited-guild": "디스코드 제한 서버 ID", "admin.config.oauth.discord-limited-guild": "디스코드 제한 서버 ID",
"admin.config.oauth.discord-limited-guild.description": "특정 서버의 사용자로 로그인을 제한합니다. 사용하지 않으려면 비워 둡니다.", "admin.config.oauth.discord-limited-guild.description":
"특정 서버의 사용자로 로그인을 제한합니다. 사용하지 않으려면 비워 둡니다.",
"admin.config.oauth.discord-client-id": "디스코드 클라이언트 ID", "admin.config.oauth.discord-client-id": "디스코드 클라이언트 ID",
"admin.config.oauth.discord-client-id.description": "Discord OAuth 앱의 클라이언트 ID", "admin.config.oauth.discord-client-id.description":
"Discord OAuth 앱의 클라이언트 ID",
"admin.config.oauth.discord-client-secret": "Discord 클라이언트 secret", "admin.config.oauth.discord-client-secret": "Discord 클라이언트 secret",
"admin.config.oauth.discord-client-secret.description": "Discord OAuth 앱의 클라이언트 secret", "admin.config.oauth.discord-client-secret.description":
"Discord OAuth 앱의 클라이언트 secret",
"admin.config.oauth.oidc-enabled": "OpenID 연결", "admin.config.oauth.oidc-enabled": "OpenID 연결",
"admin.config.oauth.oidc-enabled.description": "OpenID Connect 로그인 사용 여부", "admin.config.oauth.oidc-enabled.description":
"OpenID Connect 로그인 사용 여부",
"admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI", "admin.config.oauth.oidc-discovery-uri": "OpenID Connect Discovery URI",
"admin.config.oauth.oidc-discovery-uri.description": "admin.config.oauth.oidc-discovery-uri.description":
"Discovery URI of the OpenID Connect OAuth app", "Discovery URI of the OpenID Connect OAuth app",
"admin.config.oauth.oidc-username-claim": "OpenID Connect username claim", "admin.config.oauth.oidc-username-claim": "OpenID Connect username claim",
"admin.config.oauth.oidc-username-claim.description": "OpenID Connect ID 토큰의 Username claim 입니다. 이 구성이 무엇인지 모르면 비워 둡니다.", "admin.config.oauth.oidc-username-claim.description":
"OpenID Connect ID 토큰의 Username claim 입니다. 이 구성이 무엇인지 모르면 비워 둡니다.",
"admin.config.oauth.oidc-client-id": "OpenID Connect 클라이언트 ID", "admin.config.oauth.oidc-client-id": "OpenID Connect 클라이언트 ID",
"admin.config.oauth.oidc-client-id.description": "OpenID Connect OAuth 앱의 클라이언트 ID", "admin.config.oauth.oidc-client-id.description":
"OpenID Connect OAuth 앱의 클라이언트 ID",
"admin.config.oauth.oidc-client-secret": "OpenID 클라이언트 secret", "admin.config.oauth.oidc-client-secret": "OpenID 클라이언트 secret",
"admin.config.oauth.oidc-client-secret.description": "OpenID Connect OAuth 앱의 클라이언트 secret", "admin.config.oauth.oidc-client-secret.description":
"OpenID Connect OAuth 앱의 클라이언트 secret",
// 404 // 404
"404.description": "이런, 이 페이지는 존재하지 않습니다.", "404.description": "이런, 이 페이지는 존재하지 않습니다.",
"404.button.home": "나를 집으로 데려다 줘", "404.button.home": "나를 집으로 데려다 줘",
@@ -409,16 +471,22 @@ export default {
"error.description": "이런!", "error.description": "이런!",
"error.button.back": "뒤로 가기", "error.button.back": "뒤로 가기",
"error.msg.default": "문제가 발생했습니다", "error.msg.default": "문제가 발생했습니다",
"error.msg.access_denied": "인증 프로세스가 취소되었습니다. 다시 시도하십시오.", "error.msg.access_denied":
"error.msg.expired_token": "인증 절차가 너무 오래 걸렸습니다. 다시 시도하십시오.", "인증 프로세스가 취소되었습니다. 다시 시도하십시오.",
"error.msg.expired_token":
"인증 절차가 너무 오래 걸렸습니다. 다시 시도하십시오.",
"error.msg.invalid_token": "내부 오류", "error.msg.invalid_token": "내부 오류",
"error.msg.no_user": "{0} 계정에 연결된 사용자가 없습니다.", "error.msg.no_user": "{0} 계정에 연결된 사용자가 없습니다.",
"error.msg.no_email": "이 {0} 계정에서 메일 주소를 가져올 수 없습니다.", "error.msg.no_email": "이 {0} 계정에서 메일 주소를 가져올 수 없습니다.",
"error.msg.already_linked": "이 {0} 계정은 이미 다른 계정에 연결되어 있습니다.", "error.msg.already_linked":
"error.msg.not_linked": "이 {0} 계정은 아직 어떤 계정에 연결되지 않았습니다.", "이 {0} 계정은 이미 다른 계정에 연결되어 있습니다.",
"error.msg.unverified_account": "이 {0} 계정은 확인되지 않았습니다. 확인 후 다시 시도하십시오.", "error.msg.not_linked":
"이 {0} 계정은 아직 어떤 계정에도 연결되지 않았습니다.",
"error.msg.unverified_account":
"이 {0} 계정은 확인되지 않았습니다. 확인 후 다시 시도하십시오.",
"error.msg.discord_guild_permission_denied": "로그인할 수 없습니다.", "error.msg.discord_guild_permission_denied": "로그인할 수 없습니다.",
"error.msg.cannot_get_user_info": "이 {0} 계정에서 사용자 정보를 가져올 수 없습니다", "error.msg.cannot_get_user_info":
"이 {0} 계정에서 사용자 정보를 가져올 수 없습니다",
"error.param.provider_github": "깃허브", "error.param.provider_github": "깃허브",
"error.param.provider_google": "구글", "error.param.provider_google": "구글",
"error.param.provider_microsoft": "마이크로소프트", "error.param.provider_microsoft": "마이크로소프트",
@@ -449,5 +517,5 @@ export default {
"common.error.too-long": "최대 {length} 자 까지 입력가능합니다.", "common.error.too-long": "최대 {length} 자 까지 입력가능합니다.",
"common.error.exact-length": "{length} 자 이어야 합니다.", "common.error.exact-length": "{length} 자 이어야 합니다.",
"common.error.invalid-number": "숫자만 가능합니다.", "common.error.invalid-number": "숫자만 가능합니다.",
"common.error.field-required": "이 필드는 필수입니다" "common.error.field-required": "이 필드는 필수입니다",
}; };

View File

@@ -39,6 +39,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Voer uw tweestapsverificatiecode in", "Voer uw tweestapsverificatiecode in",
"signIn.oauth.or": "OF", "signIn.oauth.or": "OF",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -64,7 +65,7 @@ export default {
"resetPassword.description": "resetPassword.description":
"Voer uw e-mailadres in om uw wachtwoord opnieuw in te stellen.", "Voer uw e-mailadres in om uw wachtwoord opnieuw in te stellen.",
"resetPassword.notify.success": "resetPassword.notify.success":
"A message with a link to reset your password has been sent if the email exists.", "Er is een bericht verzonden met een link om uw wachtwoord te resetten als het e-mail adres bestaat.",
"resetPassword.button.back": "Terug naar login pagina", "resetPassword.button.back": "Terug naar login pagina",
"resetPassword.text.resetPassword": "Wachtwoord opnieuw instellen", "resetPassword.text.resetPassword": "Wachtwoord opnieuw instellen",
"resetPassword.text.enterNewPassword": "Voer uw nieuwe wachtwoord in", "resetPassword.text.enterNewPassword": "Voer uw nieuwe wachtwoord in",
@@ -226,12 +227,12 @@ export default {
// /admin/shares // /admin/shares
"admin.shares.title": "Share management", "admin.shares.title": "Share management",
"admin.shares.table.id": "Share ID", "admin.shares.table.id": "Share ID",
"admin.shares.table.username": "Creator", "admin.shares.table.username": "Auteur",
"admin.shares.table.visitors": "Visitors", "admin.shares.table.visitors": "Bezoekers",
"admin.shares.table.expires": "Expires At", "admin.shares.table.expires": "Vervalt op",
"admin.shares.edit.delete.title": "Delete share {id}", "admin.shares.edit.delete.title": "Verwijder share {id}",
"admin.shares.edit.delete.description": "admin.shares.edit.delete.description":
"Do you really want to delete this share?", "Weet u zeker dat u deze share wilt verwijderen?",
// END /admin/shares // END /admin/shares
// /upload // /upload
"upload.title": "Uploaden", "upload.title": "Uploaden",
@@ -274,8 +275,8 @@ export default {
"upload.modal.expires.month-plural": "Maanden", "upload.modal.expires.month-plural": "Maanden",
"upload.modal.expires.year-singular": "Jaar", "upload.modal.expires.year-singular": "Jaar",
"upload.modal.expires.year-plural": "Jaren", "upload.modal.expires.year-plural": "Jaren",
"upload.modal.accordion.name-and-description.title": "Name and description", "upload.modal.accordion.name-and-description.title": "Naam en beschrijving",
"upload.modal.accordion.name-and-description.name.placeholder": "Name", "upload.modal.accordion.name-and-description.name.placeholder": "Naam",
"upload.modal.accordion.name-and-description.description.placeholder": "upload.modal.accordion.name-and-description.description.placeholder":
"Note for the recipients of this share", "Note for the recipients of this share",
"upload.modal.accordion.email.title": "E-mail van de ontvangers", "upload.modal.accordion.email.title": "E-mail van de ontvangers",
@@ -341,6 +342,9 @@ export default {
"admin.config.general.show-home-page": "Toon startpagina", "admin.config.general.show-home-page": "Toon startpagina",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Toon of verberg de home pagina", "Toon of verberg de home pagina",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Verander uw logo door een nieuwe afbeelding te uploaden. De afbeelding moet PNG zijn en het formaat moet 1:1 hebben.", "Verander uw logo door een nieuwe afbeelding te uploaden. De afbeelding moet PNG zijn en het formaat moet 1:1 hebben.",
@@ -395,6 +399,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Inschakelen", "admin.config.smtp.enabled": "Inschakelen",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Of SMTP is ingeschakeld. Stel dit alleen in op true als u de host hebt ingevoerd, poort, e-mail, gebruiker en wachtwoord van uw SMTP-server.", "Of SMTP is ingeschakeld. Stel dit alleen in op true als u de host hebt ingevoerd, poort, e-mail, gebruiker en wachtwoord van uw SMTP-server.",
@@ -410,12 +417,15 @@ export default {
"admin.config.smtp.password": "Wachtwoord", "admin.config.smtp.password": "Wachtwoord",
"admin.config.smtp.password.description": "Wachtwoord van de SMTP-server", "admin.config.smtp.password.description": "Wachtwoord van de SMTP-server",
"admin.config.smtp.button.test": "Teste-mail verzenden", "admin.config.smtp.button.test": "Teste-mail verzenden",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Sta registratie toe", "admin.config.oauth.allow-registration": "Sta registratie toe",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Gebruikers toestaan zich te registreren via sociale login", "Gebruikers toestaan zich te registreren via sociale login",
"admin.config.oauth.ignore-totp": "TOTP negeren", "admin.config.oauth.ignore-totp": "TOTP negeren",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "TOTP negeren wanneer gebruiker sociale login gebruikt",
"TOTP negeren wanneer gebruiker sociale login gebruikt", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Ofdat GitHub login is ingeschakeld", "Ofdat GitHub login is ingeschakeld",

View File

@@ -41,6 +41,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Wprowadź kod uwierzytelniania dwuetapowego", "Wprowadź kod uwierzytelniania dwuetapowego",
"signIn.oauth.or": "LUB", "signIn.oauth.or": "LUB",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -345,6 +346,9 @@ export default {
"admin.config.general.show-home-page": "Pokaż stronę główną", "admin.config.general.show-home-page": "Pokaż stronę główną",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Czy wyświetlać stronę główną", "Czy wyświetlać stronę główną",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Zmień logo, przesyłając nowy obraz. Obraz musi być plikiem PNG i mieć proporcje 1:1.", "Zmień logo, przesyłając nowy obraz. Obraz musi być plikiem PNG i mieć proporcje 1:1.",
@@ -397,6 +401,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Włączony", "admin.config.smtp.enabled": "Włączony",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Czy SMTP ma zostać włączony. Ustaw to, tylko jeśli wprowadziłeś host, port, e-mail, nazwę użytkownika i hasło serwera SMTP.", "Czy SMTP ma zostać włączony. Ustaw to, tylko jeśli wprowadziłeś host, port, e-mail, nazwę użytkownika i hasło serwera SMTP.",
@@ -412,12 +419,15 @@ export default {
"admin.config.smtp.password": "Hasło", "admin.config.smtp.password": "Hasło",
"admin.config.smtp.password.description": "Hasło serwera SMTP", "admin.config.smtp.password.description": "Hasło serwera SMTP",
"admin.config.smtp.button.test": "Wyślij testowego e-maila", "admin.config.smtp.button.test": "Wyślij testowego e-maila",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Zezwól na rejestrację", "admin.config.oauth.allow-registration": "Zezwól na rejestrację",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Zezwalaj użytkownikom na rejestrację za pomocą konta społecznościowego", "Zezwalaj użytkownikom na rejestrację za pomocą konta społecznościowego",
"admin.config.oauth.ignore-totp": "Ignoruj TOTP", "admin.config.oauth.ignore-totp": "Ignoruj TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Czy zignorować TOTP, kiedy użytkownik loguje się za pomocą konta społecznościowego",
"Czy zignorować TOTP, kiedy użytkownik loguje się za pomocą konta społecznościowego", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Czy login na GitHub jest włączony", "Czy login na GitHub jest włączony",

View File

@@ -41,6 +41,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Insira seu código de autenticação de dois fatores", "Insira seu código de autenticação de dois fatores",
"signIn.oauth.or": "OU", "signIn.oauth.or": "OU",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -347,6 +348,9 @@ export default {
"admin.config.general.show-home-page": "Mostrar a página inicial", "admin.config.general.show-home-page": "Mostrar a página inicial",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Mostrar ou não a página inicial", "Mostrar ou não a página inicial",
"admin.config.general.session-duration": "Duração de sessão",
"admin.config.general.session-duration.description":
"Tempo em horas após o qual um usuário deve iniciar a sessão novamente (padrão: 3 meses).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.", "Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.",
@@ -403,6 +407,10 @@ export default {
"admin.config.share.chunk-size": "Tamanho do pedaço", "admin.config.share.chunk-size": "Tamanho do pedaço",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Ajuste o tamanho do pedaço (em bytes) para seus uploads equilibrarem eficiência e confiabilidade de acordo com sua conexão com a internet. Pedaços menores podem aumentar as taxas de sucesso para conexões instáveis, enquanto partes maiores aceleram uploads para conexões estáveis.", "Ajuste o tamanho do pedaço (em bytes) para seus uploads equilibrarem eficiência e confiabilidade de acordo com sua conexão com a internet. Pedaços menores podem aumentar as taxas de sucesso para conexões instáveis, enquanto partes maiores aceleram uploads para conexões estáveis.",
"admin.config.share.auto-open-share-modal":
"Abertura automática do modal de criação de compartilhamento",
"admin.config.share.auto-open-share-modal.description":
"O modal de criação de compartilhamento aparece automaticamente quando um usuário seleciona arquivos, eliminando a necessidade de clicar manualmente no botão.",
"admin.config.smtp.enabled": "Ativado", "admin.config.smtp.enabled": "Ativado",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o servidor, porta, e-mail, usuário e senha do seu servidor SMTP.", "Se o SMTP está habilitado. Apenas defina como verdadeiro se você digitou o servidor, porta, e-mail, usuário e senha do seu servidor SMTP.",
@@ -418,12 +426,15 @@ export default {
"admin.config.smtp.password": "Senha", "admin.config.smtp.password": "Senha",
"admin.config.smtp.password.description": "Senha do servidor SMTP", "admin.config.smtp.password.description": "Senha do servidor SMTP",
"admin.config.smtp.button.test": "Enviar email de teste", "admin.config.smtp.button.test": "Enviar email de teste",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Permitir registro", "admin.config.oauth.allow-registration": "Permitir registro",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Permitir que os usuários se registrem através do login de redes sociais", "Permitir que os usuários se registrem através do login de redes sociais",
"admin.config.oauth.ignore-totp": "Ignorar TOTP", "admin.config.oauth.ignore-totp": "Ignorar TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Ignorar o TOTP quando usuário usando login social",
"Ignorar o TOTP quando usuário usando login social", "admin.config.oauth.disable-password": "Desativar login por senha",
"admin.config.oauth.disable-password.description": "Se deseja desativar o login por senha\nCertifique-se de que um provedor OAuth está configurado corretamente antes de ativar essa configuração para evitar ser bloqueado.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Se o login GitHub está habilitado", "Se o login GitHub está habilitado",

View File

@@ -38,6 +38,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Пожалуйста, введите код Вашей 2-х факторной аутентификации", "Пожалуйста, введите код Вашей 2-х факторной аутентификации",
"signIn.oauth.or": "ИЛИ", "signIn.oauth.or": "ИЛИ",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -272,7 +273,8 @@ export default {
"upload.modal.expires.year-plural": "Года (лет)", "upload.modal.expires.year-plural": "Года (лет)",
"upload.modal.accordion.name-and-description.title": "Имя и описание", "upload.modal.accordion.name-and-description.title": "Имя и описание",
"upload.modal.accordion.name-and-description.name.placeholder": "Имя", "upload.modal.accordion.name-and-description.name.placeholder": "Имя",
"upload.modal.accordion.name-and-description.description.placeholder": "Note for the recipients of this share", "upload.modal.accordion.name-and-description.description.placeholder":
"Note for the recipients of this share",
"upload.modal.accordion.email.title": "Получатели письма", "upload.modal.accordion.email.title": "Получатели письма",
"upload.modal.accordion.email.placeholder": "Получатели e-mail", "upload.modal.accordion.email.placeholder": "Получатели e-mail",
"upload.modal.accordion.email.invalid-email": "upload.modal.accordion.email.invalid-email":
@@ -335,6 +337,9 @@ export default {
"admin.config.general.show-home-page": "Показывать домашнюю страницу", "admin.config.general.show-home-page": "Показывать домашнюю страницу",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Показывать ли домашнюю страницу или нет", "Показывать ли домашнюю страницу или нет",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Логотип", "admin.config.general.logo": "Логотип",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Измените свой логотип, загрузив новое изображение. Изображение должно быть PNG и должно иметь формат 1:1.", "Измените свой логотип, загрузив новое изображение. Изображение должно быть PNG и должно иметь формат 1:1.",
@@ -383,9 +388,14 @@ export default {
"admin.config.share.max-size.description": "admin.config.share.max-size.description":
"Максимальный размер файла в байтах", "Максимальный размер файла в байтах",
"admin.config.share.zip-compression-level": "Уровень сжатия Zip", "admin.config.share.zip-compression-level": "Уровень сжатия Zip",
"admin.config.share.zip-compression-level.description": "Регулировка уровня баланса между размером файла и скоростью сжатия. Допустимые значения от 0 до 9, с 0 без сжатия, а 9 - максимальное сжатие. ", "admin.config.share.zip-compression-level.description":
"Регулировка уровня баланса между размером файла и скоростью сжатия. Допустимые значения от 0 до 9, с 0 без сжатия, а 9 - максимальное сжатие. ",
"admin.config.share.chunk-size": "Размер чанка", "admin.config.share.chunk-size": "Размер чанка",
"admin.config.share.chunk-size.description": "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Включено", "admin.config.smtp.enabled": "Включено",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Включено ли SMTP. Установите значение true только если вы ввели хост, порт, email, пользователь и пароль вашего SMTP-сервера.", "Включено ли SMTP. Установите значение true только если вы ввели хост, порт, email, пользователь и пароль вашего SMTP-сервера.",
@@ -401,12 +411,15 @@ export default {
"admin.config.smtp.password": "Пароль", "admin.config.smtp.password": "Пароль",
"admin.config.smtp.password.description": "Пароль SMTP-сервера", "admin.config.smtp.password.description": "Пароль SMTP-сервера",
"admin.config.smtp.button.test": "Отправить тестовое письмо", "admin.config.smtp.button.test": "Отправить тестовое письмо",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Разрешить регистрацию", "admin.config.oauth.allow-registration": "Разрешить регистрацию",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Разрешить пользователям регистрироваться используя учетные записи социальных сетей", "Разрешить пользователям регистрироваться используя учетные записи социальных сетей",
"admin.config.oauth.ignore-totp": "Игнорировать TOTP", "admin.config.oauth.ignore-totp": "Игнорировать TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Игнорировать TOTP при использовании социальной авторизации",
"Игнорировать TOTP при использовании социальной авторизации", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "Включен ли логин на GitHub", "admin.config.oauth.github-enabled.description": "Включен ли логин на GitHub",
"admin.config.oauth.github-client-id": "ID клиента GitHub", "admin.config.oauth.github-client-id": "ID клиента GitHub",

View File

@@ -40,6 +40,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Prosim vnesite vašo kodo dvofaktorske avtentikacije", "Prosim vnesite vašo kodo dvofaktorske avtentikacije",
"signIn.oauth.or": "ALI", "signIn.oauth.or": "ALI",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -339,6 +340,9 @@ export default {
"admin.config.general.show-home-page": "Prikaži domačo stran", "admin.config.general.show-home-page": "Prikaži domačo stran",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Ali prikazati domačo stran", "Ali prikazati domačo stran",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logotip", "admin.config.general.logo": "Logotip",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Naložite novo sliko, da spremenite logotip. Datoteka mora biti tipa PNG in imeti razmerje 1:1.", "Naložite novo sliko, da spremenite logotip. Datoteka mora biti tipa PNG in imeti razmerje 1:1.",
@@ -390,6 +394,9 @@ export default {
"admin.config.share.chunk-size": "Velikost delcev", "admin.config.share.chunk-size": "Velikost delcev",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Prilagodite velikost delcev (v bajtih) vaših nalaganj, da uravnovesite med učinkovitostjo in zanesljivostjo glede na vašo internetno povezavo. Manjša velikost delcev lahko zviša uspešnost nalaganj pri nestabilni povezavi, medtem ko večja velikost delcev poviša hitrost nalaganja pri stabilni povezavi.", "Prilagodite velikost delcev (v bajtih) vaših nalaganj, da uravnovesite med učinkovitostjo in zanesljivostjo glede na vašo internetno povezavo. Manjša velikost delcev lahko zviša uspešnost nalaganj pri nestabilni povezavi, medtem ko večja velikost delcev poviša hitrost nalaganja pri stabilni povezavi.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Omogočeno", "admin.config.smtp.enabled": "Omogočeno",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Če je SMTP omogočen. Omogočite samo, če ste vnesli strežnik, vrata, e-pošto, uporabniško ime in geslo vašega SMTP strežnika.", "Če je SMTP omogočen. Omogočite samo, če ste vnesli strežnik, vrata, e-pošto, uporabniško ime in geslo vašega SMTP strežnika.",
@@ -405,12 +412,15 @@ export default {
"admin.config.smtp.password": "Geslo", "admin.config.smtp.password": "Geslo",
"admin.config.smtp.password.description": "Geslo SMTP strežnika", "admin.config.smtp.password.description": "Geslo SMTP strežnika",
"admin.config.smtp.button.test": "Pošlji testno sporočilo", "admin.config.smtp.button.test": "Pošlji testno sporočilo",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Dovoli registracijo", "admin.config.oauth.allow-registration": "Dovoli registracijo",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Dovoli registracijo uporabnika prek družbenih omrežij", "Dovoli registracijo uporabnika prek družbenih omrežij",
"admin.config.oauth.ignore-totp": "Ignoriraj TOTP", "admin.config.oauth.ignore-totp": "Ignoriraj TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Če ignorirati TOTP, ko se uporabnik registrira prek družbenih omrežij",
"Če ignorirati TOTP, ko se uporabnik registrira prek družbenih omrežij", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Če je dovoljena prijava z GitHub računom", "Če je dovoljena prijava z GitHub računom",

View File

@@ -40,6 +40,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Унесите свој двофакторски код за аутентификацију", "Унесите свој двофакторски код за аутентификацију",
"signIn.oauth.or": "Или", "signIn.oauth.or": "Или",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -335,6 +336,9 @@ export default {
"admin.config.general.show-home-page": "Прикажи почетну страницу", "admin.config.general.show-home-page": "Прикажи почетну страницу",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Да ли да се прикаже почетна страница", "Да ли да се прикаже почетна страница",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Лого", "admin.config.general.logo": "Лого",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Промените свој логотип тако што ћете отпремити нову слику. Слика мора да буде PNG и треба да има формат 1:1.", "Промените свој логотип тако што ћете отпремити нову слику. Слика мора да буде PNG и треба да има формат 1:1.",
@@ -386,6 +390,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Омогућено", "admin.config.smtp.enabled": "Омогућено",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Да ли је SMTP омогућен. Поставите ово на тачно само ако сте унели хост, порт, е-пошту, корисника и лозинку вашег SMTP сервера.", "Да ли је SMTP омогућен. Поставите ово на тачно само ако сте унели хост, порт, е-пошту, корисника и лозинку вашег SMTP сервера.",
@@ -401,12 +408,15 @@ export default {
"admin.config.smtp.password": "Лозинка", "admin.config.smtp.password": "Лозинка",
"admin.config.smtp.password.description": "Лозинка SMTP сервера", "admin.config.smtp.password.description": "Лозинка SMTP сервера",
"admin.config.smtp.button.test": "Пошаљи тестну е-пошту", "admin.config.smtp.button.test": "Пошаљи тестну е-пошту",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Дозволи регистрацију", "admin.config.oauth.allow-registration": "Дозволи регистрацију",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Дозволите корисницима да се региструју путем друштвене пријаве", "Дозволите корисницима да се региструју путем друштвене пријаве",
"admin.config.oauth.ignore-totp": "Занемари ТОТП", "admin.config.oauth.ignore-totp": "Занемари ТОТП",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Да ли да игноришете ТОТП када корисник користи пријаву на друштвеним мрежама",
"Да ли да игноришете ТОТП када корисник користи пријаву на друштвеним мрежама", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Да ли је пријављивање на GitHub омогућено", "Да ли је пријављивање на GitHub омогућено",

View File

@@ -39,6 +39,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Vänligen ange din tvåfaktorsautentiseringskod", "Vänligen ange din tvåfaktorsautentiseringskod",
"signIn.oauth.or": "ELLER", "signIn.oauth.or": "ELLER",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -337,6 +338,9 @@ export default {
"admin.config.general.show-home-page": "Visa startsidan", "admin.config.general.show-home-page": "Visa startsidan",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Om du vill visa startsidan", "Om du vill visa startsidan",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logotyp", "admin.config.general.logo": "Logotyp",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Ändra din logotyp genom att ladda upp en ny bild. Bilden måste vara en PNG och bör ha formatet 1:1.", "Ändra din logotyp genom att ladda upp en ny bild. Bilden måste vara en PNG och bör ha formatet 1:1.",
@@ -388,6 +392,9 @@ export default {
"admin.config.share.chunk-size": "Bitstorleken", "admin.config.share.chunk-size": "Bitstorleken",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Justera bitstorleken (i bytes) för dina uppladdningar för att balansera effektivitet och tillförlitlighet enligt din internetanslutning. Mindre bitar kan öka framgångsgraden för instabila anslutningar, medan större bitar snabbar upp uppladdningar för stabila anslutningar.", "Justera bitstorleken (i bytes) för dina uppladdningar för att balansera effektivitet och tillförlitlighet enligt din internetanslutning. Mindre bitar kan öka framgångsgraden för instabila anslutningar, medan större bitar snabbar upp uppladdningar för stabila anslutningar.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Aktiverad", "admin.config.smtp.enabled": "Aktiverad",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Om SMTP skall vara aktiverat. Ange endast detta som sant om du angav adress, port, e-post, användare och lösenord för din SMTP-server.", "Om SMTP skall vara aktiverat. Ange endast detta som sant om du angav adress, port, e-post, användare och lösenord för din SMTP-server.",
@@ -403,12 +410,15 @@ export default {
"admin.config.smtp.password": "Lösenord", "admin.config.smtp.password": "Lösenord",
"admin.config.smtp.password.description": "Lösenord för SMTP-servern", "admin.config.smtp.password.description": "Lösenord för SMTP-servern",
"admin.config.smtp.button.test": "Skicka testmeddelande", "admin.config.smtp.button.test": "Skicka testmeddelande",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Tillåt registrering", "admin.config.oauth.allow-registration": "Tillåt registrering",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Tillåt användare att registrera sig via social inloggning", "Tillåt användare att registrera sig via social inloggning",
"admin.config.oauth.ignore-totp": "Ignorera TOTP", "admin.config.oauth.ignore-totp": "Ignorera TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Om du vill ignorera TOTP när användaren använder social inloggning",
"Om du vill ignorera TOTP när användaren använder social inloggning", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Om GitHub-inloggning är aktiverad", "Om GitHub-inloggning är aktiverad",

View File

@@ -38,6 +38,7 @@ export default {
"signIn.notify.totp-required.title": "ยืนยันตรวจสอบสิทธิ์สองปัจจัย", "signIn.notify.totp-required.title": "ยืนยันตรวจสอบสิทธิ์สองปัจจัย",
"signIn.notify.totp-required.description": "กรุณาใส่รหัสยืนยันตัวตนสองปัจจัย", "signIn.notify.totp-required.description": "กรุณาใส่รหัสยืนยันตัวตนสองปัจจัย",
"signIn.oauth.or": "OR", "signIn.oauth.or": "OR",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -329,6 +330,9 @@ export default {
"admin.config.general.show-home-page": "แสดงหน้าแรก", "admin.config.general.show-home-page": "แสดงหน้าแรก",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"หากติ๊ก เว็บไซต์จะแสดงหน้าหลักเวลาเข้าถึง URL หลัก", "หากติ๊ก เว็บไซต์จะแสดงหน้าหลักเวลาเข้าถึง URL หลัก",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "โลโก้", "admin.config.general.logo": "โลโก้",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"เปลี่ยนโลโก้โดยอัปโหลดรูปภาพใหม่ รูปภาพต้องเป็น PNG และควรมีขนาดอัตราส่วน 1:1", "เปลี่ยนโลโก้โดยอัปโหลดรูปภาพใหม่ รูปภาพต้องเป็น PNG และควรมีขนาดอัตราส่วน 1:1",
@@ -381,6 +385,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "เปิด", "admin.config.smtp.enabled": "เปิด",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"เปิดใช้งาน SMTP สำหรับการส่งอีเมล์์์์์์ เปิดได้เท่านั้นต่อเมื่อคุณใส่ข้อมูลโฮสต์ พอร์ต อีเมล์ ผู้ใช้ และรหัสผ่านของเซิร์ฟเวอร์ SMTP ของคุณ", "เปิดใช้งาน SMTP สำหรับการส่งอีเมล์์์์์์ เปิดได้เท่านั้นต่อเมื่อคุณใส่ข้อมูลโฮสต์ พอร์ต อีเมล์ ผู้ใช้ และรหัสผ่านของเซิร์ฟเวอร์ SMTP ของคุณ",
@@ -396,12 +403,15 @@ export default {
"admin.config.smtp.password": "รหัสผ่าน", "admin.config.smtp.password": "รหัสผ่าน",
"admin.config.smtp.password.description": "รหัสผ่านของเซิร์ฟเวอร์ SMTP", "admin.config.smtp.password.description": "รหัสผ่านของเซิร์ฟเวอร์ SMTP",
"admin.config.smtp.button.test": "ส่งอีเมล์์์์์์ทดสอบ", "admin.config.smtp.button.test": "ส่งอีเมล์์์์์์ทดสอบ",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Allow registration", "admin.config.oauth.allow-registration": "Allow registration",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Allow users to register via social login", "Allow users to register via social login",
"admin.config.oauth.ignore-totp": "Ignore TOTP", "admin.config.oauth.ignore-totp": "Ignore TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login",
"Whether to ignore TOTP when user using social login", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Whether GitHub login is enabled", "Whether GitHub login is enabled",

View File

@@ -0,0 +1,530 @@
export default {
// Navbar
"navbar.upload": "Yükle",
"navbar.signin": "Giriş Yap",
"navbar.home": "Ana Sayfa",
"navbar.signup": "Kaydol",
"navbar.links.shares": "Paylaşımlarım",
"navbar.links.reverse": "Tersine Paylaşımlar",
"navbar.avatar.account": "Hesabım",
"navbar.avatar.admin": "Yönetim",
"navbar.avatar.signout": ıkış Yap",
// END navbar
// /
"home.title": "<h>Kişisel barındırılan</h> bir dosya paylaşım platformu.",
"home.description":
"Kişisel dosyalarınızı WeTransfer gibi üçüncü tarafların eline gerçekten vermek istiyor musunuz?",
"home.bullet.a.name": "Kişisel Barındırılan",
"home.bullet.a.description": "Pingvin Share'i kendi makinenizde barındırın.",
"home.bullet.b.name": "Gizlilik",
"home.bullet.b.description":
"Dosyalarınız sizin dosyalarınızdır ve asla üçüncü şahısların ellerinde bulunmamalıdır.",
"home.bullet.c.name": "Can sıkıcı dosya boyutu sınırı yok",
"home.bullet.c.description":
"İstediğiniz kadar büyük dosya yükleyin. Sınırınız sadece sabit diskiniz olacaktır.",
"home.button.start": "Başlayalım",
"home.button.source": "Kaynak kodu",
// END /
// /auth/signin
"signin.title": "Tekrar hoşgeldiniz",
"signin.description": "Henüz bir hesabınız yok mu?",
"signin.button.signup": "Kaydol",
"signin.input.email-or-username": "Eposta veya kullanıcı adı",
"signin.input.email-or-username.placeholder": "E-Posta veya kullanıcı adı",
"signin.input.password": "Şifre",
"signin.input.password.placeholder": "Şifreniz",
"signin.button.submit": "Giriş Yap",
"signIn.notify.totp-required.title": "İki faktörlü kimlik doğrulama gerekli",
"signIn.notify.totp-required.description":
"Lütfen iki faktörlü doğrulama kodunuzu girin",
"signIn.oauth.or": "YA DA",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft",
"signIn.oauth.discord": "Discord",
"signIn.oauth.oidc": "OpenID",
// END /auth/signin
// /auth/signup
"signup.title": "Bir hesap oluştur",
"signup.description": "Zaten bir hesabınız mı var?",
"signup.button.signin": "Giriş Yap",
"signup.input.username": "Kullanıcı Adı",
"signup.input.username.placeholder": "Kullanıcı adınız",
"signup.input.email": "E-Posta",
"signup.input.email.placeholder": "E-Posta adresiniz",
"signup.button.submit": "Haydi Başlayalım",
// END /auth/signup
// /auth/totp
"totp.title": "İki Faktörlü Doğrulama",
"totp.button.signIn": "Giriş Yap",
// END /auth/totp
// /auth/reset-password
"resetPassword.title": "Şifrenizi mi unuttunuz?",
"resetPassword.description": "Şifrenizi sıfırlamak için E-Postanızı girin.",
"resetPassword.notify.success":
"E-postanız mevcutsa, şifrenizi sıfırlamak için bağlantı içeren bir mesaj gönderilmiştir.",
"resetPassword.button.back": "Giriş sayfasına geri dön",
"resetPassword.text.resetPassword": "Şifreyi sıfırla",
"resetPassword.text.enterNewPassword": "Yeni şifrenizi girin",
"resetPassword.input.password": "Yeni şifre",
"resetPassword.notify.passwordReset": "Şifreniz başarıyla sıfırlandı.",
// /account
"account.title": "Hesabım",
"account.card.info.title": "Hesap Bilgisi",
"account.card.info.username": "Kullanıcı Adı",
"account.card.info.email": "E-Posta",
"account.notify.info.success": "Hesap başarıyla güncellendi",
"account.card.password.title": "Şifre",
"account.card.password.old": "Eski şifre",
"account.card.password.new": "Yeni şifre",
"account.card.password.noPasswordSet":
"Belirlenmiş bir şifreniz yok. E-posta ve şifre ile oturum açmak istiyorsanız bir şifre belirlemeniz gerekir.",
"account.notify.password.success": "Şifre başarıyla değiştirildi",
"account.card.oauth.title": "Sosyal Medya girişi",
"account.card.oauth.github": "GitHub",
"account.card.oauth.google": "Google",
"account.card.oauth.microsoft": "Microsoft",
"account.card.oauth.discord": "Discord",
"account.card.oauth.oidc": "OpenID",
"account.card.oauth.link": "Bağlantı",
"account.card.oauth.unlink": "Bağlantıyı kes",
"account.card.oauth.unlinked": "Bağlantısız",
"account.modal.unlink.title": "Hesabın bağlantısını kaldır",
"account.modal.unlink.description":
"Sosyal hesaplarınızın bağlantısını kesmek, kullanıcı adınızı ve şifrenizi hatırlamıyorsanız hesabınızı kaybetmenize neden olabilir.",
"account.notify.oauth.unlinked.success": "Bağlantı Başarıyla Kaldırıldı",
"account.card.security.title": "Güvenlik",
"account.card.security.totp.enable.description":
"İki faktörlü doğrulamayı aktif etmek için şu anki şifrenizi girin",
"account.card.security.totp.disable.description":
"İki faktörlü doğrulamayı kaldırmak için şu anki şifrenizi girin",
"account.card.security.totp.button.start": "Başlat",
"account.modal.totp.title": "2FA aç",
"account.modal.totp.step1": "Adım 1: Kimlik doğrulayıcınızı ekleyin",
"account.modal.totp.step2": "Adım 2: Kodunuzu doğrulayın",
"account.modal.totp.enterManually": "Manuel olarak girin",
"account.modal.totp.code": "Kod",
"common.button.clickToCopy": "Kopyalamak için tıkla",
"account.modal.totp.verify": "Doğrula",
"account.notify.totp.disable": "2FA başarıyla kaldırıldı",
"account.notify.totp.enable": "2FA başarıyla etkinleştirildi",
"account.card.language.title": "Dil",
"account.card.language.description":
"Proje topluluk tarafından çevrilmiştir. Bazı diller eksik olabilir.",
"account.card.color.title": "Renk Şeması",
// ThemeSwitcher.tsx
"account.theme.dark": "Koyu",
"account.theme.light": "Açık",
"account.theme.system": "Sistem",
"account.button.delete": "Hesabı sil",
"account.modal.delete.title": "Hesabı sil",
"account.modal.delete.description":
"Tüm aktif paylaşımlarınız dahil hesabınızı gerçekten silmek istiyor musunuz?",
// END /account
// /account/shares
"account.shares.title": "Paylaşımlarım",
"account.shares.title.empty": "Burası bomboş 👀",
"account.shares.description.empty": "Hiç paylaşımınız yok.",
"account.shares.button.create": "Bir tane oluşturun",
"account.shares.info.title": "Bilgiler paylaşın",
"account.shares.table.id": "ID",
"account.shares.table.name": "İsim",
"account.shares.table.description": "Açıklama",
"account.shares.table.visitors": "Ziyaretçiler",
"account.shares.table.expiresAt": "Sona erme tarihi",
"account.shares.table.createdAt": "Oluşturulma tarihi",
"account.shares.table.size": "Boyut",
"account.shares.modal.share-informations": "Bilgiler paylaşın",
"account.shares.modal.share-link": "Bağlantıyı paylaş",
"account.shares.modal.delete.title": "{share} paylaşımını sil",
"account.shares.modal.delete.description":
"Bu paylaşımı silmek istediğinize emin misiniz?",
// END /account/shares
// /account/reverseShares
"account.reverseShares.title": "Tersine Paylaşımlar",
"account.reverseShares.description":
"Ters paylaşım, harici kullanıcıların bir paylaşım oluşturmasına olanak tanıyan benzersiz bir URL oluşturmanızı sağlar.",
"account.reverseShares.title.empty": "Burası bomboş 👀",
"account.reverseShares.description.empty": "Hiç tersine paylaşımınız yok.",
// showCreateReverseShareModal.tsx
"account.reverseShares.modal.title": "Tersine paylaşım oluşturun",
"account.reverseShares.modal.expiration.label": "Sona erme",
"account.reverseShares.modal.expiration.minute-singular": "Dakika",
"account.reverseShares.modal.expiration.minute-plural": "Dakika",
"account.reverseShares.modal.expiration.hour-singular": "Saat",
"account.reverseShares.modal.expiration.hour-plural": "Saat",
"account.reverseShares.modal.expiration.day-singular": "Gün",
"account.reverseShares.modal.expiration.day-plural": "Gün",
"account.reverseShares.modal.expiration.week-singular": "Hafta",
"account.reverseShares.modal.expiration.week-plural": "Hafta",
"account.reverseShares.modal.expiration.month-singular": "Ay",
"account.reverseShares.modal.expiration.month-plural": "Ay",
"account.reverseShares.modal.expiration.year-singular": "Yıl",
"account.reverseShares.modal.expiration.year-plural": "Yıl",
"account.reverseShares.modal.max-size.label": "Maks paylaşım boyutu",
"account.reverseShares.modal.send-email": "E-Posta bildirimi gönder",
"account.reverseShares.modal.send-email.description":
"Bu tersine paylaşım bağlantısıyla bir paylaşım oluşturulduğunda e-posta bildirimi gönderin.",
"account.reverseShares.modal.max-use.label": "Maks Kullanım",
"account.reverseShares.modal.max-use.description":
"Bu URL'nin bir paylaşım oluşturmak için kullanılabileceği maksimum sayı.",
"account.reverseShare.never-expires":
"Bu tersine paylaşım asla sona ermeyecek.",
"account.reverseShare.expires-on":
"Bu tersine paylaşım {expiration} tarihinde sona erecek.",
"account.reverseShares.table.no-shares": "Henüz paylaşım oluşturulmadı",
"account.reverseShares.table.count.singular": "paylaşım",
"account.reverseShares.table.count.plural": "paylaşım",
"account.reverseShares.table.shares": "Paylaşım",
"account.reverseShares.table.remaining": "Kalan kullanımların",
"account.reverseShares.table.max-size": "Maks paylaşım boyutu",
"account.reverseShares.table.expires": "Sona erme tarihi",
"account.reverseShares.modal.reverse-share-link":
"Tersine paylaşım bağlantısı",
"account.reverseShares.modal.delete.title": "Tersine paylaşımı sil",
"account.reverseShares.modal.delete.description":
"Bu tersine paylaşımı gerçekten silmek istiyor musunuz? Bunu yaparsanız, ilişkili paylaşımlar da silinecektir.",
// END /account/reverseShares
// /admin
"admin.title": "Yönetim",
"admin.button.users": "Kullanıcı yönetimi",
"admin.button.shares": "Paylaşım yönetimi",
"admin.button.config": "Konfigürasyon",
"admin.version": "Sürüm",
// END /admin
// /admin/users
"admin.users.title": "Kullanıcı yönetimi",
"admin.users.table.username": "Kullanıcı Adı",
"admin.users.table.email": "E-Posta",
"admin.users.table.admin": "Yönetici",
"admin.users.edit.update.title": "{username} kullanıcısını güncelle",
"admin.users.edit.update.admin-privileges": "Yönetici ayrıcalıkları",
"admin.users.edit.update.change-password.title": "Şifreyi değiştir",
"admin.users.edit.update.change-password.field": "Yeni şifre",
"admin.users.edit.update.change-password.button": "Yeni şifreyi kaydet",
"admin.users.edit.update.notify.password.success":
"Şifre başarıyla değiştirildi",
"admin.users.edit.delete.title": "{username} kullanıcısını sil",
"admin.users.edit.delete.description":
"Bu kullanıcıyı ve tüm paylaşımlarını gerçekten silmek istiyor musunuz?",
// showCreateUserModal.tsx
"admin.users.modal.create.title": "Kullanıcı oluştur",
"admin.users.modal.create.username": "Kullanıcı Adı",
"admin.users.modal.create.email": "E-Posta",
"admin.users.modal.create.password": "Şifre",
"admin.users.modal.create.manual-password": "Şifreyi manuel olarak ayarla",
"admin.users.modal.create.manual-password.description":
"İşaretlenmezse, kullanıcı şifresini ayarlamak için bağlantı içeren bir e-posta alacaktır.",
"admin.users.modal.create.admin": "Yönetici ayrıcalıkları",
"admin.users.modal.create.admin.description":
"İşaretlenirse, kullanıcı yönetici paneline erişebilir.",
// END /admin/users
// /admin/shares
"admin.shares.title": "Paylaşım yönetimi",
"admin.shares.table.id": "Paylaşım ID",
"admin.shares.table.username": "Yapımcı",
"admin.shares.table.visitors": "Ziyaretçi",
"admin.shares.table.expires": "Sona erme tarihi",
"admin.shares.edit.delete.title": "{id} paylaşımını sil",
"admin.shares.edit.delete.description":
"Bu paylaşımı gerçekten silmek istiyor musun?",
// END /admin/shares
// /upload
"upload.title": "Yükle",
"upload.notify.generic-error":
"Paylaşımını bitirirken bir hata meydana geldi.",
"upload.notify.count-failed": "{count} dosya yüklenemedi. Yeniden deneniyor.",
// Dropzone.tsx
"upload.dropzone.title": "Dosya yükle",
"upload.dropzone.description":
"Paylaşmak için dosyaları buraya sürükleyin. Sadece {maxSize} boyutundan küçük dosyalar kabul edilir.",
"upload.dropzone.notify.file-too-big":
"Dosyalarınızın boyutu {maxSize} paylaşım sınırını geçti.",
// FileList.tsx
"upload.filelist.name": "İsim",
"upload.filelist.size": "Boyut",
// showCreateUploadModal.tsx
"upload.modal.title": "Paylaşım Oluştur",
"upload.modal.link.error.invalid":
"Sadece harf, sayı, alt çizgi ve kısa çizgi içerebilir",
"upload.modal.link.error.taken": "Bu bağlantı halen kullanımda",
"upload.modal.not-signed-in": "Oturum açmadınız",
"upload.modal.not-signed-in-description":
"Paylaşımınızı manuel olarak silemeyecek ve ziyaret sayısını göremeyeceksiniz.",
"upload.modal.expires.never": "asla",
"upload.modal.expires.never-long": "Sona Ermez",
"upload.modal.expires.error.too-long":
"Son kullanma tarihi {max} maksimum son kullanma tarihini aşıyor.",
"upload.modal.link.label": "Bağlantı",
"upload.modal.expires.label": "Sona erme tarihi",
"upload.modal.expires.minute-singular": "Dakika",
"upload.modal.expires.minute-plural": "Dakika",
"upload.modal.expires.hour-singular": "Saat",
"upload.modal.expires.hour-plural": "Saat",
"upload.modal.expires.day-singular": "Gün",
"upload.modal.expires.day-plural": "Gün",
"upload.modal.expires.week-singular": "Hafta",
"upload.modal.expires.week-plural": "Hafta",
"upload.modal.expires.month-singular": "Ay",
"upload.modal.expires.month-plural": "Ay",
"upload.modal.expires.year-singular": "Yıl",
"upload.modal.expires.year-plural": "Yıl",
"upload.modal.accordion.name-and-description.title": "İsim ve açıklama",
"upload.modal.accordion.name-and-description.name.placeholder": "İsim",
"upload.modal.accordion.name-and-description.description.placeholder":
"Bu paylaşımın alıcıları için not",
"upload.modal.accordion.email.title": "E-Posta alıcıları",
"upload.modal.accordion.email.placeholder": "E-Posta alıcılarını yazın",
"upload.modal.accordion.email.invalid-email": "Geçersiz E-Posta adresi",
"upload.modal.accordion.security.title": "Güvenlik seçenekleri",
"upload.modal.accordion.security.password.label": "Şifre koruması",
"upload.modal.accordion.security.password.placeholder": "Şifresiz",
"upload.modal.accordion.security.max-views.label": "En fazla görüntüleme",
"upload.modal.accordion.security.max-views.placeholder": "Sınır yok",
// showCompletedUploadModal.tsx
"upload.modal.completed.never-expires": "Bu paylaşım asla sona ermeyecek.",
"upload.modal.completed.expires-on":
"Bu paylaşım {expiration} tarihinde sona erecek.",
"upload.modal.completed.share-ready": "Paylaşım hazır",
// END /upload
// /share/[id]
"share.title": "Paylaş {shareId}",
"share.description": "Seninle ne paylaştığıma bak!",
"share.error.visitor-limit-exceeded.title": "Ziyaretçi sınırııldı",
"share.error.visitor-limit-exceeded.description":
"Bu paylaşımdaki ziyaretçi sınırııldı.",
"share.error.removed.title": "Paylaşım kaldırıldı",
"share.error.not-found.title": "Paylaşım bulunamadı",
"share.error.not-found.description": "Aradığınız paylaşım bulunmuyor.",
"share.modal.password.title": "Şifre gerekli",
"share.modal.password.description":
"Bu paylaşıma erişmek için lütfen paylaşımın şifresini girin.",
"share.modal.password": "Şifre",
"share.modal.error.invalid-password": "Geçersiz şifre",
"share.button.download-all": "Tümünü indir",
"share.notify.download-all-preparing":
"Paylaşım hazırlanıyor. Birkaç dakika içinde tekrar deneyin.",
"share.modal.file-link": "Dosya bağlantısı",
"share.table.name": "İsim",
"share.table.size": "Boyut",
"share.modal.file-preview.error.not-supported.title":
"Önizleme desteklenmiyor",
"share.modal.file-preview.error.not-supported.description":
"Bu dosyanın önizlemesi desteklenmiyor. Lütfen indirin ve öyle inceleyin.",
// END /share/[id]
// /share/[id]/edit
"share.edit.title": "{shareId} düzenle",
"share.edit.append-upload": "Dosya ekle",
"share.edit.notify.generic-error":
"Paylaşımını bitirirken bir hata meydana geldi.",
"share.edit.notify.save-success": "Paylaşım başarıyla güncellendi",
// END /share/[id]/edit
// /admin/config
"admin.config.title": "Konfigürasyon",
"admin.config.category.general": "Genel",
"admin.config.category.share": "Paylaş",
"admin.config.category.email": "E-Posta",
"admin.config.category.smtp": "SMTP",
"admin.config.category.oauth": "Sosyal Medya Girişi",
"admin.config.general.app-name": "Uygulama adı",
"admin.config.general.app-name.description": "Uygulamanın adı",
"admin.config.general.app-url": "Uygulama URL'si",
"admin.config.general.app-url.description":
"Pingvin Share'in hangi bağlantıda kullanılacağı",
"admin.config.general.show-home-page": "Ana sayfayı göster",
"admin.config.general.show-home-page.description": "Ana sayfanın görünürlüğü",
"admin.config.general.session-duration": "Oturum Süresi",
"admin.config.general.session-duration.description":
"Kullanıcının ne kadar sürede bir tekrar giriş yapacağı (normalde 3 ay).",
"admin.config.general.logo": "Logo",
"admin.config.general.logo.description":
"Yeni resim yükleyerek logo'nuzu değiştirin. Resim PNG ve 1'e 1 ölçekte olmalı.",
"admin.config.general.logo.placeholder": "Resim seç",
"admin.config.email.enable-share-email-recipients":
"E-Posta alıcılarını paylaşmayı etkinleştirin",
"admin.config.email.enable-share-email-recipients.description":
"E-Postaların alıcıları paylaşmasına izin verilip verilmeyeceği. Bunu yalnızca SMTP'yi etkinleştirdiyseniz etkinleştirin.",
"admin.config.email.share-recipients-subject": "Paylaşım alıcılarının konusu",
"admin.config.email.share-recipients-subject.description":
"Paylaşım alıcılarına gönderilecek e-postanın konusu.",
"admin.config.email.share-recipients-message": "Paylaşım alıcılarının mesajı",
"admin.config.email.share-recipients-message.description":
"Paylaşım alıcılarına gönderilecek mesaj. Kullanılabilir değişkenler:\n {creator} - Paylaşımı oluşturan kişinin kullanıcı adı\n {shareUrl} - Paylaşımın URL'si\n {desc} - Paylaşımın açıklaması\n {expires} - Paylaşımın son kullanma tarihi\n Değişkenler gerçek değerle değiştirilecektir.",
"admin.config.email.reverse-share-subject": "Tersine paylaşım konusu",
"admin.config.email.reverse-share-subject.description":
"Birisi sizin ters paylaşım bağlantınızla bir paylaşım oluşturduğunda gönderilen e-postanın konusu.",
"admin.config.email.reverse-share-message": "Tersine paylaşım mesajı",
"admin.config.email.reverse-share-message.description":
"Birisi sizin tersine paylaşım bağlantınızla bir paylaşım oluşturduğunda gönderilen mesaj. {shareUrl}, oluşturucunun adı ve paylaşım URL'si ile değiştirilecektir.",
"admin.config.email.reset-password-subject": "Şifre sıfırlama konusu",
"admin.config.email.reset-password-subject.description":
"Bir kullanıcı şifre sıfırlama talebinde bulunduğunda gönderilen e-postanın konusu.",
"admin.config.email.reset-password-message": "Şifre sıfırlama mesajı",
"admin.config.email.reset-password-message.description":
"Bir kullanıcı şifre sıfırlama talebinde bulunduğunda gönderilecek mesaj. {url} şifre sıfırlama URL'si ile değiştirilecektir.",
"admin.config.email.invite-subject": "Davet konusu",
"admin.config.email.invite-subject.description":
"Yönetici bir kullanıcıyı davet ettiğinde gönderilen e-postanın konusu.",
"admin.config.email.invite-message": "Davet mesajı",
"admin.config.email.invite-message.description":
"Yönetici bir kullanıcıyı davet ettiğinde gönderilen mesaj. {url} davet URL'si ve {password} şifre ile değiştirilecektir.",
"admin.config.share.allow-registration": "Kayda izin ver",
"admin.config.share.allow-registration.description":
"Kaydın izin verilip verilmeyeceği",
"admin.config.share.allow-unauthenticated-shares":
"Giriş yapmamış kullanıcılara izin ver",
"admin.config.share.allow-unauthenticated-shares.description":
"Giriş yapmamış kullanıcıların paylaşım oluşturup oluşturamayacağı",
"admin.config.share.max-expiration": "Maks sona erme",
"admin.config.share.max-expiration.description":
"Saat üzerinden maksimum paylaşım sona ermesi. Sınırsız için 0 yapın.",
"admin.config.share.max-size": "Maks boyut",
"admin.config.share.max-size.description":
"Byte üzerinden maks paylaşım boyutu",
"admin.config.share.zip-compression-level": "Zip sıkıştırma seviyesi",
"admin.config.share.zip-compression-level.description":
"Dosya boyutu ve sıkıştırma hızı arasında denge kurmak için seviyeyi ayarlayın. Geçerli değerler 0 ile 9 arasında değişir; 0 sıkıştırma yok ve 9 maksimum sıkıştırma anlamına gelir. ",
"admin.config.share.chunk-size": "Yığın boyutu",
"admin.config.share.chunk-size.description":
"İnternet bağlantınıza göre verimlilik ve güvenilirliği dengelemek için yüklemeleriniz için yığın boyutunu (bayt cinsinden) ayarlayın. Daha küçük parçalar kararsız bağlantılar için başarı oranlarını artırabilirken, daha büyük parçalar kararlı bağlantılar için yüklemeleri hızlandırır.",
"admin.config.share.auto-open-share-modal":
"Paylaşım oluşturma modalini otomatik aç",
"admin.config.share.auto-open-share-modal.description":
"Bir kullanıcı dosyaları seçtiğinde paylaşım oluşturma modu otomatik olarak görünür ve düğmeye manuel olarak tıklama ihtiyacını ortadan kaldırır.",
"admin.config.smtp.enabled": "Etkinleştirildi",
"admin.config.smtp.enabled.description":
"SMTP'nin etkin olup olmadığı. Bunu yalnızca SMTP sunucunuzun ana bilgisayarını, bağlantı noktasını, e-postasını, kullanıcısını ve şifresini girdiyseniz true olarak ayarlayın.",
"admin.config.smtp.host": "Host",
"admin.config.smtp.host.description": "SMTP sunucusunun hostu",
"admin.config.smtp.port": "Port",
"admin.config.smtp.port.description": "SMTP sunucusunun portu",
"admin.config.smtp.email": "E-Posta",
"admin.config.smtp.email.description":
"E-Postaların hangi adresten gönderileceği",
"admin.config.smtp.username": "Kullanıcı Adı",
"admin.config.smtp.username.description": "SMTP sunucusunun kullanıcı adı",
"admin.config.smtp.password": "Şifre",
"admin.config.smtp.password.description": "SMTP sunucusunun şifresi",
"admin.config.smtp.button.test": "Test e-postası gönder",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Kayıtlara izin ver",
"admin.config.oauth.allow-registration.description":
"Sosyal Medya kayıtlarına izin verilip verilmeyeceği",
"admin.config.oauth.ignore-totp": "2FA görmezden gel",
"admin.config.oauth.ignore-totp.description": "Sosyal Medya ile giriş yapıldıktıktan sonra 2FA görmezden gelinip gelinmeyeceği",
"admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description":
"GitHub girişine izin verilip verilmeyeceği",
"admin.config.oauth.github-client-id": "GitHub Client ID",
"admin.config.oauth.github-client-id.description":
"GitHub OAuth uygulamasının Client ID'si",
"admin.config.oauth.github-client-secret": "GitHub Client Secret",
"admin.config.oauth.github-client-secret.description":
"GitHub OAuth uygulamasının Client Secret'i",
"admin.config.oauth.google-enabled": "Google",
"admin.config.oauth.google-enabled.description":
"Google girişi izin verilip verilmeyeceği",
"admin.config.oauth.google-client-id": "Google Client ID",
"admin.config.oauth.google-client-id.description":
"Google OAuth uygulamasının Client ID'si",
"admin.config.oauth.google-client-secret": "Google Client Secret",
"admin.config.oauth.google-client-secret.description":
"Google OAuth uygulamasının Client Secret'i",
"admin.config.oauth.microsoft-enabled": "Microsoft",
"admin.config.oauth.microsoft-enabled.description":
"Microsoft girişine izin verilip verilmeyeceği",
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
"admin.config.oauth.microsoft-tenant.description":
"Microsoft OAuth uygulamasının Tenant kimliği\nyaygın: Hem kişisel Microsoft hesabına hem de Microsoft Entra ID'den bir iş veya okul hesabına sahip kullanıcılar uygulamada oturum açabilir. kuruluşlar: Yalnızca Microsoft Entra ID'den iş veya okul hesabı olan kullanıcılar uygulamada oturum açabilir.\ntüketiciler: Yalnızca kişisel Microsoft hesabı olan kullanıcılar uygulamada oturum açabilir.\nMicrosoft Entra Tenant etki alanı adı veya GUID biçimindeki Tenant kimliği: Yalnızca belirli bir Microsoft Entra Tenant kullanıcısı (iş veya okul hesabına sahip dizin üyeleri veya kişisel Microsoft hesabına sahip dizin konukları) uygulamada oturum açabilir.",
"admin.config.oauth.microsoft-client-id": "Microsoft Client ID",
"admin.config.oauth.microsoft-client-id.description":
"Microsoft OAuth uygulamasının Client ID'si",
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret",
"admin.config.oauth.microsoft-client-secret.description":
"Microsoft OAuth uygulamasının Client Secret'i",
"admin.config.oauth.discord-enabled": "Discord",
"admin.config.oauth.discord-enabled.description":
"Discord girişine izin verilip verilmeyeceği",
"admin.config.oauth.discord-limited-guild": "Discord limitli sunucu ID'si",
"admin.config.oauth.discord-limited-guild.description":
"Oturum açmayı belirli bir sunucudaki kullanıcılarla sınırlayın. Devre dışı bırakmak için boş bırakın.",
"admin.config.oauth.discord-client-id": "Discord Client ID",
"admin.config.oauth.discord-client-id.description":
"Discord OAuth uygulamasının Client ID'si",
"admin.config.oauth.discord-client-secret": "Discord Client secret",
"admin.config.oauth.discord-client-secret.description":
"Discord OAuth uygulamasının Client Secret'i",
"admin.config.oauth.oidc-enabled": "OpenID Bağlantısı",
"admin.config.oauth.oidc-enabled.description":
"OpenID girişine izin verilip verilmeyeceği",
"admin.config.oauth.oidc-discovery-uri": "OpenID Connect Keşfetme URI'si",
"admin.config.oauth.oidc-discovery-uri.description":
"OpenID Connect OAuth uygulamasının Keşfetme URI'si",
"admin.config.oauth.oidc-username-claim":
"OpenID Connect kullanıcı adı sahiplenme",
"admin.config.oauth.oidc-username-claim.description":
"OpenID Connect ID belirtecinde kullanıcı adı sahiplenme. Bu yapılandırmanın ne olduğunu bilmiyorsanız boş bırakın.",
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID",
"admin.config.oauth.oidc-client-id.description":
"OpenID Connect OAuth uygulamasının Client ID'si",
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret",
"admin.config.oauth.oidc-client-secret.description":
"OpenID Connect OAuth uygulamasının Client Secret'i",
// 404
"404.description": "Haydaa, böyle bir sayfa yok.",
"404.button.home": "Beni eve götür",
// error
"error.title": "Hata",
"error.description": "Haydaa!",
"error.button.back": "Geri dön",
"error.msg.default": "Bir şeyler ters gitti.",
"error.msg.access_denied":
"Doğrulama aşamasını iptal ettin, lütfen yeniden dene.",
"error.msg.expired_token":
"Doğrulama aşaması çok uzun sürdü, lütfen yeniden dene.",
"error.msg.invalid_token": "Dahili Hata",
"error.msg.no_user": "Bu {0} hesabına bağlı kullanıcı mevcut değil.",
"error.msg.no_email": "Bu {0} hesaptan e-posta adresi alınamıyor.",
"error.msg.already_linked": "Bu {0} hesabı zaten başka bir hesaba bağlı.",
"error.msg.not_linked": "Bu {0} hesabı henüz bir hesaba bağlı değil.",
"error.msg.unverified_account":
"Bu {0} hesabı doğrulanmamış, lütfen doğruladıktan sonra yeniden dene.",
"error.msg.discord_guild_permission_denied": "Giriş yapmana izin verilmiyor.",
"error.msg.cannot_get_user_info":
"Bu {0} hesabından kullanıcı bilgilerinizi alamıyorum.",
"error.param.provider_github": "GitHub",
"error.param.provider_google": "Google",
"error.param.provider_microsoft": "Microsoft",
"error.param.provider_discord": "Discord",
"error.param.provider_oidc": "OpenID Bağlantısı",
// Common translations
"common.button.save": "Kaydet",
"common.button.create": "Oluştur",
"common.button.submit": "Gönder",
"common.button.delete": "Sil",
"common.button.cancel": "İptal",
"common.button.confirm": "Onayla",
"common.button.disable": "Etkisizleştir",
"common.button.share": "Paylaş",
"common.button.generate": "Oluştur",
"common.button.done": "Tamam",
"common.text.link": "Bağlantı",
"common.text.navigate-to-link": "Bağlantıya git",
"common.text.or": "ya da",
"common.button.go-back": "Geri dön",
"common.button.go-home": "Ana sayfaya dön",
"common.notify.copied": "Bağlantınız kopyalandı",
"common.success": "Başarılı",
"common.error": "Hata",
"common.error.unknown": "Bilinmeyen hata meydana geldi",
"common.error.invalid-email": "Geçersiz E-Posta adresi",
"common.error.too-short": "En azından {length} karakter olmalı",
"common.error.too-long": "En fazla {length} karakter olmalı",
"common.error.exact-length": "Tam tamına {length} karakter olmalı",
"common.error.invalid-number": "Bir sayı olmalı",
"common.error.field-required": "Bu alan gerekli",
};

View File

@@ -38,6 +38,7 @@ export default {
"signIn.notify.totp-required.description": "signIn.notify.totp-required.description":
"Будь ласка, введіть код Вашої 2-х факторної аутентифікації", "Будь ласка, введіть код Вашої 2-х факторної аутентифікації",
"signIn.oauth.or": "АБО", "signIn.oauth.or": "АБО",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -337,6 +338,9 @@ export default {
"admin.config.general.show-home-page": "Показувати домашню сторінку", "admin.config.general.show-home-page": "Показувати домашню сторінку",
"admin.config.general.show-home-page.description": "admin.config.general.show-home-page.description":
"Показувати домашню сторінку чи ні", "Показувати домашню сторінку чи ні",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Логотип", "admin.config.general.logo": "Логотип",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"Змініть свій логотип, завантаживши нове зображення. Зображення має бути PNG і повинно мати формат 1:1.", "Змініть свій логотип, завантаживши нове зображення. Зображення має бути PNG і повинно мати формат 1:1.",
@@ -393,6 +397,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "Увімкнено", "admin.config.smtp.enabled": "Увімкнено",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"Чи увімкнено SMTP. Встановіть значення true тільки якщо ви ввели хост, порт, email, користувач і пароль вашого SMTP-сервера.", "Чи увімкнено SMTP. Встановіть значення true тільки якщо ви ввели хост, порт, email, користувач і пароль вашого SMTP-сервера.",
@@ -408,12 +415,15 @@ export default {
"admin.config.smtp.password": "Пароль", "admin.config.smtp.password": "Пароль",
"admin.config.smtp.password.description": "Пароль SMTP-сервера", "admin.config.smtp.password.description": "Пароль SMTP-сервера",
"admin.config.smtp.button.test": "Відправити тестовий лист", "admin.config.smtp.button.test": "Відправити тестовий лист",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "Дозволити реєстрацію", "admin.config.oauth.allow-registration": "Дозволити реєстрацію",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"Дозволити користувачам реєструватися, використовуючи облікові записи соціальних мереж", "Дозволити користувачам реєструватися, використовуючи облікові записи соціальних мереж",
"admin.config.oauth.ignore-totp": "Ігнорувати TOTP", "admin.config.oauth.ignore-totp": "Ігнорувати TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "Ігнорувати TOTP при використанні соціальної авторизації",
"Ігнорувати TOTP при використанні соціальної авторизації", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "admin.config.oauth.github-enabled.description":
"Чи ввімкнено логін на GitHub", "Чи ввімкнено логін на GitHub",

View File

@@ -34,6 +34,7 @@ export default {
"signIn.notify.totp-required.title": "请继续两步验证", "signIn.notify.totp-required.title": "请继续两步验证",
"signIn.notify.totp-required.description": "请输入一次性验证码", "signIn.notify.totp-required.description": "请输入一次性验证码",
"signIn.oauth.or": "或", "signIn.oauth.or": "或",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "谷歌", "signIn.oauth.google": "谷歌",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -312,6 +313,9 @@ export default {
"admin.config.general.app-url.description": "Pingvin Share 的 URL 地址", "admin.config.general.app-url.description": "Pingvin Share 的 URL 地址",
"admin.config.general.show-home-page": "显示首页", "admin.config.general.show-home-page": "显示首页",
"admin.config.general.show-home-page.description": "是否显示首页", "admin.config.general.show-home-page.description": "是否显示首页",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"上传你的个性化 Logo图片必须是长宽比 1:1 的 PNG 格式", "上传你的个性化 Logo图片必须是长宽比 1:1 的 PNG 格式",
@@ -358,9 +362,11 @@ export default {
"admin.config.share.zip-compression-level.description": "admin.config.share.zip-compression-level.description":
"调整压缩质量来平衡压缩文件的大小和压缩的速度。有效值介于 0 和 9 之间0 为不压缩9 为最高质量压缩。 ", "调整压缩质量来平衡压缩文件的大小和压缩的速度。有效值介于 0 和 9 之间0 为不压缩9 为最高质量压缩。 ",
"admin.config.share.chunk-size": "块大小", "admin.config.share.chunk-size": "块大小",
"admin.config.share.chunk-size.description": "根据你的互联网连接情况调整上传文件的块大小(以字节为单位),以平衡效率和可靠性。 较小的块有助于提高不稳定网络环境中的上传成功率,而较大的块则可以加快稳定网络环境中的上传速度。", "admin.config.share.chunk-size.description":
"根据你的互联网连接情况调整上传文件的块大小(以字节为单位),以平衡效率和可靠性。 较小的块有助于提高不稳定网络环境中的上传成功率,而较大的块则可以加快稳定网络环境中的上传速度。",
"admin.config.share.auto-open-share-modal": "自动打开创建共享对话框", "admin.config.share.auto-open-share-modal": "自动打开创建共享对话框",
"admin.config.share.auto-open-share-modal.description": "每当用户选择完将要被上传的文件后,自动打开创建共享的对话框。", "admin.config.share.auto-open-share-modal.description":
"每当用户选择完将要被上传的文件后,自动打开创建共享的对话框。",
"admin.config.smtp.enabled": "启用", "admin.config.smtp.enabled": "启用",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"是否开启 SMTP仅当输入主机名、端口、发送邮箱、用户名和密码后开启", "是否开启 SMTP仅当输入主机名、端口、发送邮箱、用户名和密码后开启",
@@ -375,12 +381,15 @@ export default {
"admin.config.smtp.password": "密码", "admin.config.smtp.password": "密码",
"admin.config.smtp.password.description": "SMTP 主机密码", "admin.config.smtp.password.description": "SMTP 主机密码",
"admin.config.smtp.button.test": "发送测试邮件", "admin.config.smtp.button.test": "发送测试邮件",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "允许注册", "admin.config.oauth.allow-registration": "允许注册",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"允许用户通过登录社交账号来注册", "允许用户通过登录社交账号来注册",
"admin.config.oauth.ignore-totp": "忽略两步验证", "admin.config.oauth.ignore-totp": "忽略两步验证",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "用户通过社交账号登录时是否忽略两步验证",
"用户通过社交账号登录时是否忽略两步验证", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "是否启用 GitHub 账号登录", "admin.config.oauth.github-enabled.description": "是否启用 GitHub 账号登录",
"admin.config.oauth.github-client-id": "GitHub Client ID", "admin.config.oauth.github-client-id": "GitHub Client ID",

View File

@@ -35,6 +35,7 @@ export default {
"signIn.notify.totp-required.title": "請繼續兩步驗證", "signIn.notify.totp-required.title": "請繼續兩步驗證",
"signIn.notify.totp-required.description": "請輸入一次性驗證碼", "signIn.notify.totp-required.description": "請輸入一次性驗證碼",
"signIn.oauth.or": "OR", "signIn.oauth.or": "OR",
"signIn.oauth.signInWith": "Sign in with",
"signIn.oauth.github": "GitHub", "signIn.oauth.github": "GitHub",
"signIn.oauth.google": "Google", "signIn.oauth.google": "Google",
"signIn.oauth.microsoft": "Microsoft", "signIn.oauth.microsoft": "Microsoft",
@@ -313,6 +314,9 @@ export default {
"admin.config.general.app-url.description": "Pingvin Share 的 URL", "admin.config.general.app-url.description": "Pingvin Share 的 URL",
"admin.config.general.show-home-page": "顯示首頁", "admin.config.general.show-home-page": "顯示首頁",
"admin.config.general.show-home-page.description": "是否顯示首頁", "admin.config.general.show-home-page.description": "是否顯示首頁",
"admin.config.general.session-duration": "Session Duration",
"admin.config.general.session-duration.description":
"Time in hours after which a user must log in again (default: 3 months).",
"admin.config.general.logo": "Logo", "admin.config.general.logo": "Logo",
"admin.config.general.logo.description": "admin.config.general.logo.description":
"上傳個性化 Logo圖片必須是長寬比 1:1 的 PNG 格式", "上傳個性化 Logo圖片必須是長寬比 1:1 的 PNG 格式",
@@ -361,6 +365,9 @@ export default {
"admin.config.share.chunk-size": "Chunk size", "admin.config.share.chunk-size": "Chunk size",
"admin.config.share.chunk-size.description": "admin.config.share.chunk-size.description":
"Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.", "Adjust the chunk size (in bytes) for your uploads to balance efficiency and reliability according to your internet connection. Smaller chunks can enhance success rates for unstable connections, while larger chunks speed up uploads for stable connections.",
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
"admin.config.share.auto-open-share-modal.description":
"The share creation modal automatically appears when a user selects files, eliminating the need to manually click the button.",
"admin.config.smtp.enabled": "啟用", "admin.config.smtp.enabled": "啟用",
"admin.config.smtp.enabled.description": "admin.config.smtp.enabled.description":
"是否開啟 SMTP需輸入Host、Port、發送郵箱、使用者名稱和密碼後才有作用", "是否開啟 SMTP需輸入Host、Port、發送郵箱、使用者名稱和密碼後才有作用",
@@ -375,12 +382,15 @@ export default {
"admin.config.smtp.password": "密碼", "admin.config.smtp.password": "密碼",
"admin.config.smtp.password.description": "SMTP 主機密碼", "admin.config.smtp.password.description": "SMTP 主機密碼",
"admin.config.smtp.button.test": "發送測試Email", "admin.config.smtp.button.test": "發送測試Email",
"admin.config.smtp.allow-unauthorized-certificates": "Trust unauthorized SMTP server certificates",
"admin.config.smtp.allow-unauthorized-certificates.description": "Only set this to true if you need to trust self signed certificates.",
"admin.config.oauth.allow-registration": "允許註冊", "admin.config.oauth.allow-registration": "允許註冊",
"admin.config.oauth.allow-registration.description": "admin.config.oauth.allow-registration.description":
"允許使用者以第三方登入註冊", "允許使用者以第三方登入註冊",
"admin.config.oauth.ignore-totp": "略過 TOTP", "admin.config.oauth.ignore-totp": "略過 TOTP",
"admin.config.oauth.ignore-totp.description": "admin.config.oauth.ignore-totp.description": "當使用者使用第三方登入時,略過 TOTP 驗證",
"當使用者使用第三方登入時,略過 TOTP 驗證", "admin.config.oauth.disable-password": "Disable password login",
"admin.config.oauth.disable-password.description": "Whether to disable password login\nMake sure that an OAuth provider is properly configured before activating this configuration to avoid being locked out.",
"admin.config.oauth.github-enabled": "GitHub", "admin.config.oauth.github-enabled": "GitHub",
"admin.config.oauth.github-enabled.description": "啟用 Github 登入", "admin.config.oauth.github-enabled.description": "啟用 Github 登入",
"admin.config.oauth.github-client-id": "GitHub Client ID", "admin.config.oauth.github-client-id": "GitHub Client ID",

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "pingvin-share", "name": "pingvin-share",
"version": "0.25.0", "version": "0.27.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pingvin-share", "name": "pingvin-share",
"version": "0.25.0", "version": "0.27.0",
"devDependencies": { "devDependencies": {
"conventional-changelog-cli": "^3.0.0" "conventional-changelog-cli": "^3.0.0"
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "pingvin-share", "name": "pingvin-share",
"version": "0.25.0", "version": "0.27.0",
"scripts": { "scripts": {
"format": "cd frontend && npm run format && cd ../backend && npm run format", "format": "cd frontend && npm run format && cd ../backend && npm run format",
"lint": "cd frontend && npm run lint && cd ../backend && npm run lint", "lint": "cd frontend && npm run lint && cd ../backend && npm run lint",