Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d9cc7b4ab | ||
|
|
d1cde75a66 | ||
|
|
bbc81d8dd0 | ||
|
|
0cdc04bfb5 | ||
|
|
367f804a49 | ||
|
|
9193a79b9a | ||
|
|
31366d961f | ||
|
|
2dac38560b | ||
|
|
db2720ab7b | ||
|
|
6d6b9e81ff | ||
|
|
f9ddd7bacd | ||
|
|
3773432eb5 | ||
|
|
46783ce463 | ||
|
|
c0cc16fa43 | ||
|
|
4fd29037a0 | ||
|
|
1c7832ad1f | ||
|
|
962ec27df4 | ||
|
|
9268e35141 | ||
|
|
e8be0d60e6 | ||
|
|
0eabf78f13 | ||
|
|
4136bf5778 | ||
|
|
42b3604e2a |
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: 💬 Discord
|
||||||
|
url: https://discord.gg/wHRQ9nFRcK
|
||||||
|
about: For help and chatting with the community
|
||||||
17
.github/ISSUE_TEMPLATE/question.yml
vendored
17
.github/ISSUE_TEMPLATE/question.yml
vendored
@@ -1,17 +0,0 @@
|
|||||||
name: ❓ Question
|
|
||||||
description: "Submit a question"
|
|
||||||
title: "❓ Question:"
|
|
||||||
labels: [question]
|
|
||||||
body:
|
|
||||||
- type: textarea
|
|
||||||
id: feature-description
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
attributes:
|
|
||||||
label: "🙋♂️ Question"
|
|
||||||
description: "A clear question. Please provide as much detail as possible."
|
|
||||||
placeholder: "How do I ...?"
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
Before submitting, please check if the question hasn't been asked before.
|
|
||||||
26
CHANGELOG.md
26
CHANGELOG.md
@@ -1,3 +1,29 @@
|
|||||||
|
## [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)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add auto open share modal config for global. ([#474](https://github.com/stonith404/pingvin-share/issues/474)) ([4fd2903](https://github.com/stonith404/pingvin-share/commit/4fd29037a08dbe505bdd8cf20f6f114cbade8483))
|
||||||
|
* **frontend:** locale for dates and tooltip for copy link button ([#492](https://github.com/stonith404/pingvin-share/issues/492)) ([1c7832a](https://github.com/stonith404/pingvin-share/commit/1c7832ad1fb445fd1dbe1c111be5a331eaa4b797))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* share size not displayed on my shares page ([c0cc16f](https://github.com/stonith404/pingvin-share/commit/c0cc16fa430bc64afb024c19d5faf24456bd417c))
|
||||||
|
|
||||||
## [0.24.2](https://github.com/stonith404/pingvin-share/compare/v0.24.1...v0.24.2) (2024-05-22)
|
## [0.24.2](https://github.com/stonith404/pingvin-share/compare/v0.24.1...v0.24.2) (2024-05-22)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# <div align="center"><img src="https://user-images.githubusercontent.com/58886915/166198400-c2134044-1198-4647-a8b6-da9c4a204c68.svg" width="40"/> </br>Pingvin Share</div>
|
# <div align="center"><img src="https://user-images.githubusercontent.com/58886915/166198400-c2134044-1198-4647-a8b6-da9c4a204c68.svg" width="40"/> </br>Pingvin Share</div>
|
||||||
|
|
||||||
---
|
[](https://discord.gg/wHRQ9nFRcK) [](https://crowdin.com/project/pingvin-share) [](https://github.com/sponsors/stonith404)
|
||||||
|
|
||||||
_Read this in another language: [Spanish](/docs/README.es.md), [English](/README.md), [简体中文](/docs/README.zh-cn.md), [日本語](/docs/README.ja-jp.md)_
|
_Read this in another language: [Spanish](/docs/README.es.md), [English](/README.md), [简体中文](/docs/README.zh-cn.md), [日本語](/docs/README.ja-jp.md)_
|
||||||
|
|
||||||
|
|||||||
1897
backend/package-lock.json
generated
1897
backend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pingvin-share-backend",
|
"name": "pingvin-share-backend",
|
||||||
"version": "0.24.2",
|
"version": "0.26.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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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: {
|
||||||
@@ -56,6 +61,11 @@ const configVariables: ConfigVariables = {
|
|||||||
defaultValue: "10000000",
|
defaultValue: "10000000",
|
||||||
secret: false,
|
secret: false,
|
||||||
},
|
},
|
||||||
|
autoOpenShareModal: {
|
||||||
|
type: "boolean",
|
||||||
|
defaultValue: "false",
|
||||||
|
secret: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
email: {
|
email: {
|
||||||
enableShareEmailRecipients: {
|
enableShareEmailRecipients: {
|
||||||
|
|||||||
@@ -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,
|
ttl: 60,
|
||||||
limit: 100,
|
limit: 100,
|
||||||
}),
|
},
|
||||||
|
]),
|
||||||
ScheduleModule.forRoot(),
|
ScheduleModule.forRoot(),
|
||||||
ClamScanModule,
|
ClamScanModule,
|
||||||
ReverseShareModule,
|
ReverseShareModule,
|
||||||
|
|||||||
@@ -37,7 +37,12 @@ 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,
|
||||||
@Res({ passthrough: true }) response: Response,
|
@Res({ passthrough: true }) response: Response,
|
||||||
@@ -57,7 +62,12 @@ 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,
|
||||||
@@ -77,7 +87,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 +110,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);
|
||||||
|
|||||||
@@ -205,7 +205,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 +234,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"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,9 +102,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: {
|
||||||
@@ -153,7 +153,7 @@ export class OAuthService {
|
|||||||
|
|
||||||
const result = await this.auth.signUp({
|
const result = await this.auth.signUp({
|
||||||
email: user.email,
|
email: user.email,
|
||||||
username: await this.getAvailableUsername(user.email),
|
username: await this.getAvailableUsername(user.providerUsername),
|
||||||
password: null,
|
password: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -20,9 +20,8 @@ export class CreateShareGuard extends JwtGuard {
|
|||||||
|
|
||||||
if (!reverseShareTokenId) return false;
|
if (!reverseShareTokenId) return false;
|
||||||
|
|
||||||
const isReverseShareTokenValid = await this.reverseShareService.isValid(
|
const isReverseShareTokenValid =
|
||||||
reverseShareTokenId,
|
await this.reverseShareService.isValid(reverseShareTokenId);
|
||||||
);
|
|
||||||
|
|
||||||
return isReverseShareTokenValid;
|
return isReverseShareTokenValid;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -46,9 +46,8 @@ export class ShareService {
|
|||||||
let expirationDate: Date;
|
let expirationDate: Date;
|
||||||
|
|
||||||
// If share is created by a reverse share token override the expiration date
|
// If share is created by a reverse share token override the expiration date
|
||||||
const reverseShare = await this.reverseShareService.getByToken(
|
const reverseShare =
|
||||||
reverseShareToken,
|
await this.reverseShareService.getByToken(reverseShareToken);
|
||||||
);
|
|
||||||
if (reverseShare) {
|
if (reverseShare) {
|
||||||
expirationDate = reverseShare.shareExpiration;
|
expirationDate = reverseShare.shareExpiration;
|
||||||
} else {
|
} else {
|
||||||
@@ -230,6 +229,7 @@ export class ShareService {
|
|||||||
return shares.map((share) => {
|
return shares.map((share) => {
|
||||||
return {
|
return {
|
||||||
...share,
|
...share,
|
||||||
|
size: share.files.reduce((acc, file) => acc + parseInt(file.size), 0),
|
||||||
recipients: share.recipients.map((recipients) => recipients.email),
|
recipients: share.recipients.map((recipients) => recipients.email),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
32
frontend/package-lock.json
generated
32
frontend/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "pingvin-share-frontend",
|
"name": "pingvin-share-frontend",
|
||||||
"version": "0.24.2",
|
"version": "0.26.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pingvin-share-frontend",
|
"name": "pingvin-share-frontend",
|
||||||
"version": "0.24.2",
|
"version": "0.26.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"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pingvin-share-frontend",
|
"name": "pingvin-share-frontend",
|
||||||
"version": "0.24.2",
|
"version": "0.26.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ const CreateEnableTotpModal = ({
|
|||||||
</span>
|
</span>
|
||||||
</Center>
|
</Center>
|
||||||
|
|
||||||
<Tooltip label={t("account.modal.totp.clickToCopy")}>
|
<Tooltip label={t("common.button.clickToCopy")}>
|
||||||
<Button
|
<Button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
navigator.clipboard.writeText(options.secret);
|
navigator.clipboard.writeText(options.secret);
|
||||||
|
|||||||
@@ -53,10 +53,18 @@ function CopyTextField(props: { link: string }) {
|
|||||||
</ActionIcon>
|
</ActionIcon>
|
||||||
</a>
|
</a>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
||||||
{window.isSecureContext && (
|
{window.isSecureContext && (
|
||||||
|
<Tooltip
|
||||||
|
label={t("common.button.clickToCopy")}
|
||||||
|
position="top"
|
||||||
|
offset={-2}
|
||||||
|
openDelay={200}
|
||||||
|
>
|
||||||
<ActionIcon onClick={copyLink}>
|
<ActionIcon onClick={copyLink}>
|
||||||
{checkState ? <TbCheck /> : <TbCopy />}
|
{checkState ? <TbCheck /> : <TbCopy />}
|
||||||
</ActionIcon>
|
</ActionIcon>
|
||||||
|
</Tooltip>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,12 +36,12 @@ const Dropzone = ({
|
|||||||
title,
|
title,
|
||||||
isUploading,
|
isUploading,
|
||||||
maxShareSize,
|
maxShareSize,
|
||||||
showCreateUploadModalCallback,
|
onFilesChanged,
|
||||||
}: {
|
}: {
|
||||||
title?: string;
|
title?: string;
|
||||||
isUploading: boolean;
|
isUploading: boolean;
|
||||||
maxShareSize: number;
|
maxShareSize: number;
|
||||||
showCreateUploadModalCallback: (files: FileUpload[]) => void;
|
onFilesChanged: (files: FileUpload[]) => void;
|
||||||
}) => {
|
}) => {
|
||||||
const t = useTranslate();
|
const t = useTranslate();
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ const Dropzone = ({
|
|||||||
newFile.uploadingProgress = 0;
|
newFile.uploadingProgress = 0;
|
||||||
return newFile;
|
return newFile;
|
||||||
});
|
});
|
||||||
showCreateUploadModalCallback(files);
|
onFilesChanged(files);
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
className={classes.dropzone}
|
className={classes.dropzone}
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ const EditableUpload = ({
|
|||||||
<Dropzone
|
<Dropzone
|
||||||
title={t("share.edit.append-upload")}
|
title={t("share.edit.append-upload")}
|
||||||
maxShareSize={maxShareSize}
|
maxShareSize={maxShareSize}
|
||||||
showCreateUploadModalCallback={appendFiles}
|
onFilesChanged={appendFiles}
|
||||||
isUploading={isUploading}
|
isUploading={isUploading}
|
||||||
/>
|
/>
|
||||||
{existingAndUploadedFiles.length > 0 && (
|
{existingAndUploadedFiles.length > 0 && (
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,39 +1,39 @@
|
|||||||
export default {
|
export default {
|
||||||
// Navbar
|
// Navbar
|
||||||
"navbar.upload": "Upload",
|
"navbar.upload": "رفع",
|
||||||
"navbar.signin": "Sign in",
|
"navbar.signin": "تسجيل الدخول",
|
||||||
"navbar.home": "Home",
|
"navbar.home": "الصفحة الرئيسية",
|
||||||
"navbar.signup": "Sign Up",
|
"navbar.signup": "إنشاء حساب",
|
||||||
"navbar.links.shares": "My shares",
|
"navbar.links.shares": "مشاركاتي",
|
||||||
"navbar.links.reverse": "Reverse shares",
|
"navbar.links.reverse": "مشاركاتي العكسية",
|
||||||
"navbar.avatar.account": "My account",
|
"navbar.avatar.account": "حسابي",
|
||||||
"navbar.avatar.admin": "Administration",
|
"navbar.avatar.admin": "الإدارة",
|
||||||
"navbar.avatar.signout": "Sign out",
|
"navbar.avatar.signout": "تسجيل الخروج",
|
||||||
// END navbar
|
// END navbar
|
||||||
// /
|
// /
|
||||||
"home.title": "A <h>self-hosted</h> file sharing platform.",
|
"home.title": "منصة لمشاركة الملفات <h>باستضافة ذاتية</h>.",
|
||||||
"home.description": "Do you really want to give your personal files in the hand of third parties like WeTransfer?",
|
"home.description": "أحقًا تريد تسليم ملفاتك الشخصية لطرف ثالث مثل WeTransfer؟",
|
||||||
"home.bullet.a.name": "Self-Hosted",
|
"home.bullet.a.name": "استضافة ذاتية",
|
||||||
"home.bullet.a.description": "Host Pingvin Share on your own machine.",
|
"home.bullet.a.description": "قم باستضافة Pingvin Share على جهازك.",
|
||||||
"home.bullet.b.name": "Privacy",
|
"home.bullet.b.name": "الخصوصية",
|
||||||
"home.bullet.b.description": "Your files are your files and should never get into the hands of third parties.",
|
"home.bullet.b.description": "ملفاتك تخصّك وحدك فقط، ولا ينبغي أبدًا أن تقع بأيدي طرفٍ ثالث.",
|
||||||
"home.bullet.c.name": "No annoying file size limit",
|
"home.bullet.c.name": "ليس هناك أية قيود على حجم الملفات",
|
||||||
"home.bullet.c.description": "Upload as big files as you want. Only your hard drive will be your limit.",
|
"home.bullet.c.description": "ارفع أي ملف تريده مهما كان حجمه كبيرًا. إن مساحة قرصك الصلب هي المحدد الوحيد هنا.",
|
||||||
"home.button.start": "Get started",
|
"home.button.start": "ابدأ",
|
||||||
"home.button.source": "Source code",
|
"home.button.source": "النص البرمجي المصدري",
|
||||||
// END /
|
// END /
|
||||||
// /auth/signin
|
// /auth/signin
|
||||||
"signin.title": "Welcome back",
|
"signin.title": "أهلًا بعودتك",
|
||||||
"signin.description": "You don't have an account yet?",
|
"signin.description": "ليس لديك حساب؟",
|
||||||
"signin.button.signup": "Sign up",
|
"signin.button.signup": "إنشاء حساب",
|
||||||
"signin.input.email-or-username": "Email or username",
|
"signin.input.email-or-username": "البريد أو اسم المستخدم",
|
||||||
"signin.input.email-or-username.placeholder": "Your email or username",
|
"signin.input.email-or-username.placeholder": "بريدك أو اسم المستخدم",
|
||||||
"signin.input.password": "Password",
|
"signin.input.password": "كلمة السر",
|
||||||
"signin.input.password.placeholder": "Your password",
|
"signin.input.password.placeholder": "كلمة السر",
|
||||||
"signin.button.submit": "Sign in",
|
"signin.button.submit": "تسجيل الدخول",
|
||||||
"signIn.notify.totp-required.title": "Two-factor authentication required",
|
"signIn.notify.totp-required.title": "إن المصادقة الثنائية ضرورية",
|
||||||
"signIn.notify.totp-required.description": "Please enter your two-factor authentication code",
|
"signIn.notify.totp-required.description": "فضلًا أدخل رمز المصادقة الثنائية",
|
||||||
"signIn.oauth.or": "OR",
|
"signIn.oauth.or": "أو",
|
||||||
"signIn.oauth.github": "GitHub",
|
"signIn.oauth.github": "GitHub",
|
||||||
"signIn.oauth.google": "Google",
|
"signIn.oauth.google": "Google",
|
||||||
"signIn.oauth.microsoft": "Microsoft",
|
"signIn.oauth.microsoft": "Microsoft",
|
||||||
@@ -41,394 +41,398 @@ export default {
|
|||||||
"signIn.oauth.oidc": "OpenID",
|
"signIn.oauth.oidc": "OpenID",
|
||||||
// END /auth/signin
|
// END /auth/signin
|
||||||
// /auth/signup
|
// /auth/signup
|
||||||
"signup.title": "Create an account",
|
"signup.title": "أنشئ حسابًا",
|
||||||
"signup.description": "Already have an account?",
|
"signup.description": "لديك حساب بالفعل؟",
|
||||||
"signup.button.signin": "Sign in",
|
"signup.button.signin": "تسجيل الدخول",
|
||||||
"signup.input.username": "Username",
|
"signup.input.username": "اسم المستخدم",
|
||||||
"signup.input.username.placeholder": "Your username",
|
"signup.input.username.placeholder": "اسم المستخدم",
|
||||||
"signup.input.email": "Email",
|
"signup.input.email": "البريد",
|
||||||
"signup.input.email.placeholder": "Your email",
|
"signup.input.email.placeholder": "بريدك",
|
||||||
"signup.button.submit": "Let's get started",
|
"signup.button.submit": "لنبدأ",
|
||||||
// END /auth/signup
|
// END /auth/signup
|
||||||
// /auth/totp
|
// /auth/totp
|
||||||
"totp.title": "TOTP Authentication",
|
"totp.title": "كلمة المرور لمرة واحدة المؤقتة TOTP",
|
||||||
"totp.button.signIn": "Sign in",
|
"totp.button.signIn": "تسجيل الدخول",
|
||||||
// END /auth/totp
|
// END /auth/totp
|
||||||
// /auth/reset-password
|
// /auth/reset-password
|
||||||
"resetPassword.title": "Forgot your password?",
|
"resetPassword.title": "نسيت كلمة سرّك؟",
|
||||||
"resetPassword.description": "Enter your email to reset your password.",
|
"resetPassword.description": "اكتب بريدك لتعيد تعيين كلمة السر.",
|
||||||
"resetPassword.notify.success": "A message with a link to reset your password has been sent if the email exists.",
|
"resetPassword.notify.success": "إذا كان هذا البريد مسجلًا لدينا فستصله الآن رسالة فيها رابط لإعادة تعيين كلمة السرّ.",
|
||||||
"resetPassword.button.back": "Back to sign in page",
|
"resetPassword.button.back": "العودة لصفحة تسجيل الدخول",
|
||||||
"resetPassword.text.resetPassword": "Reset password",
|
"resetPassword.text.resetPassword": "إعادة تعيين كلمة السر",
|
||||||
"resetPassword.text.enterNewPassword": "Enter your new password",
|
"resetPassword.text.enterNewPassword": "أدخل كلمة السر الجديدة",
|
||||||
"resetPassword.input.password": "New password",
|
"resetPassword.input.password": "كلمة السر الجديدة",
|
||||||
"resetPassword.notify.passwordReset": "Your password has been reset successfully.",
|
"resetPassword.notify.passwordReset": "أعدتَ تعيين كلمة السر بنجاح.",
|
||||||
// /account
|
// /account
|
||||||
"account.title": "My account",
|
"account.title": "حسابي",
|
||||||
"account.card.info.title": "Account info",
|
"account.card.info.title": "معلومات الحساب",
|
||||||
"account.card.info.username": "Username",
|
"account.card.info.username": "اسم المستخدم",
|
||||||
"account.card.info.email": "Email",
|
"account.card.info.email": "البريد",
|
||||||
"account.notify.info.success": "Account updated successfully",
|
"account.notify.info.success": "تم تحديث الحساب بنجاح",
|
||||||
"account.card.password.title": "Password",
|
"account.card.password.title": "كلمة السر",
|
||||||
"account.card.password.old": "Old password",
|
"account.card.password.old": "كلمة السر القديمة",
|
||||||
"account.card.password.new": "New password",
|
"account.card.password.new": "كلمة السر الجديدة",
|
||||||
"account.card.password.noPasswordSet": "You don't have a password set. If you want to sign in with email and password you need to set a password.",
|
"account.card.password.noPasswordSet": "ليس لحسابك كلمة سر. إذا أردت تسجيل الدخول باستخدام البريد وكلمة سر، فعليك أن تُعيِّن كلمة سر.",
|
||||||
"account.notify.password.success": "Password changed successfully",
|
"account.notify.password.success": "غيرت كلمة السر بنجاح",
|
||||||
"account.card.oauth.title": "Social login",
|
"account.card.oauth.title": "الدخول بحساب تواصل اجتماعي",
|
||||||
"account.card.oauth.github": "GitHub",
|
"account.card.oauth.github": "GitHub",
|
||||||
"account.card.oauth.google": "Google",
|
"account.card.oauth.google": "Google",
|
||||||
"account.card.oauth.microsoft": "Microsoft",
|
"account.card.oauth.microsoft": "Microsoft",
|
||||||
"account.card.oauth.discord": "Discord",
|
"account.card.oauth.discord": "Discord",
|
||||||
"account.card.oauth.oidc": "OpenID",
|
"account.card.oauth.oidc": "OpenID",
|
||||||
"account.card.oauth.link": "Link",
|
"account.card.oauth.link": "ربط",
|
||||||
"account.card.oauth.unlink": "Unlink",
|
"account.card.oauth.unlink": "فك الربط",
|
||||||
"account.card.oauth.unlinked": "Unlinked",
|
"account.card.oauth.unlinked": "تم فك الربط",
|
||||||
"account.modal.unlink.title": "Unlink account",
|
"account.modal.unlink.title": "فك ربط الحساب",
|
||||||
"account.modal.unlink.description": "Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.",
|
"account.modal.unlink.description": "قد يؤدي إلغاء ربط حساباتك الاجتماعية إلى فقدان وصولك لحسابك إذا كنت لا تتذكر اسم المستخدم وكلمة السر الخاصة بك.",
|
||||||
"account.notify.oauth.unlinked.success": "Unlinked successfully",
|
"account.notify.oauth.unlinked.success": "تم فك الربط بنجاح",
|
||||||
"account.card.security.title": "Security",
|
"account.card.security.title": "الأمان",
|
||||||
"account.card.security.totp.enable.description": "Enter your current password to start enabling TOTP",
|
"account.card.security.totp.enable.description": "اكتب كلمة سرّك لبدء تمكين TOTP",
|
||||||
"account.card.security.totp.disable.description": "Enter your current password to disable TOTP",
|
"account.card.security.totp.disable.description": "اكتب كلمة سرّك لتعطيل TOTP",
|
||||||
"account.card.security.totp.button.start": "Start",
|
"account.card.security.totp.button.start": "ابدأ",
|
||||||
"account.modal.totp.title": "Enable TOTP",
|
"account.modal.totp.title": "تمكين TOTP",
|
||||||
"account.modal.totp.step1": "Step 1: Add your authenticator",
|
"account.modal.totp.step1": "الخطوة 1: أضف تطبيق المصادقة",
|
||||||
"account.modal.totp.step2": "Step 2: Validate your code",
|
"account.modal.totp.step2": "الخطوة 2: تحقّق من صحة رمزك",
|
||||||
"account.modal.totp.enterManually": "Enter manually",
|
"account.modal.totp.enterManually": "أدخل يدوياً",
|
||||||
"account.modal.totp.code": "Code",
|
"account.modal.totp.code": "الرمز",
|
||||||
"account.modal.totp.clickToCopy": "Click to copy",
|
"common.button.clickToCopy": "انقر للنسخ",
|
||||||
"account.modal.totp.verify": "Verify",
|
"account.modal.totp.verify": "تحقق",
|
||||||
"account.notify.totp.disable": "TOTP disabled successfully",
|
"account.notify.totp.disable": "تم تعطيل TOTP بنجاح",
|
||||||
"account.notify.totp.enable": "TOTP enabled successfully",
|
"account.notify.totp.enable": "تم تمكين TOTP بنجاح",
|
||||||
"account.card.language.title": "Language",
|
"account.card.language.title": "اللغة",
|
||||||
"account.card.language.description": "The project is translated by the community. Some languages might be incomplete.",
|
"account.card.language.description": "يقوم المجتمع بترجمة هذا المشروع. ربما بعض اللغات لم تكتمل ترجمتها بعد.",
|
||||||
"account.card.color.title": "Color scheme",
|
"account.card.color.title": "نظام الألوان",
|
||||||
// ThemeSwitcher.tsx
|
// ThemeSwitcher.tsx
|
||||||
"account.theme.dark": "Dark",
|
"account.theme.dark": "داكن",
|
||||||
"account.theme.light": "Light",
|
"account.theme.light": "فاتح",
|
||||||
"account.theme.system": "System",
|
"account.theme.system": "حسب النظام",
|
||||||
"account.button.delete": "Delete Account",
|
"account.button.delete": "حذف الحساب",
|
||||||
"account.modal.delete.title": "Delete Account",
|
"account.modal.delete.title": "حذف الحساب",
|
||||||
"account.modal.delete.description": "Do you really want to delete your account including all your active shares?",
|
"account.modal.delete.description": "هل تريد حقاً حذف حسابك بما في ذلك جميع مشاركاتك النشطة؟",
|
||||||
// END /account
|
// END /account
|
||||||
// /account/shares
|
// /account/shares
|
||||||
"account.shares.title": "My shares",
|
"account.shares.title": "مشاركاتي",
|
||||||
"account.shares.title.empty": "It's empty here 👀",
|
"account.shares.title.empty": "المكان خالٍ هنا 👀",
|
||||||
"account.shares.description.empty": "You don't have any shares.",
|
"account.shares.description.empty": "ليس لديك أي مشاركات.",
|
||||||
"account.shares.button.create": "Create one",
|
"account.shares.button.create": "أنشئ واحدًا",
|
||||||
"account.shares.info.title": "Share informations",
|
"account.shares.info.title": "معلومات المشاركة",
|
||||||
"account.shares.table.id": "ID",
|
"account.shares.table.id": "الرقم التعريفي",
|
||||||
"account.shares.table.name": "Name",
|
"account.shares.table.name": "الاسم",
|
||||||
"account.shares.table.description": "Description",
|
"account.shares.table.description": "الوصف",
|
||||||
"account.shares.table.visitors": "Visitors",
|
"account.shares.table.visitors": "الزوار",
|
||||||
"account.shares.table.expiresAt": "Expires at",
|
"account.shares.table.expiresAt": "تاريخ انتهاء الصلاحية",
|
||||||
"account.shares.table.createdAt": "Created at",
|
"account.shares.table.createdAt": "تاريخ الإنشاء",
|
||||||
"account.shares.table.size": "Size",
|
"account.shares.table.size": "الحجم",
|
||||||
"account.shares.modal.share-informations": "Share informations",
|
"account.shares.modal.share-informations": "معلومات المشاركة",
|
||||||
"account.shares.modal.share-link": "Share link",
|
"account.shares.modal.share-link": "رابط المشاركة",
|
||||||
"account.shares.modal.delete.title": "Delete share {share}",
|
"account.shares.modal.delete.title": "حذف المشاركة {share}",
|
||||||
"account.shares.modal.delete.description": "Do you really want to delete this share?",
|
"account.shares.modal.delete.description": "هل تريد حذف هذه المشاركة حقاً؟",
|
||||||
// END /account/shares
|
// END /account/shares
|
||||||
// /account/reverseShares
|
// /account/reverseShares
|
||||||
"account.reverseShares.title": "Reverse shares",
|
"account.reverseShares.title": "المشاركات العكسية",
|
||||||
"account.reverseShares.description": "A reverse share allows you to generate a unique URL that allows external users to create a share.",
|
"account.reverseShares.description": "تسمح لك المشاركة العكسية بإنشاء رابط فريد يسمح للمستخدمين الخارجيين بإنشاء مشاركة.",
|
||||||
"account.reverseShares.title.empty": "It's empty here 👀",
|
"account.reverseShares.title.empty": "المكان خالٍ هنا 👀",
|
||||||
"account.reverseShares.description.empty": "You don't have any reverse shares.",
|
"account.reverseShares.description.empty": "ليس لديك أي مشاركات عكسية.",
|
||||||
// showCreateReverseShareModal.tsx
|
// showCreateReverseShareModal.tsx
|
||||||
"account.reverseShares.modal.title": "Create reverse share",
|
"account.reverseShares.modal.title": "إنشاء مشاركة عكسية",
|
||||||
"account.reverseShares.modal.expiration.label": "Expiration",
|
"account.reverseShares.modal.expiration.label": "انتهاء الصلاحية",
|
||||||
"account.reverseShares.modal.expiration.minute-singular": "Minute",
|
"account.reverseShares.modal.expiration.minute-singular": "دقيقة",
|
||||||
"account.reverseShares.modal.expiration.minute-plural": "Minutes",
|
"account.reverseShares.modal.expiration.minute-plural": "دقائق",
|
||||||
"account.reverseShares.modal.expiration.hour-singular": "Hour",
|
"account.reverseShares.modal.expiration.hour-singular": "ساعة",
|
||||||
"account.reverseShares.modal.expiration.hour-plural": "Hours",
|
"account.reverseShares.modal.expiration.hour-plural": "ساعات",
|
||||||
"account.reverseShares.modal.expiration.day-singular": "Day",
|
"account.reverseShares.modal.expiration.day-singular": "يوم",
|
||||||
"account.reverseShares.modal.expiration.day-plural": "Days",
|
"account.reverseShares.modal.expiration.day-plural": "أيام",
|
||||||
"account.reverseShares.modal.expiration.week-singular": "Week",
|
"account.reverseShares.modal.expiration.week-singular": "أسبوع",
|
||||||
"account.reverseShares.modal.expiration.week-plural": "Weeks",
|
"account.reverseShares.modal.expiration.week-plural": "أسابيع",
|
||||||
"account.reverseShares.modal.expiration.month-singular": "Month",
|
"account.reverseShares.modal.expiration.month-singular": "شهر",
|
||||||
"account.reverseShares.modal.expiration.month-plural": "Months",
|
"account.reverseShares.modal.expiration.month-plural": "أشهر",
|
||||||
"account.reverseShares.modal.expiration.year-singular": "Year",
|
"account.reverseShares.modal.expiration.year-singular": "سنة",
|
||||||
"account.reverseShares.modal.expiration.year-plural": "Years",
|
"account.reverseShares.modal.expiration.year-plural": "سنوات",
|
||||||
"account.reverseShares.modal.max-size.label": "Max share size",
|
"account.reverseShares.modal.max-size.label": "الحد الأقصى لحجم المشاركة",
|
||||||
"account.reverseShares.modal.send-email": "Send email notification",
|
"account.reverseShares.modal.send-email": "أرسل إشعارًا بالبريد",
|
||||||
"account.reverseShares.modal.send-email.description": "Send an email notification when a share is created with this reverse share link.",
|
"account.reverseShares.modal.send-email.description": "إرسال إشعار بالبريد الإلكتروني عند إنشاء مشاركة باستخدام رابط المشاركة العكسي هذا.",
|
||||||
"account.reverseShares.modal.max-use.label": "Max uses",
|
"account.reverseShares.modal.max-use.label": "الحد الأقصى لعدد الاستخدامات",
|
||||||
"account.reverseShares.modal.max-use.description": "The maximum amount of times this URL can be used to create a share.",
|
"account.reverseShares.modal.max-use.description": "أقصى عدد من المرّات التي يمكن فيها استخدام هذا الرابط لإنشاء مشاركة.",
|
||||||
"account.reverseShare.never-expires": "This reverse share will never expire.",
|
"account.reverseShare.never-expires": "لن تنتهي صلاحية هذه المشاركة العكسية أبدًا.",
|
||||||
"account.reverseShare.expires-on": "This reverse share will expire on {expiration}.",
|
"account.reverseShare.expires-on": "هذه المشاركة العكسية ستنتهي صلاحيتها في {expiration}.",
|
||||||
"account.reverseShares.table.no-shares": "No shares created yet",
|
"account.reverseShares.table.no-shares": "لم يتم إنشاء أي مشاركة بعد",
|
||||||
"account.reverseShares.table.count.singular": "share",
|
"account.reverseShares.table.count.singular": "مشاركة",
|
||||||
"account.reverseShares.table.count.plural": "shares",
|
"account.reverseShares.table.count.plural": "مشاركات",
|
||||||
"account.reverseShares.table.shares": "Shares",
|
"account.reverseShares.table.shares": "مشاركات",
|
||||||
"account.reverseShares.table.remaining": "Remaining uses",
|
"account.reverseShares.table.remaining": "الاستخدامات المتبقية",
|
||||||
"account.reverseShares.table.max-size": "Max share size",
|
"account.reverseShares.table.max-size": "الحد الأقصى لحجم المشاركة",
|
||||||
"account.reverseShares.table.expires": "Expires at",
|
"account.reverseShares.table.expires": "تاريخ انتهاء الصلاحية",
|
||||||
"account.reverseShares.modal.reverse-share-link": "Reverse share link",
|
"account.reverseShares.modal.reverse-share-link": "رابط المشاركة العكسية",
|
||||||
"account.reverseShares.modal.delete.title": "Delete reverse share",
|
"account.reverseShares.modal.delete.title": "حذف المشاركة العكسية",
|
||||||
"account.reverseShares.modal.delete.description": "Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.",
|
"account.reverseShares.modal.delete.description": "هل تريد حقاً حذف هذه المشاركة العكسية؟ إذا قمت بذلك، فسيتم حذف المشاركات المرتبطة بها أيضاً.",
|
||||||
// END /account/reverseShares
|
// END /account/reverseShares
|
||||||
// /admin
|
// /admin
|
||||||
"admin.title": "Administration",
|
"admin.title": "الإدارة",
|
||||||
"admin.button.users": "User management",
|
"admin.button.users": "إدارة المستخدم",
|
||||||
"admin.button.shares": "Share management",
|
"admin.button.shares": "إدارة المشاركة",
|
||||||
"admin.button.config": "Configuration",
|
"admin.button.config": "الإعدادات",
|
||||||
"admin.version": "Version",
|
"admin.version": "الإصدار",
|
||||||
// END /admin
|
// END /admin
|
||||||
// /admin/users
|
// /admin/users
|
||||||
"admin.users.title": "User management",
|
"admin.users.title": "إدارة المستخدم",
|
||||||
"admin.users.table.username": "Username",
|
"admin.users.table.username": "اسم المستخدم",
|
||||||
"admin.users.table.email": "Email",
|
"admin.users.table.email": "البريد",
|
||||||
"admin.users.table.admin": "Admin",
|
"admin.users.table.admin": "المدير",
|
||||||
"admin.users.edit.update.title": "Update user {username}",
|
"admin.users.edit.update.title": "تحديث المستخدم {username}",
|
||||||
"admin.users.edit.update.admin-privileges": "Admin privileges",
|
"admin.users.edit.update.admin-privileges": "صلاحيات المدير",
|
||||||
"admin.users.edit.update.change-password.title": "Change password",
|
"admin.users.edit.update.change-password.title": "تغيير كلمة السر",
|
||||||
"admin.users.edit.update.change-password.field": "New password",
|
"admin.users.edit.update.change-password.field": "كلمة السر الجديدة",
|
||||||
"admin.users.edit.update.change-password.button": "Save new password",
|
"admin.users.edit.update.change-password.button": "حفظ كلمة السر الجديدة",
|
||||||
"admin.users.edit.update.notify.password.success": "Password changed successfully",
|
"admin.users.edit.update.notify.password.success": "غيرت كلمة السر بنجاح",
|
||||||
"admin.users.edit.delete.title": "Delete user {username}",
|
"admin.users.edit.delete.title": "حذف المستخدم {username}",
|
||||||
"admin.users.edit.delete.description": "Do you really want to delete this user and all his shares?",
|
"admin.users.edit.delete.description": "هل تريد حقاً حذف هذا المستخدم وكل مشاركاته؟",
|
||||||
// showCreateUserModal.tsx
|
// showCreateUserModal.tsx
|
||||||
"admin.users.modal.create.title": "Create user",
|
"admin.users.modal.create.title": "أنشئ مستخدمًا",
|
||||||
"admin.users.modal.create.username": "Username",
|
"admin.users.modal.create.username": "اسم المستخدم",
|
||||||
"admin.users.modal.create.email": "Email",
|
"admin.users.modal.create.email": "البريد",
|
||||||
"admin.users.modal.create.password": "Password",
|
"admin.users.modal.create.password": "كلمة السر",
|
||||||
"admin.users.modal.create.manual-password": "Set password manually",
|
"admin.users.modal.create.manual-password": "تعيين كلمة السر يدوياً",
|
||||||
"admin.users.modal.create.manual-password.description": "If not checked, the user will receive an email with a link to set their password.",
|
"admin.users.modal.create.manual-password.description": "بدون هذا الخيار، سيتلقى المستخدم رسالة بريد إلكتروني فيها رابط لتعيين كلمة السر الخاصة به.",
|
||||||
"admin.users.modal.create.admin": "Admin privileges",
|
"admin.users.modal.create.admin": "صلاحيات المدير",
|
||||||
"admin.users.modal.create.admin.description": "If checked, the user will be able to access the admin panel.",
|
"admin.users.modal.create.admin.description": "مع هذا الخيار، سيتمكن المستخدم من الدخول إلى لوحة الإدارة.",
|
||||||
// END /admin/users
|
// END /admin/users
|
||||||
// /admin/shares
|
// /admin/shares
|
||||||
"admin.shares.title": "Share management",
|
"admin.shares.title": "إدارة المشاركة",
|
||||||
"admin.shares.table.id": "Share ID",
|
"admin.shares.table.id": "معرّف المشاركة",
|
||||||
"admin.shares.table.username": "Creator",
|
"admin.shares.table.username": "المُنشئ",
|
||||||
"admin.shares.table.visitors": "Visitors",
|
"admin.shares.table.visitors": "الزوار",
|
||||||
"admin.shares.table.expires": "Expires At",
|
"admin.shares.table.expires": "تاريخ انتهاء الصلاحية",
|
||||||
"admin.shares.edit.delete.title": "Delete share {id}",
|
"admin.shares.edit.delete.title": "حذف المشاركة {id}",
|
||||||
"admin.shares.edit.delete.description": "Do you really want to delete this share?",
|
"admin.shares.edit.delete.description": "هل تريد حذف هذه المشاركة حقاً؟",
|
||||||
// END /admin/shares
|
// END /admin/shares
|
||||||
// /upload
|
// /upload
|
||||||
"upload.title": "Upload",
|
"upload.title": "رفع",
|
||||||
"upload.notify.generic-error": "An error occurred while finishing your share.",
|
"upload.notify.generic-error": "حدث خطأ أثناء إنهاء مشاركتك.",
|
||||||
"upload.notify.count-failed": "{count} files failed to upload. Trying again.",
|
"upload.notify.count-failed": "فشل رفع {count} ملفات. تجري المحاولة مجددًا.",
|
||||||
// Dropzone.tsx
|
// Dropzone.tsx
|
||||||
"upload.dropzone.title": "Upload files",
|
"upload.dropzone.title": "رفع الملفات",
|
||||||
"upload.dropzone.description": "Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.",
|
"upload.dropzone.description": "اسحب الملفات إلى هنا لبدء مشاركتك. يمكننا فقط قبول الملفات التي لا يزيد حجمها عن {maxSize} بالمجمل.",
|
||||||
"upload.dropzone.notify.file-too-big": "Your files exceed the maximum share size of {maxSize}.",
|
"upload.dropzone.notify.file-too-big": "تتجاوز ملفاتك الحجم الأقصى للمشاركة والذي هو {maxSize}.",
|
||||||
// FileList.tsx
|
// FileList.tsx
|
||||||
"upload.filelist.name": "Name",
|
"upload.filelist.name": "الاسم",
|
||||||
"upload.filelist.size": "Size",
|
"upload.filelist.size": "الحجم",
|
||||||
// showCreateUploadModal.tsx
|
// showCreateUploadModal.tsx
|
||||||
"upload.modal.title": "Create Share",
|
"upload.modal.title": "إنشاء مشاركة",
|
||||||
"upload.modal.link.error.invalid": "Can only contain letters, numbers, underscores, and hyphens",
|
"upload.modal.link.error.invalid": "يمكن أن يحتوي فقط على الأحرف والأرقام والشرطات السفلية والواصلات",
|
||||||
"upload.modal.link.error.taken": "This link is already in use",
|
"upload.modal.link.error.taken": "هذا الرابط مستخدم مسبقاً",
|
||||||
"upload.modal.not-signed-in": "You're not signed in",
|
"upload.modal.not-signed-in": "لم تقم بتسجيل الدخول",
|
||||||
"upload.modal.not-signed-in-description": "You will be unable to delete your share manually and view the visitor count.",
|
"upload.modal.not-signed-in-description": "لن تتمكن من حذف مشاركتك يدوياً أو عرض عدد الزوار.",
|
||||||
"upload.modal.expires.never": "never",
|
"upload.modal.expires.never": "أبدًا",
|
||||||
"upload.modal.expires.never-long": "Never Expires",
|
"upload.modal.expires.never-long": "لا تنتهي الصلاحية أبداً",
|
||||||
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.",
|
"upload.modal.expires.error.too-long": "انتهاء الصلاحية يتجاوز الحد الأقصى لتاريخ انتهاء الصلاحية والذي هو {max}.",
|
||||||
"upload.modal.link.label": "Link",
|
"upload.modal.link.label": "الرابط",
|
||||||
"upload.modal.expires.label": "Expiration",
|
"upload.modal.expires.label": "انتهاء الصلاحية",
|
||||||
"upload.modal.expires.minute-singular": "Minute",
|
"upload.modal.expires.minute-singular": "دقيقة",
|
||||||
"upload.modal.expires.minute-plural": "Minutes",
|
"upload.modal.expires.minute-plural": "دقائق",
|
||||||
"upload.modal.expires.hour-singular": "Hour",
|
"upload.modal.expires.hour-singular": "ساعة",
|
||||||
"upload.modal.expires.hour-plural": "Hours",
|
"upload.modal.expires.hour-plural": "ساعات",
|
||||||
"upload.modal.expires.day-singular": "Day",
|
"upload.modal.expires.day-singular": "يوم",
|
||||||
"upload.modal.expires.day-plural": "Days",
|
"upload.modal.expires.day-plural": "أيام",
|
||||||
"upload.modal.expires.week-singular": "Week",
|
"upload.modal.expires.week-singular": "أسبوع",
|
||||||
"upload.modal.expires.week-plural": "Weeks",
|
"upload.modal.expires.week-plural": "أسابيع",
|
||||||
"upload.modal.expires.month-singular": "Month",
|
"upload.modal.expires.month-singular": "شهر",
|
||||||
"upload.modal.expires.month-plural": "Months",
|
"upload.modal.expires.month-plural": "أشهر",
|
||||||
"upload.modal.expires.year-singular": "Year",
|
"upload.modal.expires.year-singular": "سنة",
|
||||||
"upload.modal.expires.year-plural": "Years",
|
"upload.modal.expires.year-plural": "سنوات",
|
||||||
"upload.modal.accordion.name-and-description.title": "Name and description",
|
"upload.modal.accordion.name-and-description.title": "الاسم والوصف",
|
||||||
"upload.modal.accordion.name-and-description.name.placeholder": "Name",
|
"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": "ملاحظة لمستقبلي هذه المشاركة",
|
||||||
"upload.modal.accordion.email.title": "Email recipients",
|
"upload.modal.accordion.email.title": "مستلمو البريد الإلكتروني",
|
||||||
"upload.modal.accordion.email.placeholder": "Enter email recipients",
|
"upload.modal.accordion.email.placeholder": "أدخل مستلمي البريد",
|
||||||
"upload.modal.accordion.email.invalid-email": "Invalid email address",
|
"upload.modal.accordion.email.invalid-email": "عنوان البريد غير صحيح",
|
||||||
"upload.modal.accordion.security.title": "Security options",
|
"upload.modal.accordion.security.title": "خيارات الأمان",
|
||||||
"upload.modal.accordion.security.password.label": "Password protection",
|
"upload.modal.accordion.security.password.label": "الحماية بكلمة السر",
|
||||||
"upload.modal.accordion.security.password.placeholder": "No password",
|
"upload.modal.accordion.security.password.placeholder": "لا توجد كلمة سر",
|
||||||
"upload.modal.accordion.security.max-views.label": "Maximum views",
|
"upload.modal.accordion.security.max-views.label": "الحد الأقصى للمشاهدات",
|
||||||
"upload.modal.accordion.security.max-views.placeholder": "No limit",
|
"upload.modal.accordion.security.max-views.placeholder": "لا يوجد حد",
|
||||||
// showCompletedUploadModal.tsx
|
// showCompletedUploadModal.tsx
|
||||||
"upload.modal.completed.never-expires": "This share will never expire.",
|
"upload.modal.completed.never-expires": "لن تنتهي صلاحية هذه المشاركة أبدًا.",
|
||||||
"upload.modal.completed.expires-on": "This share will expire on {expiration}.",
|
"upload.modal.completed.expires-on": "هذه المشاركة ستنتهي صلاحيتها في {expiration}.",
|
||||||
"upload.modal.completed.share-ready": "Share ready",
|
"upload.modal.completed.share-ready": "المشاركة جاهزة",
|
||||||
// END /upload
|
// END /upload
|
||||||
// /share/[id]
|
// /share/[id]
|
||||||
"share.title": "Share {shareId}",
|
"share.title": "المشاركة {shareId}",
|
||||||
"share.description": "Look what I've shared with you!",
|
"share.description": "انظر ما الذي شاركته معك!",
|
||||||
"share.error.visitor-limit-exceeded.title": "Visitor limit exceeded",
|
"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 removed",
|
"share.error.removed.title": "تمت إزالة المشاركة",
|
||||||
"share.error.not-found.title": "Share not found",
|
"share.error.not-found.title": "المشاركة غير موجودة",
|
||||||
"share.error.not-found.description": "The share you're looking for doesn't exist.",
|
"share.error.not-found.description": "المشاركة التي تبحث عنها غير موجودة.",
|
||||||
"share.modal.password.title": "Password required",
|
"share.modal.password.title": "كلمة السر مطلوبة",
|
||||||
"share.modal.password.description": "To access this share please enter the password for the share.",
|
"share.modal.password.description": "للوصول إلى هذه المشاركة الرجاء إدخال كلمة سر المشاركة.",
|
||||||
"share.modal.password": "Password",
|
"share.modal.password": "كلمة السر",
|
||||||
"share.modal.error.invalid-password": "Invalid password",
|
"share.modal.error.invalid-password": "كلمة السر غير صحيحة",
|
||||||
"share.button.download-all": "Download all",
|
"share.button.download-all": "تنزيل الكل",
|
||||||
"share.notify.download-all-preparing": "The share is preparing. Try again in a few minutes.",
|
"share.notify.download-all-preparing": "يتم تحضير المشاركة. حاول مرة أخرى في بضع دقائق.",
|
||||||
"share.modal.file-link": "File link",
|
"share.modal.file-link": "رابط الملف",
|
||||||
"share.table.name": "Name",
|
"share.table.name": "الاسم",
|
||||||
"share.table.size": "Size",
|
"share.table.size": "الحجم",
|
||||||
"share.modal.file-preview.error.not-supported.title": "Preview not supported",
|
"share.modal.file-preview.error.not-supported.title": "المعاينة غير مدعومة",
|
||||||
"share.modal.file-preview.error.not-supported.description": "A preview for this file type is unsupported. Please download the file to view it.",
|
"share.modal.file-preview.error.not-supported.description": "معاينة هذا النوع من الملفات غير مدعومة. الرجاء تنزيل الملف لعرضه.",
|
||||||
// END /share/[id]
|
// END /share/[id]
|
||||||
// /share/[id]/edit
|
// /share/[id]/edit
|
||||||
"share.edit.title": "Edit {shareId}",
|
"share.edit.title": "تحرير {shareId}",
|
||||||
"share.edit.append-upload": "Append file",
|
"share.edit.append-upload": "إضافة ملف",
|
||||||
"share.edit.notify.generic-error": "An error occurred while finishing your share.",
|
"share.edit.notify.generic-error": "حدث خطأ أثناء إنهاء مشاركتك.",
|
||||||
"share.edit.notify.save-success": "Share updated successfully",
|
"share.edit.notify.save-success": "تم تحديث المشاركة بنجاح",
|
||||||
// END /share/[id]/edit
|
// END /share/[id]/edit
|
||||||
// /admin/config
|
// /admin/config
|
||||||
"admin.config.title": "Configuration",
|
"admin.config.title": "الإعدادات",
|
||||||
"admin.config.category.general": "General",
|
"admin.config.category.general": "عام",
|
||||||
"admin.config.category.share": "Share",
|
"admin.config.category.share": "مشاركة",
|
||||||
"admin.config.category.email": "Email",
|
"admin.config.category.email": "البريد",
|
||||||
"admin.config.category.smtp": "SMTP",
|
"admin.config.category.smtp": "بروتوكول نقل البريد البسيط SMTP",
|
||||||
"admin.config.category.oauth": "Social Login",
|
"admin.config.category.oauth": "الدخول بحساب تواصل اجتماعي",
|
||||||
"admin.config.general.app-name": "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": "App URL",
|
"admin.config.general.app-url": "رابط التطبيق",
|
||||||
"admin.config.general.app-url.description": "On which URL Pingvin Share is available",
|
"admin.config.general.app-url.description": "الرابط الذي تكون مشاركة Pingvin صالحة عليه",
|
||||||
"admin.config.general.show-home-page": "Show home page",
|
"admin.config.general.show-home-page": "إظهار الصفحة الرئيسية",
|
||||||
"admin.config.general.show-home-page.description": "Whether to show the home page",
|
"admin.config.general.show-home-page.description": "تحديد ما إذا كان سيتم عرض الصفحة الرئيسية",
|
||||||
"admin.config.general.logo": "Logo",
|
"admin.config.general.session-duration": "Session Duration",
|
||||||
"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.",
|
"admin.config.general.session-duration.description": "Time in hours after which a user must log in again (default: 3 months).",
|
||||||
"admin.config.general.logo.placeholder": "Pick image",
|
"admin.config.general.logo": "الشعار",
|
||||||
"admin.config.email.enable-share-email-recipients": "Enable share email recipients",
|
"admin.config.general.logo.description": "يمكنك تغيير شعارك عن طريق تحميل صورة جديدة. يجب أن تكون الصورة PNG ويجب أن يكون تنسيقها 1:1.",
|
||||||
"admin.config.email.enable-share-email-recipients.description": "Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.",
|
"admin.config.general.logo.placeholder": "اختر صورة",
|
||||||
"admin.config.email.share-recipients-subject": "Share recipients subject",
|
"admin.config.email.enable-share-email-recipients": "تفعيل مستلمي البريد الإلكتروني لهذه المشاركة",
|
||||||
"admin.config.email.share-recipients-subject.description": "Subject of the email which gets sent to the share recipients.",
|
"admin.config.email.enable-share-email-recipients.description": "السماح لرسائل البريد بأن تُشارك المستلمين. لا تفعّل هذا الخيار ما لم تفعّل SMTP مسبقًا.",
|
||||||
"admin.config.email.share-recipients-message": "Share recipients message",
|
"admin.config.email.share-recipients-subject": "عنوان الرسالة لمستلمي المشاركة",
|
||||||
"admin.config.email.share-recipients-message.description": "Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.",
|
"admin.config.email.share-recipients-subject.description": "عنوان البريد الذي سيُرسَل لمستقبِلي المشاركة.",
|
||||||
"admin.config.email.reverse-share-subject": "Reverse share subject",
|
"admin.config.email.share-recipients-message": "رسالتك لمستقبِلي المشاركة",
|
||||||
"admin.config.email.reverse-share-subject.description": "Subject of the email which gets sent when someone created a share with your reverse share link.",
|
"admin.config.email.share-recipients-message.description": "الرسالة التي ستُرسل لمستقبِلي المشاركة. يمكنك استخدام هذه المتغيرات:\n{creator} - اسم المستخدم الذي أنشأ المشاركة\n{shareUrl} - رابط المشاركة\n{desc} - وصف المشاركة\n{expires} - تاريخ انتهاء صلاحية المشاركة\nستتم كتابة قيم هذه المتغيرات تلقائيًا.",
|
||||||
"admin.config.email.reverse-share-message": "Reverse share message",
|
"admin.config.email.reverse-share-subject": "عنوان المشاركة العكسية",
|
||||||
"admin.config.email.reverse-share-message.description": "Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.",
|
"admin.config.email.reverse-share-subject.description": "عنوان البريد الذي سيُرسل عندما يُنشئ شخص ما مشاركةً باستخدام رابط المشاركة العكسية الخاص بك.",
|
||||||
"admin.config.email.reset-password-subject": "Reset password subject",
|
"admin.config.email.reverse-share-message": "رسالة المشاركة العكسية",
|
||||||
"admin.config.email.reset-password-subject.description": "Subject of the email which gets sent when a user requests a password reset.",
|
"admin.config.email.reverse-share-message.description": "الرسالة التي ستُرسل عندما يُنشئ شخص ما مشاركة باستخدام رابط المشاركة الخاص بك. سيُوضع اسم المُنشِئ ورابط المشاركة مكان {shareUrl}.",
|
||||||
"admin.config.email.reset-password-message": "Reset password message",
|
"admin.config.email.reset-password-subject": "رسالة إعادة تعيين كلمة السر",
|
||||||
"admin.config.email.reset-password-message.description": "Message which gets sent when a user requests a password reset. {url} will be replaced with the reset password URL.",
|
"admin.config.email.reset-password-subject.description": "عنوان البريد الذي سيُرسل حين يطلب مستخدم ما إعادة تعيين كلمة سرّه.",
|
||||||
"admin.config.email.invite-subject": "Invite subject",
|
"admin.config.email.reset-password-message": "رسالة إعادة تعيين كلمة السر",
|
||||||
"admin.config.email.invite-subject.description": "Subject of the email which gets sent when an admin invites a user.",
|
"admin.config.email.reset-password-message.description": "الرسالة التي ستُرسل عندما يطلب المستخدم إعادة تعيين كلمة سرّه. سيُوضع رابط إعادة تعيين كلمة السر مكان {url}.",
|
||||||
"admin.config.email.invite-message": "Invite message",
|
"admin.config.email.invite-subject": "عنوان الدعوة",
|
||||||
"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.",
|
"admin.config.email.invite-subject.description": "عنوان البريد الذي سيُرسل عندما يقوم المشرف بدعوة مستخدم ما.",
|
||||||
"admin.config.share.allow-registration": "Allow registration",
|
"admin.config.email.invite-message": "رسالة الدعوة",
|
||||||
"admin.config.share.allow-registration.description": "Whether registration is allowed",
|
"admin.config.email.invite-message.description": "الرسالة التي ستُرسل عندما يدعو مشرفٌ مستخدمًا. سيُوضع رابط الدعوة مكان {url} وكلمة السر مكان {password}.",
|
||||||
"admin.config.share.allow-unauthenticated-shares": "Allow unauthenticated shares",
|
"admin.config.share.allow-registration": "السماح بالتسجيل",
|
||||||
"admin.config.share.allow-unauthenticated-shares.description": "Whether unauthenticated users can create shares",
|
"admin.config.share.allow-registration.description": "إتاحة تسجيل حساب جديد",
|
||||||
"admin.config.share.max-expiration": "Max expiration",
|
"admin.config.share.allow-unauthenticated-shares": "السماح بالمشاركات غير المصادق عليها",
|
||||||
"admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.",
|
"admin.config.share.allow-unauthenticated-shares.description": "إتاحة إنشاء المشاركات للمستخدمين غير الموثقين",
|
||||||
"admin.config.share.max-size": "Max size",
|
"admin.config.share.max-expiration": "أبعد زمن لانتهاء الصلاحية",
|
||||||
"admin.config.share.max-size.description": "Maximum share size in bytes",
|
"admin.config.share.max-expiration.description": "أطول زمن لانتهاء صلاحية المشاركات بالساعات. الصفر يعني أن المشاركة لن تنتهي صلاحيتها.",
|
||||||
"admin.config.share.zip-compression-level": "Zip compression level",
|
"admin.config.share.max-size": "أكبر حجم",
|
||||||
"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. ",
|
"admin.config.share.max-size.description": "أكبر حجم للمشاركة مقيسًا بالبايت",
|
||||||
"admin.config.share.chunk-size": "Chunk size",
|
"admin.config.share.zip-compression-level": "مستوى ضغط الZip",
|
||||||
"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.zip-compression-level.description": "ضبط الميزان بين حجم الملف وسرعة الضغط. يمكنك إدخال قيم بين 0 إلى 9، حيث 0 تعني بدون ضغط و9 تعني أقصى ضغط. ",
|
||||||
"admin.config.smtp.enabled": "Enabled",
|
"admin.config.share.chunk-size": "حجم القطعة",
|
||||||
"admin.config.smtp.enabled.description": "Whether SMTP is enabled. Only set this to true if you entered the host, port, email, user and password of your SMTP server.",
|
"admin.config.share.chunk-size.description": "ضبط حجم القطعة (بالبايت) لملفاتك المرفوعة للموازنة بين الكفاءة والفعالية حسب قوة اتصالك بالإنترنت. القطع الأصغر يمكن أن ترفع معدل النجاح في حال كان اتصالك بالإنترنت غير مستقر، بينما القطع الأكبر يمكنها أن تُسرّع رفع الملفات في حال كان الاتصال بالإنترنت مستقرًا.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
|
||||||
"admin.config.smtp.host.description": "Host of the SMTP server",
|
"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.port": "Port",
|
"admin.config.smtp.enabled": "مفعل",
|
||||||
"admin.config.smtp.port.description": "Port of the SMTP server",
|
"admin.config.smtp.enabled.description": "تفعيل الـSMTP. لا تفعّله إلا إذا قمت بإدخال المضيف، والمنفذ، والبريد الإلكتروني، واسم المستخدم، وكلمة السر لخادم الـSMTP.",
|
||||||
"admin.config.smtp.email": "Email",
|
"admin.config.smtp.host": "المُضيف",
|
||||||
"admin.config.smtp.email.description": "Email address which the emails get sent from",
|
"admin.config.smtp.host.description": "مضيف خادم الـSMTP",
|
||||||
"admin.config.smtp.username": "Username",
|
"admin.config.smtp.port": "المنفذ",
|
||||||
"admin.config.smtp.username.description": "Username of the SMTP server",
|
"admin.config.smtp.port.description": "منفذ خادم الـSMTP",
|
||||||
"admin.config.smtp.password": "Password",
|
"admin.config.smtp.email": "البريد الإلكتروني",
|
||||||
"admin.config.smtp.password.description": "Password of the SMTP server",
|
"admin.config.smtp.email.description": "عنوان البريد الذي ستُرسَل الرسائل منه",
|
||||||
"admin.config.smtp.button.test": "Send test email",
|
"admin.config.smtp.username": "اسم المستخدم",
|
||||||
"admin.config.oauth.allow-registration": "Allow registration",
|
"admin.config.smtp.username.description": "اسم المستخدم لخادم الـSMTP",
|
||||||
"admin.config.oauth.allow-registration.description": "Allow users to register via social login",
|
"admin.config.smtp.password": "كلمة السر",
|
||||||
"admin.config.oauth.ignore-totp": "Ignore TOTP",
|
"admin.config.smtp.password.description": "كلمة السر لخادم الـSMTP",
|
||||||
"admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login",
|
"admin.config.smtp.button.test": "إرسال رسالة بريد تجريبية",
|
||||||
|
"admin.config.oauth.allow-registration": "السماح بتسجيل الحسابات الجديدة",
|
||||||
|
"admin.config.oauth.allow-registration.description": "السماح للمستخدمين بالدخول بواسطة حساباتهم الاجتماعية",
|
||||||
|
"admin.config.oauth.ignore-totp": "تجاهل TOTP",
|
||||||
|
"admin.config.oauth.ignore-totp.description": "تجاهل TOTP إذا دخل المستخدم بحسابه الاجتماعي",
|
||||||
"admin.config.oauth.github-enabled": "GitHub",
|
"admin.config.oauth.github-enabled": "GitHub",
|
||||||
"admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled",
|
"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",
|
||||||
"admin.config.oauth.github-client-id.description": "Client ID of the GitHub OAuth app",
|
"admin.config.oauth.github-client-id.description": "معرف العميل لتطبيق GitHub OAuth",
|
||||||
"admin.config.oauth.github-client-secret": "GitHub Client secret",
|
"admin.config.oauth.github-client-secret": "الرمز السرّي لـGitHub Client",
|
||||||
"admin.config.oauth.github-client-secret.description": "Client secret of the GitHub OAuth app",
|
"admin.config.oauth.github-client-secret.description": "الرّمز السرّي للعميل لتطبيق GitHub OAuth",
|
||||||
"admin.config.oauth.google-enabled": "Google",
|
"admin.config.oauth.google-enabled": "Google",
|
||||||
"admin.config.oauth.google-enabled.description": "Whether Google login is enabled",
|
"admin.config.oauth.google-enabled.description": "تفعيل خيار الدخول بحساب Google",
|
||||||
"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": "Client ID of the Google OAuth app",
|
"admin.config.oauth.google-client-id.description": "معرف العميل لتطبيق Google OAuth",
|
||||||
"admin.config.oauth.google-client-secret": "Google Client secret",
|
"admin.config.oauth.google-client-secret": "الرمز السرّي لـ Google Client",
|
||||||
"admin.config.oauth.google-client-secret.description": "Client secret of the Google OAuth app",
|
"admin.config.oauth.google-client-secret.description": "الرّمز السرّي للعميل لتطبيق Google OAuth",
|
||||||
"admin.config.oauth.microsoft-enabled": "Microsoft",
|
"admin.config.oauth.microsoft-enabled": "Microsoft",
|
||||||
"admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled",
|
"admin.config.oauth.microsoft-enabled.description": "تفعيل خيار الدخول بحساب Microsoft",
|
||||||
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
|
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
|
||||||
"admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.",
|
"admin.config.oauth.microsoft-tenant.description": "معرف Tenant لتطبيق مايكروسوفت OAuth\nالشائع: يمكن للمستخدمين الذين لديهم حساب مايكروسوفت شخصي وحساب عمل أو مدرسة من معرف Microsoft Entra أن يسجلوا الدخول إلى التطبيق. بالنسبة المؤسسات: يمكن فقط للمستخدمين الذين لديهم حسابات عمل أو مدرسة من Microsoft Entra ID تسجيل الدخول إلى التطبيق.\nالمستهلكين: يمكن فقط للمستخدمين الذين لديهم حساب مايكروسوفت الشخصي تسجيل الدخول إلى التطبيق.\nاسم نطاق مستأجر Microsoft Entra أو معرف المستأجر بتنسيق GUID: يمكن فقط للمستخدمين من مستأجر Microsoft Entra محدد (أعضاء الإدارة الذين لديهم حساب عمل أو مدرسة أو ضيوف الإدارة الذين لديهم حساب شخصي لمايكروسوفت) تسجيل الدخول إلى التطبيق.",
|
||||||
"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": "Client ID of the Microsoft OAuth app",
|
"admin.config.oauth.microsoft-client-id.description": "معرف العميل لتطبيق Microsoft OAuth",
|
||||||
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret",
|
"admin.config.oauth.microsoft-client-secret": "الرمز السرّي لـMicrosoft Client",
|
||||||
"admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app",
|
"admin.config.oauth.microsoft-client-secret.description": "الرّمز السرّي للعميل لتطبيق Microsoft OAuth",
|
||||||
"admin.config.oauth.discord-enabled": "Discord",
|
"admin.config.oauth.discord-enabled": "Discord",
|
||||||
"admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled",
|
"admin.config.oauth.discord-enabled.description": "تفعيل خيار الدخول بحساب Discord",
|
||||||
"admin.config.oauth.discord-limited-guild": "Discord limited server ID",
|
"admin.config.oauth.discord-limited-guild": "مُعرِّف خادم Discord المحدود",
|
||||||
"admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.",
|
"admin.config.oauth.discord-limited-guild.description": "حصر تسجيل الدخول على المستخدمين الموجودين في خادم محدّد. اترك هذا الخيار فارغًا لتعطيله.",
|
||||||
"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": "Client ID of the Discord OAuth app",
|
"admin.config.oauth.discord-client-id.description": "معرف العميل لتطبيق Discord OAuth",
|
||||||
"admin.config.oauth.discord-client-secret": "Discord Client secret",
|
"admin.config.oauth.discord-client-secret": "الرمز السرّي لـDiscord Client",
|
||||||
"admin.config.oauth.discord-client-secret.description": "Client secret of the Discord OAuth app",
|
"admin.config.oauth.discord-client-secret.description": "الرّمز السرّي للعميل لتطبيق Discord OAuth",
|
||||||
"admin.config.oauth.oidc-enabled": "OpenID Connect",
|
"admin.config.oauth.oidc-enabled": "OpenID Connect",
|
||||||
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled",
|
"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": "Discovery URI of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-discovery-uri.description": "رابط الاستكشاف لتطبيق OpenID Connect OAuth",
|
||||||
"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": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.",
|
"admin.config.oauth.oidc-username-claim.description": "طلب اسم المستخدم في رمز معرف OpenID Connect. إذا كنت لا تعرف معنى هذا الإعداد، اتركه فارغًا.",
|
||||||
"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": "Client ID of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-client-id.description": "معرف العميل لتطبيق OpenID Connect OAuth",
|
||||||
"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": "Client secret of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-client-secret.description": "الرّمز السرّي للعميل لتطبيق OpenID Connect OAuth",
|
||||||
// 404
|
// 404
|
||||||
"404.description": "Oops this page doesn't exist.",
|
"404.description": "هذه الصفحة غير موجودة.",
|
||||||
"404.button.home": "Bring me back home",
|
"404.button.home": "أعدني للصفحة الرئيسية",
|
||||||
// error
|
// error
|
||||||
"error.title": "Error",
|
"error.title": "خطأ",
|
||||||
"error.description": "Oops!",
|
"error.description": "عذرًا!",
|
||||||
"error.button.back": "Go back",
|
"error.button.back": "العودة",
|
||||||
"error.msg.default": "Something went wrong.",
|
"error.msg.default": "حَدث خطأ ما.",
|
||||||
"error.msg.access_denied": "You canceled the authentication process, please try again.",
|
"error.msg.access_denied": "قمت بإلغاء عملية المصادقة، الرجاء المحاولة مرة أخرى.",
|
||||||
"error.msg.expired_token": "The authentication process took too long, please try again.",
|
"error.msg.expired_token": "استغرقت عملية المصادقة وقتًا طويلًا، يرجى المحاولة مرة أخرى.",
|
||||||
"error.msg.invalid_token": "Internal Error",
|
"error.msg.invalid_token": "خطأ داخلي",
|
||||||
"error.msg.no_user": "User linked to this {0} account doesn't exist.",
|
"error.msg.no_user": "المستخدم المرتبط بهذا الحساب {0} غير موجود.",
|
||||||
"error.msg.no_email": "Can't get email address from this {0} account.",
|
"error.msg.no_email": "لا يمكن الحصول على عنوان البريد الإلكتروني من هذا الحساب {0}.",
|
||||||
"error.msg.already_linked": "This {0} account is already linked to another account.",
|
"error.msg.already_linked": "حساب {0} هذا مرتبط بالفعل بحساب آخر.",
|
||||||
"error.msg.not_linked": "This {0} account haven't linked to any account yet.",
|
"error.msg.not_linked": "لم يتم ربط حساب {0} هذا بأي حساب حتى الآن.",
|
||||||
"error.msg.unverified_account": "This {0} account is unverified, please try again after verification.",
|
"error.msg.unverified_account": "لم يتم التحقق من حساب {0} هذا، يرجى المحاولة مرة أخرى بعد التحقق.",
|
||||||
"error.msg.discord_guild_permission_denied": "You are not allowed to sign in.",
|
"error.msg.discord_guild_permission_denied": "غير مسموح لك بتسجيل الدخول.",
|
||||||
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.",
|
"error.msg.cannot_get_user_info": "فشلت عملية جلب معلومات المستخدم الخاصة بك من حساب {0} هذا.",
|
||||||
"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",
|
||||||
"error.param.provider_discord": "Discord",
|
"error.param.provider_discord": "Discord",
|
||||||
"error.param.provider_oidc": "OpenID Connect",
|
"error.param.provider_oidc": "OpenID Connect",
|
||||||
// Common translations
|
// Common translations
|
||||||
"common.button.save": "Save",
|
"common.button.save": "حفظ",
|
||||||
"common.button.create": "Create",
|
"common.button.create": "إنشاء",
|
||||||
"common.button.submit": "Submit",
|
"common.button.submit": "إرسال",
|
||||||
"common.button.delete": "Delete",
|
"common.button.delete": "حذف",
|
||||||
"common.button.cancel": "Cancel",
|
"common.button.cancel": "إلغاء",
|
||||||
"common.button.confirm": "Confirm",
|
"common.button.confirm": "تأكيد",
|
||||||
"common.button.disable": "Disable",
|
"common.button.disable": "إيقاف",
|
||||||
"common.button.share": "Share",
|
"common.button.share": "مشاركة",
|
||||||
"common.button.generate": "Generate",
|
"common.button.generate": "توليد",
|
||||||
"common.button.done": "Done",
|
"common.button.done": "تم",
|
||||||
"common.text.link": "Link",
|
"common.text.link": "الرابط",
|
||||||
"common.text.navigate-to-link": "Go to the link",
|
"common.text.navigate-to-link": "الذهاب إلى الرابط",
|
||||||
"common.text.or": "or",
|
"common.text.or": "أو",
|
||||||
"common.button.go-back": "Go back",
|
"common.button.go-back": "العودة",
|
||||||
"common.button.go-home": "Go home",
|
"common.button.go-home": "العودة للصفحة الرئيسية",
|
||||||
"common.notify.copied": "Your link was copied to the clipboard",
|
"common.notify.copied": "تم نسخ الرابط إلى الحافظة",
|
||||||
"common.success": "Success",
|
"common.success": "تم",
|
||||||
"common.error": "Error",
|
"common.error": "خطأ",
|
||||||
"common.error.unknown": "An unknown error occurred",
|
"common.error.unknown": "حدث خطأ غير معروف",
|
||||||
"common.error.invalid-email": "Invalid email address",
|
"common.error.invalid-email": "عنوان البريد غير صحيح",
|
||||||
"common.error.too-short": "Must be at least {length} characters",
|
"common.error.too-short": "يجب أن يكون على الأقل {length} حرفًا",
|
||||||
"common.error.too-long": "Must be at most {length} characters",
|
"common.error.too-long": "يجب أن يكون على الأكثر {length} حرفًا",
|
||||||
"common.error.exact-length": "Must be exactly {length} characters",
|
"common.error.exact-length": "يجب أن يكون بالضبط {length} حرفًا",
|
||||||
"common.error.invalid-number": "Must be a number",
|
"common.error.invalid-number": "يجب أن يكون رقماً",
|
||||||
"common.error.field-required": "This field is required"
|
"common.error.field-required": "هذا الحقل مطلوب"
|
||||||
};
|
};
|
||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Trin 2: Valider din kode",
|
"account.modal.totp.step2": "Trin 2: Valider din kode",
|
||||||
"account.modal.totp.enterManually": "Indtast manuelt",
|
"account.modal.totp.enterManually": "Indtast manuelt",
|
||||||
"account.modal.totp.code": "Kode",
|
"account.modal.totp.code": "Kode",
|
||||||
"account.modal.totp.clickToCopy": "Klik for at kopiere",
|
"common.button.clickToCopy": "Klik for at kopiere",
|
||||||
"account.modal.totp.verify": "Bekræft",
|
"account.modal.totp.verify": "Bekræft",
|
||||||
"account.notify.totp.disable": "2-faktor blev deaktiveret",
|
"account.notify.totp.disable": "2-faktor blev deaktiveret",
|
||||||
"account.notify.totp.enable": "2-faktor blev deaktiveret",
|
"account.notify.totp.enable": "2-faktor blev deaktiveret",
|
||||||
@@ -200,7 +200,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": "Do you really want to delete this share?",
|
"admin.shares.edit.delete.description": "Do you really want to delete this share?",
|
||||||
@@ -240,7 +240,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": "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": "E-mail modtagere",
|
"upload.modal.accordion.email.title": "E-mail modtagere",
|
||||||
"upload.modal.accordion.email.placeholder": "Indtast e-mail modtagere",
|
"upload.modal.accordion.email.placeholder": "Indtast e-mail modtagere",
|
||||||
@@ -276,7 +276,7 @@ export default {
|
|||||||
"share.modal.file-preview.error.not-supported.description": "A preview for this file type is unsupported. Please download the file to view it.",
|
"share.modal.file-preview.error.not-supported.description": "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": "An error occurred while finishing your share.",
|
"share.edit.notify.generic-error": "An error occurred while finishing your share.",
|
||||||
"share.edit.notify.save-success": "Share updated successfully",
|
"share.edit.notify.save-success": "Share updated successfully",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "På hvilken URL Pingvin Share er tilgængelig",
|
"admin.config.general.app-url.description": "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": "Skift dit logo ved at uploade et nyt billede. Billedet skal være PNG og skal have formatet 1:1.",
|
"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.",
|
||||||
"admin.config.general.logo.placeholder": "Vælg billede",
|
"admin.config.general.logo.placeholder": "Vælg billede",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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. ",
|
"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. ",
|
||||||
"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.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": "Om SMTP er aktiveret. Aktiver kun SMTP, hvis du har indtastet SMTP-server vært, port, e-mail, bruger og adgangskode.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Vært",
|
"admin.config.smtp.host": "Vært",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Schritt 2: Bestätige deinen Code",
|
"account.modal.totp.step2": "Schritt 2: Bestätige deinen Code",
|
||||||
"account.modal.totp.enterManually": "Manuell eingeben",
|
"account.modal.totp.enterManually": "Manuell eingeben",
|
||||||
"account.modal.totp.code": "Code",
|
"account.modal.totp.code": "Code",
|
||||||
"account.modal.totp.clickToCopy": "Klicken zum Kopieren",
|
"common.button.clickToCopy": "Klicken zum Kopieren",
|
||||||
"account.modal.totp.verify": "Überprüfen",
|
"account.modal.totp.verify": "Überprüfen",
|
||||||
"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",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Auf welcher URL Pingvin Share verfügbar ist",
|
"admin.config.general.app-url.description": "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": "Ob die Startseite angezeigt werden soll",
|
"admin.config.general.show-home-page.description": "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": "Ä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.description": "Ä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",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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.",
|
"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.",
|
||||||
"admin.config.share.chunk-size": "Chunkgröße",
|
"admin.config.share.chunk-size": "Chunkgröße",
|
||||||
"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.",
|
"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.",
|
||||||
|
"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": "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.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.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.smtp.host": "Host",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Βήμα 2: Επικυρώστε τον κωδικό σας",
|
"account.modal.totp.step2": "Βήμα 2: Επικυρώστε τον κωδικό σας",
|
||||||
"account.modal.totp.enterManually": "Χειροκίνητη εισαγωγή",
|
"account.modal.totp.enterManually": "Χειροκίνητη εισαγωγή",
|
||||||
"account.modal.totp.code": "Κώδικας",
|
"account.modal.totp.code": "Κώδικας",
|
||||||
"account.modal.totp.clickToCopy": "Κάνε κλικ για αντιγραφή",
|
"common.button.clickToCopy": "Κάνε κλικ για αντιγραφή",
|
||||||
"account.modal.totp.verify": "Επαλήθευση",
|
"account.modal.totp.verify": "Επαλήθευση",
|
||||||
"account.notify.totp.disable": "Το TOTP απενεργοποιήθηκε επιτυχώς",
|
"account.notify.totp.disable": "Το TOTP απενεργοποιήθηκε επιτυχώς",
|
||||||
"account.notify.totp.enable": "Το TOTP ενεργοποιήθηκε επιτυχώς",
|
"account.notify.totp.enable": "Το TOTP ενεργοποιήθηκε επιτυχώς",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Η διεύθυνση URL όπου το Pingvin Share είναι διαθέσιμο",
|
"admin.config.general.app-url.description": "Η διεύθυνση URL όπου το Pingvin Share είναι διαθέσιμο",
|
||||||
"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": "Αλλάξτε το λογότυπό σας ανεβάζοντας μια νέα εικόνα. Η εικόνα πρέπει να είναι PNG και αναλογία 1:1.",
|
"admin.config.general.logo.description": "Αλλάξτε το λογότυπό σας ανεβάζοντας μια νέα εικόνα. Η εικόνα πρέπει να είναι PNG και αναλογία 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Επιλέξτε εικόνα",
|
"admin.config.general.logo.placeholder": "Επιλέξτε εικόνα",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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": "Προσαρμόστε το μέγεθος κομματιών (σε bytes) για να εξισορροπήσετε την αποδοτικότητα και την αξιοπιστία του συστήματος σύμφωνα με τη σύνδεσή σας στο διαδίκτυο. Μικρότερα κομμάτια μπορούν να βελτιώσουν τα ποσοστά επιτυχίας σε ασταθείς συνδέσεις, ενώ μεγαλύτερα κομμάτια επιταχύνουν τις μεταφορτώσεις σε σταθερές συνδέσεις.",
|
"admin.config.share.chunk-size.description": "Προσαρμόστε το μέγεθος κομματιών (σε 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": "Εάν η λειτουργία SMTP είναι ενεργοποιημένη. Ενεργοποιήστε τη μόνον όταν ορίσετε σωστά τις παραμέτρους που ακολουθούν.",
|
"admin.config.smtp.enabled.description": "Εάν η λειτουργία SMTP είναι ενεργοποιημένη. Ενεργοποιήστε τη μόνον όταν ορίσετε σωστά τις παραμέτρους που ακολουθούν.",
|
||||||
"admin.config.smtp.host": "Εξυπηρετητής",
|
"admin.config.smtp.host": "Εξυπηρετητής",
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Step 2: Validate your code",
|
"account.modal.totp.step2": "Step 2: Validate your code",
|
||||||
"account.modal.totp.enterManually": "Enter manually",
|
"account.modal.totp.enterManually": "Enter manually",
|
||||||
"account.modal.totp.code": "Code",
|
"account.modal.totp.code": "Code",
|
||||||
"account.modal.totp.clickToCopy": "Click to copy",
|
"common.button.clickToCopy": "Click to copy",
|
||||||
"account.modal.totp.verify": "Verify",
|
"account.modal.totp.verify": "Verify",
|
||||||
"account.notify.totp.disable": "TOTP disabled successfully",
|
"account.notify.totp.disable": "TOTP disabled successfully",
|
||||||
"account.notify.totp.enable": "TOTP enabled successfully",
|
"account.notify.totp.enable": "TOTP enabled successfully",
|
||||||
@@ -399,6 +399,10 @@ 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",
|
||||||
@@ -449,6 +454,8 @@ export default {
|
|||||||
"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.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":
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Paso 2: Validar tu código",
|
"account.modal.totp.step2": "Paso 2: Validar tu código",
|
||||||
"account.modal.totp.enterManually": "Ingresar manualmente",
|
"account.modal.totp.enterManually": "Ingresar manualmente",
|
||||||
"account.modal.totp.code": "Código",
|
"account.modal.totp.code": "Código",
|
||||||
"account.modal.totp.clickToCopy": "Clic para copiar",
|
"common.button.clickToCopy": "Clic para copiar",
|
||||||
"account.modal.totp.verify": "Verificar",
|
"account.modal.totp.verify": "Verificar",
|
||||||
"account.notify.totp.disable": "TOTP deshabilitado correctamente",
|
"account.notify.totp.disable": "TOTP deshabilitado correctamente",
|
||||||
"account.notify.totp.enable": "TOTP habilitado correctamente",
|
"account.notify.totp.enable": "TOTP habilitado correctamente",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "En cuál URL está disponible Pingvin Share",
|
"admin.config.general.app-url.description": "En cuál URL está disponible Pingvin Share",
|
||||||
"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": "Mostrar o no la página de inicio",
|
"admin.config.general.show-home-page.description": "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": "Cambia tu logo subiendo una nueva imagen. La imagen debe ser un PNG y debe estar en formato 1:1.",
|
"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.",
|
||||||
"admin.config.general.logo.placeholder": "Elegir imagen",
|
"admin.config.general.logo.placeholder": "Elegir imagen",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Ajustar el nivel para equilibrar entre el tamaño del archivo y la velocidad de compresión. Los valores válidos van del 0 al 9, siendo 0 sin compresión y 9 el nivel máximo de compresión. ",
|
"admin.config.share.zip-compression-level.description": "Ajustar el nivel para equilibrar entre el tamaño del archivo y la velocidad de compresión. Los valores válidos van del 0 al 9, siendo 0 sin compresión y 9 el nivel máximo de compresión. ",
|
||||||
"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": "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.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.",
|
||||||
|
"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": "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.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.smtp.host": "Host",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Vaihe 2: Vahvista koodisi",
|
"account.modal.totp.step2": "Vaihe 2: Vahvista koodisi",
|
||||||
"account.modal.totp.enterManually": "Syötä manuaalisesti",
|
"account.modal.totp.enterManually": "Syötä manuaalisesti",
|
||||||
"account.modal.totp.code": "Koodi",
|
"account.modal.totp.code": "Koodi",
|
||||||
"account.modal.totp.clickToCopy": "Klikkaa kopioidaksesi",
|
"common.button.clickToCopy": "Klikkaa kopioidaksesi",
|
||||||
"account.modal.totp.verify": "Vahvista",
|
"account.modal.totp.verify": "Vahvista",
|
||||||
"account.notify.totp.disable": "TOTP poistettu käytöstä",
|
"account.notify.totp.disable": "TOTP poistettu käytöstä",
|
||||||
"account.notify.totp.enable": "TOTP otettu käyttöön onnistuneesti",
|
"account.notify.totp.enable": "TOTP otettu käyttöön onnistuneesti",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Millä URL-osoitteella Pingvin Share on saatavilla",
|
"admin.config.general.app-url.description": "Millä URL-osoitteella Pingvin Share on saatavilla",
|
||||||
"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": "Näytetäänkö kotisivu vai ei",
|
"admin.config.general.show-home-page.description": "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": "Muuta logoa lataamalla uusi kuva. Kuvan on oltava PNG ja sen on oltava formaatti 1:1.",
|
"admin.config.general.logo.description": "Muuta logoa lataamalla uusi kuva. Kuvan on oltava PNG ja sen on oltava formaatti 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Valitse kuva",
|
"admin.config.general.logo.placeholder": "Valitse kuva",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Säädä tasoa tiedoston koon ja pakkausnopeuden välillä. Kelvolliset arvot vaihtelevat 0–9, 0 ei puristusta ja 9 on suurin puristusvoima. ",
|
"admin.config.share.zip-compression-level.description": "Säädä tasoa tiedoston koon ja pakkausnopeuden välillä. Kelvolliset arvot vaihtelevat 0–9, 0 ei puristusta ja 9 on suurin puristusvoima. ",
|
||||||
"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.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": "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.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Isäntä",
|
"admin.config.smtp.host": "Isäntä",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Étape 2 : Valider votre code",
|
"account.modal.totp.step2": "Étape 2 : Valider votre code",
|
||||||
"account.modal.totp.enterManually": "Saisir manuellement",
|
"account.modal.totp.enterManually": "Saisir manuellement",
|
||||||
"account.modal.totp.code": "Code",
|
"account.modal.totp.code": "Code",
|
||||||
"account.modal.totp.clickToCopy": "Cliquez pour copier",
|
"common.button.clickToCopy": "Cliquez pour copier",
|
||||||
"account.modal.totp.verify": "Vérifier",
|
"account.modal.totp.verify": "Vérifier",
|
||||||
"account.notify.totp.disable": "TOTP désactivé avec succès",
|
"account.notify.totp.disable": "TOTP désactivé avec succès",
|
||||||
"account.notify.totp.enable": "TOTP activé avec succès",
|
"account.notify.totp.enable": "TOTP activé avec succès",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Depuis quel URL le partage Pingvin est disponible",
|
"admin.config.general.app-url.description": "Depuis quel URL le partage Pingvin est disponible",
|
||||||
"admin.config.general.show-home-page": "Afficher la page d’accueil",
|
"admin.config.general.show-home-page": "Afficher la page d’accueil",
|
||||||
"admin.config.general.show-home-page.description": "Afficher ou non la page d’accueil",
|
"admin.config.general.show-home-page.description": "Afficher ou non la page d’accueil",
|
||||||
|
"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": "Changez de logo en envoyant une nouvelle image. L’image doit être au format PNG et doit avoir un ratio 1:1.",
|
"admin.config.general.logo.description": "Changez de logo en envoyant une nouvelle image. L’image doit être au format PNG et doit avoir un ratio 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Sélectionner une image",
|
"admin.config.general.logo.placeholder": "Sélectionner une image",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Ajustez le niveau pour trouver l'équilibre entre la taille du fichier et la vitesse de compression. Les valeurs valides vont de 0 à 9, 0 étant sans compression et 9 étant la compression maximale. ",
|
"admin.config.share.zip-compression-level.description": "Ajustez le niveau pour trouver l'équilibre entre la taille du fichier et la vitesse de compression. Les valeurs valides vont de 0 à 9, 0 étant sans compression et 9 étant la compression maximale. ",
|
||||||
"admin.config.share.chunk-size": "Taille des tronçons",
|
"admin.config.share.chunk-size": "Taille des tronçons",
|
||||||
"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.",
|
"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.",
|
||||||
|
"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 lorsqu’un 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": "Active SMTP. Activez ceci uniquement si vous avez saisi l’hôte, le port, le courriel, l’utilisateur et son mot de passe, de votre serveur SMTP.",
|
"admin.config.smtp.enabled.description": "Active SMTP. Activez ceci uniquement si vous avez saisi l’hôte, le port, le courriel, l’utilisateur et son mot de passe, de votre serveur SMTP.",
|
||||||
"admin.config.smtp.host": "Hôte",
|
"admin.config.smtp.host": "Hôte",
|
||||||
|
|||||||
@@ -1,39 +1,39 @@
|
|||||||
export default {
|
export default {
|
||||||
// Navbar
|
// Navbar
|
||||||
"navbar.upload": "Upload",
|
"navbar.upload": "Feltöltés",
|
||||||
"navbar.signin": "Sign in",
|
"navbar.signin": "Bejelentkezés",
|
||||||
"navbar.home": "Home",
|
"navbar.home": "Home",
|
||||||
"navbar.signup": "Sign Up",
|
"navbar.signup": "Feliratkozás",
|
||||||
"navbar.links.shares": "My shares",
|
"navbar.links.shares": "Megosztásaim",
|
||||||
"navbar.links.reverse": "Reverse shares",
|
"navbar.links.reverse": "Fordított megosztások",
|
||||||
"navbar.avatar.account": "My account",
|
"navbar.avatar.account": "Fiókom",
|
||||||
"navbar.avatar.admin": "Administration",
|
"navbar.avatar.admin": "Admin ügyek",
|
||||||
"navbar.avatar.signout": "Sign out",
|
"navbar.avatar.signout": "Kijelentkezés",
|
||||||
// END navbar
|
// END navbar
|
||||||
// /
|
// /
|
||||||
"home.title": "A <h>self-hosted</h> file sharing platform.",
|
"home.title": "<h>Saját üzemeltetésű</h> fájl megosztó platform.",
|
||||||
"home.description": "Do you really want to give your personal files in the hand of third parties like WeTransfer?",
|
"home.description": "Valóban hozzáférhetővé akarja tenni fájljait a WeTransfer és más hasonló harmadik felek számára?",
|
||||||
"home.bullet.a.name": "Self-Hosted",
|
"home.bullet.a.name": "Saját üzemeltetés",
|
||||||
"home.bullet.a.description": "Host Pingvin Share on your own machine.",
|
"home.bullet.a.description": "A Pingvin Share megosztót saját gépéről futtathatja.",
|
||||||
"home.bullet.b.name": "Privacy",
|
"home.bullet.b.name": "Adatvédelem",
|
||||||
"home.bullet.b.description": "Your files are your files and should never get into the hands of third parties.",
|
"home.bullet.b.description": "A saját fájlok személyesek és semmi keresnivalójuk harmadik feleknél.",
|
||||||
"home.bullet.c.name": "No annoying file size limit",
|
"home.bullet.c.name": "Nincs bosszantó fájl méretkorlát",
|
||||||
"home.bullet.c.description": "Upload as big files as you want. Only your hard drive will be your limit.",
|
"home.bullet.c.description": "Akkora fájlokat oszt meg, amekkorákat csak akar. Határt csak a lemezterület szab.",
|
||||||
"home.button.start": "Get started",
|
"home.button.start": "Nosza, kezdjük",
|
||||||
"home.button.source": "Source code",
|
"home.button.source": "Forráskód",
|
||||||
// END /
|
// END /
|
||||||
// /auth/signin
|
// /auth/signin
|
||||||
"signin.title": "Welcome back",
|
"signin.title": "Üdv ismét itt",
|
||||||
"signin.description": "You don't have an account yet?",
|
"signin.description": "Nincsen még fiókja?",
|
||||||
"signin.button.signup": "Sign up",
|
"signin.button.signup": "Feliratkozás",
|
||||||
"signin.input.email-or-username": "Email or username",
|
"signin.input.email-or-username": "Email vagy felhasználónév",
|
||||||
"signin.input.email-or-username.placeholder": "Your email or username",
|
"signin.input.email-or-username.placeholder": "Az Ön emailcíme vagy felhasználóneve",
|
||||||
"signin.input.password": "Password",
|
"signin.input.password": "Jelszó",
|
||||||
"signin.input.password.placeholder": "Your password",
|
"signin.input.password.placeholder": "Az Ön jelszava",
|
||||||
"signin.button.submit": "Sign in",
|
"signin.button.submit": "Bejelentkezés",
|
||||||
"signIn.notify.totp-required.title": "Two-factor authentication required",
|
"signIn.notify.totp-required.title": "Kétfaktoros hitelesítésre van szükség",
|
||||||
"signIn.notify.totp-required.description": "Please enter your two-factor authentication code",
|
"signIn.notify.totp-required.description": "Adja meg a másik úton kapott kódját",
|
||||||
"signIn.oauth.or": "OR",
|
"signIn.oauth.or": "VAGY",
|
||||||
"signIn.oauth.github": "GitHub",
|
"signIn.oauth.github": "GitHub",
|
||||||
"signIn.oauth.google": "Google",
|
"signIn.oauth.google": "Google",
|
||||||
"signIn.oauth.microsoft": "Microsoft",
|
"signIn.oauth.microsoft": "Microsoft",
|
||||||
@@ -41,394 +41,398 @@ export default {
|
|||||||
"signIn.oauth.oidc": "OpenID",
|
"signIn.oauth.oidc": "OpenID",
|
||||||
// END /auth/signin
|
// END /auth/signin
|
||||||
// /auth/signup
|
// /auth/signup
|
||||||
"signup.title": "Create an account",
|
"signup.title": "Fiók létrehozása",
|
||||||
"signup.description": "Already have an account?",
|
"signup.description": "Már van fiókja?",
|
||||||
"signup.button.signin": "Sign in",
|
"signup.button.signin": "Bejelentkezés",
|
||||||
"signup.input.username": "Username",
|
"signup.input.username": "Felhasználónév",
|
||||||
"signup.input.username.placeholder": "Your username",
|
"signup.input.username.placeholder": "Az Ön felhasználói neve",
|
||||||
"signup.input.email": "Email",
|
"signup.input.email": "Email",
|
||||||
"signup.input.email.placeholder": "Your email",
|
"signup.input.email.placeholder": "Az Ön emailcíme",
|
||||||
"signup.button.submit": "Let's get started",
|
"signup.button.submit": "Kezdhetjük",
|
||||||
// END /auth/signup
|
// END /auth/signup
|
||||||
// /auth/totp
|
// /auth/totp
|
||||||
"totp.title": "TOTP Authentication",
|
"totp.title": "TOTP hitelesítés",
|
||||||
"totp.button.signIn": "Sign in",
|
"totp.button.signIn": "Bejelentkezés",
|
||||||
// END /auth/totp
|
// END /auth/totp
|
||||||
// /auth/reset-password
|
// /auth/reset-password
|
||||||
"resetPassword.title": "Forgot your password?",
|
"resetPassword.title": "Elfelejtette jelszavát?",
|
||||||
"resetPassword.description": "Enter your email to reset your password.",
|
"resetPassword.description": "Adja meg emailcímét a jelszó alaphelyzetbe állításához.",
|
||||||
"resetPassword.notify.success": "A message with a link to reset your password has been sent if the email exists.",
|
"resetPassword.notify.success": "A jelszó visszaállítására szolgáló linket tartalmazó üzenetet küldtünk, ha az e-mail létezik.",
|
||||||
"resetPassword.button.back": "Back to sign in page",
|
"resetPassword.button.back": "Vissza a bejelentkezési oldalra",
|
||||||
"resetPassword.text.resetPassword": "Reset password",
|
"resetPassword.text.resetPassword": "Jelszó alaphelyzetbe állítása",
|
||||||
"resetPassword.text.enterNewPassword": "Enter your new password",
|
"resetPassword.text.enterNewPassword": "Adja meg új jelszavát",
|
||||||
"resetPassword.input.password": "New password",
|
"resetPassword.input.password": "Új jelszó",
|
||||||
"resetPassword.notify.passwordReset": "Your password has been reset successfully.",
|
"resetPassword.notify.passwordReset": "Sikeresen megadta az új jelszót.",
|
||||||
// /account
|
// /account
|
||||||
"account.title": "My account",
|
"account.title": "Fiókom",
|
||||||
"account.card.info.title": "Account info",
|
"account.card.info.title": "Fiókinformáció",
|
||||||
"account.card.info.username": "Username",
|
"account.card.info.username": "Felhasználónév",
|
||||||
"account.card.info.email": "Email",
|
"account.card.info.email": "Email",
|
||||||
"account.notify.info.success": "Account updated successfully",
|
"account.notify.info.success": "A fiók sikeresen frissítésre került",
|
||||||
"account.card.password.title": "Password",
|
"account.card.password.title": "Jelszó",
|
||||||
"account.card.password.old": "Old password",
|
"account.card.password.old": "Régi jelszó",
|
||||||
"account.card.password.new": "New password",
|
"account.card.password.new": "Új jelszó",
|
||||||
"account.card.password.noPasswordSet": "You don't have a password set. If you want to sign in with email and password you need to set a password.",
|
"account.card.password.noPasswordSet": "Még nincs jelszava. Ha email és jelszó kombinációval kíván bejelentkezni, létre kell hoznia egy jelszót.",
|
||||||
"account.notify.password.success": "Password changed successfully",
|
"account.notify.password.success": "A jelszó sikeresen frissítésre került",
|
||||||
"account.card.oauth.title": "Social login",
|
"account.card.oauth.title": "Közösségi bejelentkezés",
|
||||||
"account.card.oauth.github": "GitHub",
|
"account.card.oauth.github": "GitHub",
|
||||||
"account.card.oauth.google": "Google",
|
"account.card.oauth.google": "Google",
|
||||||
"account.card.oauth.microsoft": "Microsoft",
|
"account.card.oauth.microsoft": "Microsoft",
|
||||||
"account.card.oauth.discord": "Discord",
|
"account.card.oauth.discord": "Discord",
|
||||||
"account.card.oauth.oidc": "OpenID",
|
"account.card.oauth.oidc": "OpenID",
|
||||||
"account.card.oauth.link": "Link",
|
"account.card.oauth.link": "Összekapcsolás",
|
||||||
"account.card.oauth.unlink": "Unlink",
|
"account.card.oauth.unlink": "Leválasztás",
|
||||||
"account.card.oauth.unlinked": "Unlinked",
|
"account.card.oauth.unlinked": "Leválasztva",
|
||||||
"account.modal.unlink.title": "Unlink account",
|
"account.modal.unlink.title": "Fiók leválasztása",
|
||||||
"account.modal.unlink.description": "Unlinking your social accounts may cause you to lose your account if you don't remember your username and password.",
|
"account.modal.unlink.description": "A közösségi hálón keresztül csatolt fiók leválasztásával elveszítheti hozzáférését a fiókhoz, ha a név és jelszó kombinációra nem emlékszik.",
|
||||||
"account.notify.oauth.unlinked.success": "Unlinked successfully",
|
"account.notify.oauth.unlinked.success": "Leválasztás sikeres",
|
||||||
"account.card.security.title": "Security",
|
"account.card.security.title": "Biztonság",
|
||||||
"account.card.security.totp.enable.description": "Enter your current password to start enabling TOTP",
|
"account.card.security.totp.enable.description": "Adja meg az aktuális jelszavát a TOTP engedélyezéséhez",
|
||||||
"account.card.security.totp.disable.description": "Enter your current password to disable TOTP",
|
"account.card.security.totp.disable.description": "Adja meg aktuális jelszavát a TOTP letiltásához",
|
||||||
"account.card.security.totp.button.start": "Start",
|
"account.card.security.totp.button.start": "Kezdés",
|
||||||
"account.modal.totp.title": "Enable TOTP",
|
"account.modal.totp.title": "TOTP engedélyezése",
|
||||||
"account.modal.totp.step1": "Step 1: Add your authenticator",
|
"account.modal.totp.step1": "1. lépés: Hitelesítő megadása",
|
||||||
"account.modal.totp.step2": "Step 2: Validate your code",
|
"account.modal.totp.step2": "2. lépés: Kód érvényesítése",
|
||||||
"account.modal.totp.enterManually": "Enter manually",
|
"account.modal.totp.enterManually": "Kézi megadás",
|
||||||
"account.modal.totp.code": "Code",
|
"account.modal.totp.code": "Kód",
|
||||||
"account.modal.totp.clickToCopy": "Click to copy",
|
"common.button.clickToCopy": "Kattintson a másoláshoz",
|
||||||
"account.modal.totp.verify": "Verify",
|
"account.modal.totp.verify": "Hitelesítés",
|
||||||
"account.notify.totp.disable": "TOTP disabled successfully",
|
"account.notify.totp.disable": "TOTP sikeresen letiltva",
|
||||||
"account.notify.totp.enable": "TOTP enabled successfully",
|
"account.notify.totp.enable": "TOTP sikeresen engedélyezve",
|
||||||
"account.card.language.title": "Language",
|
"account.card.language.title": "Nyelv",
|
||||||
"account.card.language.description": "The project is translated by the community. Some languages might be incomplete.",
|
"account.card.language.description": "A projekt nyelvi verzióit a közösség fordítja. Egyes nyelvi verziók nem feltétlenül teljesek.",
|
||||||
"account.card.color.title": "Color scheme",
|
"account.card.color.title": "Színséma",
|
||||||
// ThemeSwitcher.tsx
|
// ThemeSwitcher.tsx
|
||||||
"account.theme.dark": "Dark",
|
"account.theme.dark": "Sötét",
|
||||||
"account.theme.light": "Light",
|
"account.theme.light": "Világos",
|
||||||
"account.theme.system": "System",
|
"account.theme.system": "Rendszer",
|
||||||
"account.button.delete": "Delete Account",
|
"account.button.delete": "Fiók törlése",
|
||||||
"account.modal.delete.title": "Delete Account",
|
"account.modal.delete.title": "Fiók törlése",
|
||||||
"account.modal.delete.description": "Do you really want to delete your account including all your active shares?",
|
"account.modal.delete.description": "Valóban törölni kívánja a fiókot és vele az összes meglévő aktív megosztást?",
|
||||||
// END /account
|
// END /account
|
||||||
// /account/shares
|
// /account/shares
|
||||||
"account.shares.title": "My shares",
|
"account.shares.title": "Megosztásaim",
|
||||||
"account.shares.title.empty": "It's empty here 👀",
|
"account.shares.title.empty": "Üres 👀, itt nincs semmi",
|
||||||
"account.shares.description.empty": "You don't have any shares.",
|
"account.shares.description.empty": "Nincsenek megosztások.",
|
||||||
"account.shares.button.create": "Create one",
|
"account.shares.button.create": "Létrehozás",
|
||||||
"account.shares.info.title": "Share informations",
|
"account.shares.info.title": "Megosztás adatai",
|
||||||
"account.shares.table.id": "ID",
|
"account.shares.table.id": "ID",
|
||||||
"account.shares.table.name": "Name",
|
"account.shares.table.name": "Megnevezés",
|
||||||
"account.shares.table.description": "Description",
|
"account.shares.table.description": "Leírás",
|
||||||
"account.shares.table.visitors": "Visitors",
|
"account.shares.table.visitors": "Látogatók",
|
||||||
"account.shares.table.expiresAt": "Expires at",
|
"account.shares.table.expiresAt": "Lejárat",
|
||||||
"account.shares.table.createdAt": "Created at",
|
"account.shares.table.createdAt": "Létrehozás időpontja",
|
||||||
"account.shares.table.size": "Size",
|
"account.shares.table.size": "Méret",
|
||||||
"account.shares.modal.share-informations": "Share informations",
|
"account.shares.modal.share-informations": "Megosztás adatai",
|
||||||
"account.shares.modal.share-link": "Share link",
|
"account.shares.modal.share-link": "Hivatkozás",
|
||||||
"account.shares.modal.delete.title": "Delete share {share}",
|
"account.shares.modal.delete.title": "Törlés: {share}",
|
||||||
"account.shares.modal.delete.description": "Do you really want to delete this share?",
|
"account.shares.modal.delete.description": "Biztos abban, hogy törölni kívánja ezt a megosztást?",
|
||||||
// END /account/shares
|
// END /account/shares
|
||||||
// /account/reverseShares
|
// /account/reverseShares
|
||||||
"account.reverseShares.title": "Reverse shares",
|
"account.reverseShares.title": "Fordított megosztás",
|
||||||
"account.reverseShares.description": "A reverse share allows you to generate a unique URL that allows external users to create a share.",
|
"account.reverseShares.description": "A fordított megosztással egy egyedi URL azonosító készül, amivel a rendszeren kívülről készíthető megosztás.",
|
||||||
"account.reverseShares.title.empty": "It's empty here 👀",
|
"account.reverseShares.title.empty": "Üres 👀, itt nincs semmi",
|
||||||
"account.reverseShares.description.empty": "You don't have any reverse shares.",
|
"account.reverseShares.description.empty": "Nincsenek fordított megosztások.",
|
||||||
// showCreateReverseShareModal.tsx
|
// showCreateReverseShareModal.tsx
|
||||||
"account.reverseShares.modal.title": "Create reverse share",
|
"account.reverseShares.modal.title": "Fordított megosztás létrehozása",
|
||||||
"account.reverseShares.modal.expiration.label": "Expiration",
|
"account.reverseShares.modal.expiration.label": "Lejárat",
|
||||||
"account.reverseShares.modal.expiration.minute-singular": "Minute",
|
"account.reverseShares.modal.expiration.minute-singular": "perc",
|
||||||
"account.reverseShares.modal.expiration.minute-plural": "Minutes",
|
"account.reverseShares.modal.expiration.minute-plural": "perc",
|
||||||
"account.reverseShares.modal.expiration.hour-singular": "Hour",
|
"account.reverseShares.modal.expiration.hour-singular": "óra",
|
||||||
"account.reverseShares.modal.expiration.hour-plural": "Hours",
|
"account.reverseShares.modal.expiration.hour-plural": "óra",
|
||||||
"account.reverseShares.modal.expiration.day-singular": "Day",
|
"account.reverseShares.modal.expiration.day-singular": "nap",
|
||||||
"account.reverseShares.modal.expiration.day-plural": "Days",
|
"account.reverseShares.modal.expiration.day-plural": "nap",
|
||||||
"account.reverseShares.modal.expiration.week-singular": "Week",
|
"account.reverseShares.modal.expiration.week-singular": "hét",
|
||||||
"account.reverseShares.modal.expiration.week-plural": "Weeks",
|
"account.reverseShares.modal.expiration.week-plural": "hét",
|
||||||
"account.reverseShares.modal.expiration.month-singular": "Month",
|
"account.reverseShares.modal.expiration.month-singular": "hónap",
|
||||||
"account.reverseShares.modal.expiration.month-plural": "Months",
|
"account.reverseShares.modal.expiration.month-plural": "hónap",
|
||||||
"account.reverseShares.modal.expiration.year-singular": "Year",
|
"account.reverseShares.modal.expiration.year-singular": "év",
|
||||||
"account.reverseShares.modal.expiration.year-plural": "Years",
|
"account.reverseShares.modal.expiration.year-plural": "év",
|
||||||
"account.reverseShares.modal.max-size.label": "Max share size",
|
"account.reverseShares.modal.max-size.label": "Megosztás megengedett max mérete",
|
||||||
"account.reverseShares.modal.send-email": "Send email notification",
|
"account.reverseShares.modal.send-email": "Email értesítés küldése",
|
||||||
"account.reverseShares.modal.send-email.description": "Send an email notification when a share is created with this reverse share link.",
|
"account.reverseShares.modal.send-email.description": "Email értesítés arról, amikor a fordított megosztási hivatkozást használva megosztást hoznak létre.",
|
||||||
"account.reverseShares.modal.max-use.label": "Max uses",
|
"account.reverseShares.modal.max-use.label": "Megengedett alkalmak száma",
|
||||||
"account.reverseShares.modal.max-use.description": "The maximum amount of times this URL can be used to create a share.",
|
"account.reverseShares.modal.max-use.description": "A megosztási hivatkozás megengedett felhasználási alkalmainak száma.",
|
||||||
"account.reverseShare.never-expires": "This reverse share will never expire.",
|
"account.reverseShare.never-expires": "Ez a fordított megosztás soha nem fog lejárni.",
|
||||||
"account.reverseShare.expires-on": "This reverse share will expire on {expiration}.",
|
"account.reverseShare.expires-on": "A fordított megosztás lejárata: {expiration}.",
|
||||||
"account.reverseShares.table.no-shares": "No shares created yet",
|
"account.reverseShares.table.no-shares": "Még nincsenek megosztások",
|
||||||
"account.reverseShares.table.count.singular": "share",
|
"account.reverseShares.table.count.singular": "megosztás",
|
||||||
"account.reverseShares.table.count.plural": "shares",
|
"account.reverseShares.table.count.plural": "megosztás",
|
||||||
"account.reverseShares.table.shares": "Shares",
|
"account.reverseShares.table.shares": "Megosztások",
|
||||||
"account.reverseShares.table.remaining": "Remaining uses",
|
"account.reverseShares.table.remaining": "Fennmaradó alkalmak",
|
||||||
"account.reverseShares.table.max-size": "Max share size",
|
"account.reverseShares.table.max-size": "Megengedett max méret",
|
||||||
"account.reverseShares.table.expires": "Expires at",
|
"account.reverseShares.table.expires": "Lejárat",
|
||||||
"account.reverseShares.modal.reverse-share-link": "Reverse share link",
|
"account.reverseShares.modal.reverse-share-link": "Fordított megosztási hivatkozás",
|
||||||
"account.reverseShares.modal.delete.title": "Delete reverse share",
|
"account.reverseShares.modal.delete.title": "Fordított megosztás törlése",
|
||||||
"account.reverseShares.modal.delete.description": "Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.",
|
"account.reverseShares.modal.delete.description": "Valóban törölni kívánja ezt a fordított megosztást? A használatával készített megosztások is törlésre kerülnek.",
|
||||||
// END /account/reverseShares
|
// END /account/reverseShares
|
||||||
// /admin
|
// /admin
|
||||||
"admin.title": "Administration",
|
"admin.title": "Admin ügyek",
|
||||||
"admin.button.users": "User management",
|
"admin.button.users": "Felhasználókezelés",
|
||||||
"admin.button.shares": "Share management",
|
"admin.button.shares": "Megosztáskezelés",
|
||||||
"admin.button.config": "Configuration",
|
"admin.button.config": "Konfiguráció",
|
||||||
"admin.version": "Version",
|
"admin.version": "Verzió",
|
||||||
// END /admin
|
// END /admin
|
||||||
// /admin/users
|
// /admin/users
|
||||||
"admin.users.title": "User management",
|
"admin.users.title": "Felhasználókezelés",
|
||||||
"admin.users.table.username": "Username",
|
"admin.users.table.username": "Felhasználónév",
|
||||||
"admin.users.table.email": "Email",
|
"admin.users.table.email": "Email",
|
||||||
"admin.users.table.admin": "Admin",
|
"admin.users.table.admin": "Admin ügyek",
|
||||||
"admin.users.edit.update.title": "Update user {username}",
|
"admin.users.edit.update.title": "{username} felhasználó frissítése",
|
||||||
"admin.users.edit.update.admin-privileges": "Admin privileges",
|
"admin.users.edit.update.admin-privileges": "Adminisztrátori jogosultságok",
|
||||||
"admin.users.edit.update.change-password.title": "Change password",
|
"admin.users.edit.update.change-password.title": "Jelszó módosítása",
|
||||||
"admin.users.edit.update.change-password.field": "New password",
|
"admin.users.edit.update.change-password.field": "Új jelszó",
|
||||||
"admin.users.edit.update.change-password.button": "Save new password",
|
"admin.users.edit.update.change-password.button": "Új jelszó mentése",
|
||||||
"admin.users.edit.update.notify.password.success": "Password changed successfully",
|
"admin.users.edit.update.notify.password.success": "A jelszó sikeresen frissítésre került",
|
||||||
"admin.users.edit.delete.title": "Delete user {username}",
|
"admin.users.edit.delete.title": "{username} felhasználó törlése",
|
||||||
"admin.users.edit.delete.description": "Do you really want to delete this user and all his shares?",
|
"admin.users.edit.delete.description": "Valóban törölni kívánja ezt a felhasználót és vele az ő minden egyes megosztását?",
|
||||||
// showCreateUserModal.tsx
|
// showCreateUserModal.tsx
|
||||||
"admin.users.modal.create.title": "Create user",
|
"admin.users.modal.create.title": "Felhasználó létrehozása",
|
||||||
"admin.users.modal.create.username": "Username",
|
"admin.users.modal.create.username": "Felhasználónév",
|
||||||
"admin.users.modal.create.email": "Email",
|
"admin.users.modal.create.email": "Email",
|
||||||
"admin.users.modal.create.password": "Password",
|
"admin.users.modal.create.password": "Jelszó",
|
||||||
"admin.users.modal.create.manual-password": "Set password manually",
|
"admin.users.modal.create.manual-password": "Jelszó kézi megadása",
|
||||||
"admin.users.modal.create.manual-password.description": "If not checked, the user will receive an email with a link to set their password.",
|
"admin.users.modal.create.manual-password.description": "Ha nincs bejelölve, akkor a felhasználó egy emailt és benne egy jelszó létrehozási hivatkozást kap.",
|
||||||
"admin.users.modal.create.admin": "Admin privileges",
|
"admin.users.modal.create.admin": "Adminisztrátori jogosultságok",
|
||||||
"admin.users.modal.create.admin.description": "If checked, the user will be able to access the admin panel.",
|
"admin.users.modal.create.admin.description": "Bejelölt állapotában a felhasználó hozzáfér az admin beállító oldalhoz.",
|
||||||
// END /admin/users
|
// END /admin/users
|
||||||
// /admin/shares
|
// /admin/shares
|
||||||
"admin.shares.title": "Share management",
|
"admin.shares.title": "Megosztáskezelés",
|
||||||
"admin.shares.table.id": "Share ID",
|
"admin.shares.table.id": "Megosztás ID",
|
||||||
"admin.shares.table.username": "Creator",
|
"admin.shares.table.username": "Létrehozó",
|
||||||
"admin.shares.table.visitors": "Visitors",
|
"admin.shares.table.visitors": "Látogatók",
|
||||||
"admin.shares.table.expires": "Expires At",
|
"admin.shares.table.expires": "Lejárat",
|
||||||
"admin.shares.edit.delete.title": "Delete share {id}",
|
"admin.shares.edit.delete.title": "{id} megosztás törlése",
|
||||||
"admin.shares.edit.delete.description": "Do you really want to delete this share?",
|
"admin.shares.edit.delete.description": "Valóban törölni kívánja ezt a megosztást?",
|
||||||
// END /admin/shares
|
// END /admin/shares
|
||||||
// /upload
|
// /upload
|
||||||
"upload.title": "Upload",
|
"upload.title": "Feltöltés",
|
||||||
"upload.notify.generic-error": "An error occurred while finishing your share.",
|
"upload.notify.generic-error": "Hiba lépett fel a megosztás befejezése közben.",
|
||||||
"upload.notify.count-failed": "{count} files failed to upload. Trying again.",
|
"upload.notify.count-failed": "{count} darab fájlt nem sikerült feltölteni. Próbálja ismét.",
|
||||||
// Dropzone.tsx
|
// Dropzone.tsx
|
||||||
"upload.dropzone.title": "Upload files",
|
"upload.dropzone.title": "Fájlok feltöltése",
|
||||||
"upload.dropzone.description": "Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.",
|
"upload.dropzone.description": "Húzza ide a fájlokat a megosztás elkészítéséhez. Összesen legfeljebb {maxSize} fájl húzható egy megosztásba.",
|
||||||
"upload.dropzone.notify.file-too-big": "Your files exceed the maximum share size of {maxSize}.",
|
"upload.dropzone.notify.file-too-big": "A fájlok mérete meghaladja a megengedett {maxSize} méretet.",
|
||||||
// FileList.tsx
|
// FileList.tsx
|
||||||
"upload.filelist.name": "Name",
|
"upload.filelist.name": "Megnevezés",
|
||||||
"upload.filelist.size": "Size",
|
"upload.filelist.size": "Méret",
|
||||||
// showCreateUploadModal.tsx
|
// showCreateUploadModal.tsx
|
||||||
"upload.modal.title": "Create Share",
|
"upload.modal.title": "Megosztás létrehozása",
|
||||||
"upload.modal.link.error.invalid": "Can only contain letters, numbers, underscores, and hyphens",
|
"upload.modal.link.error.invalid": "Csak betű, szám, aláhúzás és kötőjel karaktereket tartalmazhat",
|
||||||
"upload.modal.link.error.taken": "This link is already in use",
|
"upload.modal.link.error.taken": "Ez a hivatkozás név már használatban van",
|
||||||
"upload.modal.not-signed-in": "You're not signed in",
|
"upload.modal.not-signed-in": "Nincs bejelentkezve",
|
||||||
"upload.modal.not-signed-in-description": "You will be unable to delete your share manually and view the visitor count.",
|
"upload.modal.not-signed-in-description": "Nem lesz képes megosztását kézzel törölni vagy megtekinteni a látogatók számát.",
|
||||||
"upload.modal.expires.never": "never",
|
"upload.modal.expires.never": "soha",
|
||||||
"upload.modal.expires.never-long": "Never Expires",
|
"upload.modal.expires.never-long": "Nincs lejárat",
|
||||||
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.",
|
"upload.modal.expires.error.too-long": "A lejárat meghaladja a megengedett max {max} értéket.",
|
||||||
"upload.modal.link.label": "Link",
|
"upload.modal.link.label": "Hivatkozás",
|
||||||
"upload.modal.expires.label": "Expiration",
|
"upload.modal.expires.label": "Lejárat",
|
||||||
"upload.modal.expires.minute-singular": "Minute",
|
"upload.modal.expires.minute-singular": "perc",
|
||||||
"upload.modal.expires.minute-plural": "Minutes",
|
"upload.modal.expires.minute-plural": "perc",
|
||||||
"upload.modal.expires.hour-singular": "Hour",
|
"upload.modal.expires.hour-singular": "óra",
|
||||||
"upload.modal.expires.hour-plural": "Hours",
|
"upload.modal.expires.hour-plural": "óra",
|
||||||
"upload.modal.expires.day-singular": "Day",
|
"upload.modal.expires.day-singular": "nap",
|
||||||
"upload.modal.expires.day-plural": "Days",
|
"upload.modal.expires.day-plural": "nap",
|
||||||
"upload.modal.expires.week-singular": "Week",
|
"upload.modal.expires.week-singular": "hét",
|
||||||
"upload.modal.expires.week-plural": "Weeks",
|
"upload.modal.expires.week-plural": "hét",
|
||||||
"upload.modal.expires.month-singular": "Month",
|
"upload.modal.expires.month-singular": "hónap",
|
||||||
"upload.modal.expires.month-plural": "Months",
|
"upload.modal.expires.month-plural": "hónap",
|
||||||
"upload.modal.expires.year-singular": "Year",
|
"upload.modal.expires.year-singular": "év",
|
||||||
"upload.modal.expires.year-plural": "Years",
|
"upload.modal.expires.year-plural": "év",
|
||||||
"upload.modal.accordion.name-and-description.title": "Name and description",
|
"upload.modal.accordion.name-and-description.title": "Megnevezés és leírás",
|
||||||
"upload.modal.accordion.name-and-description.name.placeholder": "Name",
|
"upload.modal.accordion.name-and-description.name.placeholder": "Megnevezés",
|
||||||
"upload.modal.accordion.name-and-description.description.placeholder": "Note for the recipients of this share",
|
"upload.modal.accordion.name-and-description.description.placeholder": "A megosztást kapóknak küldendő üzenet",
|
||||||
"upload.modal.accordion.email.title": "Email recipients",
|
"upload.modal.accordion.email.title": "Email címzettek",
|
||||||
"upload.modal.accordion.email.placeholder": "Enter email recipients",
|
"upload.modal.accordion.email.placeholder": "Adja meg az email címzetteket",
|
||||||
"upload.modal.accordion.email.invalid-email": "Invalid email address",
|
"upload.modal.accordion.email.invalid-email": "Érvénytelen emailcím",
|
||||||
"upload.modal.accordion.security.title": "Security options",
|
"upload.modal.accordion.security.title": "Biztonsági beállítások",
|
||||||
"upload.modal.accordion.security.password.label": "Password protection",
|
"upload.modal.accordion.security.password.label": "Jelszavas védelem",
|
||||||
"upload.modal.accordion.security.password.placeholder": "No password",
|
"upload.modal.accordion.security.password.placeholder": "Nincs jelszó",
|
||||||
"upload.modal.accordion.security.max-views.label": "Maximum views",
|
"upload.modal.accordion.security.max-views.label": "Megtekintések max száma",
|
||||||
"upload.modal.accordion.security.max-views.placeholder": "No limit",
|
"upload.modal.accordion.security.max-views.placeholder": "Nincs korlát",
|
||||||
// showCompletedUploadModal.tsx
|
// showCompletedUploadModal.tsx
|
||||||
"upload.modal.completed.never-expires": "This share will never expire.",
|
"upload.modal.completed.never-expires": "Ez a megosztás soha nem fog lejárni.",
|
||||||
"upload.modal.completed.expires-on": "This share will expire on {expiration}.",
|
"upload.modal.completed.expires-on": "A megosztás lejárata: {expiration}.",
|
||||||
"upload.modal.completed.share-ready": "Share ready",
|
"upload.modal.completed.share-ready": "A megosztás készen áll",
|
||||||
// END /upload
|
// END /upload
|
||||||
// /share/[id]
|
// /share/[id]
|
||||||
"share.title": "Share {shareId}",
|
"share.title": "Megosztás: {shareId}",
|
||||||
"share.description": "Look what I've shared with you!",
|
"share.description": "Megosztottak Önnel valami fontosat!",
|
||||||
"share.error.visitor-limit-exceeded.title": "Visitor limit exceeded",
|
"share.error.visitor-limit-exceeded.title": "Túl sok látogató",
|
||||||
"share.error.visitor-limit-exceeded.description": "The visitor limit from this share has been exceeded.",
|
"share.error.visitor-limit-exceeded.description": "A látogatók száma elérte a megszabott korlátot.",
|
||||||
"share.error.removed.title": "Share removed",
|
"share.error.removed.title": "Korábban már eltávolított megosztás",
|
||||||
"share.error.not-found.title": "Share not found",
|
"share.error.not-found.title": "Fel nem lelhető megosztás",
|
||||||
"share.error.not-found.description": "The share you're looking for doesn't exist.",
|
"share.error.not-found.description": "A keresett megosztás nem létezik.",
|
||||||
"share.modal.password.title": "Password required",
|
"share.modal.password.title": "Jelszó szükséges",
|
||||||
"share.modal.password.description": "To access this share please enter the password for the share.",
|
"share.modal.password.description": "A megosztott tartalom eléréséhez adja meg a megosztás jelszavát.",
|
||||||
"share.modal.password": "Password",
|
"share.modal.password": "Jelszó",
|
||||||
"share.modal.error.invalid-password": "Invalid password",
|
"share.modal.error.invalid-password": "Érvénytelen jelszó",
|
||||||
"share.button.download-all": "Download all",
|
"share.button.download-all": "Mindet letölti",
|
||||||
"share.notify.download-all-preparing": "The share is preparing. Try again in a few minutes.",
|
"share.notify.download-all-preparing": "A megosztás éppen előkészületben. Kérjük próbálja újra néhány perc múlva.",
|
||||||
"share.modal.file-link": "File link",
|
"share.modal.file-link": "Fájl hivatkozás",
|
||||||
"share.table.name": "Name",
|
"share.table.name": "Megnevezés",
|
||||||
"share.table.size": "Size",
|
"share.table.size": "Méret",
|
||||||
"share.modal.file-preview.error.not-supported.title": "Preview not supported",
|
"share.modal.file-preview.error.not-supported.title": "Az előnézetek nem támogatottak",
|
||||||
"share.modal.file-preview.error.not-supported.description": "A preview for this file type is unsupported. Please download the file to view it.",
|
"share.modal.file-preview.error.not-supported.description": "E fájltípushoz nincsen támogatott előnézet. Töltse le a fájlt a megtekintéshez.",
|
||||||
// END /share/[id]
|
// END /share/[id]
|
||||||
// /share/[id]/edit
|
// /share/[id]/edit
|
||||||
"share.edit.title": "Edit {shareId}",
|
"share.edit.title": "Módosítás: {shareId}",
|
||||||
"share.edit.append-upload": "Append file",
|
"share.edit.append-upload": "Fájl hozzáfűzése",
|
||||||
"share.edit.notify.generic-error": "An error occurred while finishing your share.",
|
"share.edit.notify.generic-error": "Hiba lépett fel a megosztás befejezése közben.",
|
||||||
"share.edit.notify.save-success": "Share updated successfully",
|
"share.edit.notify.save-success": "A megosztás frissítésre került",
|
||||||
// END /share/[id]/edit
|
// END /share/[id]/edit
|
||||||
// /admin/config
|
// /admin/config
|
||||||
"admin.config.title": "Configuration",
|
"admin.config.title": "Konfiguráció",
|
||||||
"admin.config.category.general": "General",
|
"admin.config.category.general": "Általános",
|
||||||
"admin.config.category.share": "Share",
|
"admin.config.category.share": "Megosztás",
|
||||||
"admin.config.category.email": "Email",
|
"admin.config.category.email": "Email",
|
||||||
"admin.config.category.smtp": "SMTP",
|
"admin.config.category.smtp": "SMTP",
|
||||||
"admin.config.category.oauth": "Social Login",
|
"admin.config.category.oauth": "Közösségi bejelentkezés",
|
||||||
"admin.config.general.app-name": "App name",
|
"admin.config.general.app-name": "Alkalmazás neve",
|
||||||
"admin.config.general.app-name.description": "Name of the application",
|
"admin.config.general.app-name.description": "Az alkalmazás neve",
|
||||||
"admin.config.general.app-url": "App URL",
|
"admin.config.general.app-url": "Alkalmazás URL hivatkozás",
|
||||||
"admin.config.general.app-url.description": "On which URL Pingvin Share is available",
|
"admin.config.general.app-url.description": "A Pingvin Share megosztáskezelőre mutató hivatkozás",
|
||||||
"admin.config.general.show-home-page": "Show home page",
|
"admin.config.general.show-home-page": "Kezdőlap mutatása",
|
||||||
"admin.config.general.show-home-page.description": "Whether to show the home page",
|
"admin.config.general.show-home-page.description": "A kezdőlap mutatásának ki- és bekapcsolása",
|
||||||
"admin.config.general.logo": "Logo",
|
"admin.config.general.session-duration": "Session Duration",
|
||||||
"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.",
|
"admin.config.general.session-duration.description": "Time in hours after which a user must log in again (default: 3 months).",
|
||||||
"admin.config.general.logo.placeholder": "Pick image",
|
"admin.config.general.logo": "Logó",
|
||||||
"admin.config.email.enable-share-email-recipients": "Enable share email recipients",
|
"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.",
|
||||||
"admin.config.email.enable-share-email-recipients.description": "Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.",
|
"admin.config.general.logo.placeholder": "Kép kiválasztása",
|
||||||
"admin.config.email.share-recipients-subject": "Share recipients subject",
|
"admin.config.email.enable-share-email-recipients": "Megosztás emailben küldésének engedélyezése",
|
||||||
"admin.config.email.share-recipients-subject.description": "Subject of the email which gets sent to the share recipients.",
|
"admin.config.email.enable-share-email-recipients.description": "Email küldése a megosztásról a címzetteknek. Csak akkor engedélyezze, ha az SMTP már engedélyezett.",
|
||||||
"admin.config.email.share-recipients-message": "Share recipients message",
|
"admin.config.email.share-recipients-subject": "Megosztási email tárgya",
|
||||||
"admin.config.email.share-recipients-message.description": "Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.",
|
"admin.config.email.share-recipients-subject.description": "A megosztások címzettjeinek küldött email tárgya.",
|
||||||
"admin.config.email.reverse-share-subject": "Reverse share subject",
|
"admin.config.email.share-recipients-message": "Megosztási email szövege",
|
||||||
"admin.config.email.reverse-share-subject.description": "Subject of the email which gets sent when someone created a share with your reverse share link.",
|
"admin.config.email.share-recipients-message.description": "A megosztás címzettjeinek küldött email tartalma. Beépíthető változók:\n {creator} - A megosztás létrehozójának neve\n {shareUrl} - A megosztás URL hivatkozása\n {desc} - A megosztás ismertetése\n {expires} - A megosztás lejáratának dátuma\n A változók helyén az aktuális tartalom fog szerepelni.",
|
||||||
"admin.config.email.reverse-share-message": "Reverse share message",
|
"admin.config.email.reverse-share-subject": "Fordított megosztás tárgya",
|
||||||
"admin.config.email.reverse-share-message.description": "Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.",
|
"admin.config.email.reverse-share-subject.description": "Annak az emailnek a tárgya, ami a fordított megosztást használva készített megosztásról kerül kiküldésre.",
|
||||||
"admin.config.email.reset-password-subject": "Reset password subject",
|
"admin.config.email.reverse-share-message": "Fordított megosztás üzenete",
|
||||||
"admin.config.email.reset-password-subject.description": "Subject of the email which gets sent when a user requests a password reset.",
|
"admin.config.email.reverse-share-message.description": "Az Ön által kiküldött fordított megosztási hivatkozás használatával készített megosztás emailjének szövege. A(z) {shareUrl} helyére a létrehozó neve és a megosztás URL hivatkozása kerül.",
|
||||||
"admin.config.email.reset-password-message": "Reset password message",
|
"admin.config.email.reset-password-subject": "Jelszó visszaállítási tárgy",
|
||||||
"admin.config.email.reset-password-message.description": "Message which gets sent when a user requests a password reset. {url} will be replaced with the reset password URL.",
|
"admin.config.email.reset-password-subject.description": "A felhasználó által kezdeményezett jelszó visszaállításkor küldött email tárgya.",
|
||||||
"admin.config.email.invite-subject": "Invite subject",
|
"admin.config.email.reset-password-message": "Jelszó visszaállítási üzenet",
|
||||||
"admin.config.email.invite-subject.description": "Subject of the email which gets sent when an admin invites a user.",
|
"admin.config.email.reset-password-message.description": "A felhasználó által kezdeményezett jelszó visszaállításkor küldött email szövege. A(z) {url} helyére a jelszó visszaállítási URL hivatkozás kerül.",
|
||||||
"admin.config.email.invite-message": "Invite message",
|
"admin.config.email.invite-subject": "Meghívó tárgya",
|
||||||
"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.",
|
"admin.config.email.invite-subject.description": "Az adminisztrátortól a meghívott felhasználó felé küldött email tárgya.",
|
||||||
"admin.config.share.allow-registration": "Allow registration",
|
"admin.config.email.invite-message": "Meghívó szövege",
|
||||||
"admin.config.share.allow-registration.description": "Whether registration is allowed",
|
"admin.config.email.invite-message.description": "Az adminisztrátortól a meghívott felhasználó felé küldött email szövege. A(z) {url} helyére a meghívó URL hivatkozása kerül, a(z) {password} helyére a jelszó.",
|
||||||
"admin.config.share.allow-unauthenticated-shares": "Allow unauthenticated shares",
|
"admin.config.share.allow-registration": "Regisztráció engedélyezése",
|
||||||
"admin.config.share.allow-unauthenticated-shares.description": "Whether unauthenticated users can create shares",
|
"admin.config.share.allow-registration.description": "Regisztráció engedélyezésének ki- és bekapcsolása",
|
||||||
"admin.config.share.max-expiration": "Max expiration",
|
"admin.config.share.allow-unauthenticated-shares": "Hitelesítés nélküli megosztások engedélyezése",
|
||||||
"admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.",
|
"admin.config.share.allow-unauthenticated-shares.description": "Hitelesítés nélküli felhasználók létre hozhatnak-e megosztásokat",
|
||||||
"admin.config.share.max-size": "Max size",
|
"admin.config.share.max-expiration": "Max lejárat",
|
||||||
"admin.config.share.max-size.description": "Maximum share size in bytes",
|
"admin.config.share.max-expiration.description": "A megosztások megengedett leghosszabb lejárata órában. 0 értékkel a lejárat kikapcsolható.",
|
||||||
"admin.config.share.zip-compression-level": "Zip compression level",
|
"admin.config.share.max-size": "Max méret",
|
||||||
"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. ",
|
"admin.config.share.max-size.description": "A megosztások megengedett legnagyobb mérete bájtban",
|
||||||
"admin.config.share.chunk-size": "Chunk size",
|
"admin.config.share.zip-compression-level": "Zip tömörítési szint",
|
||||||
"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.zip-compression-level.description": "A fájlméret és a tömörítésre fordított idő közötti választás. Az érték 0 - 9 közül választható, 0: nincs tömörítés, 9: legnagyobb mértékű tömörítés. ",
|
||||||
"admin.config.smtp.enabled": "Enabled",
|
"admin.config.share.chunk-size": "Darabolási méret",
|
||||||
"admin.config.smtp.enabled.description": "Whether SMTP is enabled. Only set this to true if you entered the host, port, email, user and password of your SMTP server.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.share.auto-open-share-modal": "Megosztás létrehozása felület automatikus megjelenítése",
|
||||||
"admin.config.smtp.host.description": "Host of the SMTP server",
|
"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.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.",
|
||||||
|
"admin.config.smtp.host": "Kiszolgáló",
|
||||||
|
"admin.config.smtp.host.description": "Az SMTP szerver kiszolgáló gépe",
|
||||||
"admin.config.smtp.port": "Port",
|
"admin.config.smtp.port": "Port",
|
||||||
"admin.config.smtp.port.description": "Port of the SMTP server",
|
"admin.config.smtp.port.description": "Az SMTP kiszolgáló portja",
|
||||||
"admin.config.smtp.email": "Email",
|
"admin.config.smtp.email": "Email",
|
||||||
"admin.config.smtp.email.description": "Email address which the emails get sent from",
|
"admin.config.smtp.email.description": "Az emailek kiküldésére használt email cím",
|
||||||
"admin.config.smtp.username": "Username",
|
"admin.config.smtp.username": "Felhasználónév",
|
||||||
"admin.config.smtp.username.description": "Username of the SMTP server",
|
"admin.config.smtp.username.description": "Felhasználónév az SMTP kiszolgálón",
|
||||||
"admin.config.smtp.password": "Password",
|
"admin.config.smtp.password": "Jelszó",
|
||||||
"admin.config.smtp.password.description": "Password of the SMTP server",
|
"admin.config.smtp.password.description": "Jelszó az SMTP kiszolgálón",
|
||||||
"admin.config.smtp.button.test": "Send test email",
|
"admin.config.smtp.button.test": "Teszt email küldése",
|
||||||
"admin.config.oauth.allow-registration": "Allow registration",
|
"admin.config.oauth.allow-registration": "Regisztráció engedélyezése",
|
||||||
"admin.config.oauth.allow-registration.description": "Allow users to register via social login",
|
"admin.config.oauth.allow-registration.description": "A felhasználók közösségi bejelentkezésen át is regisztrálhatnak",
|
||||||
"admin.config.oauth.ignore-totp": "Ignore TOTP",
|
"admin.config.oauth.ignore-totp": "TOTP mellőzése",
|
||||||
"admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login",
|
"admin.config.oauth.ignore-totp.description": "TOTP mellőzése a közösségi bejelentkezést használó felhasználónál",
|
||||||
"admin.config.oauth.github-enabled": "GitHub",
|
"admin.config.oauth.github-enabled": "GitHub",
|
||||||
"admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled",
|
"admin.config.oauth.github-enabled.description": "GitHub bejelentkezés engedélyezése",
|
||||||
"admin.config.oauth.github-client-id": "GitHub Client ID",
|
"admin.config.oauth.github-client-id": "GitHub ügyfél ID",
|
||||||
"admin.config.oauth.github-client-id.description": "Client ID of the GitHub OAuth app",
|
"admin.config.oauth.github-client-id.description": "A GitHub OAuth applikáció ügyfél ID azonosítója",
|
||||||
"admin.config.oauth.github-client-secret": "GitHub Client secret",
|
"admin.config.oauth.github-client-secret": "GitHub ügyfél titok",
|
||||||
"admin.config.oauth.github-client-secret.description": "Client secret of the GitHub OAuth app",
|
"admin.config.oauth.github-client-secret.description": "A GitHub OAuth applikáció ügyfél titka",
|
||||||
"admin.config.oauth.google-enabled": "Google",
|
"admin.config.oauth.google-enabled": "Google",
|
||||||
"admin.config.oauth.google-enabled.description": "Whether Google login is enabled",
|
"admin.config.oauth.google-enabled.description": "Google bejelentkezés engedélyezése",
|
||||||
"admin.config.oauth.google-client-id": "Google Client ID",
|
"admin.config.oauth.google-client-id": "Google ügyfél ID azonosító",
|
||||||
"admin.config.oauth.google-client-id.description": "Client ID of the Google OAuth app",
|
"admin.config.oauth.google-client-id.description": "A Google OAuth applikáció ügyfél ID azonosítója",
|
||||||
"admin.config.oauth.google-client-secret": "Google Client secret",
|
"admin.config.oauth.google-client-secret": "Google ügyfél titok",
|
||||||
"admin.config.oauth.google-client-secret.description": "Client secret of the Google OAuth app",
|
"admin.config.oauth.google-client-secret.description": "A Google OAuth applikáció ügyfél titka",
|
||||||
"admin.config.oauth.microsoft-enabled": "Microsoft",
|
"admin.config.oauth.microsoft-enabled": "Microsoft",
|
||||||
"admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled",
|
"admin.config.oauth.microsoft-enabled.description": "Microsoft login engedélyezése",
|
||||||
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
|
"admin.config.oauth.microsoft-tenant": "Microsoft bérlő",
|
||||||
"admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.",
|
"admin.config.oauth.microsoft-tenant.description": "A Microsoft OAuth applikáció bérlő ID azonosítója\náltalános (common): személyes Microsoft fiókkal és munkahelyi vagy iskolai fiókkal rendelkező Microsoft Entra ID azonosítókkal egyaránt lehetséges a bejelentkezés. \nszervezetek (organizations): Csak a Microsoft Entra ID munkahelyi vagy iskolai fiókkal rendelkező felhasználók jelentkezhetnek be az alkalmazásba.\nfogyasztók (consumers): Csak személyes Microsoft-fiókkal rendelkező felhasználók jelentkezhetnek be az alkalmazásba.\nA Microsoft Entra bérlő tartományneve vagy a bérlő azonosítója GUID formátumban: Az alkalmazásba csak egy adott Microsoft Entra bérlő felhasználói jelentkezhetnek be (munkahelyi vagy iskolai fiókkal rendelkező könyvtártagok vagy személyes Microsoft-fiókkal rendelkező könyvtárvendégek).",
|
||||||
"admin.config.oauth.microsoft-client-id": "Microsoft Client ID",
|
"admin.config.oauth.microsoft-client-id": "Microsoft ügyfél ID azonosító",
|
||||||
"admin.config.oauth.microsoft-client-id.description": "Client ID of the Microsoft OAuth app",
|
"admin.config.oauth.microsoft-client-id.description": "A Microsoft OAuth applikáció ügyfél ID azonosítója",
|
||||||
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret",
|
"admin.config.oauth.microsoft-client-secret": "Microsoft ügyfél titok",
|
||||||
"admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app",
|
"admin.config.oauth.microsoft-client-secret.description": "A Microsoft Oauth applikáció ügyfél titka",
|
||||||
"admin.config.oauth.discord-enabled": "Discord",
|
"admin.config.oauth.discord-enabled": "Discord",
|
||||||
"admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled",
|
"admin.config.oauth.discord-enabled.description": "Discord bejelentkezés engedélyezése",
|
||||||
"admin.config.oauth.discord-limited-guild": "Discord limited server ID",
|
"admin.config.oauth.discord-limited-guild": "Discord limitált kiszolgáló ID azonosítója",
|
||||||
"admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.",
|
"admin.config.oauth.discord-limited-guild.description": "A kiszolgálón engedélyezett bejelentkezett felhasználók száma. Hagyja üresen a kikapcsoláshoz.",
|
||||||
"admin.config.oauth.discord-client-id": "Discord Client ID",
|
"admin.config.oauth.discord-client-id": "Discord ügyfél ID azonosító",
|
||||||
"admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app",
|
"admin.config.oauth.discord-client-id.description": "A Discord OAuth applikáció ügyfél ID azonosítója",
|
||||||
"admin.config.oauth.discord-client-secret": "Discord Client secret",
|
"admin.config.oauth.discord-client-secret": "Discord ügyfél titok",
|
||||||
"admin.config.oauth.discord-client-secret.description": "Client secret of the Discord OAuth app",
|
"admin.config.oauth.discord-client-secret.description": "A Discord OAuth applikáció ügyfél titka",
|
||||||
"admin.config.oauth.oidc-enabled": "OpenID Connect",
|
"admin.config.oauth.oidc-enabled": "OpenID Connect",
|
||||||
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled",
|
"admin.config.oauth.oidc-enabled.description": "OpenID Connect bejelentkezés engedélyezése",
|
||||||
"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": "Discovery URI of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-discovery-uri.description": "Az OpenID Connect OAuth applikáció Discovery URI azonosítója",
|
||||||
"admin.config.oauth.oidc-username-claim": "OpenID Connect username claim",
|
"admin.config.oauth.oidc-username-claim": "OpenID Connect felhasználónév igény",
|
||||||
"admin.config.oauth.oidc-username-claim.description": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.",
|
"admin.config.oauth.oidc-username-claim.description": "Az OpenID Connect ID token felhasználónév igénye. Hagyja üresen ha nincs információja a beállításról.",
|
||||||
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID",
|
"admin.config.oauth.oidc-client-id": "OpenID Connect ügyfél ID azonosító",
|
||||||
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-client-id.description": "Az OpenID Connect OAuth applikáció ügyfél ID azonosítója",
|
||||||
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret",
|
"admin.config.oauth.oidc-client-secret": "OpenID Connect ügyfél titok",
|
||||||
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-client-secret.description": "Az OpenID Connect OAuth applikáció ügyfél titka",
|
||||||
// 404
|
// 404
|
||||||
"404.description": "Oops this page doesn't exist.",
|
"404.description": "Hoppá - ez az oldal nem létezik.",
|
||||||
"404.button.home": "Bring me back home",
|
"404.button.home": "Vissza a Kezdőlapra",
|
||||||
// error
|
// error
|
||||||
"error.title": "Error",
|
"error.title": "Hiba",
|
||||||
"error.description": "Oops!",
|
"error.description": "Hoppá!",
|
||||||
"error.button.back": "Go back",
|
"error.button.back": "Vissza",
|
||||||
"error.msg.default": "Something went wrong.",
|
"error.msg.default": "Hiba történt.",
|
||||||
"error.msg.access_denied": "You canceled the authentication process, please try again.",
|
"error.msg.access_denied": "Megszakította a hitelesítési folyamatot, kérem próbálja újra.",
|
||||||
"error.msg.expired_token": "The authentication process took too long, please try again.",
|
"error.msg.expired_token": "A hitelesítési folyamat túl sokáig tartott, kérem próbálja újra.",
|
||||||
"error.msg.invalid_token": "Internal Error",
|
"error.msg.invalid_token": "Belső hiba",
|
||||||
"error.msg.no_user": "User linked to this {0} account doesn't exist.",
|
"error.msg.no_user": "A(z) {0} fiókhoz kapcsolt felhasználó nem létezik.",
|
||||||
"error.msg.no_email": "Can't get email address from this {0} account.",
|
"error.msg.no_email": "Nem nyerhető ki a(z) {0} fiók emailcíme.",
|
||||||
"error.msg.already_linked": "This {0} account is already linked to another account.",
|
"error.msg.already_linked": "Ez a(z) {0} fiók már kapcsolódik egy másik fiókhoz.",
|
||||||
"error.msg.not_linked": "This {0} account haven't linked to any account yet.",
|
"error.msg.not_linked": "Ez a(z){0} fiók még nem kapcsolódott egyetlen fiókhoz sem.",
|
||||||
"error.msg.unverified_account": "This {0} account is unverified, please try again after verification.",
|
"error.msg.unverified_account": "Ezt a(z) {0} fiókot még nem igazolták vissza, kérem próbálja újra a megerősítés után.",
|
||||||
"error.msg.discord_guild_permission_denied": "You are not allowed to sign in.",
|
"error.msg.discord_guild_permission_denied": "Nem jelentkezhet be.",
|
||||||
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.",
|
"error.msg.cannot_get_user_info": "Nem nyerhető ki felhasználói információ ebből a(z) {0} fiókból.",
|
||||||
"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",
|
||||||
"error.param.provider_discord": "Discord",
|
"error.param.provider_discord": "Discord",
|
||||||
"error.param.provider_oidc": "OpenID Connect",
|
"error.param.provider_oidc": "OpenID Connect",
|
||||||
// Common translations
|
// Common translations
|
||||||
"common.button.save": "Save",
|
"common.button.save": "Mentés",
|
||||||
"common.button.create": "Create",
|
"common.button.create": "Létrehozás",
|
||||||
"common.button.submit": "Submit",
|
"common.button.submit": "Küldés",
|
||||||
"common.button.delete": "Delete",
|
"common.button.delete": "Törlés",
|
||||||
"common.button.cancel": "Cancel",
|
"common.button.cancel": "Mégse",
|
||||||
"common.button.confirm": "Confirm",
|
"common.button.confirm": "Megerősítés",
|
||||||
"common.button.disable": "Disable",
|
"common.button.disable": "Letiltás",
|
||||||
"common.button.share": "Share",
|
"common.button.share": "Megosztás",
|
||||||
"common.button.generate": "Generate",
|
"common.button.generate": "Létrehozás",
|
||||||
"common.button.done": "Done",
|
"common.button.done": "Kész",
|
||||||
"common.text.link": "Link",
|
"common.text.link": "Hivatkozás",
|
||||||
"common.text.navigate-to-link": "Go to the link",
|
"common.text.navigate-to-link": "Ugrás a hivatkozásra",
|
||||||
"common.text.or": "or",
|
"common.text.or": "vagy",
|
||||||
"common.button.go-back": "Go back",
|
"common.button.go-back": "Vissza",
|
||||||
"common.button.go-home": "Go home",
|
"common.button.go-home": "Kezdőlap",
|
||||||
"common.notify.copied": "Your link was copied to the clipboard",
|
"common.notify.copied": "A hivatkozást a Vágólapra másoltuk",
|
||||||
"common.success": "Success",
|
"common.success": "Siker",
|
||||||
"common.error": "Error",
|
"common.error": "Hiba",
|
||||||
"common.error.unknown": "An unknown error occurred",
|
"common.error.unknown": "Ismeretlen hiba lépett fel",
|
||||||
"common.error.invalid-email": "Invalid email address",
|
"common.error.invalid-email": "Érvénytelen emailcím",
|
||||||
"common.error.too-short": "Must be at least {length} characters",
|
"common.error.too-short": "Legalább {length} karakter kell",
|
||||||
"common.error.too-long": "Must be at most {length} characters",
|
"common.error.too-long": "Legfejlebb {length} karakter adható meg",
|
||||||
"common.error.exact-length": "Must be exactly {length} characters",
|
"common.error.exact-length": "Pontosan {length} karakter szükséges",
|
||||||
"common.error.invalid-number": "Must be a number",
|
"common.error.invalid-number": "Számot kell megadnia",
|
||||||
"common.error.field-required": "This field is required"
|
"common.error.field-required": "Ez egy kötelező mező"
|
||||||
};
|
};
|
||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Passo 2: Convalida il tuo codice",
|
"account.modal.totp.step2": "Passo 2: Convalida il tuo codice",
|
||||||
"account.modal.totp.enterManually": "Inserisci manualmente",
|
"account.modal.totp.enterManually": "Inserisci manualmente",
|
||||||
"account.modal.totp.code": "Codice",
|
"account.modal.totp.code": "Codice",
|
||||||
"account.modal.totp.clickToCopy": "Clicca per copiare",
|
"common.button.clickToCopy": "Clicca per copiare",
|
||||||
"account.modal.totp.verify": "Verifica",
|
"account.modal.totp.verify": "Verifica",
|
||||||
"account.notify.totp.disable": "TOTP disabilitato con successo",
|
"account.notify.totp.disable": "TOTP disabilitato con successo",
|
||||||
"account.notify.totp.enable": "TOTP abilitato con successo",
|
"account.notify.totp.enable": "TOTP abilitato con successo",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Su quale URL Pingvin Share è pubblicato",
|
"admin.config.general.app-url.description": "Su quale URL Pingvin Share è pubblicato",
|
||||||
"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": "Indica se mostrare la home page",
|
"admin.config.general.show-home-page.description": "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": "Cambia il tuo logo caricando una nuova immagine. L'immagine deve essere un PNG e dovrebbe avere il formato 1:1.",
|
"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.",
|
||||||
"admin.config.general.logo.placeholder": "Scegli un'immagine",
|
"admin.config.general.logo.placeholder": "Scegli un'immagine",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Regola il livello per bilanciare la dimensione del file e la velocità di compressione. Valori validi da 0 a 9, con 0 senza compressione e 9 con compressione massima. ",
|
"admin.config.share.zip-compression-level.description": "Regola il livello per bilanciare la dimensione del file e la velocità di compressione. Valori validi da 0 a 9, con 0 senza compressione e 9 con compressione massima. ",
|
||||||
"admin.config.share.chunk-size": "Dimensione dei chunk",
|
"admin.config.share.chunk-size": "Dimensione dei chunk",
|
||||||
"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.",
|
"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.",
|
||||||
|
"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": "Indica se SMTP è abilitato. Impostalo a VERO solo se hai inserito host, porta, email, utente e password del tuo server SMTP.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.smtp.host": "Host",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "ステップ2: コードを検証",
|
"account.modal.totp.step2": "ステップ2: コードを検証",
|
||||||
"account.modal.totp.enterManually": "手動で入力",
|
"account.modal.totp.enterManually": "手動で入力",
|
||||||
"account.modal.totp.code": "コピー",
|
"account.modal.totp.code": "コピー",
|
||||||
"account.modal.totp.clickToCopy": "ここをクリックしてコピー",
|
"common.button.clickToCopy": "ここをクリックしてコピー",
|
||||||
"account.modal.totp.verify": "検証",
|
"account.modal.totp.verify": "検証",
|
||||||
"account.notify.totp.disable": "2段階認証の無効化に成功しました",
|
"account.notify.totp.disable": "2段階認証の無効化に成功しました",
|
||||||
"account.notify.totp.enable": "2段階認証の有効化に成功しました",
|
"account.notify.totp.enable": "2段階認証の有効化に成功しました",
|
||||||
@@ -294,6 +294,8 @@ 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": "ロゴ",
|
"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": "画像を選択",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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": "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.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": "SMTPを有効にするかどうかを選択してください。SMTPサーバーのホスト名、ポート番号、電子メールアドレス、ユーザー名、パスワードが入力されている場合にのみ、有効にしてください。",
|
"admin.config.smtp.enabled.description": "SMTPを有効にするかどうかを選択してください。SMTPサーバーのホスト名、ポート番号、電子メールアドレス、ユーザー名、パスワードが入力されている場合にのみ、有効にしてください。",
|
||||||
"admin.config.smtp.host": "ホスト名",
|
"admin.config.smtp.host": "ホスト名",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "2 단계: 코드 유효성 검사",
|
"account.modal.totp.step2": "2 단계: 코드 유효성 검사",
|
||||||
"account.modal.totp.enterManually": "직접 입력",
|
"account.modal.totp.enterManually": "직접 입력",
|
||||||
"account.modal.totp.code": "코드",
|
"account.modal.totp.code": "코드",
|
||||||
"account.modal.totp.clickToCopy": "클릭하여 복사",
|
"common.button.clickToCopy": "클릭하여 복사",
|
||||||
"account.modal.totp.verify": "인증",
|
"account.modal.totp.verify": "인증",
|
||||||
"account.notify.totp.disable": "TOTP가 비활성화되었습니다.",
|
"account.notify.totp.disable": "TOTP가 비활성화되었습니다.",
|
||||||
"account.notify.totp.enable": "TOTP가 활성화 되었습니다.",
|
"account.notify.totp.enable": "TOTP가 활성화 되었습니다.",
|
||||||
@@ -164,68 +164,68 @@ 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": "Do you really want to delete this reverse share? If you do, the associated shares will be deleted as well.",
|
"account.reverseShares.modal.delete.description": "이 역방향 공유를 삭제하시겠습니까? 삭제하면 관련 공유도 삭제됩니다.",
|
||||||
// END /account/reverseShares
|
// END /account/reverseShares
|
||||||
// /admin
|
// /admin
|
||||||
"admin.title": "Administration",
|
"admin.title": "관리자",
|
||||||
"admin.button.users": "User management",
|
"admin.button.users": "사용자 관리",
|
||||||
"admin.button.shares": "Share management",
|
"admin.button.shares": "공유 관리",
|
||||||
"admin.button.config": "Configuration",
|
"admin.button.config": "구성",
|
||||||
"admin.version": "Version",
|
"admin.version": "버전",
|
||||||
// END /admin
|
// END /admin
|
||||||
// /admin/users
|
// /admin/users
|
||||||
"admin.users.title": "User management",
|
"admin.users.title": "사용자 관리",
|
||||||
"admin.users.table.username": "Username",
|
"admin.users.table.username": "사용자 이름",
|
||||||
"admin.users.table.email": "Email",
|
"admin.users.table.email": "이메일",
|
||||||
"admin.users.table.admin": "Admin",
|
"admin.users.table.admin": "관리자",
|
||||||
"admin.users.edit.update.title": "Update user {username}",
|
"admin.users.edit.update.title": "{username} 사용자 업데이트",
|
||||||
"admin.users.edit.update.admin-privileges": "Admin privileges",
|
"admin.users.edit.update.admin-privileges": "Admin Privilege",
|
||||||
"admin.users.edit.update.change-password.title": "Change password",
|
"admin.users.edit.update.change-password.title": "비밀번호 변경",
|
||||||
"admin.users.edit.update.change-password.field": "New password",
|
"admin.users.edit.update.change-password.field": "새로운 비밀번호",
|
||||||
"admin.users.edit.update.change-password.button": "Save new password",
|
"admin.users.edit.update.change-password.button": "새 비밀번호 저장",
|
||||||
"admin.users.edit.update.notify.password.success": "Password changed successfully",
|
"admin.users.edit.update.notify.password.success": "비밀번호 변경 완료",
|
||||||
"admin.users.edit.delete.title": "Delete user {username}",
|
"admin.users.edit.delete.title": "{username} 사용자 삭제",
|
||||||
"admin.users.edit.delete.description": "Do you really want to delete this user and all his shares?",
|
"admin.users.edit.delete.description": "이 사용자의 모든 공유를 삭제하시겠습니까?",
|
||||||
// showCreateUserModal.tsx
|
// showCreateUserModal.tsx
|
||||||
"admin.users.modal.create.title": "Create user",
|
"admin.users.modal.create.title": "사용자 생성",
|
||||||
"admin.users.modal.create.username": "Username",
|
"admin.users.modal.create.username": "사용자 이름",
|
||||||
"admin.users.modal.create.email": "Email",
|
"admin.users.modal.create.email": "이메일",
|
||||||
"admin.users.modal.create.password": "Password",
|
"admin.users.modal.create.password": "비밀번호",
|
||||||
"admin.users.modal.create.manual-password": "Set password manually",
|
"admin.users.modal.create.manual-password": "수동 암호 설정",
|
||||||
"admin.users.modal.create.manual-password.description": "If not checked, the user will receive an email with a link to set their password.",
|
"admin.users.modal.create.manual-password.description": "선택하지 않으면 사용자는 암호를 설정할 수 있는 링크가 포함된 이메일을 받게 됩니다.",
|
||||||
"admin.users.modal.create.admin": "Admin privileges",
|
"admin.users.modal.create.admin": "Admin Privilege",
|
||||||
"admin.users.modal.create.admin.description": "If checked, the user will be able to access the admin panel.",
|
"admin.users.modal.create.admin.description": "이 옵션을 선택하면 사용자는 관리 패널에 액세스할 수 있습니다.",
|
||||||
// END /admin/users
|
// END /admin/users
|
||||||
// /admin/shares
|
// /admin/shares
|
||||||
"admin.shares.title": "Share management",
|
"admin.shares.title": "공유 관리",
|
||||||
"admin.shares.table.id": "Share ID",
|
"admin.shares.table.id": "공유 ID",
|
||||||
"admin.shares.table.username": "Creator",
|
"admin.shares.table.username": "만든이",
|
||||||
"admin.shares.table.visitors": "Visitors",
|
"admin.shares.table.visitors": "방문자",
|
||||||
"admin.shares.table.expires": "Expires At",
|
"admin.shares.table.expires": "만료일",
|
||||||
"admin.shares.edit.delete.title": "Delete share {id}",
|
"admin.shares.edit.delete.title": "공유 삭제 {id}",
|
||||||
"admin.shares.edit.delete.description": "Do you really want to delete this share?",
|
"admin.shares.edit.delete.description": "정말로 이 공유를 삭제하시겠습니까?",
|
||||||
// END /admin/shares
|
// END /admin/shares
|
||||||
// /upload
|
// /upload
|
||||||
"upload.title": "Upload",
|
"upload.title": "업로드",
|
||||||
"upload.notify.generic-error": "An error occurred while finishing your share.",
|
"upload.notify.generic-error": "공유를 완료하는 동안 오류가 발생했습니다.",
|
||||||
"upload.notify.count-failed": "{count} files failed to upload. Trying again.",
|
"upload.notify.count-failed": "{count}개의 파일을 업로드하지 못했습니다. 다시 시도하세요.",
|
||||||
// Dropzone.tsx
|
// Dropzone.tsx
|
||||||
"upload.dropzone.title": "Upload files",
|
"upload.dropzone.title": "파일 업로드",
|
||||||
"upload.dropzone.description": "Drag'n'drop files here to start your share. We can accept only files that are less than {maxSize} in total.",
|
"upload.dropzone.description": "파일을 여기로 드래그&드랍하여 파일 업로드를 시작합니다. {maxSize} 를 초과하지 않는 파일만 업로드할 수 있습니다.",
|
||||||
"upload.dropzone.notify.file-too-big": "Your files exceed the maximum share size of {maxSize}.",
|
"upload.dropzone.notify.file-too-big": "파일이 {maxSize} 의 최대 공유 크기를 초과합니다.",
|
||||||
// FileList.tsx
|
// FileList.tsx
|
||||||
"upload.filelist.name": "Name",
|
"upload.filelist.name": "이름",
|
||||||
"upload.filelist.size": "Size",
|
"upload.filelist.size": "크기",
|
||||||
// showCreateUploadModal.tsx
|
// showCreateUploadModal.tsx
|
||||||
"upload.modal.title": "Create Share",
|
"upload.modal.title": "공유 생성",
|
||||||
"upload.modal.link.error.invalid": "Can only contain letters, numbers, underscores, and hyphens",
|
"upload.modal.link.error.invalid": "문자, 숫자, 밑줄 및 하이픈만 포함할 수 있습니다",
|
||||||
"upload.modal.link.error.taken": "This link is already in use",
|
"upload.modal.link.error.taken": "이미 사용 중인 링크입니다",
|
||||||
"upload.modal.not-signed-in": "You're not signed in",
|
"upload.modal.not-signed-in": "로그인하지 않았습니다",
|
||||||
"upload.modal.not-signed-in-description": "You will be unable to delete your share manually and view the visitor count.",
|
"upload.modal.not-signed-in-description": "공유를 수동으로 삭제하고 방문자 수를 볼 수 없습니다.",
|
||||||
"upload.modal.expires.never": "never",
|
"upload.modal.expires.never": "절대 안 함",
|
||||||
"upload.modal.expires.never-long": "Never Expires",
|
"upload.modal.expires.never-long": "만료 없음",
|
||||||
"upload.modal.expires.error.too-long": "Expiration exceeds maximum expiration date of {max}.",
|
"upload.modal.expires.error.too-long": "만료가 {max} 의 최대 만료일을 초과합니다.",
|
||||||
"upload.modal.link.label": "Link",
|
"upload.modal.link.label": "링크",
|
||||||
"upload.modal.expires.label": "만료일",
|
"upload.modal.expires.label": "만료일",
|
||||||
"upload.modal.expires.minute-singular": "분",
|
"upload.modal.expires.minute-singular": "분",
|
||||||
"upload.modal.expires.minute-plural": "분",
|
"upload.modal.expires.minute-plural": "분",
|
||||||
@@ -242,193 +242,197 @@ export default {
|
|||||||
"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": "Email recipients",
|
"upload.modal.accordion.email.title": "받는 사람 메일 주소",
|
||||||
"upload.modal.accordion.email.placeholder": "Enter email recipients",
|
"upload.modal.accordion.email.placeholder": "메일 주소 입력",
|
||||||
"upload.modal.accordion.email.invalid-email": "Invalid email address",
|
"upload.modal.accordion.email.invalid-email": "이메일 주소가 틀립니다",
|
||||||
"upload.modal.accordion.security.title": "Security options",
|
"upload.modal.accordion.security.title": "보안 설정",
|
||||||
"upload.modal.accordion.security.password.label": "Password protection",
|
"upload.modal.accordion.security.password.label": "비밀번호로 보호",
|
||||||
"upload.modal.accordion.security.password.placeholder": "No password",
|
"upload.modal.accordion.security.password.placeholder": "비밀번호 없음",
|
||||||
"upload.modal.accordion.security.max-views.label": "Maximum views",
|
"upload.modal.accordion.security.max-views.label": "최대 보기 횟수",
|
||||||
"upload.modal.accordion.security.max-views.placeholder": "No limit",
|
"upload.modal.accordion.security.max-views.placeholder": "제한 없음",
|
||||||
// showCompletedUploadModal.tsx
|
// showCompletedUploadModal.tsx
|
||||||
"upload.modal.completed.never-expires": "This share will never expire.",
|
"upload.modal.completed.never-expires": "이 공유 만료되지 않습니다.",
|
||||||
"upload.modal.completed.expires-on": "This share will expire on {expiration}.",
|
"upload.modal.completed.expires-on": "이 공유는 {expiration} 에 만료됩니다.",
|
||||||
"upload.modal.completed.share-ready": "Share ready",
|
"upload.modal.completed.share-ready": "공유 준비",
|
||||||
// END /upload
|
// END /upload
|
||||||
// /share/[id]
|
// /share/[id]
|
||||||
"share.title": "Share {shareId}",
|
"share.title": "공유 {shareId}",
|
||||||
"share.description": "Look what I've shared with you!",
|
"share.description": "내가 당신과 공유한 것을 보세요!",
|
||||||
"share.error.visitor-limit-exceeded.title": "Visitor limit exceeded",
|
"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": "The visitor limit from this share has been exceeded.",
|
||||||
"share.error.removed.title": "Share removed",
|
"share.error.removed.title": "공유가 삭제됨",
|
||||||
"share.error.not-found.title": "Share not found",
|
"share.error.not-found.title": "공유를 찾을 수 없습니다.",
|
||||||
"share.error.not-found.description": "The share you're looking for doesn't exist.",
|
"share.error.not-found.description": "당신이 찾는 공유는 존재하지 않습니다.",
|
||||||
"share.modal.password.title": "Password required",
|
"share.modal.password.title": "비밀번호 필요",
|
||||||
"share.modal.password.description": "To access this share please enter the password for the share.",
|
"share.modal.password.description": "이 공유에 액세스하려면 공유의 암호를 입력하십시오.",
|
||||||
"share.modal.password": "Password",
|
"share.modal.password": "비밀번호",
|
||||||
"share.modal.error.invalid-password": "Invalid password",
|
"share.modal.error.invalid-password": "잘못된 비밀번호",
|
||||||
"share.button.download-all": "Download all",
|
"share.button.download-all": "모두 다운로드",
|
||||||
"share.notify.download-all-preparing": "The share is preparing. Try again in a few minutes.",
|
"share.notify.download-all-preparing": "공유가 준비 중입니다. 잠시 후에 다시 시도하십시오.",
|
||||||
"share.modal.file-link": "File link",
|
"share.modal.file-link": "파일 링크",
|
||||||
"share.table.name": "Name",
|
"share.table.name": "이름",
|
||||||
"share.table.size": "Size",
|
"share.table.size": "크기",
|
||||||
"share.modal.file-preview.error.not-supported.title": "Preview not supported",
|
"share.modal.file-preview.error.not-supported.title": "미리보기는 지원되지 않습니다",
|
||||||
"share.modal.file-preview.error.not-supported.description": "A preview for this file type is unsupported. Please download the file to view it.",
|
"share.modal.file-preview.error.not-supported.description": "이 파일 형식의 미리보기가 지원되지 않습니다. 파일을 다운로드하여 확인하십시오.",
|
||||||
// END /share/[id]
|
// END /share/[id]
|
||||||
// /share/[id]/edit
|
// /share/[id]/edit
|
||||||
"share.edit.title": "Edit {shareId}",
|
"share.edit.title": "수정 {shareId}",
|
||||||
"share.edit.append-upload": "Append file",
|
"share.edit.append-upload": "파일 추가",
|
||||||
"share.edit.notify.generic-error": "An error occurred while finishing your share.",
|
"share.edit.notify.generic-error": "공유를 완료하는 동안 오류가 발생했습니다.",
|
||||||
"share.edit.notify.save-success": "Share updated successfully",
|
"share.edit.notify.save-success": "공유가 업데이트 되었습니다.",
|
||||||
// END /share/[id]/edit
|
// END /share/[id]/edit
|
||||||
// /admin/config
|
// /admin/config
|
||||||
"admin.config.title": "Configuration",
|
"admin.config.title": "구성",
|
||||||
"admin.config.category.general": "General",
|
"admin.config.category.general": "일반",
|
||||||
"admin.config.category.share": "Share",
|
"admin.config.category.share": "공유",
|
||||||
"admin.config.category.email": "Email",
|
"admin.config.category.email": "이메일",
|
||||||
"admin.config.category.smtp": "SMTP",
|
"admin.config.category.smtp": "SMTP",
|
||||||
"admin.config.category.oauth": "Social Login",
|
"admin.config.category.oauth": "소셜 로그인",
|
||||||
"admin.config.general.app-name": "App name",
|
"admin.config.general.app-name": "앱 이름",
|
||||||
"admin.config.general.app-name.description": "Name of the application",
|
"admin.config.general.app-name.description": "Name of the application",
|
||||||
"admin.config.general.app-url": "App URL",
|
"admin.config.general.app-url": "앱 URL",
|
||||||
"admin.config.general.app-url.description": "On which URL Pingvin Share is available",
|
"admin.config.general.app-url.description": "Pingvin Share를 사용할 수 있는 URL",
|
||||||
"admin.config.general.show-home-page": "Show home page",
|
"admin.config.general.show-home-page": "홈 페이지 표시",
|
||||||
"admin.config.general.show-home-page.description": "Whether to show the home page",
|
"admin.config.general.show-home-page.description": "홈 페이지를 표시할지 여부를 점검하십시오.",
|
||||||
"admin.config.general.logo": "Logo",
|
"admin.config.general.session-duration": "Session Duration",
|
||||||
"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.",
|
"admin.config.general.session-duration.description": "Time in hours after which a user must log in again (default: 3 months).",
|
||||||
"admin.config.general.logo.placeholder": "Pick image",
|
"admin.config.general.logo": "로고",
|
||||||
"admin.config.email.enable-share-email-recipients": "Enable share email recipients",
|
"admin.config.general.logo.description": "새 이미지를 업로드하여 로고를 변경하십시오. 이미지는 PNG여야 하며 1:1 비율이어야 합니다.",
|
||||||
"admin.config.email.enable-share-email-recipients.description": "Whether to allow emails to share recipients. Only enable this if you have enabled SMTP.",
|
"admin.config.general.logo.placeholder": "이미지 선택",
|
||||||
"admin.config.email.share-recipients-subject": "Share recipients subject",
|
"admin.config.email.enable-share-email-recipients": "메일 수신 허용",
|
||||||
"admin.config.email.share-recipients-subject.description": "Subject of the email which gets sent to the share recipients.",
|
"admin.config.email.enable-share-email-recipients.description": "메일이 수신자를 공유하도록 허용할지 여부. SMTP를 사용 가능으로 설정한 경우에만 이 옵션을 사용 가능으로 설정합니다.",
|
||||||
"admin.config.email.share-recipients-message": "Share recipients message",
|
"admin.config.email.share-recipients-subject": "공유 제목",
|
||||||
"admin.config.email.share-recipients-message.description": "Message which gets sent to the share recipients. Available variables:\n {creator} - The username of the creator of the share\n {shareUrl} - The URL of the share\n {desc} - The description of the share\n {expires} - The expiration date of the share\n The variables will be replaced with the actual value.",
|
"admin.config.email.share-recipients-subject.description": "공유 수신자에게 전송되는 이메일의 제목입니다.",
|
||||||
"admin.config.email.reverse-share-subject": "Reverse share subject",
|
"admin.config.email.share-recipients-message": "수신자 메시지 공유",
|
||||||
"admin.config.email.reverse-share-subject.description": "Subject of the email which gets sent when someone created a share with your reverse share link.",
|
"admin.config.email.share-recipients-message.description": "공유 수신자에게 보내는 메시지입니다. 사용 가능한 변수:\n {creator} - 공유 작성자의 사용자 이름\n {shareUrl} - 공유의 URL\n {desc} - 공유에 대한 설명\n {expires} - 공유 만료일\n 변수는 실제 값으로 대체됩니다.",
|
||||||
"admin.config.email.reverse-share-message": "Reverse share message",
|
"admin.config.email.reverse-share-subject": "역공유 제목",
|
||||||
"admin.config.email.reverse-share-message.description": "Message which gets sent when someone created a share with your reverse share link. {shareUrl} will be replaced with the creator's name and the share URL.",
|
"admin.config.email.reverse-share-subject.description": "누군가 당신이 공유한 역방향 공유 링크를 사용하여 공유를 생성했을 때 전송되는 이메일의 제목입니다.",
|
||||||
"admin.config.email.reset-password-subject": "Reset password subject",
|
"admin.config.email.reverse-share-message": "역공유 메시지",
|
||||||
"admin.config.email.reset-password-subject.description": "Subject of the email which gets sent when a user requests a password reset.",
|
"admin.config.email.reverse-share-message.description": "누군가 귀하의 역방향 공유 링크를 사용하여 공유를 생성하면 전송되는 메시지입니다.. {shareUrl} 은 작성자 이름 및 공유 URL로 대체됩니다.",
|
||||||
"admin.config.email.reset-password-message": "Reset password message",
|
"admin.config.email.reset-password-subject": "비밀번호 재설정 제목",
|
||||||
"admin.config.email.reset-password-message.description": "Message which gets sent when a user requests a password reset. {url} will be replaced with the reset password URL.",
|
"admin.config.email.reset-password-subject.description": "사용자가 암호 재설정을 요청할 때 전송되는 메일의 제목입니다.",
|
||||||
"admin.config.email.invite-subject": "Invite subject",
|
"admin.config.email.reset-password-message": "비밀번호 재설정 메시지",
|
||||||
"admin.config.email.invite-subject.description": "Subject of the email which gets sent when an admin invites a user.",
|
"admin.config.email.reset-password-message.description": "사용자가 비밀번호 재설정을 요청할 때 전송되는 메시지입니다. {url} 은 비밀번호 재설정 URL로 대체됩니다.",
|
||||||
"admin.config.email.invite-message": "Invite message",
|
"admin.config.email.invite-subject": "초대 제목",
|
||||||
"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.",
|
"admin.config.email.invite-subject.description": "관리자가 사용자를 초대할 때 전송되는 이메일의 제목입니다.",
|
||||||
"admin.config.share.allow-registration": "Allow registration",
|
"admin.config.email.invite-message": "초대 메시지",
|
||||||
"admin.config.share.allow-registration.description": "Whether registration is allowed",
|
"admin.config.email.invite-message.description": "관리자가 사용자를 초대하면 전송되는 메시지입니다. {url} 은 초대 URL로, {password} 는 비밀번호로 대체됩니다.",
|
||||||
"admin.config.share.allow-unauthenticated-shares": "Allow unauthenticated shares",
|
"admin.config.share.allow-registration": "가입 허용",
|
||||||
"admin.config.share.allow-unauthenticated-shares.description": "Whether unauthenticated users can create shares",
|
"admin.config.share.allow-registration.description": "등록 가능 여부",
|
||||||
"admin.config.share.max-expiration": "Max expiration",
|
"admin.config.share.allow-unauthenticated-shares": "인증되지 않은 공유 허용",
|
||||||
"admin.config.share.max-expiration.description": "Maximum share expiration in hours. Set to 0 to allow unlimited expiration.",
|
"admin.config.share.allow-unauthenticated-shares.description": "인증되지 않은 사용자가 공유를 생성할 수 있는지 여부",
|
||||||
"admin.config.share.max-size": "Max size",
|
"admin.config.share.max-expiration": "최대 만료일",
|
||||||
"admin.config.share.max-size.description": "Maximum share size in bytes",
|
"admin.config.share.max-expiration.description": "최대 공유 만료 시간입니다. 만료 기간을 설정하지 않는경우 0으로 설정합니다.",
|
||||||
"admin.config.share.zip-compression-level": "Zip compression level",
|
"admin.config.share.max-size": "최대 크기",
|
||||||
"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. ",
|
"admin.config.share.max-size.description": "공유 최대 크기 - 바이트",
|
||||||
"admin.config.share.chunk-size": "Chunk size",
|
"admin.config.share.zip-compression-level": "압축 레벨",
|
||||||
"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.zip-compression-level.description": "파일 크기와 압축 속도 간의 균형을 맞추도록 레벨을 조정합니다. 유효한 값의 범위는 0에서 9까지이며, 0은 압축되지 않고 9는 최대 압축입니다. ",
|
||||||
"admin.config.smtp.enabled": "Enabled",
|
"admin.config.share.chunk-size": "청크 크기",
|
||||||
"admin.config.smtp.enabled.description": "Whether SMTP is enabled. Only set this to true if you entered the host, port, email, user and password of your SMTP server.",
|
"admin.config.share.chunk-size.description": "업로드할 청크 크기(바이트 단위)를 조정하여 인터넷 연결에 따라 효율성과 신뢰성의 균형을 유지합니다. 더 작은 청크는 불안정한 연결에 대한 성공률을 향상시킬 수 있고, 더 큰 청크는 안정적인 연결에 대한 업로드 속도를 높일 수 있습니다.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.share.auto-open-share-modal": "Auto open create share modal",
|
||||||
"admin.config.smtp.host.description": "Host of the SMTP server",
|
"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.port": "Port",
|
"admin.config.smtp.enabled": "활성화됨",
|
||||||
"admin.config.smtp.port.description": "Port of the SMTP server",
|
"admin.config.smtp.enabled.description": "SMTP 사용 여부 SMTP 서버의 호스트, 포트, 전자 메일, 사용자 및 암호를 입력한 경우에만 true로 설정합니다.",
|
||||||
"admin.config.smtp.email": "Email",
|
"admin.config.smtp.host": "호스트",
|
||||||
"admin.config.smtp.email.description": "Email address which the emails get sent from",
|
"admin.config.smtp.host.description": "SMTP 서버의 호스트",
|
||||||
"admin.config.smtp.username": "Username",
|
"admin.config.smtp.port": "포트",
|
||||||
"admin.config.smtp.username.description": "Username of the SMTP server",
|
"admin.config.smtp.port.description": "SMTP 서버 포트",
|
||||||
"admin.config.smtp.password": "Password",
|
"admin.config.smtp.email": "이메일",
|
||||||
"admin.config.smtp.password.description": "Password of the SMTP server",
|
"admin.config.smtp.email.description": "전자 메일을 보낸 전자 메일 주소",
|
||||||
"admin.config.smtp.button.test": "Send test email",
|
"admin.config.smtp.username": "사용자 이름",
|
||||||
"admin.config.oauth.allow-registration": "Allow registration",
|
"admin.config.smtp.username.description": "SMTP 사용자 이름, 서버 비밀번호",
|
||||||
"admin.config.oauth.allow-registration.description": "Allow users to register via social login",
|
"admin.config.smtp.password": "비밀번호",
|
||||||
"admin.config.oauth.ignore-totp": "Ignore TOTP",
|
"admin.config.smtp.password.description": "SMTP 서버 비밀번호",
|
||||||
"admin.config.oauth.ignore-totp.description": "Whether to ignore TOTP when user using social login",
|
"admin.config.smtp.button.test": "테스트 이메일 보내기",
|
||||||
"admin.config.oauth.github-enabled": "GitHub",
|
"admin.config.oauth.allow-registration": "가입 허용",
|
||||||
"admin.config.oauth.github-enabled.description": "Whether GitHub login is enabled",
|
"admin.config.oauth.allow-registration.description": "사용자가 소셜 로그인을 통해 등록할 수 있도록 허용",
|
||||||
"admin.config.oauth.github-client-id": "GitHub Client ID",
|
"admin.config.oauth.ignore-totp": "TOTP 무시",
|
||||||
"admin.config.oauth.github-client-id.description": "Client ID of the GitHub OAuth app",
|
"admin.config.oauth.ignore-totp.description": "사용자가 소셜 로그인을 사용하는 경우 TOTP를 무시할 것인지 여부",
|
||||||
"admin.config.oauth.github-client-secret": "GitHub Client secret",
|
"admin.config.oauth.github-enabled": "깃허브",
|
||||||
"admin.config.oauth.github-client-secret.description": "Client secret of the GitHub OAuth app",
|
"admin.config.oauth.github-enabled.description": "깃허브 로그인 사용 여부",
|
||||||
"admin.config.oauth.google-enabled": "Google",
|
"admin.config.oauth.github-client-id": "GitHub 클라이언트 ID",
|
||||||
"admin.config.oauth.google-enabled.description": "Whether Google login is enabled",
|
"admin.config.oauth.github-client-id.description": "GitHub OAuth 앱의 클라이언트 ID",
|
||||||
"admin.config.oauth.google-client-id": "Google Client ID",
|
"admin.config.oauth.github-client-secret": "GitHub 클라이언트 secret",
|
||||||
"admin.config.oauth.google-client-id.description": "Client ID of the Google OAuth app",
|
"admin.config.oauth.github-client-secret.description": "GitHub OAuth 앱의 클라이언트 secret",
|
||||||
"admin.config.oauth.google-client-secret": "Google Client secret",
|
"admin.config.oauth.google-enabled": "구글",
|
||||||
"admin.config.oauth.google-client-secret.description": "Client secret of the Google OAuth app",
|
"admin.config.oauth.google-enabled.description": "구글 로그인 활성화 여부",
|
||||||
"admin.config.oauth.microsoft-enabled": "Microsoft",
|
"admin.config.oauth.google-client-id": "Google 클라이언트 ID",
|
||||||
"admin.config.oauth.microsoft-enabled.description": "Whether Microsoft login is enabled",
|
"admin.config.oauth.google-client-id.description": "Google OAuth 앱의 클라이언트 ID",
|
||||||
"admin.config.oauth.microsoft-tenant": "Microsoft Tenant",
|
"admin.config.oauth.google-client-secret": "Google 클라이언트 secret",
|
||||||
"admin.config.oauth.microsoft-tenant.description": "Tenant ID of the Microsoft OAuth app\ncommon: Users with both a personal Microsoft account and a work or school account from Microsoft Entra ID can sign in to the application. organizations: Only users with work or school accounts from Microsoft Entra ID can sign in to the application.\nconsumers: Only users with a personal Microsoft account can sign in to the application.\ndomain name of the Microsoft Entra tenant or the tenant ID in GUID format: Only users from a specific Microsoft Entra tenant (directory members with a work or school account or directory guests with a personal Microsoft account) can sign in to the application.",
|
"admin.config.oauth.google-client-secret.description": "Google OAuth 앱의 클라이언트 secret",
|
||||||
"admin.config.oauth.microsoft-client-id": "Microsoft Client ID",
|
"admin.config.oauth.microsoft-enabled": "마이크로소프트",
|
||||||
"admin.config.oauth.microsoft-client-id.description": "Client ID of the Microsoft OAuth app",
|
"admin.config.oauth.microsoft-enabled.description": "마이크로소프트 로그인 사용 여부",
|
||||||
"admin.config.oauth.microsoft-client-secret": "Microsoft Client secret",
|
"admin.config.oauth.microsoft-tenant": "마이크로소프트 테넌트",
|
||||||
"admin.config.oauth.microsoft-client-secret.description": "Client secret of the Microsoft OAuth app",
|
"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.discord-enabled": "Discord",
|
"admin.config.oauth.microsoft-client-id": "마이크로소프트 클라이언트 ID",
|
||||||
"admin.config.oauth.discord-enabled.description": "Whether Discord login is enabled",
|
"admin.config.oauth.microsoft-client-id.description": "Microsoft OAuth 앱의 클라이언트 ID",
|
||||||
"admin.config.oauth.discord-limited-guild": "Discord limited server ID",
|
"admin.config.oauth.microsoft-client-secret": "Microsoft 클라이언트 secret",
|
||||||
"admin.config.oauth.discord-limited-guild.description": "Limit signing in to users in a specific server. Leave it blank to disable.",
|
"admin.config.oauth.microsoft-client-secret.description": "Microsoft OAuth 앱의 클라이언트 비밀",
|
||||||
"admin.config.oauth.discord-client-id": "Discord Client ID",
|
"admin.config.oauth.discord-enabled": "디스코드",
|
||||||
"admin.config.oauth.discord-client-id.description": "Client ID of the Discord OAuth app",
|
"admin.config.oauth.discord-enabled.description": "Discord 로그인 활성화 여부",
|
||||||
"admin.config.oauth.discord-client-secret": "Discord Client secret",
|
"admin.config.oauth.discord-limited-guild": "디스코드 제한 서버 ID",
|
||||||
"admin.config.oauth.discord-client-secret.description": "Client secret of the Discord OAuth app",
|
"admin.config.oauth.discord-limited-guild.description": "특정 서버의 사용자로 로그인을 제한합니다. 사용하지 않으려면 비워 둡니다.",
|
||||||
"admin.config.oauth.oidc-enabled": "OpenID Connect",
|
"admin.config.oauth.discord-client-id": "디스코드 클라이언트 ID",
|
||||||
"admin.config.oauth.oidc-enabled.description": "Whether OpenID Connect login is enabled",
|
"admin.config.oauth.discord-client-id.description": "Discord OAuth 앱의 클라이언트 ID",
|
||||||
|
"admin.config.oauth.discord-client-secret": "Discord 클라이언트 secret",
|
||||||
|
"admin.config.oauth.discord-client-secret.description": "Discord OAuth 앱의 클라이언트 secret",
|
||||||
|
"admin.config.oauth.oidc-enabled": "OpenID 연결",
|
||||||
|
"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": "Discovery URI of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-discovery-uri.description": "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": "Username claim in OpenID Connect ID token. Leave it blank if you don't know what this config is.",
|
"admin.config.oauth.oidc-username-claim.description": "OpenID Connect ID 토큰의 Username claim 입니다. 이 구성이 무엇인지 모르면 비워 둡니다.",
|
||||||
"admin.config.oauth.oidc-client-id": "OpenID Connect Client ID",
|
"admin.config.oauth.oidc-client-id": "OpenID Connect 클라이언트 ID",
|
||||||
"admin.config.oauth.oidc-client-id.description": "Client ID of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-client-id.description": "OpenID Connect OAuth 앱의 클라이언트 ID",
|
||||||
"admin.config.oauth.oidc-client-secret": "OpenID Connect Client secret",
|
"admin.config.oauth.oidc-client-secret": "OpenID 클라이언트 secret",
|
||||||
"admin.config.oauth.oidc-client-secret.description": "Client secret of the OpenID Connect OAuth app",
|
"admin.config.oauth.oidc-client-secret.description": "OpenID Connect OAuth 앱의 클라이언트 secret",
|
||||||
// 404
|
// 404
|
||||||
"404.description": "Oops this page doesn't exist.",
|
"404.description": "이런, 이 페이지는 존재하지 않습니다.",
|
||||||
"404.button.home": "Bring me back home",
|
"404.button.home": "나를 집으로 데려다 줘",
|
||||||
// error
|
// error
|
||||||
"error.title": "Error",
|
"error.title": "에러",
|
||||||
"error.description": "Oops!",
|
"error.description": "이런!",
|
||||||
"error.button.back": "Go back",
|
"error.button.back": "뒤로 가기",
|
||||||
"error.msg.default": "Something went wrong.",
|
"error.msg.default": "문제가 발생했습니다",
|
||||||
"error.msg.access_denied": "You canceled the authentication process, please try again.",
|
"error.msg.access_denied": "인증 프로세스가 취소되었습니다. 다시 시도하십시오.",
|
||||||
"error.msg.expired_token": "The authentication process took too long, please try again.",
|
"error.msg.expired_token": "인증 절차가 너무 오래 걸렸습니다. 다시 시도하십시오.",
|
||||||
"error.msg.invalid_token": "Internal Error",
|
"error.msg.invalid_token": "내부 오류",
|
||||||
"error.msg.no_user": "User linked to this {0} account doesn't exist.",
|
"error.msg.no_user": "{0} 계정에 연결된 사용자가 없습니다.",
|
||||||
"error.msg.no_email": "Can't get email address from this {0} account.",
|
"error.msg.no_email": "이 {0} 계정에서 메일 주소를 가져올 수 없습니다.",
|
||||||
"error.msg.already_linked": "This {0} account is already linked to another account.",
|
"error.msg.already_linked": "이 {0} 계정은 이미 다른 계정에 연결되어 있습니다.",
|
||||||
"error.msg.not_linked": "This {0} account haven't linked to any account yet.",
|
"error.msg.not_linked": "이 {0} 계정은 아직 어떤 계정에도 연결되지 않았습니다.",
|
||||||
"error.msg.unverified_account": "This {0} account is unverified, please try again after verification.",
|
"error.msg.unverified_account": "이 {0} 계정은 확인되지 않았습니다. 확인 후 다시 시도하십시오.",
|
||||||
"error.msg.discord_guild_permission_denied": "You are not allowed to sign in.",
|
"error.msg.discord_guild_permission_denied": "로그인할 수 없습니다.",
|
||||||
"error.msg.cannot_get_user_info": "Can not get your user info from this {0} account.",
|
"error.msg.cannot_get_user_info": "이 {0} 계정에서 사용자 정보를 가져올 수 없습니다",
|
||||||
"error.param.provider_github": "GitHub",
|
"error.param.provider_github": "깃허브",
|
||||||
"error.param.provider_google": "Google",
|
"error.param.provider_google": "구글",
|
||||||
"error.param.provider_microsoft": "Microsoft",
|
"error.param.provider_microsoft": "마이크로소프트",
|
||||||
"error.param.provider_discord": "Discord",
|
"error.param.provider_discord": "디스코드",
|
||||||
"error.param.provider_oidc": "OpenID Connect",
|
"error.param.provider_oidc": "OpenID 연결",
|
||||||
// Common translations
|
// Common translations
|
||||||
"common.button.save": "Save",
|
"common.button.save": "저장",
|
||||||
"common.button.create": "Create",
|
"common.button.create": "새로 만들기",
|
||||||
"common.button.submit": "Submit",
|
"common.button.submit": "제출",
|
||||||
"common.button.delete": "Delete",
|
"common.button.delete": "삭제",
|
||||||
"common.button.cancel": "Cancel",
|
"common.button.cancel": "취소",
|
||||||
"common.button.confirm": "Confirm",
|
"common.button.confirm": "확인",
|
||||||
"common.button.disable": "Disable",
|
"common.button.disable": "비활성화",
|
||||||
"common.button.share": "Share",
|
"common.button.share": "공유",
|
||||||
"common.button.generate": "Generate",
|
"common.button.generate": "생성",
|
||||||
"common.button.done": "Done",
|
"common.button.done": "완료",
|
||||||
"common.text.link": "Link",
|
"common.text.link": "링크",
|
||||||
"common.text.navigate-to-link": "Go to the link",
|
"common.text.navigate-to-link": "링크로 이동",
|
||||||
"common.text.or": "or",
|
"common.text.or": "또는",
|
||||||
"common.button.go-back": "Go back",
|
"common.button.go-back": "뒤로 가기",
|
||||||
"common.button.go-home": "첫 페이지",
|
"common.button.go-home": "첫 페이지",
|
||||||
"common.notify.copied": "Your link was copied to the clipboard",
|
"common.notify.copied": "당신의 링크가 클립보드에 복사되었습니다.",
|
||||||
"common.success": "성공",
|
"common.success": "성공",
|
||||||
"common.error": "에러",
|
"common.error": "에러",
|
||||||
"common.error.unknown": "An unknown error occurred",
|
"common.error.unknown": "알 수 없는 오류가 발생했습니다.",
|
||||||
"common.error.invalid-email": "Invalid email address",
|
"common.error.invalid-email": "이메일 주소가 틀립니다",
|
||||||
"common.error.too-short": "Must be at least {length} characters",
|
"common.error.too-short": "최소 {length} 자 이상이어야 합니다",
|
||||||
"common.error.too-long": "Must be at most {length} characters",
|
"common.error.too-long": "최대 {length} 자 까지 입력가능합니다.",
|
||||||
"common.error.exact-length": "Must be exactly {length} characters",
|
"common.error.exact-length": "{length} 자 이어야 합니다.",
|
||||||
"common.error.invalid-number": "Must be a number",
|
"common.error.invalid-number": "숫자만 가능합니다.",
|
||||||
"common.error.field-required": "This field is required"
|
"common.error.field-required": "이 필드는 필수입니다"
|
||||||
};
|
};
|
||||||
@@ -57,7 +57,7 @@ export default {
|
|||||||
// /auth/reset-password
|
// /auth/reset-password
|
||||||
"resetPassword.title": "Wachtwoord vergeten?",
|
"resetPassword.title": "Wachtwoord vergeten?",
|
||||||
"resetPassword.description": "Voer uw e-mailadres in om uw wachtwoord opnieuw in te stellen.",
|
"resetPassword.description": "Voer uw e-mailadres in om uw wachtwoord opnieuw in te stellen.",
|
||||||
"resetPassword.notify.success": "A message with a link to reset your password has been sent if the email exists.",
|
"resetPassword.notify.success": "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",
|
||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Stap 2: Valideer uw code",
|
"account.modal.totp.step2": "Stap 2: Valideer uw code",
|
||||||
"account.modal.totp.enterManually": "Handmatig invoeren",
|
"account.modal.totp.enterManually": "Handmatig invoeren",
|
||||||
"account.modal.totp.code": "Code",
|
"account.modal.totp.code": "Code",
|
||||||
"account.modal.totp.clickToCopy": "Klik om te kopiëren",
|
"common.button.clickToCopy": "Klik om te kopiëren",
|
||||||
"account.modal.totp.verify": "Verifiëren",
|
"account.modal.totp.verify": "Verifiëren",
|
||||||
"account.notify.totp.disable": "TOTP succesvol uitgeschakeld",
|
"account.notify.totp.disable": "TOTP succesvol uitgeschakeld",
|
||||||
"account.notify.totp.enable": "TOTP succesvol ingeschakeld",
|
"account.notify.totp.enable": "TOTP succesvol ingeschakeld",
|
||||||
@@ -199,11 +199,11 @@ 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": "Do you really want to delete this share?",
|
"admin.shares.edit.delete.description": "Weet u zeker dat u deze share wilt verwijderen?",
|
||||||
// END /admin/shares
|
// END /admin/shares
|
||||||
// /upload
|
// /upload
|
||||||
"upload.title": "Uploaden",
|
"upload.title": "Uploaden",
|
||||||
@@ -239,8 +239,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": "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": "E-mail van de ontvangers",
|
"upload.modal.accordion.email.title": "E-mail van de ontvangers",
|
||||||
"upload.modal.accordion.email.placeholder": "Voer e-mail ontvangers in",
|
"upload.modal.accordion.email.placeholder": "Voer e-mail ontvangers in",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "De URL waar Pingvin Share bereikbaar is",
|
"admin.config.general.app-url.description": "De URL waar Pingvin Share bereikbaar is",
|
||||||
"admin.config.general.show-home-page": "Toon startpagina",
|
"admin.config.general.show-home-page": "Toon startpagina",
|
||||||
"admin.config.general.show-home-page.description": "Toon of verberg de home pagina",
|
"admin.config.general.show-home-page.description": "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": "Verander uw logo door een nieuwe afbeelding te uploaden. De afbeelding moet PNG zijn en het formaat moet 1:1 hebben.",
|
"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.",
|
||||||
"admin.config.general.logo.placeholder": "Afbeelding kiezen",
|
"admin.config.general.logo.placeholder": "Afbeelding kiezen",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Pas het niveau aan voor evenwicht tussen bestandsgrootte en compressie snelheid. Geldige waarden variëren van 0 tot 9, waarbij 0 geen compressie is en 9 de maximale compressie is. ",
|
"admin.config.share.zip-compression-level.description": "Pas het niveau aan voor evenwicht tussen bestandsgrootte en compressie snelheid. Geldige waarden variëren van 0 tot 9, waarbij 0 geen compressie is en 9 de maximale compressie is. ",
|
||||||
"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.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": "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.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.smtp.host": "Host",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Krok 2: Potwierdź swój kod",
|
"account.modal.totp.step2": "Krok 2: Potwierdź swój kod",
|
||||||
"account.modal.totp.enterManually": "Wpisz ręcznie",
|
"account.modal.totp.enterManually": "Wpisz ręcznie",
|
||||||
"account.modal.totp.code": "Kod",
|
"account.modal.totp.code": "Kod",
|
||||||
"account.modal.totp.clickToCopy": "Kliknij, aby skopiować",
|
"common.button.clickToCopy": "Kliknij, aby skopiować",
|
||||||
"account.modal.totp.verify": "Weryfikuj",
|
"account.modal.totp.verify": "Weryfikuj",
|
||||||
"account.notify.totp.disable": "%s wyłączono pomyślnie",
|
"account.notify.totp.disable": "%s wyłączono pomyślnie",
|
||||||
"account.notify.totp.enable": "TOTP włączono pomyślnie",
|
"account.notify.totp.enable": "TOTP włączono pomyślnie",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Pod którym adresem URL Pingvin Share jest dostępny",
|
"admin.config.general.app-url.description": "Pod którym adresem URL Pingvin Share jest dostępny",
|
||||||
"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": "Czy wyświetlać stronę główną",
|
"admin.config.general.show-home-page.description": "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": "Zmień logo, przesyłając nowy obraz. Obraz musi być plikiem PNG i mieć proporcje 1:1.",
|
"admin.config.general.logo.description": "Zmień logo, przesyłając nowy obraz. Obraz musi być plikiem PNG i mieć proporcje 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Wybierz obraz",
|
"admin.config.general.logo.placeholder": "Wybierz obraz",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Dostosuj poziom do równowagi między rozmiarem pliku a szybkością kompresji. Prawidłowe wartości mieszczą się w zakresie od 0 do 9, przy czym 0 to brak kompresji a 9 maksymalną kompresją. ",
|
"admin.config.share.zip-compression-level.description": "Dostosuj poziom do równowagi między rozmiarem pliku a szybkością kompresji. Prawidłowe wartości mieszczą się w zakresie od 0 do 9, przy czym 0 to brak kompresji a 9 maksymalną kompresją. ",
|
||||||
"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.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": "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.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.smtp.host": "Host",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Passo 2: Valide o seu código",
|
"account.modal.totp.step2": "Passo 2: Valide o seu código",
|
||||||
"account.modal.totp.enterManually": "Inserir manualmente",
|
"account.modal.totp.enterManually": "Inserir manualmente",
|
||||||
"account.modal.totp.code": "Código",
|
"account.modal.totp.code": "Código",
|
||||||
"account.modal.totp.clickToCopy": "Clique para copiar",
|
"common.button.clickToCopy": "Clique para copiar",
|
||||||
"account.modal.totp.verify": "Verificar",
|
"account.modal.totp.verify": "Verificar",
|
||||||
"account.notify.totp.disable": "TOTP desabilitado com sucesso",
|
"account.notify.totp.disable": "TOTP desabilitado com sucesso",
|
||||||
"account.notify.totp.enable": "TOTP habilitado com sucesso",
|
"account.notify.totp.enable": "TOTP habilitado com sucesso",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Em qual URL o Pingvin Share está disponível",
|
"admin.config.general.app-url.description": "Em qual URL o Pingvin Share está disponível",
|
||||||
"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": "Mostrar ou não a página inicial",
|
"admin.config.general.show-home-page.description": "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": "Alterar o seu logo carregando uma nova imagem. A imagem deve ser PNG e deve ter o formato 1:1.",
|
"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.",
|
||||||
"admin.config.general.logo.placeholder": "Escolhe uma imagem",
|
"admin.config.general.logo.placeholder": "Escolhe uma imagem",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ",
|
"admin.config.share.zip-compression-level.description": "Ajuste o nível para equilibrar entre o tamanho do arquivo e a velocidade de compressão. Valores válidos vão de 0 a 9, com 0 sendo sem compressão e 9 sendo compressão máxima. ",
|
||||||
"admin.config.share.chunk-size": "Tamanho do pedaço",
|
"admin.config.share.chunk-size": "Tamanho do pedaço",
|
||||||
"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.",
|
"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.",
|
||||||
|
"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": "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.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Servidor",
|
"admin.config.smtp.host": "Servidor",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Шаг 2: Проверка кода",
|
"account.modal.totp.step2": "Шаг 2: Проверка кода",
|
||||||
"account.modal.totp.enterManually": "Ввести вручную",
|
"account.modal.totp.enterManually": "Ввести вручную",
|
||||||
"account.modal.totp.code": "Код",
|
"account.modal.totp.code": "Код",
|
||||||
"account.modal.totp.clickToCopy": "Нажмите, чтобы скопировать",
|
"common.button.clickToCopy": "Нажмите, чтобы скопировать",
|
||||||
"account.modal.totp.verify": "Подтвердить",
|
"account.modal.totp.verify": "Подтвердить",
|
||||||
"account.notify.totp.disable": "TOTP успешно отключен",
|
"account.notify.totp.disable": "TOTP успешно отключен",
|
||||||
"account.notify.totp.enable": "TOTP успешно включен",
|
"account.notify.totp.enable": "TOTP успешно включен",
|
||||||
@@ -239,8 +239,8 @@ export default {
|
|||||||
"upload.modal.expires.month-plural": "Месяца(-ев)",
|
"upload.modal.expires.month-plural": "Месяца(-ев)",
|
||||||
"upload.modal.expires.year-singular": "Год",
|
"upload.modal.expires.year-singular": "Год",
|
||||||
"upload.modal.expires.year-plural": "Года (лет)",
|
"upload.modal.expires.year-plural": "Года (лет)",
|
||||||
"upload.modal.accordion.name-and-description.title": "Name and description",
|
"upload.modal.accordion.name-and-description.title": "Имя и описание",
|
||||||
"upload.modal.accordion.name-and-description.name.placeholder": "Name",
|
"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",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Адрес на котором доступен Pingvin Share",
|
"admin.config.general.app-url.description": "Адрес на котором доступен Pingvin Share",
|
||||||
"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": "Измените свой логотип, загрузив новое изображение. Изображение должно быть PNG и должно иметь формат 1:1.",
|
"admin.config.general.logo.description": "Измените свой логотип, загрузив новое изображение. Изображение должно быть PNG и должно иметь формат 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Выберите изображение",
|
"admin.config.general.logo.placeholder": "Выберите изображение",
|
||||||
@@ -325,8 +327,10 @@ 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": "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": "Включено ли SMTP. Установите значение true только если вы ввели хост, порт, email, пользователь и пароль вашего SMTP-сервера.",
|
"admin.config.smtp.enabled.description": "Включено ли SMTP. Установите значение true только если вы ввели хост, порт, email, пользователь и пароль вашего SMTP-сервера.",
|
||||||
"admin.config.smtp.host": "Хост",
|
"admin.config.smtp.host": "Хост",
|
||||||
@@ -420,7 +424,7 @@ export default {
|
|||||||
"common.text.navigate-to-link": "Go to the link",
|
"common.text.navigate-to-link": "Go to the link",
|
||||||
"common.text.or": "или",
|
"common.text.or": "или",
|
||||||
"common.button.go-back": "Назад",
|
"common.button.go-back": "Назад",
|
||||||
"common.button.go-home": "Go home",
|
"common.button.go-home": "Домой",
|
||||||
"common.notify.copied": "Ваша ссылка скопирована в буфер обмена",
|
"common.notify.copied": "Ваша ссылка скопирована в буфер обмена",
|
||||||
"common.success": "Успешно",
|
"common.success": "Успешно",
|
||||||
"common.error": "Ошибочка",
|
"common.error": "Ошибочка",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "2. Korak: Potrdite svojo kodo",
|
"account.modal.totp.step2": "2. Korak: Potrdite svojo kodo",
|
||||||
"account.modal.totp.enterManually": "Vnesite ročno",
|
"account.modal.totp.enterManually": "Vnesite ročno",
|
||||||
"account.modal.totp.code": "Koda",
|
"account.modal.totp.code": "Koda",
|
||||||
"account.modal.totp.clickToCopy": "Kliknite za kopiranje",
|
"common.button.clickToCopy": "Kliknite za kopiranje",
|
||||||
"account.modal.totp.verify": "Preveri",
|
"account.modal.totp.verify": "Preveri",
|
||||||
"account.notify.totp.disable": "TOTP je uspešno onemogočen",
|
"account.notify.totp.disable": "TOTP je uspešno onemogočen",
|
||||||
"account.notify.totp.enable": "TOTP je uspešno omogočen",
|
"account.notify.totp.enable": "TOTP je uspešno omogočen",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Na katerem URL-ju je dostopen Pingvin Share",
|
"admin.config.general.app-url.description": "Na katerem URL-ju je dostopen Pingvin Share",
|
||||||
"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": "Ali prikazati domačo stran",
|
"admin.config.general.show-home-page.description": "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": "Naložite novo sliko, da spremenite logotip. Datoteka mora biti tipa PNG in imeti razmerje 1:1.",
|
"admin.config.general.logo.description": "Naložite novo sliko, da spremenite logotip. Datoteka mora biti tipa PNG in imeti razmerje 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Izberite sliko",
|
"admin.config.general.logo.placeholder": "Izberite sliko",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Nivo stiskanja, ki uravnoveša med velikostjo datoteke in hitrostjo stiskanja. Veljavne vrednosti so med 0 in 9, kjer 0 pomeni brez kompresije in 9 pomeni največjo kompresijo. ",
|
"admin.config.share.zip-compression-level.description": "Nivo stiskanja, ki uravnoveša med velikostjo datoteke in hitrostjo stiskanja. Veljavne vrednosti so med 0 in 9, kjer 0 pomeni brez kompresije in 9 pomeni največjo kompresijo. ",
|
||||||
"admin.config.share.chunk-size": "Velikost delcev",
|
"admin.config.share.chunk-size": "Velikost delcev",
|
||||||
"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.",
|
"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.",
|
||||||
|
"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": "Č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.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Gostitelj",
|
"admin.config.smtp.host": "Gostitelj",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Корак 2: Потврдите свој код",
|
"account.modal.totp.step2": "Корак 2: Потврдите свој код",
|
||||||
"account.modal.totp.enterManually": "Унесите ручно",
|
"account.modal.totp.enterManually": "Унесите ручно",
|
||||||
"account.modal.totp.code": "Код",
|
"account.modal.totp.code": "Код",
|
||||||
"account.modal.totp.clickToCopy": "Кликните за копирање",
|
"common.button.clickToCopy": "Кликните за копирање",
|
||||||
"account.modal.totp.verify": "Верификуј",
|
"account.modal.totp.verify": "Верификуј",
|
||||||
"account.notify.totp.disable": "ТОТП је успешно онемогућен",
|
"account.notify.totp.disable": "ТОТП је успешно онемогућен",
|
||||||
"account.notify.totp.enable": "ТОТП је успешно омогућен",
|
"account.notify.totp.enable": "ТОТП је успешно омогућен",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "На којој URL адреси је доступан Pingvin Share",
|
"admin.config.general.app-url.description": "На којој URL адреси је доступан Pingvin Share",
|
||||||
"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": "Промените свој логотип тако што ћете отпремити нову слику. Слика мора да буде PNG и треба да има формат 1:1.",
|
"admin.config.general.logo.description": "Промените свој логотип тако што ћете отпремити нову слику. Слика мора да буде PNG и треба да има формат 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Изабери слику",
|
"admin.config.general.logo.placeholder": "Изабери слику",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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": "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.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": "Да ли је SMTP омогућен. Поставите ово на тачно само ако сте унели хост, порт, е-пошту, корисника и лозинку вашег SMTP сервера.",
|
"admin.config.smtp.enabled.description": "Да ли је SMTP омогућен. Поставите ово на тачно само ако сте унели хост, порт, е-пошту, корисника и лозинку вашег SMTP сервера.",
|
||||||
"admin.config.smtp.host": "Домаћин",
|
"admin.config.smtp.host": "Домаћин",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Steg 2: Bekräfta din kod",
|
"account.modal.totp.step2": "Steg 2: Bekräfta din kod",
|
||||||
"account.modal.totp.enterManually": "Ange manuellt",
|
"account.modal.totp.enterManually": "Ange manuellt",
|
||||||
"account.modal.totp.code": "Kod",
|
"account.modal.totp.code": "Kod",
|
||||||
"account.modal.totp.clickToCopy": "Klicka för att kopiera",
|
"common.button.clickToCopy": "Klicka för att kopiera",
|
||||||
"account.modal.totp.verify": "Verifiera",
|
"account.modal.totp.verify": "Verifiera",
|
||||||
"account.notify.totp.disable": "TOTP har inaktiverats",
|
"account.notify.totp.disable": "TOTP har inaktiverats",
|
||||||
"account.notify.totp.enable": "TOTP aktiverat",
|
"account.notify.totp.enable": "TOTP aktiverat",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "På vilken URL Pingvin Share finns",
|
"admin.config.general.app-url.description": "På vilken URL Pingvin Share finns",
|
||||||
"admin.config.general.show-home-page": "Visa startsidan",
|
"admin.config.general.show-home-page": "Visa startsidan",
|
||||||
"admin.config.general.show-home-page.description": "Om du vill visa startsidan",
|
"admin.config.general.show-home-page.description": "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": "Ändra din logotyp genom att ladda upp en ny bild. Bilden måste vara en PNG och bör ha formatet 1:1.",
|
"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.",
|
||||||
"admin.config.general.logo.placeholder": "Välj bild",
|
"admin.config.general.logo.placeholder": "Välj bild",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"admin.config.share.zip-compression-level.description": "Justera nivån för att balansera mellan filstorlek och komprimeringshastighet. Giltiga värden varierar från 0 till 9, med 0 som ingen komprimering och 9 som maximal komprimering. ",
|
"admin.config.share.zip-compression-level.description": "Justera nivån för att balansera mellan filstorlek och komprimeringshastighet. Giltiga värden varierar från 0 till 9, med 0 som ingen komprimering och 9 som maximal komprimering. ",
|
||||||
"admin.config.share.chunk-size": "Bitstorleken",
|
"admin.config.share.chunk-size": "Bitstorleken",
|
||||||
"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.",
|
"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.",
|
||||||
|
"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": "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.",
|
"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.",
|
||||||
"admin.config.smtp.host": "Adress",
|
"admin.config.smtp.host": "Adress",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "ขั้นตอนที่ 2: ป้อนรหัสยืนยันตัวตน",
|
"account.modal.totp.step2": "ขั้นตอนที่ 2: ป้อนรหัสยืนยันตัวตน",
|
||||||
"account.modal.totp.enterManually": "ป้อนด้วยตนเอง",
|
"account.modal.totp.enterManually": "ป้อนด้วยตนเอง",
|
||||||
"account.modal.totp.code": "รหัส",
|
"account.modal.totp.code": "รหัส",
|
||||||
"account.modal.totp.clickToCopy": "คลิกเพื่อคัดลอก",
|
"common.button.clickToCopy": "คลิกเพื่อคัดลอก",
|
||||||
"account.modal.totp.verify": "ยืนยัน",
|
"account.modal.totp.verify": "ยืนยัน",
|
||||||
"account.notify.totp.disable": "TOTP ถูกปิดใช้งานเรียบร้อยแล้ว",
|
"account.notify.totp.disable": "TOTP ถูกปิดใช้งานเรียบร้อยแล้ว",
|
||||||
"account.notify.totp.enable": "TOTP ถูกเปิดใช้งานเรียบร้อยแล้ว",
|
"account.notify.totp.enable": "TOTP ถูกเปิดใช้งานเรียบร้อยแล้ว",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "URL ที่สามารถเข้าถึงแอพพลิเคชัน Pingvin Share ได้",
|
"admin.config.general.app-url.description": "URL ที่สามารถเข้าถึงแอพพลิเคชัน Pingvin Share ได้",
|
||||||
"admin.config.general.show-home-page": "แสดงหน้าแรก",
|
"admin.config.general.show-home-page": "แสดงหน้าแรก",
|
||||||
"admin.config.general.show-home-page.description": "หากติ๊ก เว็บไซต์จะแสดงหน้าหลักเวลาเข้าถึง URL หลัก",
|
"admin.config.general.show-home-page.description": "หากติ๊ก เว็บไซต์จะแสดงหน้าหลักเวลาเข้าถึง 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": "เปลี่ยนโลโก้โดยอัปโหลดรูปภาพใหม่ รูปภาพต้องเป็น PNG และควรมีขนาดอัตราส่วน 1:1",
|
"admin.config.general.logo.description": "เปลี่ยนโลโก้โดยอัปโหลดรูปภาพใหม่ รูปภาพต้องเป็น PNG และควรมีขนาดอัตราส่วน 1:1",
|
||||||
"admin.config.general.logo.placeholder": "คลิกที่นี่หรือลากไฟล์มา",
|
"admin.config.general.logo.placeholder": "คลิกที่นี่หรือลากไฟล์มา",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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": "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.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": "เปิดใช้งาน SMTP สำหรับการส่งอีเมล์์์์์์ เปิดได้เท่านั้นต่อเมื่อคุณใส่ข้อมูลโฮสต์ พอร์ต อีเมล์ ผู้ใช้ และรหัสผ่านของเซิร์ฟเวอร์ SMTP ของคุณ",
|
"admin.config.smtp.enabled.description": "เปิดใช้งาน SMTP สำหรับการส่งอีเมล์์์์์์ เปิดได้เท่านั้นต่อเมื่อคุณใส่ข้อมูลโฮสต์ พอร์ต อีเมล์ ผู้ใช้ และรหัสผ่านของเซิร์ฟเวอร์ SMTP ของคุณ",
|
||||||
"admin.config.smtp.host": "โฮสต์",
|
"admin.config.smtp.host": "โฮสต์",
|
||||||
|
|||||||
438
frontend/src/i18n/translations/tr-TR.ts
Normal file
438
frontend/src/i18n/translations/tr-TR.ts
Normal file
@@ -0,0 +1,438 @@
|
|||||||
|
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.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ı aşıldı",
|
||||||
|
"share.error.visitor-limit-exceeded.description": "Bu paylaşımdaki ziyaretçi sınırı aşı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.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.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"
|
||||||
|
};
|
||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "Крок 2: Перевірка коду",
|
"account.modal.totp.step2": "Крок 2: Перевірка коду",
|
||||||
"account.modal.totp.enterManually": "Ввести вручну",
|
"account.modal.totp.enterManually": "Ввести вручну",
|
||||||
"account.modal.totp.code": "Код",
|
"account.modal.totp.code": "Код",
|
||||||
"account.modal.totp.clickToCopy": "Натисніть, щоб скопіювати",
|
"common.button.clickToCopy": "Натисніть, щоб скопіювати",
|
||||||
"account.modal.totp.verify": "Підтвердити",
|
"account.modal.totp.verify": "Підтвердити",
|
||||||
"account.notify.totp.disable": "TOTP успішно відключено",
|
"account.notify.totp.disable": "TOTP успішно відключено",
|
||||||
"account.notify.totp.enable": "TOTP успішно увімкнено",
|
"account.notify.totp.enable": "TOTP успішно увімкнено",
|
||||||
@@ -294,6 +294,8 @@ export default {
|
|||||||
"admin.config.general.app-url.description": "Адреса, на якій доступний Pingvin Share",
|
"admin.config.general.app-url.description": "Адреса, на якій доступний Pingvin Share",
|
||||||
"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": "Змініть свій логотип, завантаживши нове зображення. Зображення має бути PNG і повинно мати формат 1:1.",
|
"admin.config.general.logo.description": "Змініть свій логотип, завантаживши нове зображення. Зображення має бути PNG і повинно мати формат 1:1.",
|
||||||
"admin.config.general.logo.placeholder": "Виберіть зображення",
|
"admin.config.general.logo.placeholder": "Виберіть зображення",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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": "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.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": "Чи увімкнено SMTP. Встановіть значення true тільки якщо ви ввели хост, порт, email, користувач і пароль вашого SMTP-сервера.",
|
"admin.config.smtp.enabled.description": "Чи увімкнено SMTP. Встановіть значення true тільки якщо ви ввели хост, порт, email, користувач і пароль вашого SMTP-сервера.",
|
||||||
"admin.config.smtp.host": "Хост",
|
"admin.config.smtp.host": "Хост",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "第二步:输入一次性验证码",
|
"account.modal.totp.step2": "第二步:输入一次性验证码",
|
||||||
"account.modal.totp.enterManually": "手动输入",
|
"account.modal.totp.enterManually": "手动输入",
|
||||||
"account.modal.totp.code": "验证码",
|
"account.modal.totp.code": "验证码",
|
||||||
"account.modal.totp.clickToCopy": "点击复制",
|
"common.button.clickToCopy": "点击复制",
|
||||||
"account.modal.totp.verify": "确定",
|
"account.modal.totp.verify": "确定",
|
||||||
"account.notify.totp.disable": "成功关闭两步验证!",
|
"account.notify.totp.disable": "成功关闭两步验证!",
|
||||||
"account.notify.totp.enable": "成功开启两步验证!",
|
"account.notify.totp.enable": "成功开启两步验证!",
|
||||||
@@ -294,6 +294,8 @@ 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": "上传你的个性化 Logo,图片必须是长宽比 1:1 的 PNG 格式",
|
"admin.config.general.logo.description": "上传你的个性化 Logo,图片必须是长宽比 1:1 的 PNG 格式",
|
||||||
"admin.config.general.logo.placeholder": "选择图片",
|
"admin.config.general.logo.placeholder": "选择图片",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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,仅当输入主机名、端口、发送邮箱、用户名和密码后开启",
|
"admin.config.smtp.enabled.description": "是否开启 SMTP,仅当输入主机名、端口、发送邮箱、用户名和密码后开启",
|
||||||
"admin.config.smtp.host": "主机名",
|
"admin.config.smtp.host": "主机名",
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ export default {
|
|||||||
"account.modal.totp.step2": "第二步:輸入一次性驗證碼",
|
"account.modal.totp.step2": "第二步:輸入一次性驗證碼",
|
||||||
"account.modal.totp.enterManually": "手動輸入",
|
"account.modal.totp.enterManually": "手動輸入",
|
||||||
"account.modal.totp.code": "驗證碼",
|
"account.modal.totp.code": "驗證碼",
|
||||||
"account.modal.totp.clickToCopy": "複製",
|
"common.button.clickToCopy": "複製",
|
||||||
"account.modal.totp.verify": "確認",
|
"account.modal.totp.verify": "確認",
|
||||||
"account.notify.totp.disable": "成功關閉兩步驗證!",
|
"account.notify.totp.disable": "成功關閉兩步驗證!",
|
||||||
"account.notify.totp.enable": "成功開啟兩步驗證!",
|
"account.notify.totp.enable": "成功開啟兩步驗證!",
|
||||||
@@ -294,6 +294,8 @@ 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": "上傳個性化 Logo,圖片必須是長寬比 1:1 的 PNG 格式",
|
"admin.config.general.logo.description": "上傳個性化 Logo,圖片必須是長寬比 1:1 的 PNG 格式",
|
||||||
"admin.config.general.logo.placeholder": "選擇圖片",
|
"admin.config.general.logo.placeholder": "選擇圖片",
|
||||||
@@ -327,6 +329,8 @@ export default {
|
|||||||
"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": "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.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": "是否開啟 SMTP,需輸入Host、Port、發送郵箱、使用者名稱和密碼後才有作用",
|
"admin.config.smtp.enabled.description": "是否開啟 SMTP,需輸入Host、Port、發送郵箱、使用者名稱和密碼後才有作用",
|
||||||
"admin.config.smtp.host": "Host",
|
"admin.config.smtp.host": "Host",
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ import Config from "../types/config.type";
|
|||||||
import { CurrentUser } from "../types/user.type";
|
import { CurrentUser } from "../types/user.type";
|
||||||
import i18nUtil from "../utils/i18n.util";
|
import i18nUtil from "../utils/i18n.util";
|
||||||
import userPreferences from "../utils/userPreferences.util";
|
import userPreferences from "../utils/userPreferences.util";
|
||||||
|
import "moment/min/locales";
|
||||||
|
import moment from "moment";
|
||||||
|
|
||||||
const excludeDefaultLayoutRoutes = ["/admin/config/[category]"];
|
const excludeDefaultLayoutRoutes = ["/admin/config/[category]"];
|
||||||
|
|
||||||
@@ -84,6 +86,7 @@ function App({ Component, pageProps }: AppProps) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const language = useRef(pageProps.language);
|
const language = useRef(pageProps.language);
|
||||||
|
moment.locale(language.current);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -72,6 +72,10 @@ export default function AppShellDemo() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const updateConfigVariable = (configVariable: UpdateConfig) => {
|
const updateConfigVariable = (configVariable: UpdateConfig) => {
|
||||||
|
if (configVariable.key === "general.appUrl") {
|
||||||
|
configVariable.value = sanitizeUrl(configVariable.value);
|
||||||
|
}
|
||||||
|
|
||||||
const index = updatedConfigVariables.findIndex(
|
const index = updatedConfigVariables.findIndex(
|
||||||
(item) => item.key === configVariable.key,
|
(item) => item.key === configVariable.key,
|
||||||
);
|
);
|
||||||
@@ -86,6 +90,10 @@ export default function AppShellDemo() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const sanitizeUrl = (url: string): string => {
|
||||||
|
return url.endsWith("/") ? url.slice(0, -1) : url;
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
configService.getByCategory(categoryId).then((configVariables) => {
|
configService.getByCategory(categoryId).then((configVariables) => {
|
||||||
setConfigVariables(configVariables);
|
setConfigVariables(configVariables);
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ const Upload = ({
|
|||||||
const chunkSize = useRef(parseInt(config.get("share.chunkSize")));
|
const chunkSize = useRef(parseInt(config.get("share.chunkSize")));
|
||||||
|
|
||||||
maxShareSize ??= parseInt(config.get("share.maxSize"));
|
maxShareSize ??= parseInt(config.get("share.maxSize"));
|
||||||
|
const autoOpenCreateUploadModal = config.get("share.autoOpenShareModal");
|
||||||
|
|
||||||
const uploadFiles = async (share: CreateShare, files: FileUpload[]) => {
|
const uploadFiles = async (share: CreateShare, files: FileUpload[]) => {
|
||||||
setisUploading(true);
|
setisUploading(true);
|
||||||
@@ -121,7 +122,6 @@ const Upload = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const showCreateUploadModalCallback = (files: FileUpload[]) => {
|
const showCreateUploadModalCallback = (files: FileUpload[]) => {
|
||||||
setFiles(files);
|
|
||||||
showCreateUploadModal(
|
showCreateUploadModal(
|
||||||
modals,
|
modals,
|
||||||
{
|
{
|
||||||
@@ -139,6 +139,15 @@ const Upload = ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleDropzoneFilesChanged = (files: FileUpload[]) => {
|
||||||
|
if (autoOpenCreateUploadModal) {
|
||||||
|
setFiles(files);
|
||||||
|
showCreateUploadModalCallback(files);
|
||||||
|
} else {
|
||||||
|
setFiles((oldArr) => [...oldArr, ...files]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Check if there are any files that failed to upload
|
// Check if there are any files that failed to upload
|
||||||
const fileErrorCount = files.filter(
|
const fileErrorCount = files.filter(
|
||||||
@@ -191,8 +200,13 @@ const Upload = ({
|
|||||||
</Button>
|
</Button>
|
||||||
</Group>
|
</Group>
|
||||||
<Dropzone
|
<Dropzone
|
||||||
|
title={
|
||||||
|
!autoOpenCreateUploadModal && files.length > 0
|
||||||
|
? t("share.edit.append-upload")
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
maxShareSize={maxShareSize}
|
maxShareSize={maxShareSize}
|
||||||
showCreateUploadModalCallback={showCreateUploadModalCallback}
|
onFilesChanged={handleDropzoneFilesChanged}
|
||||||
isUploading={isUploading}
|
isUploading={isUploading}
|
||||||
/>
|
/>
|
||||||
{files.length > 0 && (
|
{files.length > 0 && (
|
||||||
|
|||||||
1615
package-lock.json
generated
Normal file
1615
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pingvin-share",
|
"name": "pingvin-share",
|
||||||
"version": "0.24.2",
|
"version": "0.26.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",
|
||||||
|
|||||||
Reference in New Issue
Block a user