From d0e03a3bfc8736826df0ac74f294043d4ac03478 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 21:51:55 +0100 Subject: [PATCH 01/24] Well known v2 support This patchset contains support for .well-known/spacebar/client, as well as various typo fixes and some minor cleanups. Kind regards, Emma [it/its] @ Rory& Emma [it/its]@Rory& (7): src/utils: Well-known v2 support typo fix: instace -> instance typo fix: responce -> response Mathium, fix your keyboard lol It works! Let's gooooo!~ Typo fix: protical -> protocol Typo fix: orgin -> origin src/index.ts | 4 +- src/utils.ts | 96 +++++++++--- src/webpage/instances.json | 2 +- src/webpage/localuser.ts | 8 +- src/webpage/login.ts | 4 +- src/webpage/markdown.ts | 4 +- src/webpage/register.ts | 4 +- src/webpage/service.ts | 16 +- src/webpage/settings.ts | 18 +-- src/webpage/utils/netUtils.ts | 8 + src/webpage/utils/utils.ts | 287 +++++++++++++++++----------------- 11 files changed, 260 insertions(+), 191 deletions(-) create mode 100644 src/webpage/utils/netUtils.ts -- 2.51.2 -- 2.51.2 From 23a97a490fec4a943d045a805f380e9a504f5a29 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 14:34:32 +0100 Subject: [PATCH 02/24] src/utils: Well-known v2 support --- src/utils.ts | 92 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 75 insertions(+), 17 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index 8e9b8507..4ef25665 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,4 +1,5 @@ import {instace} from "./index.js"; + interface ApiUrls { api: string; gateway: string; @@ -14,10 +15,11 @@ export async function getApiUrls( if (!url.endsWith("/")) { url += "/"; } + if (check) { let valid = false; - for (const instace of instances) { - const urlstr = instace.url || instace.urls?.api; + for (const instance of instances) { + const urlstr = instance.url || instance.urls?.api; if (!urlstr) { continue; } @@ -34,21 +36,77 @@ export async function getApiUrls( throw new Error("Invalid instance"); } } + + const hostName = new URL(url).hostname; try { - const info: ApiUrls = await fetch(`${url}.well-known/spacebar`).then((res) => res.json()); - const api = info.api; - const apiUrl = new URL(api); - const policies: any = await fetch( - `${api}${apiUrl.pathname.includes("api") ? "" : "api"}/policies/instance/domains`, - ).then((res) => res.json()); - return { - api: policies.apiEndpoint, - gateway: policies.gateway, - cdn: policies.cdn, - wellknown: url, - }; - } catch (error) { - console.error("Error fetching API URLs:", error); - return null; + return await getApiUrlsV2(url); + } catch (e) { + console.warn( + `[WARN] Failed to get V2 API URLs for ${hostName}, trying V1...`, + (e as Error).message, + ); + try { + return await getApiUrlsV1(url); + } catch (e) { + console.error(`[ERROR] Failed to get V1 API URLs for ${hostName}:`, (e as Error).message); + throw e; + } } } + +//region Well-Known V1 Interfaces + +interface WellKnownV1 { + api: string; +} + +export async function getApiUrlsV1(url: string): Promise { + const info: WellKnownV1 = await fetch(`${url}.well-known/spacebar`).then((res) => res.json()); + const api = info.api; + const apiUrl = new URL(api); + const policies: any = await fetch( + `${api}${apiUrl.pathname.includes("api") ? "" : "api"}/policies/instance/domains`, + ).then((res) => res.json()); + return { + api: policies.apiEndpoint, + gateway: policies.gateway, + cdn: policies.cdn, + wellknown: url, + }; +} +//endregion + +//region Well-Known V2 Interfaces +interface WellKnownV2BasicEndpoint { + baseUrl: string; +} + +interface WellKnownV2ApiVersions { + default: string; + active: string[]; +} + +interface WellKnownV2GatewayOptions { + encoding: ("json" | "etf")[]; + compression: ("zlib-stream" | "zstd-stream" | null)[]; +} + +interface WellKnownV2 { + admin?: WellKnownV2BasicEndpoint; + api: WellKnownV2BasicEndpoint & {apiVersions: WellKnownV2ApiVersions}; + cdn: WellKnownV2BasicEndpoint; + gateway: WellKnownV2BasicEndpoint & WellKnownV2GatewayOptions; +} + +export async function getApiUrlsV2(url: string): Promise { + const info: WellKnownV2 = await fetch(`${url}.well-known/spacebar/client`).then((res) => + res.json(), + ); + return { + api: info.api.baseUrl + "/api/v" + info.api.apiVersions.default, + gateway: info.gateway.baseUrl, + cdn: info.cdn.baseUrl, + wellknown: url, + }; +} +//endregion \ No newline at end of file From 6ea39959d3a58883fcc5b5ad5f5f211d0be46633 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 14:36:27 +0100 Subject: [PATCH 03/24] typo fix: instace -> instance --- src/index.ts | 4 ++-- src/utils.ts | 4 ++-- src/webpage/settings.ts | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/index.ts b/src/index.ts index 042c0fef..51f32903 100644 --- a/src/index.ts +++ b/src/index.ts @@ -130,7 +130,7 @@ const app = http.createServer(async (req, res) => { sendFile(filePath); }); -export type instace = { +export type instance = { name: string; description?: string; descriptionLong?: string; @@ -157,7 +157,7 @@ export type instace = { }; const instances = JSON.parse( readFileSync(process.env.JANK_INSTANCES_PATH || __dirname + "/webpage/instances.json").toString(), -) as instace[]; +) as instance[]; const instanceNames = new Map(); diff --git a/src/utils.ts b/src/utils.ts index 4ef25665..1c7f543f 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,4 +1,4 @@ -import {instace} from "./index.js"; +import {instance} from "./index.js"; interface ApiUrls { api: string; @@ -9,7 +9,7 @@ interface ApiUrls { export async function getApiUrls( url: string, - instances: instace[], + instances: instance[], check = true, ): Promise { if (!url.endsWith("/")) { diff --git a/src/webpage/settings.ts b/src/webpage/settings.ts index 74fc7b41..ff8d00a5 100644 --- a/src/webpage/settings.ts +++ b/src/webpage/settings.ts @@ -1142,10 +1142,10 @@ class Options implements OptionsElement { onchange?: InstancePicker["onchange"], {button, instance}: {button?: HTMLButtonElement; instance?: string} = {}, ) { - const instacePicker = new InstancePicker(this, onchange, button, instance); - this.options.push(instacePicker); - this.generate(instacePicker); - return instacePicker; + const instancePicker = new InstancePicker(this, onchange, button, instance); + this.options.push(instancePicker); + this.generate(instancePicker); + return instancePicker; } returnFromSub() { this.subOptions = undefined; From b3af3ff410799ab71d7662fbf90a8b35b12a40e7 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 14:39:07 +0100 Subject: [PATCH 04/24] typo fix: responce -> response --- src/webpage/service.ts | 16 ++++++++-------- src/webpage/utils/utils.ts | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/webpage/service.ts b/src/webpage/service.ts index 804d6958..d80eaedc 100644 --- a/src/webpage/service.ts +++ b/src/webpage/service.ts @@ -143,19 +143,19 @@ let fails = 0; async function getfile(req: Request): Promise { checkCache(); if (!samedomain(req.url) || enabled === "false" || (enabled === "offlineOnly" && !offline)) { - const responce = await fetch(req.clone()); + const response = await fetch(req.clone()); if (samedomain(req.url)) { - if (enabled === "offlineOnly" && responce.ok) { - putInCache(toPath(req.url), responce.clone()); + if (enabled === "offlineOnly" && response.ok) { + putInCache(toPath(req.url), response.clone()); } - if (!responce.ok) { + if (!response.ok) { fails++; if (fails > 5) { offline = true; } } } - return responce; + return response; } let path = toPath(req.url); @@ -228,12 +228,12 @@ self.addEventListener("fetch", async (e) => { if (apiHosts?.has(host || "")) { try { - const responce = await fetch(req.clone()); + const response = await fetch(req.clone()); try { - event.respondWith(responce.clone()); + event.respondWith(response.clone()); } catch {} - const json = await responce.json(); + const json = await response.json(); if (json._trace) { sendAll({ code: "trace", diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 5f285406..aae89570 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -448,8 +448,8 @@ export async function getapiurls(str: string): Promise< } else { const val = stringURLsMap.get(str); if (val) { - const responce = await fetch(val.api + (val.api.endsWith("/") ? "" : "/") + "ping"); - if (responce.ok) { + const response = await fetch(val.api + (val.api.endsWith("/") ? "" : "/") + "ping"); + if (response.ok) { if (val.login) { return val as { wellknown: string; @@ -544,8 +544,8 @@ export async function getapiurls(str: string): Promise< } catch { const val = stringURLsMap.get(str); if (val) { - const responce = await fetch(val.api + (val.api.endsWith("/") ? "" : "/") + "ping"); - if (responce.ok) { + const response = await fetch(val.api + (val.api.endsWith("/") ? "" : "/") + "ping"); + if (response.ok) { if (val.login) { urls = val as { wellknown: string; From 880fae23833a82da34dfdd5c085cea02bc388c72 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 20:50:18 +0100 Subject: [PATCH 05/24] Mathium, fix your keyboard lol --- src/webpage/instances.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webpage/instances.json b/src/webpage/instances.json index 7b415f9a..a5d49c56 100644 --- a/src/webpage/instances.json +++ b/src/webpage/instances.json @@ -20,7 +20,7 @@ "gateway": "wss://gateway-spacebar.greysilly7.xyz" }, "contactInfo": { - "dicord": "greysilly7", + "discord": "greysilly7", "github": "https://github.com/greysilly7", "email": "greysilly7@gmail.com" } From 713463afd2def1bd12a7b4b1a1bc4b050de4d8e1 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 21:40:05 +0100 Subject: [PATCH 06/24] It works! Let's gooooo!~ --- src/webpage/login.ts | 4 +- src/webpage/register.ts | 4 +- src/webpage/settings.ts | 10 +- src/webpage/utils/netUtils.ts | 8 ++ src/webpage/utils/utils.ts | 263 +++++++++++++++++----------------- 5 files changed, 150 insertions(+), 139 deletions(-) create mode 100644 src/webpage/utils/netUtils.ts diff --git a/src/webpage/login.ts b/src/webpage/login.ts index 4e961058..9463e099 100644 --- a/src/webpage/login.ts +++ b/src/webpage/login.ts @@ -2,6 +2,7 @@ import {instanceinfo, adduser, Specialuser} from "./utils/utils.js"; import {I18n} from "./i18n.js"; import {Dialog, FormError} from "./settings.js"; import {makeRegister} from "./register.js"; +import {trimTrailingSlashes} from "./utils/netUtils"; function generateRecArea(recover = document.getElementById("recover")) { if (!recover) return; recover.innerHTML = ""; @@ -55,8 +56,7 @@ export async function makeLogin( opt.addTitle(I18n.login.login()); const picker = opt.addInstancePicker( (info) => { - const api = info.login + (info.login.startsWith("/") ? "/" : ""); - form.fetchURL = api + "/auth/login"; + form.fetchURL = trimTrailingSlashes(info.api) + "/auth/login"; recover(info, rec); }, { diff --git a/src/webpage/register.ts b/src/webpage/register.ts index 52b23a4a..a658fc3f 100644 --- a/src/webpage/register.ts +++ b/src/webpage/register.ts @@ -3,6 +3,7 @@ import {adduser, Specialuser} from "./utils/utils.js"; import {makeLogin} from "./login.js"; import {MarkDown} from "./markdown.js"; import {Dialog, FormError} from "./settings.js"; +import {trimTrailingSlashes} from "./utils/netUtils"; export async function makeRegister( trasparentBg = false, instance = "", @@ -13,8 +14,7 @@ export async function makeRegister( opt.addTitle(I18n.htmlPages.createAccount()); const picker = opt.addInstancePicker( (info) => { - const api = info.login + (info.login.endsWith("/") ? "" : "/"); - form.fetchURL = api + "auth/register"; + form.fetchURL = trimTrailingSlashes(info.api) + "/auth/register"; tosLogic(md); }, {instance}, diff --git a/src/webpage/settings.ts b/src/webpage/settings.ts index ff8d00a5..edea1f6a 100644 --- a/src/webpage/settings.ts +++ b/src/webpage/settings.ts @@ -3,7 +3,7 @@ import { getInstances, getStringURLMapPair, instancefetch, - instanceinfo, + InstanceInfo, removeAni, } from "./utils/utils.js"; import {Emoji} from "./emoji.js"; @@ -890,13 +890,13 @@ class Dialog { removeAni(background); } } -class InstancePicker implements OptionsElement { - value: instanceinfo | null = null; +class InstancePicker implements OptionsElement { + value: InstanceInfo | null = null; owner: Options | Form; verify = document.createElement("p"); - onchange = (_: instanceinfo) => {}; + onchange = (_: InstanceInfo) => {}; instance?: string; - watchForChange(func: (arg1: instanceinfo) => void) { + watchForChange(func: (arg1: InstanceInfo) => void) { this.onchange = func; } constructor( diff --git a/src/webpage/utils/netUtils.ts b/src/webpage/utils/netUtils.ts new file mode 100644 index 00000000..c6b05da8 --- /dev/null +++ b/src/webpage/utils/netUtils.ts @@ -0,0 +1,8 @@ +export function trimTrailingSlashes(uri: string) { + if (!uri) return uri; + return uri.replace(/\/+$/, ""); +} + +export function isLoopback(str: string) { + return str.includes("localhost") || str.includes("127.0.0.1"); +} diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index aae89570..83013d66 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -3,6 +3,8 @@ import {MarkDown} from "../markdown.js"; import {Dialog} from "../settings.js"; import {fix} from "./cssMagic.js"; import {messageFrom, messageTo} from "./serviceType.js"; +import {isLoopback, trimTrailingSlashes} from "./netUtils"; + fix(); const apiDoms = new Set(); let instances: @@ -95,13 +97,7 @@ export function setDefaults() { } setDefaults(); export class Specialuser { - serverurls: { - api: string; - cdn: string; - gateway: string; - wellknown: string; - login: string; - }; + serverurls: InstanceUrls; email: string; token: string; loggedin; @@ -117,7 +113,6 @@ export class Specialuser { this.serverurls.cdn = new URL(json.serverurls.cdn).toString().replace(/\/$/, ""); this.serverurls.gateway = new URL(json.serverurls.gateway).toString().replace(/\/$/, ""); this.serverurls.wellknown = new URL(json.serverurls.wellknown).toString().replace(/\/$/, ""); - this.serverurls.login = new URL(json.serverurls.login).toString().replace(/\/$/, ""); this.email = json.email; this.token = json.token; this.loggedin = json.loggedin; @@ -416,33 +411,119 @@ const stringURLsMap = new Map< login?: string; } >(); + +export interface InstanceUrls { + admin?: string; + api: string; + cdn: string; + gateway: string; + wellknown: string; +} + +export interface InstanceInfo extends InstanceUrls { + value: string; +} + +export async function getapiurls(str: string): Promise { + str = str.trim(); + if (!str) return null; + + console.info("Attempting to fetch .well-known's for", str); + + // Override first: + let urls: InstanceUrls | null = await getInstanceInfo(str); + if (urls) return urls; + + // Otherwise, fall back to looking it up... + try { + urls = await getApiUrlsV2(str); + if (!urls) throw new Error("meow"); + return urls; + } catch { + return await getApiUrlsV1(str); + } +} + +//region Instance list +export async function getInstanceInfo(str: string): Promise { + // wait for it to be loaded...? Where is this even comming from? + if (stringURLMap.size == 0) { + await new Promise((res, _) => { + let intervalId = setInterval(() => { + if (stringURLMap.size !== 0) { + clearInterval(intervalId); + res(); + } + }, 10); + }); + } + + console.info("Checking if we already know", str, "in our instance lists:", { + stringURLMap, + stringURLsMap, + }); + + if (stringURLMap.has(str)) { + console.error("OOH WE GOT STRING->URL MAP ENTRY FOR", str, "!!!!", stringURLMap.get(str)); + return (await getapiurls(stringURLMap.get(str)!)) as InstanceInfo; + } + + if (stringURLsMap.has(str)) { + console.error( + "WE GOT URL->INSTANCE MAP ENTRY FOR ", + str, + "!!!!!!!!!!11", + stringURLsMap.get(str), + ); + return stringURLsMap.get(str) as InstanceInfo; + } + + return null; +} +//endregion + +//region Well-Known v2 +export async function getApiUrlsV2(str: string): Promise { + if (!URL.canParse(str)) { + console.log("getApiUrlsV2:", str, "is not a parseable url"); + return null; + } + try { + const info = await fetch(str + "/.well-known/spacebar/client").then((r) => r.json()); + return { + admin: info.admin?.baseUrl, + api: info.api.baseUrl + "/api/v" + info.api.apiVersions.default, + gateway: info.gateway.baseUrl, + cdn: info.cdn.baseUrl, + wellknown: str, + }; + } catch (e) { + console.log("No .well-known v2 for", str, (e as Error).message); + return null; + } +} +//endregion + +//region Well-Known v1 /** - * this fucntion checks if a string is an instance, it'll either return the API urls or false + * this function checks if a string is an instance, it'll either return the API urls or null */ -export async function getapiurls(str: string): Promise< - | { - api: string; - cdn: string; - gateway: string; - wellknown: string; - login: string; - } - | false -> { +export async function getApiUrlsV1(str: string): Promise { function appendApi(str: string) { return str.includes("api") ? str : str.endsWith("/") ? str + "api" : str + "/api"; } if (!URL.canParse(str)) { - const val = stringURLMap.get(str); if (stringURLMap.size === 0) { await new Promise((res) => { - setInterval(() => { + let intervalID = setInterval(() => { if (stringURLMap.size !== 0) { + clearInterval(intervalID); res(); } }, 100); }); } + const val = stringURLMap.get(str); if (val) { str = val; } else { @@ -451,22 +532,10 @@ export async function getapiurls(str: string): Promise< const response = await fetch(val.api + (val.api.endsWith("/") ? "" : "/") + "ping"); if (response.ok) { if (val.login) { - return val as { - wellknown: string; - api: string; - cdn: string; - gateway: string; - login: string; - }; + return val as InstanceUrls; } else { val.login = val.api; - return val as { - wellknown: string; - api: string; - cdn: string; - gateway: string; - login: string; - }; + return val as InstanceUrls; } } } else if (!str.match(/^https?:\/\//gm)) { @@ -480,54 +549,25 @@ export async function getapiurls(str: string): Promise< let api: string; try { const info = await fetch(`${str}.well-known/spacebar`).then((x) => x.json()); - if (info.api.endsWith("/")) { - const temp = info.api.split("/"); - temp.pop(); - info.api = temp.join("/"); - } - api = info.api; + api = trimTrailingSlashes(info.api); } catch { api = str; } if (!URL.canParse(api)) { - return false; + return null; } const url = new URL(api); - function isloopback(str: string) { - return str.includes("localhost") || str.includes("127.0.0.1"); - } - let urls: - | undefined - | { - api: string; - cdn: string; - gateway: string; - wellknown: string; - login: string; - }; + let urls: undefined | InstanceUrls; function fixApi() { if (!urls) return; - if (urls.api.endsWith("/")) { - const split = urls.api.split("/"); - split.pop(); - urls.api = split.join("/"); - } - if (urls.cdn.endsWith("/")) { - const split = urls.cdn.split("/"); - split.pop(); - urls.cdn = split.join("/"); - } - if (urls.gateway.endsWith("/")) { - const split = urls.gateway.split("/"); - split.pop(); - urls.gateway = split.join("/"); - } - if (urls.login.endsWith("/")) { - const split = urls.login.split("/"); - split.pop(); - urls.login = split.join("/"); - } + urls = { + wellknown: trimTrailingSlashes(urls.wellknown), + api: trimTrailingSlashes(urls.api), + cdn: trimTrailingSlashes(urls.cdn), + gateway: trimTrailingSlashes(urls.gateway), + }; } + try { const info = await fetch( `${api}${url.pathname.includes("api") ? "" : "api"}/policies/instance/domains`, @@ -538,49 +578,27 @@ export async function getapiurls(str: string): Promise< gateway: info.gateway, cdn: info.cdn, wellknown: str, - login: apiurl.origin + appendApi(apiurl.pathname), }; fixApi(); } catch { const val = stringURLsMap.get(str); if (val) { - const response = await fetch(val.api + (val.api.endsWith("/") ? "" : "/") + "ping"); + const response = await fetch(trimTrailingSlashes(val.api) + "/ping"); if (response.ok) { if (val.login) { - urls = val as { - wellknown: string; - api: string; - cdn: string; - gateway: string; - login: string; - }; + urls = val as InstanceUrls; fixApi(); } else { val.login = val.api; - urls = val as { - wellknown: string; - api: string; - cdn: string; - gateway: string; - login: string; - }; + urls = val as InstanceUrls; fixApi(); } } } } if (urls) { - if (isloopback(urls.api) !== isloopback(str)) { - return new Promise< - | { - api: string; - cdn: string; - gateway: string; - wellknown: string; - login: string; - } - | false - >((res) => { + if (isLoopback(urls.api) !== isLoopback(str)) { + return new Promise((res) => { const menu = new Dialog(""); const options = menu.float.options; options.addMDText(new MarkDown(I18n.incorrectURLS(), undefined)); @@ -589,6 +607,7 @@ export async function getapiurls(str: string): Promise< opt.addButtonInput("", I18n.yes(), async () => { if (clicked) return; clicked = true; + if (urls == null) throw new Error("How the fuck was `urls` null here?"); const temp = new URL(str); temp.port = ""; const newOrgin = temp.host; @@ -598,7 +617,6 @@ export async function getapiurls(str: string): Promise< cdn: new URL(urls.cdn), gateway: new URL(urls.gateway), wellknown: new URL(urls.wellknown), - login: new URL(urls.login), }; tempurls.api.host = newOrgin; tempurls.api.protocol = protical; @@ -612,9 +630,6 @@ export async function getapiurls(str: string): Promise< tempurls.wellknown.host = newOrgin; tempurls.wellknown.protocol = protical; - tempurls.login.host = newOrgin; - tempurls.login.protocol = protical; - try { if ( !( @@ -623,12 +638,12 @@ export async function getapiurls(str: string): Promise< ) ).ok ) { - res(false); + res(null); menu.hide(); return; } } catch { - res(false); + res(null); menu.hide(); return; } @@ -637,23 +652,23 @@ export async function getapiurls(str: string): Promise< cdn: tempurls.cdn.toString(), gateway: tempurls.gateway.toString(), wellknown: tempurls.wellknown.toString(), - login: tempurls.login.toString(), }); menu.hide(); }); const no = opt.addButtonInput("", I18n.no(), async () => { if (clicked) return; clicked = true; + if (urls == null) throw new Error("How the fuck was `urls` null here?"); try { //TODO make this a promise race for when the server just never responds //TODO maybe try to strip ports as another way to fix it if (!(await fetch(urls.api + "ping")).ok) { - res(false); + res(null); menu.hide(); return; } } catch { - res(false); + res(null); return; } res(urls); @@ -673,15 +688,17 @@ export async function getapiurls(str: string): Promise< //*/ try { if (!(await fetch(urls.api + "/ping")).ok) { - return false; + return null; } } catch { - return false; + return null; } return urls; } - return false; + return null; } +//endregion + async function isAnimated(src: string) { try { src = new URL(src).pathname; @@ -780,14 +797,7 @@ export function createImg( }, }); } -export interface instanceinfo { - wellknown: string; - api: string; - cdn: string; - gateway: string; - login: string; - value: string; -} + /** * * This function takes in a string and checks if the string is a valid instance @@ -807,7 +817,7 @@ const checkInstance = Object.assign( loginButton.disabled = true; verify!.textContent = I18n.login.checking(); const instanceValue = instance; - const instanceinfo = (await getapiurls(instanceValue)) as instanceinfo; + const instanceinfo = (await getapiurls(instanceValue)) as InstanceInfo; if (instanceinfo) { instanceinfo.value = instanceValue; localStorage.setItem("instanceinfo", JSON.stringify(instanceinfo)); @@ -834,14 +844,7 @@ const checkInstance = Object.assign( } }, {} as { - alt?: (e: { - wellknown: string; - api: string; - cdn: string; - gateway: string; - login: string; - value: string; - }) => void; + alt?: (e: InstanceInfo) => void; }, ); { From 4c45d831b57b276836ee5602bdec3b70da3ca10a Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 21:42:04 +0100 Subject: [PATCH 07/24] Typo fix: protical -> protocol --- src/webpage/markdown.ts | 4 ++-- src/webpage/utils/utils.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/webpage/markdown.ts b/src/webpage/markdown.ts index a584131a..e936f004 100644 --- a/src/webpage/markdown.ts +++ b/src/webpage/markdown.ts @@ -719,8 +719,8 @@ class MarkDown { } if (URL.canParse(build) && txt[j] === ">") { const url = new URL(build); - const allowedProticals = new Set(["https:", "http:"]); - if (allowedProticals.has(url.protocol)) { + const allowedprotocols = new Set(["https:", "http:"]); + if (allowedprotocols.has(url.protocol)) { i = j; if (keep) { diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 83013d66..7e513cd2 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -611,7 +611,7 @@ export async function getApiUrlsV1(str: string): Promise { const temp = new URL(str); temp.port = ""; const newOrgin = temp.host; - const protical = temp.protocol; + const protocol = temp.protocol; const tempurls = { api: new URL(urls.api), cdn: new URL(urls.cdn), @@ -619,16 +619,16 @@ export async function getApiUrlsV1(str: string): Promise { wellknown: new URL(urls.wellknown), }; tempurls.api.host = newOrgin; - tempurls.api.protocol = protical; + tempurls.api.protocol = protocol; tempurls.cdn.host = newOrgin; - tempurls.api.protocol = protical; + tempurls.api.protocol = protocol; tempurls.gateway.host = newOrgin; tempurls.gateway.protocol = temp.protocol === "http:" ? "ws:" : "wss:"; tempurls.wellknown.host = newOrgin; - tempurls.wellknown.protocol = protical; + tempurls.wellknown.protocol = protocol; try { if ( From fee165d586e32f1e668b8f4a089137a43d258e51 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Tue, 30 Dec 2025 21:42:46 +0100 Subject: [PATCH 08/24] Typo fix: orgin -> origin --- src/webpage/localuser.ts | 8 ++++---- src/webpage/utils/utils.ts | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 04267e13..828d6987 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -4026,7 +4026,7 @@ class Localuser { remove(); } } - MDFindChannel(name: string, orginal: string, box: HTMLDivElement, typebox: MarkDown) { + MDFindChannel(name: string, original: string, box: HTMLDivElement, typebox: MarkDown) { const maybe: [number, Channel][] = []; if (this.lookingguild && this.lookingguild.id !== "@me") { for (const channel of this.lookingguild.channels) { @@ -4039,7 +4039,7 @@ class Localuser { maybe.sort((a, b) => b[0] - a[0]); this.MDSearchOptions( maybe.map((a) => ["# " + a[1].name, `<#${a[1].id}> `, undefined]), - orginal, + original, box, typebox, ); @@ -4113,7 +4113,7 @@ class Localuser { } } } - findEmoji(search: string, orginal: string, box: HTMLDivElement, typebox: MarkDown) { + findEmoji(search: string, original: string, box: HTMLDivElement, typebox: MarkDown) { const emj = Emoji.searchEmoji(search, this, 10); const map = emj.map(([emoji]): [string, string, HTMLElement, () => void] => { return [ @@ -4127,7 +4127,7 @@ class Localuser { }, ]; }); - this.MDSearchOptions(map, orginal, box, typebox); + this.MDSearchOptions(map, original, box, typebox); } async findCommands(search: string, box: HTMLDivElement, md: MarkDown) { const guild = this.lookingguild; diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 7e513cd2..10f201a4 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -610,7 +610,7 @@ export async function getApiUrlsV1(str: string): Promise { if (urls == null) throw new Error("How the fuck was `urls` null here?"); const temp = new URL(str); temp.port = ""; - const newOrgin = temp.host; + const newOrigin = temp.host; const protocol = temp.protocol; const tempurls = { api: new URL(urls.api), @@ -618,16 +618,16 @@ export async function getApiUrlsV1(str: string): Promise { gateway: new URL(urls.gateway), wellknown: new URL(urls.wellknown), }; - tempurls.api.host = newOrgin; + tempurls.api.host = newOrigin; tempurls.api.protocol = protocol; - tempurls.cdn.host = newOrgin; + tempurls.cdn.host = newOrigin; tempurls.api.protocol = protocol; - tempurls.gateway.host = newOrgin; + tempurls.gateway.host = newOrigin; tempurls.gateway.protocol = temp.protocol === "http:" ? "ws:" : "wss:"; - tempurls.wellknown.host = newOrgin; + tempurls.wellknown.host = newOrigin; tempurls.wellknown.protocol = protocol; try { From 1e77cc5106a68c79a30d6736a65f0149599fc54c Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Wed, 31 Dec 2025 20:01:34 -0600 Subject: [PATCH 09/24] little modification --- src/webpage/utils/utils.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 10f201a4..595fbe1e 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -543,12 +543,10 @@ export async function getApiUrlsV1(str: string): Promise { } } } - if (str.at(-1) !== "/") { - str += "/"; - } + str = trimTrailingSlashes(str); let api: string; try { - const info = await fetch(`${str}.well-known/spacebar`).then((x) => x.json()); + const info = await fetch(`${str}/.well-known/spacebar`).then((x) => x.json()); api = trimTrailingSlashes(info.api); } catch { api = str; @@ -607,7 +605,7 @@ export async function getApiUrlsV1(str: string): Promise { opt.addButtonInput("", I18n.yes(), async () => { if (clicked) return; clicked = true; - if (urls == null) throw new Error("How the fuck was `urls` null here?"); + if (urls == null) throw new Error("Unexpected undefined, exiting"); const temp = new URL(str); temp.port = ""; const newOrigin = temp.host; @@ -658,7 +656,7 @@ export async function getApiUrlsV1(str: string): Promise { const no = opt.addButtonInput("", I18n.no(), async () => { if (clicked) return; clicked = true; - if (urls == null) throw new Error("How the fuck was `urls` null here?"); + if (urls == null) throw new Error("URLs is undefined"); try { //TODO make this a promise race for when the server just never responds //TODO maybe try to strip ports as another way to fix it @@ -837,7 +835,6 @@ const checkInstance = Object.assign( return; } } catch { - console.log("catch"); verify!.textContent = I18n.login.invalid(); loginButton.disabled = true; return; From 4c8ce52d3ba94373b14688fabebb99e313f9ba84 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Wed, 31 Dec 2025 07:38:53 +0100 Subject: [PATCH 10/24] Typo fix: HorrizonalRule -> HorizontalRule --- src/webpage/settings.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/webpage/settings.ts b/src/webpage/settings.ts index edea1f6a..64a63d19 100644 --- a/src/webpage/settings.ts +++ b/src/webpage/settings.ts @@ -1245,7 +1245,7 @@ class Options implements OptionsElement { return text; } addHR() { - const rule = new HorrizonalRule(); + const rule = new HorizontalRule(); this.options.push(rule); this.generate(rule); return rule; @@ -2098,7 +2098,7 @@ class Form implements OptionsElement { element.textContent = message; } } -class HorrizonalRule implements OptionsElement { +class HorizontalRule implements OptionsElement { constructor() {} generateHTML(): HTMLElement { return document.createElement("hr"); From 37deda8679fe26fe8c2023498e00be118630ae66 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Wed, 31 Dec 2025 07:40:14 +0100 Subject: [PATCH 11/24] Typo fix: Containter -> Container --- src/webpage/settings.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/webpage/settings.ts b/src/webpage/settings.ts index 64a63d19..d38f0f80 100644 --- a/src/webpage/settings.ts +++ b/src/webpage/settings.ts @@ -1077,7 +1077,7 @@ class Options implements OptionsElement { const container = this.container.deref(); if (container) { if (this.isTop()) { - this.generateContainter(); + this.generateContainer(); } else if (this.owner instanceof Options) { this.owner.genTop(); } else { @@ -1318,7 +1318,7 @@ class Options implements OptionsElement { const container = document.createElement("div"); this.container = new WeakRef(container); container.classList.add(this.ltr ? "flexltr" : "flexttb", "flexspace"); - this.generateContainter(); + this.generateContainer(); div.append(container); return div; } @@ -1368,7 +1368,7 @@ class Options implements OptionsElement { this.owner instanceof Float ); } - generateContainter() { + generateContainer() { const container = this.container.deref(); if (container) { container.innerHTML = ""; @@ -1711,8 +1711,8 @@ class Form implements OptionsElement { traditionalSubmit, }); } - generateContainter() { - this.options.generateContainter(); + generateContainer() { + this.options.generateContainer(); if (this.options.isTop() && this.button && this.button.deref()) { (this.button.deref() as HTMLElement).hidden = false; } From 0d0aabb8ae93fbbe59f30d6ad3f03c6f99051eda Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Wed, 31 Dec 2025 08:55:05 +0100 Subject: [PATCH 12/24] Service Worker: option to disable media cache by disabling worker outright --- src/webpage/localuser.ts | 4 ++-- src/webpage/utils/utils.ts | 5 ++++- translations/en.json | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 828d6987..77d9423a 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -2493,13 +2493,13 @@ class Localuser { const sw = update.addSelect( I18n.localuser.swSettings(), () => {}, - (["SWOff", "SWOffline", "SWOn"] as const).map((e) => I18n.localuser[e]()), + (["SWOff", "SWOffline", "SWOn", "SWUnregistered"] as const).map((e) => I18n.localuser[e]()), { defaultIndex: index, }, ); sw.onchange = (e) => { - SW.setMode((["false", "offlineOnly", "true"] as const)[e]); + SW.setMode((["false", "offlineOnly", "true", "unregistered"] as const)[e]); }; update.addButtonInput("", I18n.localuser.CheckUpdate(), async () => { const update = await SW.checkUpdates(); diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 595fbe1e..550d0589 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -986,6 +986,9 @@ export class SW { } static async start() { if (!("serviceWorker" in navigator)) return; + + // If it's registered, it handles CDN caching regardless of settings. + if(localStorage.getItem("SWMode") === "unregistered") return; return new Promise((res) => { navigator.serviceWorker .register("/service.js", { @@ -1016,7 +1019,7 @@ export class SW { }); }); } - static setMode(mode: "false" | "offlineOnly" | "true") { + static setMode(mode: "false" | "offlineOnly" | "true" | "unregistered") { localStorage.setItem("SWMode", mode); if (this.worker) { this.worker.postMessage({data: mode, code: "setMode"}); diff --git a/translations/en.json b/translations/en.json index 1fc77858..406185dd 100644 --- a/translations/en.json +++ b/translations/en.json @@ -516,6 +516,7 @@ "VoiceWarning": "Are you sure you want to enable this? It's very experimental and is likely to cause issues. (this feature is for devs, please don't enable if you don't know what you're doing)", "updateSettings": "Update Settings", "swSettings": "Service Worker setting", + "SWUnregistered": "Off (including media cache)", "SWOff": "Off", "SWOffline": "Offline only", "SWOn": "On", From 1d82bce4e6192e0da144859dd6362767326418b6 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:33:18 +0100 Subject: [PATCH 13/24] Basic storage classes --- src/webpage/utils/storage/devSettings.ts | 76 +++++++++++++ src/webpage/utils/storage/localSettings.ts | 52 +++++++++ src/webpage/utils/storage/sessionStore.ts | 23 ++++ src/webpage/utils/storage/userPreferences.ts | 106 +++++++++++++++++++ 4 files changed, 257 insertions(+) create mode 100644 src/webpage/utils/storage/devSettings.ts create mode 100644 src/webpage/utils/storage/localSettings.ts create mode 100644 src/webpage/utils/storage/sessionStore.ts create mode 100644 src/webpage/utils/storage/userPreferences.ts diff --git a/src/webpage/utils/storage/devSettings.ts b/src/webpage/utils/storage/devSettings.ts new file mode 100644 index 00000000..c2e24708 --- /dev/null +++ b/src/webpage/utils/storage/devSettings.ts @@ -0,0 +1,76 @@ +export class DeveloperSettings { + gatewayLogging: boolean = false; + gatewayCompression: boolean = true; + showTraces: boolean = false; + interceptApiTraces: boolean = false; + cacheSourceMaps: boolean = false; + logBannedFields: boolean = false; + + constructor(data: Partial = {}) { + Object.assign(this, data); + } +} + +export function getDeveloperSettings(): DeveloperSettings { + return new DeveloperSettings( + JSON.parse(localStorage.getItem("developerSettings") || "{}"), + ); +} + +export function setDeveloperSettings(settings: DeveloperSettings): void { + localStorage.setItem("developerSettings", JSON.stringify(settings)); +} + +//region Migration from untyped storage +async function migrateOldDeveloperSettings(): Promise { + const devSettings = getDeveloperSettings(); + let mod = false; + + const oldGatewayLogging = localStorage.getItem("logGateway"); + if (oldGatewayLogging !== null) { + devSettings.gatewayLogging = oldGatewayLogging === "true"; + localStorage.removeItem("logGateway"); + mod = true; + } + + const oldGatewayCompression = localStorage.getItem("gateWayComp"); + if (oldGatewayCompression !== null) { + devSettings.gatewayCompression = oldGatewayCompression === "true"; + localStorage.removeItem("gateWayComp"); + mod = true; + } + + const oldShowTraces = localStorage.getItem("traces"); + if (oldShowTraces !== null) { + devSettings.showTraces = oldShowTraces === "true"; + localStorage.removeItem("traces"); + mod = true; + } + + const oldInterceptApiTraces = localStorage.getItem("capTrace"); + if (oldInterceptApiTraces !== null) { + devSettings.interceptApiTraces = oldInterceptApiTraces === "true"; + localStorage.removeItem("capTrace"); + mod = true; + } + + const oldCacheSourceMaps = localStorage.getItem("isDev"); + if (oldCacheSourceMaps !== null) { + devSettings.cacheSourceMaps = oldCacheSourceMaps === "true"; + localStorage.removeItem("isDev"); + mod = true; + } + + const oldLogBannedFields = localStorage.getItem("logbad"); + if (oldLogBannedFields !== null) { + devSettings.logBannedFields = oldLogBannedFields === "true"; + localStorage.removeItem("logbad"); + mod = true; + } + + if (mod) { + setDeveloperSettings(devSettings); + } +} +await migrateOldDeveloperSettings(); +//endregion \ No newline at end of file diff --git a/src/webpage/utils/storage/localSettings.ts b/src/webpage/utils/storage/localSettings.ts new file mode 100644 index 00000000..0af2cb6f --- /dev/null +++ b/src/webpage/utils/storage/localSettings.ts @@ -0,0 +1,52 @@ +export enum ServiceWorkerMode { + // Skips registering the service worker completely + Unregistered = "unregistered", + // Registers the service worker but does not activate it + Disabled = "disabled", + // Ensures client files are cached and used when offline + OfflineOnly = "offlineOnly", + // Cache everything and use cached files when possible + Enabled = "enabled", +} + +export const ServiceWorkerModeValues = [ + ServiceWorkerMode.Unregistered, + ServiceWorkerMode.Disabled, + ServiceWorkerMode.OfflineOnly, + ServiceWorkerMode.Enabled, +]; + +export class LocalSettings { + serviceWorkerMode: ServiceWorkerMode = ServiceWorkerMode.Unregistered; + constructor(init?: Partial) { + Object.assign(this, init); + } +} + +export function getLocalSettings(): LocalSettings { + return new LocalSettings(JSON.parse(localStorage.getItem("localSettings") || "{}")); +} + +export function setLocalSettings(settings: LocalSettings): void { + localStorage.setItem("localSettings", JSON.stringify(settings)); +} + +//region Migration from untyped storage +function migrateOldSettings() { + const settings = getLocalSettings(); + let mod = false; + + const oldSWMode = localStorage.getItem("SWMode"); + if (oldSWMode !== null) { + settings.serviceWorkerMode = oldSWMode as ServiceWorkerMode; + localStorage.removeItem("SWMode"); + mod = true; + } + + if (mod) { + localStorage.setItem("localSettings", JSON.stringify(settings)); + } +} + +migrateOldSettings(); +//endregion \ No newline at end of file diff --git a/src/webpage/utils/storage/sessionStore.ts b/src/webpage/utils/storage/sessionStore.ts new file mode 100644 index 00000000..6ac3ba57 --- /dev/null +++ b/src/webpage/utils/storage/sessionStore.ts @@ -0,0 +1,23 @@ +export type UserAuth = { + serverName: string; + token: string; + id: string; + cachedUsername: string; + cachedAvatarUrl: string; + // @deprecated + cachedEmail?: string; + sessionId: string; +} + +export class SessionStore { + currentSession: string; + sessions: Map = {}; + + constructor(init?: Partial) { + Object.assign(this, init); + } + + getCurrentSession(): UserAuth | null { + return this.sessions.get(this.currentSession) || null; + } +} \ No newline at end of file diff --git a/src/webpage/utils/storage/userPreferences.ts b/src/webpage/utils/storage/userPreferences.ts new file mode 100644 index 00000000..fb21d008 --- /dev/null +++ b/src/webpage/utils/storage/userPreferences.ts @@ -0,0 +1,106 @@ +// Async in order to account for maybe some day Spacebar supporting account data... +export enum AnimateTristateValue { + Always = "always", + OnlyOnHover = "hover", + Never = "never", +} +export const AnimateTristateValues = [ + AnimateTristateValue.Always, + AnimateTristateValue.OnlyOnHover, + AnimateTristateValue.Never, +]; + +export enum ThemeOption { + Dark = "Dark", + White = "WHITE", + Light = "Light", + DarkAccent = "Dark-Accent", +} +export const ThemeOptionValues = [ + ThemeOption.Dark, + ThemeOption.White, + ThemeOption.Light, + ThemeOption.DarkAccent, +]; + +export class UserPreferences { + showBlogUpdates?: boolean; + locale: string = navigator.language || "en"; + + // render settings + animateIcons: AnimateTristateValue = AnimateTristateValue.Always; + animateGifs: AnimateTristateValue = AnimateTristateValue.OnlyOnHover; + renderJoinAvatars: boolean = true; + theme: ThemeOption = ThemeOption.Dark; + accentColor: string = "#5865F2"; + emojiFont?: string; + + constructor(init?: Partial) { + Object.assign(this, init); + } +} + +export async function getPreferences(): Promise{ + return new UserPreferences(JSON.parse(localStorage.getItem("userPreferences") || "{}")); +} + +export async function setPreferences(prefs: UserPreferences): Promise{ + localStorage.setItem("userPreferences", JSON.stringify(prefs)); +} + + +//region Migration from untyped storage +async function migrateOldPreferences(): Promise { + const prefs = await getPreferences(); + const oldBlogUpdates = localStorage.getItem("blogUpdates"); + let mod = false; + + if (oldBlogUpdates !== null) { + prefs.showBlogUpdates = oldBlogUpdates === "Yes"; + localStorage.removeItem("blogUpdates"); + mod = true; + } + + const oldAnimateGifs = localStorage.getItem("gifSetting"); + if (oldAnimateGifs !== null) { + prefs.animateGifs = oldAnimateGifs as AnimateTristateValue; + localStorage.removeItem("gifSetting"); + mod = true; + } + + const oldAnimateIcons = localStorage.getItem("iconSetting"); + if (oldAnimateIcons !== null) { + prefs.animateIcons = oldAnimateIcons as AnimateTristateValue; + localStorage.removeItem("iconSetting"); + mod = true; + } + + const oldTheme = localStorage.getItem("theme"); + if (oldTheme !== null) { + prefs.theme = oldTheme as ThemeOption; + localStorage.removeItem("theme"); + mod = true; + } + + const oldLocale = localStorage.getItem("locale"); + if (oldLocale !== null) { + prefs.locale = oldLocale; + localStorage.removeItem("locale"); + mod = true; + } + + const oldEmojiFont = localStorage.getItem("emoji-font"); + if (oldEmojiFont !== null) { + prefs.emojiFont = oldEmojiFont; + localStorage.removeItem("emoji-font"); + mod = true; + } + + if (mod) { + // TODO: proper saving and versioning and crap... + localStorage.setItem("userPreferences", JSON.stringify(prefs)); + } +} + +await migrateOldPreferences(); +//endregion \ No newline at end of file From 9e8d0e6cb86acd45c6311dd549b8aa244a76c8cf Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:33:46 +0100 Subject: [PATCH 14/24] Move and rename service worker options in translations --- translations/de.json | 1106 +++++++++++++-------------- translations/en.json | 1515 +++++++++++++++++++------------------ translations/fr.json | 1207 ++++++++++++++--------------- translations/ko.json | 590 +++++++-------- translations/lb.json | 574 +++++++------- translations/lt.json | 589 +++++++------- translations/mk.json | 1492 ++++++++++++++++++------------------ translations/nl.json | 1379 ++++++++++++++++----------------- translations/pl.json | 1110 +++++++++++++-------------- translations/pms.json | 490 ++++++------ translations/pt-br.json | 1422 +++++++++++++++++----------------- translations/qqq.json | 52 +- translations/ru.json | 934 +++++++++++------------ translations/tok.json | 152 ++-- translations/tr.json | 862 ++++++++++----------- translations/vi.json | 17 +- translations/zh-hant.json | 1493 ++++++++++++++++++------------------ 17 files changed, 7500 insertions(+), 7484 deletions(-) diff --git a/translations/de.json b/translations/de.json index 97b65980..11b7e8ab 100644 --- a/translations/de.json +++ b/translations/de.json @@ -1,4 +1,5 @@ { + "2faCode": "2FA-Code:", "@metadata": { "authors": [ "Booky", @@ -14,643 +15,646 @@ "SomeRandomDeveloper" ] }, - "vc": { - "joinstream": "Stream ansehen", - "leavestream": "Stream verlassen", - "joinForStream": "Tritt dem VC bei, um zuzusehen", - "stopstream": "Stream stoppen", - "joiningStream": "Trete Stream bei..." - }, - "favoriteGifs": "Lieblings-Gifs", - "recentEmoji": "Letzte Emoji", - "noStickers": "Du scheinst dich in einer misslichen Lage zu befinden, es gibt keine Sticker für dich!", - "readableName": "Englisch", - "pinMessage": "Nachricht anheften", - "unableToPin": "Nachricht kann nicht angeheftet werden", - "reply": "Antworten", - "copyrawtext": "Rohtext kopieren", - "copyLink": "Nachrichten-Id kopieren", - "copymessageid": "Nachrichten-Id kopieren", - "media": { - "notFound": "Medien konnten nicht gefunden werden", - "loading": "Lädt", - "download": "Medien herunterladen", - "moreInfo": "Weitere Infos", - "artist": "Künstler: $1", - "composer": "Komponist: $1", - "length": "Länge: $1 Minuten und $2 Sekunden" - }, - "logout": { - "logout": "Abmelden", - "error": { - "title": "Es gab einen Fehler bei der Abmeldung.", - "desc": "Fermi konnte Sie nicht abmelden\n Möchten Sie das Konto trotzdem entfernen?", - "cancel": "Abbrechen", - "cont": "Trotzdem fortfahren" - } - }, - "cancel": "Abbrechen", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Erlaubt dem Nutzer, Server-Einladungen zu erstellen", - "KICK_MEMBERS": "Erlaubt dem Nutzer, Mitglieder vom Server zu werfen", - "BAN_MEMBERS": "Erlaubt dem Nutzer, Mitglieder vom Server zu bannen", - "ADMINISTRATOR": "Erlaubt dem Nutzer alle Berechtigungen und umgeht das Überschreiben von Kanalberechtigungen. Dies ist eine gefährliche Berechtigung!", - "MANAGE_CHANNELS": "Erlaubt dem Nutzer, Kanäle zu verwalten und zu editieren", - "MANAGE_GUILD": "Erlaubt dem Nutzer, den Server zu verwalten und zu editieren", - "ADD_REACTIONS": "Erlaubt dem Nutzer, auf Nachrichten zu reagieren", - "VIEW_AUDIT_LOG": "Erlaubt dem Nutzer die Einsicht des Audit-Logs", - "PRIORITY_SPEAKER": "Erlaubt dem Nutzer, ein Prioritätssprecher in Sprachkanälen zu sein", - "STREAM": "Erlaubt dem Nutzer zu streamen", - "VIEW_CHANNEL": "Erlaubt dem Nutzer, den Kanal zu sehen", - "SEND_MESSAGES": "Erlaubt dem Nutzer, Nachrichten zu senden", - "SEND_TTS_MESSAGES": "Erlaubt dem Nutzer das Senden von Text-zu-Sprache Nachrichten", - "MANAGE_MESSAGES": "Erlaubt dem Nutzer das Löschen von Nachrichten anderer Nutzer", - "EMBED_LINKS": "Erlaubt dem Nutzer die automatische Einbettung von Links", - "ATTACH_FILES": "Erlaubt dem Nutzer den Anhang von Dateien", - "READ_MESSAGE_HISTORY": "Erlaubt dem Nutzer, den Nachrichtenverlauf einzusehen", - "MENTION_EVERYONE": "Erlaubt dem Nutzer die Erwähnung von @everyone", - "USE_EXTERNAL_EMOJIS": "Erlaubt dem Nutzer die Benutzung von externen Emojis", - "VIEW_GUILD_INSIGHTS": "Erlaubt dem Nutzer die Einsicht von Server Insights", - "CONNECT": "Erlaubt dem Nutzer die Verbindung zu Sprachkanälen", - "SPEAK": "Erlaubt dem Nutzer das Sprechen in Sprachkanälen", - "MUTE_MEMBERS": "Erlaubt dem Nutzer, andere Nutzer serverweit stummzuschalten", - "DEAFEN_MEMBERS": "Erlaubt es dem Benutzer, andere Mitglieder stummzuschalten", - "MOVE_MEMBERS": "Erlaubt dem Nutzer, andere Nutzer zwischen Sprachkanälen zu verschieben", - "USE_VAD": "Erlaubt dem Nutzer, in Sprachkanälen ohne Push-to-Talk zu sprechen", - "CHANGE_NICKNAME": "Erlaubt dem Nutzer, seinen eigenen Nicknamen zu ändern", - "MANAGE_NICKNAMES": "Erlaubt dem Nutzer, die Nicknamen von anderen Nutzern zu verwalten", - "MANAGE_ROLES": "Erlaubt dem Nutzer, die Serverrollen zu verwalten und zu editieren", - "MANAGE_WEBHOOKS": "Erlaubt dem Nutzer, Webhooks zu verwalten und zu editieren", - "MANAGE_GUILD_EXPRESSIONS": "Ermöglicht die Verwaltung von Emojis, Stickern und dem Soundboard", - "USE_APPLICATION_COMMANDS": "Erlaubt dem Nutzer die Verwendung von Befehlen bestimmter Anwendungen", - "REQUEST_TO_SPEAK": "Erlaubt dem Nutzer, in einem Bühnenkanal das Rederecht zu erbitten", - "MANAGE_EVENTS": "Erlaubt dem Nutzer das Verwalten und Editieren von Events", - "MANAGE_THREADS": "Erlaubt es dem Benutzer, Threads zu löschen und zu archivieren sowie alle privaten Threads anzuzeigen", - "CREATE_PUBLIC_THREADS": "Erlaubt es dem Benutzer, öffentliche Threads zu erstellen", - "CREATE_PRIVATE_THREADS": "Erlaubt es dem Benutzer, private Threads zu erstellen", - "USE_EXTERNAL_STICKERS": "Ermöglicht dem Benutzer, externe Sticker zu verwenden", - "SEND_MESSAGES_IN_THREADS": "Ermöglicht dem Benutzer, Nachrichten in Threads zu senden", - "USE_EMBEDDED_ACTIVITIES": "Erlaubt es dem Benutzer, eingebettete Aktivitäten zu nutzen", - "MODERATE_MEMBERS": "Erlaubt es dem Benutzer, andere Benutzer zeitlich auszuschließen, um zu verhindern, dass sie Nachrichten im Chat und in Threads senden oder darauf reagieren, sowie um zu verhindern, dass sie in Sprach- und Bühnenkanälen sprechen", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Ermöglicht das Anzeigen von Einblicken in Rollenabonnements", - "USE_SOUNDBOARD": "Erlaubt die Verwendung eines Soundboards in einem Sprachkanal", - "CREATE_GUILD_EXPRESSIONS": "Erlaubt die Erstellung von Emojis, Stickern und Soundboard-Sounds sowie die Bearbeitung und Löschung derer, die vom aktuellen Benutzer erstellt wurden.", - "CREATE_EVENTS": "Erlaubt die Erstellung von geplanten Ereignissen und die Bearbeitung und Löschung der von dem aktuellen Benutzer erstellten Ereignisse.", - "USE_EXTERNAL_SOUNDS": "Ermöglicht die Verwendung benutzerdefinierter Soundboard-Sounds von anderen Gilden", - "SEND_VOICE_MESSAGES": "Ermöglicht Senden von Sprachnachrichten", - "SEND_POLLS": "Erlaubt die Absendung von Umfragen", - "USE_EXTERNAL_APPS": "Ermöglicht benutzerinstallierten Apps, öffentliche Antworten zu senden. Wenn diese Option deaktiviert ist, können Benutzer ihre Apps weiterhin verwenden, die Antworten sind jedoch flüchtig. Dies gilt nur für Apps, die nicht auch auf dem Server installiert sind." - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Einladung erstellen", - "KICK_MEMBERS": "Mitglieder rauswerfen", - "BAN_MEMBERS": "Mitglieder bannen", - "ADMINISTRATOR": "Administrator", - "MANAGE_CHANNELS": "Vorlagen verwalten", - "MANAGE_GUILD": "Gilde verwalten", - "ADD_REACTIONS": "Reaktionen hinzufügen", - "VIEW_AUDIT_LOG": "Audit-Protokoll anzeigen", - "PRIORITY_SPEAKER": "Prioritätsredner", - "STREAM": "Video", - "VIEW_CHANNEL": "Änderungen zeigen", - "SEND_MESSAGES": "Nachricht senden", - "SEND_TTS_MESSAGES": "Senden von Text-to-Speech-Nachrichten", - "MANAGE_MESSAGES": "Nachrichten verwalten", - "EMBED_LINKS": "Links einbetten", - "ATTACH_FILES": "Dateien anhängen", - "READ_MESSAGE_HISTORY": "Nachrichtenverlauf lesen", - "MENTION_EVERYONE": "Erwähne @everyone, @here und alle Rollen", - "USE_EXTERNAL_EMOJIS": "Externe Emojis verwenden", - "VIEW_GUILD_INSIGHTS": "Gildeneinblicke anzeigen", - "CONNECT": "Verbunden", - "SPEAK": "Bergspitze", - "MUTE_MEMBERS": "Mitglieder stummschalten", - "DEAFEN_MEMBERS": "Mitglieder stumm schalten", - "MOVE_MEMBERS": "Mitglieder verschieben", - "USE_VAD": "Sprachaktivitätserkennung verwenden", - "CHANGE_NICKNAME": "Nickname ändern", - "MANAGE_NICKNAMES": "Nicknames verwalten", - "MANAGE_ROLES": "Rollen verwalten", - "MANAGE_WEBHOOKS": "Webhooks verwalten", - "MANAGE_GUILD_EXPRESSIONS": "Ausdrücke verwalten", - "USE_APPLICATION_COMMANDS": "Anwendungsbefehle verwenden", - "REQUEST_TO_SPEAK": "Anfrage, sprechen zu dürfen", - "MANAGE_EVENTS": "Events verwalten", - "MANAGE_THREADS": "Threads verwalten", - "CREATE_PUBLIC_THREADS": "Öffentliche Threads erstellen", - "CREATE_PRIVATE_THREADS": "Private Threads erstellen", - "USE_EXTERNAL_STICKERS": "Externe Sticker verwenden", - "SEND_MESSAGES_IN_THREADS": "Senden von Nachrichten in Threads", - "USE_EMBEDDED_ACTIVITIES": "Aktivitäten verwenden", - "MODERATE_MEMBERS": "Timeout für Mitglieder", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Monetarisierungsanalytics für Ersteller anzeigen", - "USE_SOUNDBOARD": "Soundboard verwenden", - "CREATE_GUILD_EXPRESSIONS": "Erstellen von Ausdrücken", - "CREATE_EVENTS": "Events erstellen", - "USE_EXTERNAL_SOUNDS": "Externe Sounds verwenden", - "SEND_VOICE_MESSAGES": "Sprachnachrichten senden", - "SEND_POLLS": "Umfragen erstellen", - "USE_EXTERNAL_APPS": "Externe Apps verwenden" - } - }, - "userping": { - "unknown": "@unbekannt" + "DMs": { + "close": "DM schließen", + "copyId": "DM-ID kopieren", + "markRead": "Als gelesen markieren", + "name": "Direktnachrichten" }, - "hideBlockedMessages": "Dieser Benutzer ist blockiert, klicke, um die Nachrichten zu verbergen.", - "showBlockedMessages": "Dieser Benutzer ist blockiert, klicke, um die {{PLURAL:$1| blockierte Nachricht|$1 blockierten Nachrichten}} anzuzeigen.", - "deleteConfirm": "Bist du dir sicher, dass das gelöscht werden soll?", - "yes": "Ja", - "no": "Nein", - "todayAt": "Heute um $1", - "yesterdayAt": "Gestern um $1", - "otherAt": "$1, $2", - "botSettings": "Boteinstellungen", - "uploadPfp": "Profilbild hochladen:", - "uploadBanner": "Banner hochladen:", - "pronouns": "Pronomen:", - "bio": "Bio:", - "profileColor": "Profilfarbe", - "botGuilds": "Gilden, denen der Bot angehört:", - "leaveGuild": "Server verlassen", - "confirmGuildLeave": "Sicher, dass $1 verlassen werden soll", "UrlGen": "URL-Generator", - "typing": "$2 {{PLURAL:$1|tippt|tippen}}", - "noMessages": "Es scheinen keinen Nachrichten vorhanden zu sein, sei der Erste, der etwas sagt!", - "blankMessage": "Leere Nachricht", - "spoiler": "Spoiler", "accessibility": { - "name": "Barrierefreiheit", - "roleColors": "Rollenfarben deaktivieren", - "playGif": "GIFs abspielen auf:", "gifSettings": { - "hover": "Hover", "always": "Immer", + "hover": "Hover", "never": "Niemals" - } + }, + "name": "Barrierefreiheit", + "playGif": "GIFs abspielen auf:", + "roleColors": "Rollenfarben deaktivieren" }, - "searchGifs": "Tenor durchsuchen", + "accountNotStart": "Benutzerkonto kann nicht gestartet werden", + "badge": { + "active_developer": "Aktiver Entwickler", + "application_guild_subscription": "Hat Premium", + "automod": "Verwendet Automod", + "bot_commands": "Unterstützt Befehle", + "bug_hunter_level_1": "Bug-Jäger Level 1", + "bug_hunter_level_2": "Bug-Jäger Level 2", + "certified_moderator": "Moderator", + "early_supporter": "Früher Unterstützer", + "guild_booster_lvl1": "Geboostete Gilde Level 1", + "guild_booster_lvl2": "Geboostete Gilde Level 2", + "guild_booster_lvl3": "Geboostete Gilde Level 3", + "guild_booster_lvl4": "Geboostete Gilde Level 4", + "guild_booster_lvl5": "Geboostete Gilde Level 5", + "guild_booster_lvl6": "Geboostete Gilde Level 6", + "guild_booster_lvl7": "Geboostete Gilde Level 7", + "guild_booster_lvl8": "Geboostete Gilde Level 8", + "guild_booster_lvl9": "Geboostete Gilde seit einer ganzen Weile", + "hypesquad": "Urheberrechtlich geschützte Sache", + "hypesquad_house_1": "Tapferkeit", + "hypesquad_house_2": "Brillanz", + "hypesquad_house_3": "Balance", + "legacy_username": "Hat alten Benutzernamen", + "partner": "Instanzpartner", + "premium": "Premium", + "quest_completed": "hat eine Quest abgeschlossen", + "staff": "Instanzmitarbeiter", + "verified_developer": "Verifizierter Entwickler" + }, + "bio": "Bio:", + "blankMessage": "Leere Nachricht", + "bot": "BOT", + "botGuilds": "Gilden, denen der Bot angehört:", + "botSettings": "Boteinstellungen", + "cancel": "Abbrechen", "channel": { - "creating": "Erstelle Kanal", - "name": "Kanal", + "announcement": "Ankündigungen", "copyId": "Kanal-ID kopieren", - "markRead": "Als gelesen markieren", - "settings": "Einstellungen", + "createCatagory": "Kategorie erstellen", + "createChannel": "Kanal erstellen", + "creating": "Erstelle Kanal", "delete": "Kanal löschen", "makeInvite": "Einladung erstellen", - "settingsFor": "Einstellungen für $1", - "voice": "Sprache", - "text": "Text", - "announcement": "Ankündigungen", + "markRead": "Als gelesen markieren", + "name": "Kanal", "name:": "Name:", - "topic:": "Thema:", "nsfw:": "NSFW:", - "selectType": "Kanaltyp auswählen", - "selectName": "Name des Kanals", + "permissions": "Berechtigungen", "selectCatName": "Name der Kategorie", - "createChannel": "Kanal erstellen", - "createCatagory": "Kategorie erstellen", - "permissions": "Berechtigungen" + "selectName": "Name des Kanals", + "selectType": "Kanaltyp auswählen", + "settings": "Einstellungen", + "settingsFor": "Einstellungen für $1", + "text": "Text", + "topic:": "Thema:", + "voice": "Sprache" }, + "clientDesc": "Client-Version: $1 \n\n[Tritt der offiziellen Fermi-Gilde bei]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Hilf, Fermi zu übersetzen](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Hilf, Fermi zu entwickeln](https://github.com/MathMan05/Fermi)\n\n[Hilf, den Server zu pflegen, auf den Fermi angewiesen ist](https://github.com/spacebarchat/server)\n\nBerechnete Rechte: $3", + "confirmGuildLeave": "Sicher, dass $1 verlassen werden soll", + "copyLink": "Nachrichten-Id kopieren", + "copymessageid": "Nachrichten-Id kopieren", + "copyrawtext": "Rohtext kopieren", "delete": "Löschen", - "webhooks": { - "createdAt": "Erstellt am $1", - "name": "Name:", - "token": "Webhook-Token: `$1`", - "url": "Webhook-URL: `$1`", - "avatar": "Avatar", - "createdBy": "Erstellt von:", - "notFound": "Der Benutzer ist nicht mehr in der Gilde", - "channel": "Kanal", - "copyURL": "Webhook-URL kopieren", - "newWebHook": "Neue Webhook", - "EnterWebhookName": "Webhook-Namen eingeben", - "base": "Webhooks", - "type1": "Eingehend", - "type2": "Kanal-Follower", - "type3": "Anwendung", - "type": "Typ: $1", - "deleteWebhook": "Webhook löschen", - "areYouSureDelete": "Sicher, dass $1 gelöscht werden soll?" - }, - "switchAccounts": "Benutzerkonto wechseln ⇌", - "accountNotStart": "Benutzerkonto kann nicht gestartet werden", - "home": { - "uptimeStats": "Uptime: \n Insgesamt: $1%\nDiese Woche: $2%\nHeute: $3%", - "warnOffiline": "Instanz ist offline, Verbindung kann nicht hergestellt werden", - "icon": "$1 Instanzsymbol" - }, - "htmlPages": { - "idpermissions": "Dies berechtigt den Bot zu:", - "addBot": "Zum Server hinzufügen", - "loadingText": "Fermi lädt", - "loaddesc": "Das sollte nicht lange dauern", - "switchaccounts": "Benutzerkonto wechseln", - "instanceField": "Instanz:", - "emailField": "E-Mail-Adresse:", - "pwField": "Passwort:", - "loginButton": "Anmelden", - "noAccount": "Du hast noch kein Benutzerkonto?", - "userField": "Benutzername:", - "pw2Field": "Passwort erneut eingeben:", - "dobField": "Geburtsdatum:", - "createAccount": "Benutzerkonto erstellen", - "alreadyHave": "Hast du bereits ein Benutzerkonto?", - "openClient": "Client öffnen", - "welcomeJank": "Willkommen bei Fermi", - "box1title": "Fermi ist ein Spacebar-kompatibler Client, welcher versucht, so gut wie möglich zu sein, durch viele Funktionen wie:", - "box1Items": "Direktnachrichten|Reaktionen auf Nachrichten|Einladungen|Benutzerkontowechsel|Benutzereinstellungen|Entwicklerportal|Bot-Einladungen|Übersetzungen", - "compatableInstances": "Einige Spacebar-Instanzen:", - "box3title": "Unterstützung bei der Entwicklung von Fermi", - "box3description": "Wir freuen uns immer über Hilfe, sei es in Form von Fehlerberichten, Programmierung oder einfach nur das Hinweisen auf Tippfehler.", - "trans": "Übersetzen", - "transTitle": "Übersetze Fermi", - "transDesc": "Hilf Fermi in deine eigene Sprache zu übersetzen!" + "deleteConfirm": "Bist du dir sicher, dass das gelöscht werden soll?", + "edit": "Bearbeiten", + "emoji": { + "confirmDel": "Sicher, dass dieser Emoji gelöscht werden soll?", + "image:": "Bild:", + "name:": "Name:", + "title": "Emojis", + "upload": "Emojis hochladen" }, + "errorReconnect": "Verbindung zum Server konnte nicht hergestellt werden. Neuer Versuch in **$1** Sekunden …", + "favoriteGifs": "Lieblings-Gifs", "form": { "captcha": "Warte, bist du ein Mensch?" }, - "useTemplate": "Verwende $1 als Vorlage", - "useTemplateButton": "Vorlage verwenden", - "register": { - "register": "Registrieren", - "passwordError:": "Passwort: $1", - "usernameError": "Benutzername: $1", - "emailError": "E-Mail-Adresse: $1", - "DOBError": "Geburtsdatum: $1", - "agreeTOS": "Ich stimme den [Nutzungsbedingungen]($1) zu:", - "noTOS": "Diese Instanz hat keine Nutzungsbedingungen, akzeptiere die ToS trotzdem:", - "tos": "Du musst den Nutzungsbedingungen zustimmen" + "friends": { + "addfriend": "Freund hinzufügen", + "addfriendpromt": "Freunde per Benutzernamen hinzufügen:", + "all": "Alle", + "all:": "Alle Freunde:", + "blocked": "Geblockt", + "blockedusers": "Geblockte Benutzer:", + "discnotfound": "Diskriminator nicht gefunden", + "friendlist": "Freundesliste", + "friends": "Freunde", + "notfound": "Benutzer nicht gefunden", + "online": "Online", + "online:": "Freunde online:", + "pending": "Ausstehend", + "pending:": "Ausstehende Freundschaftsanfragen:", + "removeFriend": "Freund entfernen" }, - "leaving": "Du verlässt Spacebar", - "goingToURL": "Du wirst zu $1 gehen. Bist du sicher, dass du dorthin gehen willst?", "goThere": "Ja", "goThereTrust": "Ja, vertraue auch in der Zukunft", - "nevermind": "Nein", - "submit": "Senden", - "edit": "Bearbeiten", + "goingToURL": "Du wirst zu $1 gehen. Bist du sicher, dass du dorthin gehen willst?", + "group": { + "select": "Freunde auswählen" + }, "guild": { - "template": "Vorlage:", - "viewTemplate": "Vorlage ansehen", - "createFromTemplate": "Gilde aus Vorlage", - "tempUseCount": "Die Vorlage wurde $1-mal{{PLURAL:$1}} verwendet.", - "tempCreatedBy": "Vorlage erstellt von:", - "editingTemplate": "Bearbeiten von $1", - "createNewTemplate": "Neue Vorlage erstellen", - "templates": "Vorlagen", - "templateName": "Name der Vorlage:", - "templateDesc": "Beschreibung der Vorlage:", - "templcateMetaDesc": "Eine Vorlage ermöglicht es anderen, diese Gilde als Basis für ihre eigenen Gilden zu verwenden. Sie kopiert die Kanäle, Rollen und Einstellungen dieser Gilde, aber nicht die Nachrichten innerhalb der Gilde, die Bots oder das Gildensymbol.", - "invites": "Einladungen", - "templateNameShort": "Der Name der Vorlage muss mindestens 2 Zeichen lang sein", - "templateURL": "Vorlagen-URL: $1", - "bannedBy": "Gebannt durch:", + "COMMUNITY": "Beitritt anfragen", + "DISCOVERABLE": "Entdeckung", + "INVITES_DISABLED": "Nur auf Einladung", + "all": "alle", "banReason": "Begründung des Banns: $1", + "bannedBy": "Gebannt durch:", + "banner:": "Banner:", "bans": "Banns", - "ruleId": "Regelkanal:", + "boostMessage?": "Sende eine Nachricht, wenn jemand Ihre Gilde boostet!", "community": "Community", - "creating": "Erstelle Gilde", + "confirmDelete": "Sicher, dass $1 gelöscht werden soll?", + "confirmLeave": "Bist du dir sicher, dass du den Server verlassen möchtest?", "copyId": "Gilden-ID kopieren", - "markRead": "Als gelesen markieren", - "notifications": "Benachrichtigungen", - "leave": "Gilde verlassen", - "settings": "Einstellungen", + "create": "Gilde erstellen", + "createFromTemplate": "Gilde aus Vorlage", + "createNewTemplate": "Neue Vorlage erstellen", + "creating": "Erstelle Gilde", + "default": "Standard ($1)", + "defaultNoti": "Lege die Standardbenachrichtigungseinstellungen deiner Gilde fest!", "delete": "Gilde löschen", + "description:": "Beschreibung:", + "disoveryTitle": "Gilden entdecken ($1 {{PLURAL:$1|Eintrag|Einträge}})", + "editingTemplate": "Bearbeiten von $1", + "emptytext": "Du bist an einem seltsamen Ort, diese Gilde hat keine Kanäle", + "emptytitle": "Seltsamer Ort", + "helpTips?": "Sende hilfreiche Tipps für deine Gilde!", + "howJoin": "Wie können Leute der Gilde beitreten?", + "icon:": "Symbol:", + "invites": "Einladungen", + "leave": "Gilde verlassen", + "loadingDiscovery": "Lade...", "makeInvite": "Einladung erstellen", - "settingsFor": "Einstellungen für $1", + "markRead": "Als gelesen markieren", "name:": "Name:", - "topic:": "Thema:", - "icon:": "Symbol:", + "noDelete": "Doch nicht", + "noLeave": "Doch nicht", + "none": "keine", + "notifications": "Benachrichtigungen", + "onlyMentions": "nur Erwähnungen", "overview": "Übersicht", - "banner:": "Banner:", "region:": "Region:", "roles": "Rollen", + "ruleId": "Regelkanal:", "selectnoti": "Benachrichtigungstyp auswählen", - "all": "alle", - "onlyMentions": "nur Erwähnungen", - "none": "keine", - "confirmLeave": "Bist du dir sicher, dass du den Server verlassen möchtest?", - "yesLeave": "Ja, ich bin mir sicher", - "noLeave": "Doch nicht", - "confirmDelete": "Sicher, dass $1 gelöscht werden soll?", - "serverName": "Name des Servers:", - "yesDelete": "Ja, ich bin mir sicher", - "noDelete": "Doch nicht", - "create": "Gilde erstellen", - "loadingDiscovery": "Lade...", - "disoveryTitle": "Gilden entdecken ($1 {{PLURAL:$1|Eintrag|Einträge}})", - "emptytitle": "Seltsamer Ort", - "emptytext": "Du bist an einem seltsamen Ort, diese Gilde hat keine Kanäle", - "default": "Standard ($1)", - "description:": "Beschreibung:", - "systemSelect:": "Kanal für Systemnachrichten:", "sendrandomwelcome?": "Sende eine zufällige Nachricht, wenn jemand dieser Gilde beitritt", + "serverName": "Name des Servers:", + "settings": "Einstellungen", + "settingsFor": "Einstellungen für $1", "stickWelcomeReact?": "Mitglieder ihrer Gilde auffordern, mit einem Sticker zu reagieren, wenn jemand beitritt!", - "boostMessage?": "Sende eine Nachricht, wenn jemand Ihre Gilde boostet!", - "helpTips?": "Sende hilfreiche Tipps für deine Gilde!", - "defaultNoti": "Lege die Standardbenachrichtigungseinstellungen deiner Gilde fest!", - "howJoin": "Wie können Leute der Gilde beitreten?", - "COMMUNITY": "Beitritt anfragen", - "INVITES_DISABLED": "Nur auf Einladung", - "DISCOVERABLE": "Entdeckung" + "systemSelect:": "Kanal für Systemnachrichten:", + "tempCreatedBy": "Vorlage erstellt von:", + "tempUseCount": "Die Vorlage wurde $1-mal{{PLURAL:$1}} verwendet.", + "template": "Vorlage:", + "templateDesc": "Beschreibung der Vorlage:", + "templateName": "Name der Vorlage:", + "templateNameShort": "Der Name der Vorlage muss mindestens 2 Zeichen lang sein", + "templateURL": "Vorlagen-URL: $1", + "templates": "Vorlagen", + "templcateMetaDesc": "Eine Vorlage ermöglicht es anderen, diese Gilde als Basis für ihre eigenen Gilden zu verwenden. Sie kopiert die Kanäle, Rollen und Einstellungen dieser Gilde, aber nicht die Nachrichten innerhalb der Gilde, die Bots oder das Gildensymbol.", + "topic:": "Thema:", + "viewTemplate": "Vorlage ansehen", + "yesDelete": "Ja, ich bin mir sicher", + "yesLeave": "Ja, ich bin mir sicher" }, - "welcomeMessages": "Willkommen, $1! Schön, dich zu sehen!\nHallo, schön, dich zu treffen, $1!\nWillkommen, ich hoffe, du hast Pizza mitgebracht, $1!", - "role": { - "displaySettings": "Anzeigeeinstellungen", - "name": "Rollenname:", - "hoisted": "Befördert:", - "mentionable": "Erlaube jedem, diese Rolle anzupingen:", - "color": "Farbe", - "remove": "Rolle entfernen", - "delete": "Rolle löschen", - "confirmDelete": "Sicher, dass $1 gelöscht werden soll?" + "hideBlockedMessages": "Dieser Benutzer ist blockiert, klicke, um die Nachrichten zu verbergen.", + "home": { + "icon": "$1 Instanzsymbol", + "uptimeStats": "Uptime: \n Insgesamt: $1%\nDiese Woche: $2%\nHeute: $3%", + "warnOffiline": "Instanz ist offline, Verbindung kann nicht hergestellt werden" }, - "settings": { - "unsaved": "Vorsicht, du hast nicht gespeicherte Änderungen", - "save": "Änderungen speichern", - "img": "Bild hochladen" + "htmlPages": { + "addBot": "Zum Server hinzufügen", + "alreadyHave": "Hast du bereits ein Benutzerkonto?", + "box1Items": "Direktnachrichten|Reaktionen auf Nachrichten|Einladungen|Benutzerkontowechsel|Benutzereinstellungen|Entwicklerportal|Bot-Einladungen|Übersetzungen", + "box1title": "Fermi ist ein Spacebar-kompatibler Client, welcher versucht, so gut wie möglich zu sein, durch viele Funktionen wie:", + "box3description": "Wir freuen uns immer über Hilfe, sei es in Form von Fehlerberichten, Programmierung oder einfach nur das Hinweisen auf Tippfehler.", + "box3title": "Unterstützung bei der Entwicklung von Fermi", + "compatableInstances": "Einige Spacebar-Instanzen:", + "createAccount": "Benutzerkonto erstellen", + "dobField": "Geburtsdatum:", + "emailField": "E-Mail-Adresse:", + "idpermissions": "Dies berechtigt den Bot zu:", + "instanceField": "Instanz:", + "loaddesc": "Das sollte nicht lange dauern", + "loadingText": "Fermi lädt", + "loginButton": "Anmelden", + "noAccount": "Du hast noch kein Benutzerkonto?", + "openClient": "Client öffnen", + "pw2Field": "Passwort erneut eingeben:", + "pwField": "Passwort:", + "switchaccounts": "Benutzerkonto wechseln", + "trans": "Übersetzen", + "transDesc": "Hilf Fermi in deine eigene Sprache zu übersetzen!", + "transTitle": "Übersetze Fermi", + "userField": "Benutzername:", + "welcomeJank": "Willkommen bei Fermi" + }, + "incorrectURLS": "## Diese Instanz hat wahrscheinlich die falschen URLs gesendet.\n### Wenn Du der Instanzbesitzer sind, lies [hier](https://docs.spacebar.chat/setup/server/) unter *Verbindung von Remotecomputern herstellen* nach, um das Problem zu beheben.\nSoll Fermi automatisch versuchen diesen Fehler zu beheben, damit Du eine Verbindung zur Instanz herstellen kannst?", + "instInfo": "Instanzinformation", + "instanceStats": { + "members": "Mitglieder: $1", + "messages": "Nachrichten: $1", + "name": "Instanzstatistik: $1", + "servers": "Server: $1", + "users": "Registrierte Benutzer: $1" + }, + "invite": { + "accept": "Akzeptieren", + "alreadyJoined": "Bereits beigetreten", + "channel:": "Kanal:", + "createInvite": "Einladung erstellen", + "createdAt": "Erstellt am $1", + "expireAfter": "Gültig bis:", + "expires": "Läuft ab: $1", + "forChannel": "Für Kanal: $1", + "inviteLinkCode": "Einladungslink/-code", + "inviteMaker": "Einladungsgenerator", + "invitedBy": "Du wurdest von $1 eingeladen", + "joinUsing": "Per Einladung beitreten", + "loginOrCreateAccount": "Anmelden oder Benutzerkonto erstellen ⇌", + "longInvitedBy": "$1 hat Dich eingeladen, $2 beizutreten", + "maxUses": "Max. Verwendungen: $1", + "never": "Niemals", + "noAccount": "Erstelle ein Benutzerkonto, um die Einladung anzunehmen", + "subtext": "zu $1 in $2", + "used": "{{PLURAL:$1|Einmal|$1-mal}} verwendet." + }, + "inviteOptions": { + "12h": "12 Stunden", + "1d": "1 Tag", + "1h": "1 Stunde", + "30d": "30 Tage", + "30m": "30 Minuten", + "6h": "6 Stunden", + "7d": "7 Tage", + "limit": "$1 {{PLURAL:$1|Verwendung|Verwendungen}}", + "never": "Niemals", + "noLimit": "Unbegrenzt", + "title": "Personen einladen" }, + "jankInfo": "Client-Information", + "leaveGuild": "Server verlassen", + "leaving": "Du verlässt Spacebar", "localuser": { - "install": "Installieren", - "installJank": "Fermi installieren", - "installDesc": "Die Installation ermöglicht, Fermi in einem eigenen Fenster zu öffnen und es wie eine eigene App zu nutzen! Fermi kann aber auch einfach wie bisher im Webbrowser verwendet werden, es funktioniert dort genauso.", - "addStatus": "Status hinzufügen", - "status": "Status", - "customStatusWarn": "Spacebar unterstützt derzeit nicht die Anzeige von einem benutzerdefinierten Status. Der Status wird zwar akzeptiert, aber nicht weiter verarbeitet.", - "settings": "Einstellungen", - "userSettings": "Benutzereinstellungen", - "themesAndSounds": "Farbschema & Sounds", - "theme:": "Farbschema", - "notisound": "Benachrichtigungston:", - "customSound": "Benutzerdefinierter Sound", - "soundTooLarge": "Die hochgeladene Sound-Datei war zu groß. Versuche es erneut.", - "accentColor": "Akzentfarbe:", - "VoiceWarning": "Diese Funktion wirklich aktivieren? Sie ist sehr experimentell und verursacht wahrscheinlich Probleme. (Diese Funktion ist für Entwickler. Bitte nicht aktivieren, wenn Du nicht weißt, was Du tust.)", - "updateSettings": "Update-Einstellungen", - "swSettings": "Service-Worker-Einstellung", - "SWOff": "Aus", - "SWOffline": "Nur offline", - "SWOn": "An", - "clearCache": "Cache leeren", - "CheckUpdate": "Nach Updates suchen", - "accountSettings": "Benutzerkontoeinstellungen", + "2faCode:": "Code:", + "2faCodeGive": "Ihr Secret ist: $1 und besteht aus 6 Ziffern, mit einer Token-Periode von 30 Sekunden", "2faDisable": "2FA deaktivieren", - "badCode": "Ungültiger Code", "2faEnable": "2FA aktivieren", - "2faCode:": "Code:", - "setUp2fa": "2FA-Einrichtung", + "CheckUpdate": "Nach Updates suchen", + "PasswordsNoMatch": "Passwörter stimmen nicht überein", + "TOSURL": "Nutzungsbedingungen:", + "VoiceWarning": "Diese Funktion wirklich aktivieren? Sie ist sehr experimentell und verursacht wahrscheinlich Probleme. (Diese Funktion ist für Entwickler. Bitte nicht aktivieren, wenn Du nicht weißt, was Du tust.)", + "accentColor": "Akzentfarbe:", + "accountSettings": "Benutzerkontoeinstellungen", + "addBot": "Bot hinzufügen", + "addStatus": "Status hinzufügen", + "advancedBot": "Erweiterte Bot-Einstellungen", + "appName": "Anwendungsname:", + "areYouSureDelete": "Das Benutzerkonto wirklich löschen? Wenn ja, dann bitte den Satz $1 eingeben.", + "badCode": "Ungültiger Code", "badPassword": "Falsches Passwort", - "setUp2faInstruction": "Kopiere dieses Secret in deine TOTP-App (zeitbasiertes Einmalpasswort).", - "2faCodeGive": "Ihr Secret ist: $1 und besteht aus 6 Ziffern, mit einer Token-Periode von 30 Sekunden", + "botAvatar": "Bot-Avatar:", + "botInviteCreate": "Bot-Einladungsersteller", + "botUsername": "Bot-Benutzername:", "changeDiscriminator": "Diskriminator ändern", - "newDiscriminator": "Neuer Diskriminator:", "changeEmail": "E-Mail-Adresse ändern", - "password:": "Passwort", - "newEmail:": "Neue E-Mail-Adresse", - "changeUsername": "Benutzernamen ändern", - "newUsername": "Neuer Benutzername:", "changePassword": "Passwort ändern", - "oldPassword:": "Altes Passwort:", - "newPassword:": "Neues Passwort:", - "PasswordsNoMatch": "Passwörter stimmen nicht überein", - "disableConnection": "Diese Verbindung wurde serverseitig deaktiviert", - "devPortal": "Entwicklerportal", + "changeUsername": "Benutzernamen ändern", + "clearCache": "Cache leeren", + "confirmAddBot": "Dieser Anwendung wirklich einen Bot hinzufügen? Dies ist nicht umkehrbar.", + "confirmReset": "Den Bot-Token wirklich zurücksetzen? Der Bot wird dann nicht mehr funktionieren, bis er aktualisiert wird.", + "confuseNoBot": "Aus irgendeinem Grund verfügt diese Anwendung (noch) nicht über einen Bot.", + "connections": "Verbindungen", "createApp": "Anwendung erstellen", - "team:": "Team:", - "appName": "Anwendungsname:", + "customSound": "Benutzerdefinierter Sound", + "customStatusWarn": "Spacebar unterstützt derzeit nicht die Anzeige von einem benutzerdefinierten Status. Der Status wird zwar akzeptiert, aber nicht weiter verarbeitet.", + "deleteAccount": "Benutzerkontolöschung", + "deleteAccountButton": "Benutzerkonto löschen", "description": "Beschreibung:", + "devPortal": "Entwicklerportal", + "disableConnection": "Diese Verbindung wurde serverseitig deaktiviert", + "editingBot": "Bearbeiten des Bots $1", + "install": "Installieren", + "installDesc": "Die Installation ermöglicht, Fermi in einem eigenen Fenster zu öffnen und es wie eine eigene App zu nutzen! Fermi kann aber auch einfach wie bisher im Webbrowser verwendet werden, es funktioniert dort genauso.", + "installJank": "Fermi installieren", + "language": "Sprache:", + "manageBot": "Bot verwalten", + "manageInstance": "Instanz verwalten", + "mustTypePhrase": "Um das Benutzerkonto zu löschen, bitte den Satz eingeben", + "newDiscriminator": "Neuer Diskriminator:", + "newEmail:": "Neue E-Mail-Adresse", + "newPassword:": "Neues Passwort:", + "newUsername": "Neuer Benutzername:", + "noToken": "Kenne das Token nicht, kann es also leider nicht lokal speichern", + "notisound": "Benachrichtigungston:", + "oldPassword:": "Altes Passwort:", + "password:": "Passwort", "privacyPolcyURL": "Datenschutzerklärung:", - "TOSURL": "Nutzungsbedingungen:", "publicAvaliable": "Bot öffentlich einladbar machen?", "requireCode": "Ist eine Code-Bewilligung erforderlich, um den Bot einzuladen?", - "manageBot": "Bot verwalten", - "addBot": "Bot hinzufügen", - "confirmAddBot": "Dieser Anwendung wirklich einen Bot hinzufügen? Dies ist nicht umkehrbar.", - "confuseNoBot": "Aus irgendeinem Grund verfügt diese Anwendung (noch) nicht über einen Bot.", - "editingBot": "Bearbeiten des Bots $1", - "botUsername": "Bot-Benutzername:", - "botAvatar": "Bot-Avatar:", "resetToken": "Token zurücksetzen", - "confirmReset": "Den Bot-Token wirklich zurücksetzen? Der Bot wird dann nicht mehr funktionieren, bis er aktualisiert wird.", - "tokenDisplay": "Token: $1", "saveToken": "Token lokal speichern", - "noToken": "Kenne das Token nicht, kann es also leider nicht lokal speichern", - "advancedBot": "Erweiterte Bot-Einstellungen", - "botInviteCreate": "Bot-Einladungsersteller", - "language": "Sprache:", - "connections": "Verbindungen", - "deleteAccount": "Benutzerkontolöschung", - "areYouSureDelete": "Das Benutzerkonto wirklich löschen? Wenn ja, dann bitte den Satz $1 eingeben.", - "deleteAccountButton": "Benutzerkonto löschen", - "mustTypePhrase": "Um das Benutzerkonto zu löschen, bitte den Satz eingeben", - "manageInstance": "Instanz verwalten" + "setUp2fa": "2FA-Einrichtung", + "setUp2faInstruction": "Kopiere dieses Secret in deine TOTP-App (zeitbasiertes Einmalpasswort).", + "settings": "Einstellungen", + "soundTooLarge": "Die hochgeladene Sound-Datei war zu groß. Versuche es erneut.", + "status": "Status", + "team:": "Team:", + "theme:": "Farbschema", + "themesAndSounds": "Farbschema & Sounds", + "tokenDisplay": "Token: $1", + "updateSettings": "Update-Einstellungen", + "userSettings": "Benutzereinstellungen" }, - "search": { - "back": "Zurück", - "next": "Weiter", - "page": "Seite $1", - "new": "Neu", - "old": "Alt", - "search": "Suche", - "nofind": "Es scheint keine Nachrichten zu geben, welche der Suche entsprechen. Versuche vielleicht, die Suche zu erweitern, um das Gewünschte zu finden." + "login": { + "allGood": "Alles gut", + "checking": "Überprüfe Instanz", + "enterPAgain": "Passwort erneut eingeben:", + "invalid": "Ungültige Instanz, bitte erneut versuchen", + "login": "Anmeldung", + "newPassword": "Neues Passwort:", + "pasteInfo": "Recovery-URL hier einfügen:", + "recover": "Passwort vergessen?", + "recovery": "Passwort vergessen", + "waiting": "Warte auf die Überprüfung der Instanz" + }, + "logout": { + "error": { + "cancel": "Abbrechen", + "cont": "Trotzdem fortfahren", + "desc": "Fermi konnte Sie nicht abmelden\n Möchten Sie das Konto trotzdem entfernen?", + "title": "Es gab einen Fehler bei der Abmeldung." + }, + "logout": "Abmelden" }, "manageInstance": { - "stop": "Instanz stoppen", "AreYouSureStop": "Sicher, dass diese Instanz gestoppt werden soll?", - "createTokens": "Registrierungstoken erstellen", - "count": "Anzahl:", - "length": "Länge:", - "format": "Format:", "TokenFormats": { - "plain": "Einfach", "JSON": "JSON-formatiert", - "URLs": "Einladungs-URLs" + "URLs": "Einladungs-URLs", + "plain": "Einfach" }, - "create": "Erstellen", "clientURL": "Client-URL:", - "regType": "Token-URL-Typ registrieren", + "copy": "Kopieren", + "count": "Anzahl:", + "create": "Erstellen", + "createTokens": "Registrierungstoken erstellen", + "format": "Format:", "genericType": "Generisch", - "copy": "Kopieren" + "length": "Länge:", + "regType": "Token-URL-Typ registrieren", + "stop": "Instanz stoppen" + }, + "media": { + "artist": "Künstler: $1", + "composer": "Komponist: $1", + "download": "Medien herunterladen", + "length": "Länge: $1 Minuten und $2 Sekunden", + "loading": "Lädt", + "moreInfo": "Weitere Infos", + "notFound": "Medien konnten nicht gefunden werden" + }, + "member": { + "ban": "$1 aus $2 bannen", + "kick": "$1 aus $2 rauswerfen", + "nick:": "Nickname:", + "reason:": "Grund:" }, - "unpinMessage": "Nachricht lösen", - "noPins": "Hier scheint nichts zu sein... bis jetzt", "message": { - "reactionAdd": "Reaktion hinzufügen", + "attached": "Anhang gesendet", "delete": "Nachricht löschen", + "deleted": "Gelöschte Nachricht", "edit": "Nachricht bearbeiten", "edited": "(bearbeitet)", - "deleted": "Gelöschte Nachricht", - "attached": "Anhang gesendet", - "retry": "Fehlerhafte Nachricht erneut senden", + "fullMessage": "Vollständige Nachricht:", "pin": "$1 hat eine Nachricht angeheftet", - "viewrest": "Rest anzeigen", - "fullMessage": "Vollständige Nachricht:" + "reactionAdd": "Reaktion hinzufügen", + "retry": "Fehlerhafte Nachricht erneut senden", + "viewrest": "Rest anzeigen" }, - "instanceStats": { - "name": "Instanzstatistik: $1", - "users": "Registrierte Benutzer: $1", - "servers": "Server: $1", - "messages": "Nachrichten: $1", - "members": "Mitglieder: $1" + "nevermind": "Nein", + "no": "Nein", + "noMessages": "Es scheinen keinen Nachrichten vorhanden zu sein, sei der Erste, der etwas sagt!", + "noPins": "Hier scheint nichts zu sein... bis jetzt", + "noStickers": "Du scheinst dich in einer misslichen Lage zu befinden, es gibt keine Sticker für dich!", + "otherAt": "$1, $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Erlaubt dem Nutzer, auf Nachrichten zu reagieren", + "ADMINISTRATOR": "Erlaubt dem Nutzer alle Berechtigungen und umgeht das Überschreiben von Kanalberechtigungen. Dies ist eine gefährliche Berechtigung!", + "ATTACH_FILES": "Erlaubt dem Nutzer den Anhang von Dateien", + "BAN_MEMBERS": "Erlaubt dem Nutzer, Mitglieder vom Server zu bannen", + "CHANGE_NICKNAME": "Erlaubt dem Nutzer, seinen eigenen Nicknamen zu ändern", + "CONNECT": "Erlaubt dem Nutzer die Verbindung zu Sprachkanälen", + "CREATE_EVENTS": "Erlaubt die Erstellung von geplanten Ereignissen und die Bearbeitung und Löschung der von dem aktuellen Benutzer erstellten Ereignisse.", + "CREATE_GUILD_EXPRESSIONS": "Erlaubt die Erstellung von Emojis, Stickern und Soundboard-Sounds sowie die Bearbeitung und Löschung derer, die vom aktuellen Benutzer erstellt wurden.", + "CREATE_INSTANT_INVITE": "Erlaubt dem Nutzer, Server-Einladungen zu erstellen", + "CREATE_PRIVATE_THREADS": "Erlaubt es dem Benutzer, private Threads zu erstellen", + "CREATE_PUBLIC_THREADS": "Erlaubt es dem Benutzer, öffentliche Threads zu erstellen", + "DEAFEN_MEMBERS": "Erlaubt es dem Benutzer, andere Mitglieder stummzuschalten", + "EMBED_LINKS": "Erlaubt dem Nutzer die automatische Einbettung von Links", + "KICK_MEMBERS": "Erlaubt dem Nutzer, Mitglieder vom Server zu werfen", + "MANAGE_CHANNELS": "Erlaubt dem Nutzer, Kanäle zu verwalten und zu editieren", + "MANAGE_EVENTS": "Erlaubt dem Nutzer das Verwalten und Editieren von Events", + "MANAGE_GUILD": "Erlaubt dem Nutzer, den Server zu verwalten und zu editieren", + "MANAGE_GUILD_EXPRESSIONS": "Ermöglicht die Verwaltung von Emojis, Stickern und dem Soundboard", + "MANAGE_MESSAGES": "Erlaubt dem Nutzer das Löschen von Nachrichten anderer Nutzer", + "MANAGE_NICKNAMES": "Erlaubt dem Nutzer, die Nicknamen von anderen Nutzern zu verwalten", + "MANAGE_ROLES": "Erlaubt dem Nutzer, die Serverrollen zu verwalten und zu editieren", + "MANAGE_THREADS": "Erlaubt es dem Benutzer, Threads zu löschen und zu archivieren sowie alle privaten Threads anzuzeigen", + "MANAGE_WEBHOOKS": "Erlaubt dem Nutzer, Webhooks zu verwalten und zu editieren", + "MENTION_EVERYONE": "Erlaubt dem Nutzer die Erwähnung von @everyone", + "MODERATE_MEMBERS": "Erlaubt es dem Benutzer, andere Benutzer zeitlich auszuschließen, um zu verhindern, dass sie Nachrichten im Chat und in Threads senden oder darauf reagieren, sowie um zu verhindern, dass sie in Sprach- und Bühnenkanälen sprechen", + "MOVE_MEMBERS": "Erlaubt dem Nutzer, andere Nutzer zwischen Sprachkanälen zu verschieben", + "MUTE_MEMBERS": "Erlaubt dem Nutzer, andere Nutzer serverweit stummzuschalten", + "PRIORITY_SPEAKER": "Erlaubt dem Nutzer, ein Prioritätssprecher in Sprachkanälen zu sein", + "READ_MESSAGE_HISTORY": "Erlaubt dem Nutzer, den Nachrichtenverlauf einzusehen", + "REQUEST_TO_SPEAK": "Erlaubt dem Nutzer, in einem Bühnenkanal das Rederecht zu erbitten", + "SEND_MESSAGES": "Erlaubt dem Nutzer, Nachrichten zu senden", + "SEND_MESSAGES_IN_THREADS": "Ermöglicht dem Benutzer, Nachrichten in Threads zu senden", + "SEND_POLLS": "Erlaubt die Absendung von Umfragen", + "SEND_TTS_MESSAGES": "Erlaubt dem Nutzer das Senden von Text-zu-Sprache Nachrichten", + "SEND_VOICE_MESSAGES": "Ermöglicht Senden von Sprachnachrichten", + "SPEAK": "Erlaubt dem Nutzer das Sprechen in Sprachkanälen", + "STREAM": "Erlaubt dem Nutzer zu streamen", + "USE_APPLICATION_COMMANDS": "Erlaubt dem Nutzer die Verwendung von Befehlen bestimmter Anwendungen", + "USE_EMBEDDED_ACTIVITIES": "Erlaubt es dem Benutzer, eingebettete Aktivitäten zu nutzen", + "USE_EXTERNAL_APPS": "Ermöglicht benutzerinstallierten Apps, öffentliche Antworten zu senden. Wenn diese Option deaktiviert ist, können Benutzer ihre Apps weiterhin verwenden, die Antworten sind jedoch flüchtig. Dies gilt nur für Apps, die nicht auch auf dem Server installiert sind.", + "USE_EXTERNAL_EMOJIS": "Erlaubt dem Nutzer die Benutzung von externen Emojis", + "USE_EXTERNAL_SOUNDS": "Ermöglicht die Verwendung benutzerdefinierter Soundboard-Sounds von anderen Gilden", + "USE_EXTERNAL_STICKERS": "Ermöglicht dem Benutzer, externe Sticker zu verwenden", + "USE_SOUNDBOARD": "Erlaubt die Verwendung eines Soundboards in einem Sprachkanal", + "USE_VAD": "Erlaubt dem Nutzer, in Sprachkanälen ohne Push-to-Talk zu sprechen", + "VIEW_AUDIT_LOG": "Erlaubt dem Nutzer die Einsicht des Audit-Logs", + "VIEW_CHANNEL": "Erlaubt dem Nutzer, den Kanal zu sehen", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Ermöglicht das Anzeigen von Einblicken in Rollenabonnements", + "VIEW_GUILD_INSIGHTS": "Erlaubt dem Nutzer die Einsicht von Server Insights" + }, + "readableNames": { + "ADD_REACTIONS": "Reaktionen hinzufügen", + "ADMINISTRATOR": "Administrator", + "ATTACH_FILES": "Dateien anhängen", + "BAN_MEMBERS": "Mitglieder bannen", + "CHANGE_NICKNAME": "Nickname ändern", + "CONNECT": "Verbunden", + "CREATE_EVENTS": "Events erstellen", + "CREATE_GUILD_EXPRESSIONS": "Erstellen von Ausdrücken", + "CREATE_INSTANT_INVITE": "Einladung erstellen", + "CREATE_PRIVATE_THREADS": "Private Threads erstellen", + "CREATE_PUBLIC_THREADS": "Öffentliche Threads erstellen", + "DEAFEN_MEMBERS": "Mitglieder stumm schalten", + "EMBED_LINKS": "Links einbetten", + "KICK_MEMBERS": "Mitglieder rauswerfen", + "MANAGE_CHANNELS": "Vorlagen verwalten", + "MANAGE_EVENTS": "Events verwalten", + "MANAGE_GUILD": "Gilde verwalten", + "MANAGE_GUILD_EXPRESSIONS": "Ausdrücke verwalten", + "MANAGE_MESSAGES": "Nachrichten verwalten", + "MANAGE_NICKNAMES": "Nicknames verwalten", + "MANAGE_ROLES": "Rollen verwalten", + "MANAGE_THREADS": "Threads verwalten", + "MANAGE_WEBHOOKS": "Webhooks verwalten", + "MENTION_EVERYONE": "Erwähne @everyone, @here und alle Rollen", + "MODERATE_MEMBERS": "Timeout für Mitglieder", + "MOVE_MEMBERS": "Mitglieder verschieben", + "MUTE_MEMBERS": "Mitglieder stummschalten", + "PRIORITY_SPEAKER": "Prioritätsredner", + "READ_MESSAGE_HISTORY": "Nachrichtenverlauf lesen", + "REQUEST_TO_SPEAK": "Anfrage, sprechen zu dürfen", + "SEND_MESSAGES": "Nachricht senden", + "SEND_MESSAGES_IN_THREADS": "Senden von Nachrichten in Threads", + "SEND_POLLS": "Umfragen erstellen", + "SEND_TTS_MESSAGES": "Senden von Text-to-Speech-Nachrichten", + "SEND_VOICE_MESSAGES": "Sprachnachrichten senden", + "SPEAK": "Bergspitze", + "STREAM": "Video", + "USE_APPLICATION_COMMANDS": "Anwendungsbefehle verwenden", + "USE_EMBEDDED_ACTIVITIES": "Aktivitäten verwenden", + "USE_EXTERNAL_APPS": "Externe Apps verwenden", + "USE_EXTERNAL_EMOJIS": "Externe Emojis verwenden", + "USE_EXTERNAL_SOUNDS": "Externe Sounds verwenden", + "USE_EXTERNAL_STICKERS": "Externe Sticker verwenden", + "USE_SOUNDBOARD": "Soundboard verwenden", + "USE_VAD": "Sprachaktivitätserkennung verwenden", + "VIEW_AUDIT_LOG": "Audit-Protokoll anzeigen", + "VIEW_CHANNEL": "Änderungen zeigen", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Monetarisierungsanalytics für Ersteller anzeigen", + "VIEW_GUILD_INSIGHTS": "Gildeneinblicke anzeigen" + } }, - "inviteOptions": { - "title": "Personen einladen", - "30m": "30 Minuten", - "1h": "1 Stunde", - "6h": "6 Stunden", - "12h": "12 Stunden", - "1d": "1 Tag", - "7d": "7 Tage", - "30d": "30 Tage", - "never": "Niemals", - "limit": "$1 {{PLURAL:$1|Verwendung|Verwendungen}}", - "noLimit": "Unbegrenzt" + "pinMessage": "Nachricht anheften", + "profileColor": "Profilfarbe", + "pronouns": "Pronomen:", + "readableName": "Englisch", + "recentEmoji": "Letzte Emoji", + "register": { + "DOBError": "Geburtsdatum: $1", + "agreeTOS": "Ich stimme den [Nutzungsbedingungen]($1) zu:", + "emailError": "E-Mail-Adresse: $1", + "noTOS": "Diese Instanz hat keine Nutzungsbedingungen, akzeptiere die ToS trotzdem:", + "passwordError:": "Passwort: $1", + "register": "Registrieren", + "tos": "Du musst den Nutzungsbedingungen zustimmen", + "usernameError": "Benutzername: $1" }, - "2faCode": "2FA-Code:", - "invite": { - "invitedBy": "Du wurdest von $1 eingeladen", - "alreadyJoined": "Bereits beigetreten", - "accept": "Akzeptieren", - "noAccount": "Erstelle ein Benutzerkonto, um die Einladung anzunehmen", - "longInvitedBy": "$1 hat Dich eingeladen, $2 beizutreten", - "loginOrCreateAccount": "Anmelden oder Benutzerkonto erstellen ⇌", - "joinUsing": "Per Einladung beitreten", - "inviteLinkCode": "Einladungslink/-code", - "subtext": "zu $1 in $2", - "expireAfter": "Gültig bis:", - "channel:": "Kanal:", - "inviteMaker": "Einladungsgenerator", - "createInvite": "Einladung erstellen", - "used": "{{PLURAL:$1|Einmal|$1-mal}} verwendet.", - "forChannel": "Für Kanal: $1", - "createdAt": "Erstellt am $1", - "expires": "Läuft ab: $1", - "never": "Niemals", - "maxUses": "Max. Verwendungen: $1" + "reply": "Antworten", + "replyingTo": "Antworte auf $1", + "retrying": "Erneuter Versuch...", + "role": { + "color": "Farbe", + "confirmDelete": "Sicher, dass $1 gelöscht werden soll?", + "delete": "Rolle löschen", + "displaySettings": "Anzeigeeinstellungen", + "hoisted": "Befördert:", + "mentionable": "Erlaube jedem, diese Rolle anzupingen:", + "name": "Rollenname:", + "remove": "Rolle entfernen" }, - "friends": { - "blocked": "Geblockt", - "blockedusers": "Geblockte Benutzer:", - "addfriend": "Freund hinzufügen", - "removeFriend": "Freund entfernen", - "addfriendpromt": "Freunde per Benutzernamen hinzufügen:", - "notfound": "Benutzer nicht gefunden", - "discnotfound": "Diskriminator nicht gefunden", - "pending": "Ausstehend", - "pending:": "Ausstehende Freundschaftsanfragen:", - "all": "Alle", - "all:": "Alle Freunde:", - "online": "Online", - "online:": "Freunde online:", - "friendlist": "Freundesliste", - "friends": "Freunde" + "search": { + "back": "Zurück", + "new": "Neu", + "next": "Weiter", + "nofind": "Es scheint keine Nachrichten zu geben, welche der Suche entsprechen. Versuche vielleicht, die Suche zu erweitern, um das Gewünschte zu finden.", + "old": "Alt", + "page": "Seite $1", + "search": "Suche" }, - "replyingTo": "Antworte auf $1", - "DMs": { - "copyId": "DM-ID kopieren", - "markRead": "Als gelesen markieren", - "close": "DM schließen", - "name": "Direktnachrichten" + "searchGifs": "Tenor durchsuchen", + "settings": { + "img": "Bild hochladen", + "save": "Änderungen speichern", + "unsaved": "Vorsicht, du hast nicht gespeicherte Änderungen", + "updates": { + "serviceWorkerMode": { + "disabled": "Aus", + "enabled": "An", + "offlineOnly": "Nur offline", + "title": "Service-Worker-Einstellung" + } + } }, + "showBlockedMessages": "Dieser Benutzer ist blockiert, klicke, um die {{PLURAL:$1| blockierte Nachricht|$1 blockierten Nachrichten}} anzuzeigen.", + "spoiler": "Spoiler", + "sticker": { + "confirmDel": "Sicher, dass dieser Sticker gelöscht werden soll?", + "del": "Sticker löschen", + "desc": "Beschreibung", + "errEmjMust": "Muss einen Emoji für den Sticker enthalten", + "errFileMust": "Muss ein Bild für den Sticker enthalten", + "image": "Bild:", + "name": "Name:", + "tags": "Zugehöriges Emoji:", + "title": "Sticker", + "upload": "Sticker hochladen" + }, + "submit": "Senden", + "switchAccounts": "Benutzerkonto wechseln ⇌", + "todayAt": "Heute um $1", + "typing": "$2 {{PLURAL:$1|tippt|tippen}}", + "unableToConnect": "Es konnte keine Verbindung zum Spacebar-Server hergestellt werden. Bitte versuche Dich ab- und wieder neu anzumelden.", + "unableToPin": "Nachricht kann nicht angeheftet werden", + "unpinMessage": "Nachricht lösen", + "uploadBanner": "Banner hochladen:", + "uploadFilesText": "Lade hier deine Dateien hoch!", + "uploadPfp": "Profilbild hochladen:", + "useTemplate": "Verwende $1 als Vorlage", + "useTemplateButton": "Vorlage verwenden", "user": { + "addRole": "Rollen hinzufügen", + "ban": "Mitglied bannen", + "block": "Benutzer bannen", + "confirmInstBan": "Sicher, dass $1 auf dieser Instanz gebannt werden soll?", "copyId": "Benutzer-ID kopieren", - "online": "Online", - "offline": "Offline", - "invisible": "Unsichtbar", "dnd": "Bitte nicht stören", - "idle": "Abwesend", - "message": "Nachricht an den Benutzer", - "block": "Benutzer bannen", - "unblock": "Benutzer entsperren", + "editServerProfile": "Serverprofil bearbeiten", "friendReq": "Freundschaftsanfrage", + "idle": "Abwesend", + "instanceBan": "Instanzbann", + "invisible": "Unsichtbar", "kick": "Mitglied rauswerfen", - "ban": "Mitglied bannen", - "addRole": "Rollen hinzufügen", + "message": "Nachricht an den Benutzer", + "offline": "Offline", + "online": "Online", "removeRole": "Rollen entfernen", - "editServerProfile": "Serverprofil bearbeiten", - "instanceBan": "Instanzbann", - "confirmInstBan": "Sicher, dass $1 auf dieser Instanz gebannt werden soll?", - "unban": "$1 entbannen" - }, - "login": { - "checking": "Überprüfe Instanz", - "allGood": "Alles gut", - "invalid": "Ungültige Instanz, bitte erneut versuchen", - "waiting": "Warte auf die Überprüfung der Instanz", - "recover": "Passwort vergessen?", - "pasteInfo": "Recovery-URL hier einfügen:", - "newPassword": "Neues Passwort:", - "enterPAgain": "Passwort erneut eingeben:", - "recovery": "Passwort vergessen", - "login": "Anmeldung" - }, - "member": { - "kick": "$1 aus $2 rauswerfen", - "reason:": "Grund:", - "ban": "$1 aus $2 bannen", - "nick:": "Nickname:" - }, - "badge": { - "staff": "Instanzmitarbeiter", - "partner": "Instanzpartner", - "certified_moderator": "Moderator", - "hypesquad": "Urheberrechtlich geschützte Sache", - "hypesquad_house_1": "Tapferkeit", - "hypesquad_house_2": "Brillanz", - "hypesquad_house_3": "Balance", - "bug_hunter_level_1": "Bug-Jäger Level 1", - "bug_hunter_level_2": "Bug-Jäger Level 2", - "active_developer": "Aktiver Entwickler", - "verified_developer": "Verifizierter Entwickler", - "early_supporter": "Früher Unterstützer", - "premium": "Premium", - "guild_booster_lvl1": "Geboostete Gilde Level 1", - "guild_booster_lvl2": "Geboostete Gilde Level 2", - "guild_booster_lvl3": "Geboostete Gilde Level 3", - "guild_booster_lvl4": "Geboostete Gilde Level 4", - "guild_booster_lvl5": "Geboostete Gilde Level 5", - "guild_booster_lvl6": "Geboostete Gilde Level 6", - "guild_booster_lvl7": "Geboostete Gilde Level 7", - "guild_booster_lvl8": "Geboostete Gilde Level 8", - "guild_booster_lvl9": "Geboostete Gilde seit einer ganzen Weile", - "bot_commands": "Unterstützt Befehle", - "automod": "Verwendet Automod", - "application_guild_subscription": "Hat Premium", - "legacy_username": "Hat alten Benutzernamen", - "quest_completed": "hat eine Quest abgeschlossen" + "unban": "$1 entbannen", + "unblock": "Benutzer entsperren" }, - "group": { - "select": "Freunde auswählen" + "userping": { + "unknown": "@unbekannt" }, - "emoji": { - "title": "Emojis", - "upload": "Emojis hochladen", - "image:": "Bild:", - "name:": "Name:", - "confirmDel": "Sicher, dass dieser Emoji gelöscht werden soll?" + "vc": { + "joinForStream": "Tritt dem VC bei, um zuzusehen", + "joiningStream": "Trete Stream bei...", + "joinstream": "Stream ansehen", + "leavestream": "Stream verlassen", + "stopstream": "Stream stoppen" }, - "sticker": { - "title": "Sticker", - "upload": "Sticker hochladen", - "image": "Bild:", + "webhook": "WEBHOOK", + "webhooks": { + "EnterWebhookName": "Webhook-Namen eingeben", + "areYouSureDelete": "Sicher, dass $1 gelöscht werden soll?", + "avatar": "Avatar", + "base": "Webhooks", + "channel": "Kanal", + "copyURL": "Webhook-URL kopieren", + "createdAt": "Erstellt am $1", + "createdBy": "Erstellt von:", + "deleteWebhook": "Webhook löschen", "name": "Name:", - "desc": "Beschreibung", - "confirmDel": "Sicher, dass dieser Sticker gelöscht werden soll?", - "del": "Sticker löschen", - "errFileMust": "Muss ein Bild für den Sticker enthalten", - "errEmjMust": "Muss einen Emoji für den Sticker enthalten", - "tags": "Zugehöriges Emoji:" + "newWebHook": "Neue Webhook", + "notFound": "Der Benutzer ist nicht mehr in der Gilde", + "token": "Webhook-Token: `$1`", + "type": "Typ: $1", + "type1": "Eingehend", + "type2": "Kanal-Follower", + "type3": "Anwendung", + "url": "Webhook-URL: `$1`" }, + "welcomeMessages": "Willkommen, $1! Schön, dich zu sehen!\nHallo, schön, dich zu treffen, $1!\nWillkommen, ich hoffe, du hast Pizza mitgebracht, $1!", "widget": "Gilden-Widget", "widgetEnabled": "Widget aktiviert", - "incorrectURLS": "## Diese Instanz hat wahrscheinlich die falschen URLs gesendet.\n### Wenn Du der Instanzbesitzer sind, lies [hier](https://docs.spacebar.chat/setup/server/) unter *Verbindung von Remotecomputern herstellen* nach, um das Problem zu beheben.\nSoll Fermi automatisch versuchen diesen Fehler zu beheben, damit Du eine Verbindung zur Instanz herstellen kannst?", - "jankInfo": "Client-Information", - "instInfo": "Instanzinformation", - "clientDesc": "Client-Version: $1 \n\n[Tritt der offiziellen Fermi-Gilde bei]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Hilf, Fermi zu übersetzen](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Hilf, Fermi zu entwickeln](https://github.com/MathMan05/Fermi)\n\n[Hilf, den Server zu pflegen, auf den Fermi angewiesen ist](https://github.com/spacebarchat/server)\n\nBerechnete Rechte: $3", - "uploadFilesText": "Lade hier deine Dateien hoch!", - "errorReconnect": "Verbindung zum Server konnte nicht hergestellt werden. Neuer Versuch in **$1** Sekunden …", - "retrying": "Erneuter Versuch...", - "unableToConnect": "Es konnte keine Verbindung zum Spacebar-Server hergestellt werden. Bitte versuche Dich ab- und wieder neu anzumelden.", - "bot": "BOT", - "webhook": "WEBHOOK" + "yes": "Ja", + "yesterdayAt": "Gestern um $1" } diff --git a/translations/en.json b/translations/en.json index 406185dd..27ac08d9 100644 --- a/translations/en.json +++ b/translations/en.json @@ -1,863 +1,870 @@ { + "2faCode": "2FA code:", + "404": { + "404": "404 Page Not Found", + "app": "To the app", + "blog": "The Fermi blog", + "home": "Home Page", + "listtitle": "Maybe you meant to go to one of these places", + "login": "Login", + "report": "If you found this page within the client please report it:", + "reset": "Password reset page", + "title": "It seems you're lost", + "whatelse": "What else do you think should happen?", + "whereever": "Wherever this is" + }, "@metadata": { "authors": ["MathMan05"], + "comment": "Don't know how often I'll update this top part lol", "last-updated": "2024/15/24", - "locale": "en", - "comment": "Don't know how often I'll update this top part lol" - }, - "vc": { - "joinstream": "Watch stream", - "leavestream": "Leave stream", - "joinForStream": "Join the VC to watch", - "stopstream": "Stop stream", - "joiningStream": "Joining stream..." - }, - "favoriteGifs":"Favorited Gifs", - "recentEmoji":"Recent Emoji", - "noStickers":"You seem to be in an odd spot, there are no stickers for you to use!", - "readableName": "English", - "pinMessage": "Pin Message", - "unableToPin": "Unable to pin message", - "reply": "Reply", - "copyrawtext": "Copy raw text", - "copyLink":"Copy message link", - "copymessageid": "Copy message id", - "media": { - "notFound": "Media could not be found", - "loading": "Loading", - "download": "Download media", - "moreInfo": "More info", - "artist": "Artist: $1", - "composer": "Composer: $1", - "length": "Length: $1 minutes and $2 seconds" + "locale": "en" }, - "logout": { - "logout": "Logout", - "error": { - "title": "An error occurred trying to log you out", - "desc": "Fermi was unable to log you out,\n do you wish to remove the account anyways?", - "cancel": "Cancel", - "cont": "Continue Anyways" - } + "DMs": { + "add": "Add someone to this DM", + "close": "Close DM", + "copyId": "Copy DM id", + "markRead": "Mark as read", + "name": "Direct Messages" }, - "cancel":"Cancel", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Allows the user to create invites for the guild", - "KICK_MEMBERS": "Allows the user to kick members from the guild", - "BAN_MEMBERS": "Allows the user to ban members from the guild", - "ADMINISTRATOR": "Allows all permissions and bypasses channel permission overwrites. This is a dangerous permission!", - "MANAGE_CHANNELS": "Allows the user to manage and edit channels", - "MANAGE_GUILD": "Allows management and editing of the guild", - "ADD_REACTIONS": "Allows user to add reactions to messages", - "VIEW_AUDIT_LOG": "Allows the user to view the audit log", - "PRIORITY_SPEAKER": "Allows for using priority speaker in a voice channel", - "STREAM": "Allows the user to stream", - "VIEW_CHANNEL": "Allows the user to view the channel", - "SEND_MESSAGES": "Allows user to send messages", - "SEND_TTS_MESSAGES": "Allows the user to send text-to-speech messages", - "MANAGE_MESSAGES": "Allows the user to delete messages that aren't their own", - "EMBED_LINKS": "Allow links sent by this user to auto-embed", - "ATTACH_FILES": "Allows the user to attach files", - "READ_MESSAGE_HISTORY": "Allows user to read the message history", - "MENTION_EVERYONE": "Allows the user to mention everyone", - "USE_EXTERNAL_EMOJIS": "Allows the user to use external emojis", - "VIEW_GUILD_INSIGHTS": "Allows the user to see guild insights", - "CONNECT": "Allows the user to connect to a voice channel", - "SPEAK": "Allows the user to speak in a voice channel", - "MUTE_MEMBERS": "Allows user to mute other members", - "DEAFEN_MEMBERS": "Allows user to deafen other members", - "MOVE_MEMBERS": "Allows the user to move members between voice channels", - "USE_VAD": "Allows users to speak in a voice channel by simply talking", - "CHANGE_NICKNAME": "Allows the user to change their own nickname", - "MANAGE_NICKNAMES": "Allows user to change nicknames of other members", - "MANAGE_ROLES": "Allows user to edit and manage roles", - "MANAGE_WEBHOOKS": "Allows management and editing of webhooks", - "MANAGE_GUILD_EXPRESSIONS": "Allows for managing emoji, stickers, and the soundboard", - "USE_APPLICATION_COMMANDS": "Allows the user to use application commands", - "REQUEST_TO_SPEAK": "Allows user to request to speak in stage channel", - "MANAGE_EVENTS": "Allows user to edit and manage events", - "MANAGE_THREADS": "Allows the user to delete and archive threads and view all private threads", - "CREATE_PUBLIC_THREADS": "Allows the user to create public threads", - "CREATE_PRIVATE_THREADS": "Allows the user to create private threads", - "USE_EXTERNAL_STICKERS": "Allows user to use external stickers", - "SEND_MESSAGES_IN_THREADS": "Allows the user to send messages in threads", - "USE_EMBEDDED_ACTIVITIES": "Allows the user to use embedded activities", - "MODERATE_MEMBERS": "Allows the user to time out other users to prevent them from sending or reacting to messages in chat and threads, and from speaking in voice and stage channels", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Allows for viewing role subscription insights", - "USE_SOUNDBOARD": "Allows for using soundboard in a voice channel", - "CREATE_GUILD_EXPRESSIONS": "Allows for creating emojis, stickers, and soundboard sounds, and editing and deleting those created by the current user.", - "CREATE_EVENTS": "Allows for creating scheduled events, and editing and deleting those created by the current user.", - "USE_EXTERNAL_SOUNDS": "Allows the usage of custom soundboard sounds from other guilds", - "SEND_VOICE_MESSAGES": "Allows sending voice messages", - "SEND_POLLS": "Allows sending polls", - "USE_EXTERNAL_APPS": "Allows user-installed apps to send public responses. When disabled, users will still be allowed to use their apps but the responses will be ephemeral. This only applies to apps not also installed to the guild.", - "PIN_MESSAGES":"Allows the user to pin messages", - "BYPASS_SLOWMODE":"Slowmode no longer effects this user" - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Create invite", - "KICK_MEMBERS": "Kick members", - "BAN_MEMBERS": "Ban members", - "ADMINISTRATOR": "Administrator", - "MANAGE_CHANNELS": "Manage channels", - "MANAGE_GUILD": "Manage guild", - "ADD_REACTIONS": "Add reactions", - "VIEW_AUDIT_LOG": "View audit log", - "PRIORITY_SPEAKER": "Priority speaker", - "STREAM": "Video", - "VIEW_CHANNEL": "View channels", - "SEND_MESSAGES": "Send messages", - "SEND_TTS_MESSAGES": "Send text-to-speech messages", - "MANAGE_MESSAGES": "Manage messages", - "EMBED_LINKS": "Embed links", - "ATTACH_FILES": "Attach files", - "READ_MESSAGE_HISTORY": "Read message history", - "MENTION_EVERYONE": "Mention @everyone, @here and all roles", - "USE_EXTERNAL_EMOJIS": "Use external emojis", - "VIEW_GUILD_INSIGHTS": "View guild insights", - "CONNECT": "Connect", - "SPEAK": "Speak", - "MUTE_MEMBERS": "Mute members", - "DEAFEN_MEMBERS": "Deafen members", - "MOVE_MEMBERS": "Move members", - "USE_VAD": "Use voice activity detection", - "CHANGE_NICKNAME": "Change nickname", - "MANAGE_NICKNAMES": "Manage nicknames", - "MANAGE_ROLES": "Manage roles", - "MANAGE_WEBHOOKS": "Manage webhooks", - "MANAGE_GUILD_EXPRESSIONS": "Manage expressions", - "USE_APPLICATION_COMMANDS": "Use application commands", - "REQUEST_TO_SPEAK": "Request to speak", - "MANAGE_EVENTS": "Manage events", - "MANAGE_THREADS": "Manage threads", - "CREATE_PUBLIC_THREADS": "Create public threads", - "CREATE_PRIVATE_THREADS": "Create private threads", - "USE_EXTERNAL_STICKERS": "Use external stickers", - "SEND_MESSAGES_IN_THREADS": "Send messages in threads", - "USE_EMBEDDED_ACTIVITIES": "Use activities", - "MODERATE_MEMBERS": "Timeout members", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "View creator monetization analytics", - "USE_SOUNDBOARD": "Use soundboard", - "CREATE_GUILD_EXPRESSIONS": "Create expressions", - "CREATE_EVENTS": "Create events", - "USE_EXTERNAL_SOUNDS": "Use external sounds", - "SEND_VOICE_MESSAGES": "Send voice messages", - "SEND_POLLS": "Create polls", - "USE_EXTERNAL_APPS": "Use external apps", - "PIN_MESSAGES":"Pin messages", - "BYPASS_SLOWMODE":"Bypass slowmode" + "UrlGen": "URL generator", + "Voice": { + "status": { + "badWS": "Bad response from WS", + "conectionFailed": "Connection Failed", + "done": "Connected", + "left": "Left voice chat", + "makingOffer": "Making offer", + "noSDP": "No SDP", + "notconnected": "Not connected", + "sendingStreams": "Sending audio streams", + "startingRTC": "Starting RTC connection", + "waitingMainWS": "Waiting for main WS", + "waitingURL": "Waiting for voice URL", + "wsAuth": "waiting for WS to authorize", + "wsOpen": "Waiting for WS to open" } }, - "userping":{ - "unknown":"@unknown", - "resolving":"resolving user" - }, - "hideBlockedMessages": "You have this user blocked, click to hide these messages.", - "showBlockedMessages": "You have this user blocked, click to see the $1 blocked {{PLURAL:$1|message|messages}}.", - "deleteConfirm": "Are you sure you want to delete this?", - "yes": "Yes", - "no": "No", - "todayAt": "Today at $1", - "yesterdayAt": "Yesterday at $1", - "otherAt": "$1 at $2", - "botSettings": "Bot Settings", - "uploadPfp": "Upload pfp:", - "uploadBanner": "Upload banner:", - "pronouns": "Pronouns:", - "bio": "Bio:", - "profileColor": "Profile color", - "botGuilds": "Guilds bot is in:", - "leaveGuild": "Leave Guild", - "confirmGuildLeave": "Are you sure you want to leave $1", - "UrlGen": "URL generator", - "typing": "$2 {{PLURAL:$1|is|are}} typing", - "noMessages": "No messages appear to be here, be the first to say something!", - "blankMessage": "Blank Message", - "spoiler": "Spoiler", "accessibility": { - "name": "Accessibility", - "roleColors": "Disable role colors", - "playGif": "Play gifs on:", - "playIcon":"Play animated icons on:", "gifSettings": { - "hover": "Hover", "always": "Always", + "hover": "Hover", "never": "Never" - } + }, + "name": "Accessibility", + "playGif": "Play gifs on:", + "playIcon": "Play animated icons on:", + "roleColors": "Disable role colors" }, - "profile": { - "userInfo": "User Info", - "bio": "About me:", - "permInfo": "Permissions", - "mut": "Mutual Guilds", - "mutFriends":"Mutual Friends", - "joined":"Account made: $1", - "joinedMember":"Joined $1: $2" + "accountNotStart": "Account unable to start", + "add": "Add", + "applications": { + "delete": "Delete Application", + "sure": "Are you sure you want to delete $1?" }, - "channelLink":"# $1", - "messageLink":"Message in # $1", - "searchGifs": "Search Tenor", - "muteDuration":"Unmute in:", - "interactions":{ - "replyline":"Started interaction", - "ephemeralDismiss":"Dismiss Message", - "onlyYou":"Only you can see this message", - "started":"Processing Interaction...", - "worked":"Interaction Succeeded", - "failed":"Interaction Failed", - "notImpl":"Fermi has not implemented component type $1 yet", - "nonsence":"The server sent a component of type $1 which does not exist" + "badge": { + "active_developer": "Active Developer", + "application_guild_subscription": "Has premium", + "automod": "Uses automod", + "bot_commands": "Supports commands", + "bug_hunter_level_1": "Bug hunter level 1", + "bug_hunter_level_2": "Bug hunter level 2", + "certified_moderator": "Moderator", + "early_supporter": "Early supporter", + "guild_booster_lvl1": "Boosted guild", + "guild_booster_lvl2": "Boosted guild", + "guild_booster_lvl3": "Boosted guild", + "guild_booster_lvl4": "Boosted guild", + "guild_booster_lvl5": "Boosted guild", + "guild_booster_lvl6": "Boosted guild", + "guild_booster_lvl7": "Boosted guild", + "guild_booster_lvl8": "Boosted guild", + "guild_booster_lvl9": "Boosted guild for quite a while", + "hypesquad": "Copyrighted thing", + "hypesquad_house_1": "Bravery", + "hypesquad_house_2": "Brilliance", + "hypesquad_house_3": "Balance", + "legacy_username": "Has legacy username", + "partner": "Instance partner", + "premium": "Premium", + "quest_completed": "did a quest", + "staff": "Instance staff", + "verified_developer": "Verified Developer" + }, + "bio": "Bio:", + "blankMessage": "Blank Message", + "blog": { + "blog": "Blog", + "blogUpdates": "Blog updates:", + "desc": "Read or subscribe to the blog for updates on Fermi!", + "fermi": "Fermi Blog", + "gotoPost": "Go to post", + "wantUpdates": "Would you like to get weekly blog updates on the state of Fermi?" }, + "bot": "BOT", + "botGuilds": "Guilds bot is in:", + "botSettings": "Bot Settings", + "cancel": "Cancel", "channel": { - "timedOutUntil":"Timed out until: $1", - "SlowmodeCool":"Slowmode Cooldown: $1", - "TimeOutCool":"Timed out until: $1", - "slowmode":"Slowmode:", - "typebox":"Message in $1", - "creating": "Creating channel", - "name": "Channel", + "SlowmodeCool": "Slowmode Cooldown: $1", + "TimeOutCool": "Timed out until: $1", + "allowIcons": "Allow custom channel icons", + "announcement": "Announcements", "copyId": "Copy channel id", "copyIdCat": "Copy category id", - "markRead": "Mark as read", - "settings": "Settings", + "createCatagory": "Create category", + "createChannel": "Create channel", + "creating": "Creating channel", "delete": "Delete channel", "deleteCat": "Delete category", + "icon": "Icon:", "makeInvite": "Make invite", - "settingsFor": "Settings for $1", - "voice": "Voice", - "text": "Text", - "mute":"Mute Channel", - "unmute":"Unmute Channel", - "announcement": "Announcements", + "markRead": "Mark as read", + "mute": "Mute Channel", + "name": "Channel", "name:": "Name:", - "icon":"Icon:", - "topic:": "Topic:", "nsfw:": "NSFW:", - "selectType": "Select channel type", - "selectName": "Name of channel", - "selectCatName": "Name of category", - "createChannel": "Create channel", - "createCatagory": "Create category", "permissions": "Permissions", - "allowIcons": "Allow custom channel icons" - }, - "notiClump":"You've gotten $1 notifications from $2", - "Voice":{ - "status":{ - "done":"Connected", - "notconnected":"Not connected", - "sendingStreams":"Sending audio streams", - "conectionFailed":"Connection Failed", - "makingOffer":"Making offer", - "startingRTC":"Starting RTC connection", - "noSDP":"No SDP", - "waitingMainWS":"Waiting for main WS", - "badWS":"Bad response from WS", - "waitingURL":"Waiting for voice URL", - "wsOpen":"Waiting for WS to open", - "wsAuth":"waiting for WS to authorize", - "left":"Left voice chat" - } - }, - "usedFermi":"Used Fermi", - "delete": "Delete", - "webhooks": { - "createdAt": "Created at $1", - "name": "Name:", - "token": "Webhook token: `$1`", - "url": "Webhook url: `$1`", - "avatar": "Avatar", - "createdBy": "Created by:", - "notFound": "User no longer is in the guild", - "channel": "Channel", - "copyURL": "Copy Webhook URL", - "newWebHook": "New Webhook", - "EnterWebhookName": "Enter Webhook name", - "base": "Webhooks", - "sillyDefaults": "Captain Hook\nBillie Hooks\nSpidey bot", - "type1": "Incoming", - "type2": "Channel Follower", - "type3": "Application", - "type": "Type: $1", - "deleteWebhook": "Delete Webhook", - "areYouSureDelete": "Are you sure you want to delete $1?" + "selectCatName": "Name of category", + "selectName": "Name of channel", + "selectType": "Select channel type", + "settings": "Settings", + "settingsFor": "Settings for $1", + "slowmode": "Slowmode:", + "text": "Text", + "timedOutUntil": "Timed out until: $1", + "topic:": "Topic:", + "typebox": "Message in $1", + "unmute": "Unmute Channel", + "voice": "Voice" }, - "switchAccounts": "Switch accounts ⇌", - "accountNotStart": "Account unable to start", - "home": { - "uptimeStats": "Uptime: \n All time: $1%\nThis week: $2%\nToday: $3%", - "warnOffiline": "Instance is offline, can't connect", - "icon": "$1's instance icon" - }, - "devSettings":{ - "name":"Developer Settings", - "description":"These are for developers of Spacebar/Fermi, if you don't know what you're doing, please don't mess with these settings.", - "badUser":"Enabled logging of bad user objects that send too much information:", - "logGateway":"Log received gateway events (log level info):", - "traces":"Expose traces:", - "cache":"Enable Service Worker Caching map files:", - "cacheDesc":"map files will still load either way, this'll just make sure they're in cache when a new update rolls out.", - "captureTrace":"This setting tells Fermi to capture _trace properties from the server, enabling this may cause progressive JSON decoding to not work (might require a reload)", - "gatewayComp":"Disable Gateway compression" + "channelLink": "# $1", + "clientDesc": "Client version: $1\n\n[Join the official Fermi guild]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Help translate Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Help create Fermi](https://github.com/MathMan05/Fermi)\n\n[Help maintain the server Fermi relies on](https://github.com/spacebarchat/server)\n\n[Read the blog](https://blog.fermi.chat/)\n\nCalculated rights: $3", + "commands": { + "errorNotValid": "$1 is not a valid choice for $2", + "required": "$1 is a required part of this command" }, - "htmlPages": { - "idpermissions": "This will allow the bot to:", - "addBot": "Add to guild", - "loadingText": "Fermi is loading", - "loaddesc": "This shouldn't take long", - "switchaccounts": "Switch Accounts", - "instanceField": "Instance:", - "emailField": "Email:", - "pwField": "Password:", - "loginButton": "Login", - "noAccount": "Don't have an account?", - "userField": "Username:", - "pw2Field": "Enter password again:", - "dobField": "Date of birth:", - "createAccount": "Create account", - "alreadyHave": "Already have an account?", - "openClient": "Open Client", - "welcomeJank": "Welcome to Fermi", - "box1title": "Fermi is a Spacebar-compatible client seeking to be as good as it can be with many features including:", - "box1Items": "Direct Messaging|Reactions support|Invites|Account switching|User settings|Developer portal|Bot invites|Translation support", - "compatableInstances": "Spacebar-Compatible Instances:", - "box3title": "Contribute to Fermi", - "box3description": "We always appreciate some help, whether that be in the form of bug reports, or code, or even just pointing out some typos.", - "trans": "Translate", - "transTitle": "Translate Fermi", - "transDesc": "You can help translate Fermi into your own language!" + "confirmGuildLeave": "Are you sure you want to leave $1", + "copyLink": "Copy message link", + "copymessageid": "Copy message id", + "copyrawtext": "Copy raw text", + "createAccount": "Create Account", + "delete": "Delete", + "deleteConfirm": "Are you sure you want to delete this?", + "devSettings": { + "badUser": "Enabled logging of bad user objects that send too much information:", + "cache": "Enable Service Worker Caching map files:", + "cacheDesc": "map files will still load either way, this'll just make sure they're in cache when a new update rolls out.", + "captureTrace": "This setting tells Fermi to capture _trace properties from the server, enabling this may cause progressive JSON decoding to not work (might require a reload)", + "clearWellKnowns": "Re-fetch .well-known records", + "description": "These are for developers of Spacebar/Fermi, if you don't know what you're doing, please don't mess with these settings.", + "gatewayComp": "Disable Gateway compression", + "logGateway": "Log received gateway events (log level info):", + "name": "Developer Settings", + "traces": "Expose traces:" + }, + "deviceManage": { + "city": "City: $1", + "continent": "Continent: $1", + "country": "Country: $1", + "curSes": "This is the current session, you have to logout via the other menu", + "estimateWarn": "Warning: All of this information is just a best guess, this could be incorrect.", + "ip": "Last known IP: $1", + "last": "Approximately last used: $1", + "latitude": "Latitude: $1", + "logout": "Logout", + "longitude": "Longitude: $1", + "manageDev": "Manage Device", + "postal": "Postal: $1", + "region": "Region: $1", + "title": "Manage Sessions" + }, + "discovery": "Discovery", + "dms": "Direct Messages", + "edit": "Edit", + "emoji": { + "confirmDel": "Are you sure you want to delete this emoji?", + "found": { + "not": "This Emoji is not from one of your guilds, you must join it to be able to use this emoji", + "other": "This Emoji is from one of your other guilds.", + "private": "The Guild for this Emoji can't be found", + "this": "This Emoji is from this guild." + }, + "from": "This emoji is from", + "image:": "Image:", + "join": "Join Guild", + "name:": "Name:", + "privateGuild": "This guild is private", + "title": "Emojis", + "upload": "Upload Emojis" + }, + "emojiSelect": "Emoji:", + "errorReconnect": "Unable to connect to the server, retrying in **$1** seconds...", + "favoriteGifs": "Favorited Gifs", + "folder": { + "color": "Folder color:", + "create": "Create new folder", + "edit": "Edit folder", + "name": "Folder name:" }, "form": { "captcha": "Wait, are you a human?" }, - "useTemplate": "Use $1 as a template", - "useTemplateButton": "Use Template", - "register": { - "register": "Register", - "passwordError:": "Password: $1", - "usernameError": "Username: $1", - "emailError": "Email: $1", - "DOBError": "Date of Birth: $1", - "agreeTOS": "I agree to the [Terms of Service]($1):", - "noTOS": "This instance has no Terms of Service, accept ToS anyways:", - "tos": "You must agree to the TOS" + "friends": { + "addfriend": "Add Friend", + "addfriendpromt": "Add friends by username:", + "all": "All", + "all:": "All friends:", + "blocked": "Blocked", + "blockedusers": "Blocked Users:", + "bu": "Blocked User", + "discnotfound": "Discriminator not found", + "friendlist": "Friend List", + "friends": "Friends", + "notfound": "User not found", + "online": "Online", + "online:": "Online friends:", + "pending": "Pending", + "pending:": "Pending friend requests:", + "removeFriend": "Remove Friend" }, - "leaving": "You're leaving Spacebar", - "goingToURL": "You're going to $1. Are you sure you want to go there?", "goThere": "Go there", "goThereTrust": "Go there and trust in the future", - "nevermind": "Nevermind", - "submit": "submit", - "edit": "Edit", - "discovery":"Discovery", + "goingToURL": "You're going to $1. Are you sure you want to go there?", + "group": { + "createdm": "Create DM!", + "edit": "Edit Group chat", + "select": "Select Friends" + }, "guild": { - "unknownRole":"@unknown-role", - "memberCount":"$1 {{PLURAL:$1|member|members}}", - "joinConfirm":"Join $1?", - "guilds":"Guilds", - "template": "Template:", - "admins":"Find Admins", - "adminMenu":{ - "finding":"Finding Admins", - "permission":"Permissions:", - "changePerms":"Change Permissions to find", - "owner":"Find the owner","ownName":"Owner" + "COMMUNITY": "Apply to join", + "DISCOVERABLE": "Discovery", + "INVITES_DISABLED": "Invite only", + "adminMenu": { + "changePerms": "Change Permissions to find", + "finding": "Finding Admins", + "ownName": "Owner", + "owner": "Find the owner", + "permission": "Permissions:" }, - "nameNoMatch":"Names don't match", - "viewTemplate": "View Template", - "createFromTemplate": "Guild From Template", - "tempUseCount": "Template has been used $1 {{PLURAL:$1|time|times}}", - "tempCreatedBy": "Template created by:", - "editingTemplate": "Editing $1", - "createNewTemplate": "Create New Template", - "templates": "Templates", - "templateName": "Template Name:", - "templateDesc": "Template Description:", - "templcateMetaDesc": "A template allows others to use this guild as a base for their own guilds, it'll copy the channels, roles, and settings of this guild, but not the messages from within the guild, the bots, or the guilds icon.", - "invites": "Invites", - "templateNameShort": "Template name must at least be 2 characters long", - "templateURL": "Template URL: $1", - "bannedBy": "Banned by:", + "admins": "Find Admins", + "all": "all", "banReason": "Ban reason: $1", + "bannedBy": "Banned by:", + "banner:": "Banner:", "bans": "Bans", - "ruleId": "Rules Channel:", + "boostMessage?": "Send a message when someone boosts your guild!", "community": "Community", - "creating": "Creating guild", + "confirmDelete": "Are you sure you want to delete $1?", + "confirmLeave": "Are you sure you want to leave?", "copyId": "Copy guild id", - "markRead": "Mark as read", - "notifications": "Notifications", - "mute":"Mute Guild", - "leave": "Leave guild", - "settings": "Settings", + "create": "Create guild", + "createFromTemplate": "Guild From Template", + "createNewTemplate": "Create New Template", + "creating": "Creating guild", + "default": "Default ($1)", + "defaultNoti": "Set the default notification settings of your guild!", "delete": "Delete guild", + "description:": "Description:", + "disoveryTitle": "Guild discovery ($1 {{PLURAL:$1|entry|entries}})", + "editingTemplate": "Editing $1", + "emptytext": "You're in a weird spot, this guild has no channels", + "emptytitle": "Weird spot", + "guilds": "Guilds", + "helpTips?": "Send helpful tips for your guild!", + "howJoin": "How can people join your guild?", + "icon:": "Icon:", + "invites": "Invites", + "joinConfirm": "Join $1?", + "leave": "Leave guild", + "loadingDiscovery": "Loading...", "makeInvite": "Make invite", - "settingsFor": "Settings for $1", + "markRead": "Mark as read", + "memberCount": "$1 {{PLURAL:$1|member|members}}", + "mute": "Mute Guild", "name:": "Name:", - "topic:": "Topic:", - "icon:": "Icon:", + "nameNoMatch": "Names don't match", + "noDelete": "Nevermind", + "noLeave": "Nevermind", + "none": "none", + "notifications": "Notifications", + "onlyMentions": "only mentions", "overview": "Overview", - "banner:": "Banner:", "region:": "Region:", "roles": "Roles", + "ruleId": "Rules Channel:", "selectnoti": "Select notifications type", - "all": "all", - "onlyMentions": "only mentions", - "none": "none", - "confirmLeave": "Are you sure you want to leave?", - "yesLeave": "Yes, I'm sure", - "noLeave": "Nevermind", - "confirmDelete": "Are you sure you want to delete $1?", - "serverName": "Name of guild:", - "yesDelete": "Yes, I'm sure", - "noDelete": "Nevermind", - "create": "Create guild", - "loadingDiscovery": "Loading...", - "disoveryTitle": "Guild discovery ($1 {{PLURAL:$1|entry|entries}})", - "emptytitle": "Weird spot", - "emptytext": "You're in a weird spot, this guild has no channels", - "default": "Default ($1)", - "description:": "Description:", - "systemSelect:": "Systems messages channel:", "sendrandomwelcome?": "Send a random message when someone joins this guild", + "serverName": "Name of guild:", + "settings": "Settings", + "settingsFor": "Settings for $1", + "splash": "Discovery splash:", "stickWelcomeReact?": "Prompt members of your guild to react with a sticker when someone joins!", - "boostMessage?": "Send a message when someone boosts your guild!", - "helpTips?": "Send helpful tips for your guild!", - "defaultNoti": "Set the default notification settings of your guild!", - "howJoin": "How can people join your guild?", - "COMMUNITY": "Apply to join", - "INVITES_DISABLED": "Invite only", - "DISCOVERABLE": "Discovery", - "splash":"Discovery splash:" - }, - "welcomeMessages": "Welcome $1! Nice to see ya!\nHello, nice to meet you $1!\nWelcome, hope you brought pizza $1!", - "createAccount":"Create Account", - "role": { - "displaySettings": "Display settings", - "name": "Role name:", - "copyId":"Copy role ID", - "roles":"Roles", - "perms":"Permissions", - "hoisted": "Hoisted:", - "mentionable": "Allow anyone to ping this role:", - "color": "Color", - "remove": "Remove role", - "delete": "Delete Role", - "confirmDelete": "Are you sure you want to delete $1?", - "roleEmoji": "Role emoji:", - "roleFileIcon": "Role Icon:", - "deleting":"Deleting role...", - "colors":{ - "name":"Color count:", - "one":"One", - "two":"Two", - "three":"Three", - "secondColor":"Second Color:", - "thirdColor":"Third Color:" - } + "systemSelect:": "Systems messages channel:", + "tempCreatedBy": "Template created by:", + "tempUseCount": "Template has been used $1 {{PLURAL:$1|time|times}}", + "template": "Template:", + "templateDesc": "Template Description:", + "templateName": "Template Name:", + "templateNameShort": "Template name must at least be 2 characters long", + "templateURL": "Template URL: $1", + "templates": "Templates", + "templcateMetaDesc": "A template allows others to use this guild as a base for their own guilds, it'll copy the channels, roles, and settings of this guild, but not the messages from within the guild, the bots, or the guilds icon.", + "topic:": "Topic:", + "unknownRole": "@unknown-role", + "viewTemplate": "View Template", + "yesDelete": "Yes, I'm sure", + "yesLeave": "Yes, I'm sure" }, - "folder":{ - "name":"Folder name:", - "color":"Folder color:", - "create":"Create new folder", - "edit":"Edit folder" + "hideBlockedMessages": "You have this user blocked, click to hide these messages.", + "home": { + "icon": "$1's instance icon", + "uptimeStats": "Uptime: \n All time: $1%\nThis week: $2%\nToday: $3%", + "warnOffiline": "Instance is offline, can't connect" }, - "settings": { - "unsaved": "Careful, you have unsaved changes", - "save": "Save changes", - "img": "Upload image", - "clear": "Clear" + "htmlPages": { + "addBot": "Add to guild", + "alreadyHave": "Already have an account?", + "box1Items": "Direct Messaging|Reactions support|Invites|Account switching|User settings|Developer portal|Bot invites|Translation support", + "box1title": "Fermi is a Spacebar-compatible client seeking to be as good as it can be with many features including:", + "box3description": "We always appreciate some help, whether that be in the form of bug reports, or code, or even just pointing out some typos.", + "box3title": "Contribute to Fermi", + "compatableInstances": "Spacebar-Compatible Instances:", + "createAccount": "Create account", + "dobField": "Date of birth:", + "emailField": "Email:", + "idpermissions": "This will allow the bot to:", + "instanceField": "Instance:", + "loaddesc": "This shouldn't take long", + "loadingText": "Fermi is loading", + "loginButton": "Login", + "noAccount": "Don't have an account?", + "openClient": "Open Client", + "pw2Field": "Enter password again:", + "pwField": "Password:", + "switchaccounts": "Switch Accounts", + "trans": "Translate", + "transDesc": "You can help translate Fermi into your own language!", + "transTitle": "Translate Fermi", + "userField": "Username:", + "welcomeJank": "Welcome to Fermi" }, - "trace": { - "totalTime": "$2: $1ms", - "traces": "$1 ($2ms) $3" + "incorrectURLS": "## This instance has likely sent the incorrect URLs.\n### If you're the instance owner please see [here](https://docs.spacebar.chat/setup/server/) under *Connecting from remote machines* to correct the issue.\n Would you like Fermi to automatically try to fix this error to let you connect to the instance?", + "instInfo": "Instance Information", + "instanceInfo": { + "contact": "Email Instance Admins", + "frontPage": "[Front Page]($1)", + "name": "Instance Info", + "publicUrl": "[Public Url]($1)", + "tosPage": "[TOS Page]($1)" }, - "notiVolume":"Notification volume:", - "blog":{ - "blog":"Blog", - "wantUpdates":"Would you like to get weekly blog updates on the state of Fermi?", - "blogUpdates":"Blog updates:", - "gotoPost":"Go to post", - "fermi": "Fermi Blog", - "desc": "Read or subscribe to the blog for updates on Fermi!" + "instanceStats": { + "members": "Members: $1", + "messages": "Messages: $1", + "name": "Instance stats: $1", + "servers": "Guilds: $1", + "users": "Registered users: $1" + }, + "interactions": { + "ephemeralDismiss": "Dismiss Message", + "failed": "Interaction Failed", + "nonsence": "The server sent a component of type $1 which does not exist", + "notImpl": "Fermi has not implemented component type $1 yet", + "onlyYou": "Only you can see this message", + "replyline": "Started interaction", + "started": "Processing Interaction...", + "worked": "Interaction Succeeded" }, - "remove":"Remove", - "applications":{ - "delete":"Delete Application", - "sure":"Are you sure you want to delete $1?" + "invite": { + "accept": "Accept", + "alreadyJoined": "Already joined", + "channel:": "Channel:", + "createInvite": "Create invite", + "createdAt": "Created at $1", + "expireAfter": "Expire after:", + "expires": "Expires: $1", + "forChannel": "For channel: $1", + "inviteLinkCode": "Invite Link/Code", + "inviteMaker": "Invite Maker", + "invitedBy": "You've been invited by $1", + "joinUsing": "Join using invite", + "loginOrCreateAccount": "Login or create an account ⇌", + "longInvitedBy": "$1 invited you to join $2", + "maxUses": "Max uses: $1", + "never": "Never", + "noAccount": "Create an account to accept the invite", + "notFound": "Invite could not be found", + "subtext": "to $1 in $2", + "used": "Used $1 {{PLURAL:$1|time|times}}." }, - "webauth":{ - "manage":"Manage security keys", - "addKey":"Add key", - "keyname":"Key name:" + "inviteOptions": { + "12h": "12 Hours", + "1d": "1 Day", + "1h": "1 Hour", + "30d": "30 Days", + "30m": "30 Minutes", + "6h": "6 Hours", + "7d": "7 Days", + "limit": "$1 {{PLURAL:$1|use|uses}}", + "never": "Never", + "noLimit": "No limit", + "title": "Invite People" }, - "updateAv":"Updates Available", + "jankInfo": "Client Information", + "leaveGuild": "Leave Guild", + "leaving": "You're leaving Spacebar", + "loaded": "Loaded", "localuser": { - "noUpdates":"No updates found", - "updatesYay":"Updates have been found!", - "refreshPage":"Refresh to apply", - "trusted":"Trusted Domains", - "trustedDesc":"These domains when you click on links from them will ***not*** prompt you for permission to open like other links, only give this to URLs you trust", - "trace": "Traces", - "install": "Install", - "installJank": "Install Fermi", - "installDesc": "Installing Fermi will allow you to open it in its own window and act like its own app! You can also just continue to use Fermi in the web browser like you have been and it'll work the same.", - "addStatus": "Add status", - "status": "Status", - "customStatusWarn": "Spacebar does not support custom status being displayed at this time so while it'll accept the status, it will not do anything with it", - "settings": "Settings", - "userSettings": "User Settings", - "themesAndSounds": "Themes & Sounds", - "theme:": "Theme", - "notisound": "Notification sound:", - "customSound": "Custom Sound", - "soundTooLarge": "The sound you tried to upload was too large, try again", - "accentColor": "Accent color:", - "VoiceWarning": "Are you sure you want to enable this? It's very experimental and is likely to cause issues. (this feature is for devs, please don't enable if you don't know what you're doing)", - "updateSettings": "Update Settings", - "swSettings": "Service Worker setting", - "SWUnregistered": "Off (including media cache)", - "SWOff": "Off", - "SWOffline": "Offline only", - "SWOn": "On", - "clearCache": "Clear cache", + "2faCode:": "Code:", + "2faCodeGive": "Your secret is: $1 and it's 6 digits, with a 30 second token period", + "2faDisable": "Disable 2FA", + "2faEnable": "Enable 2FA", "CheckUpdate": "Check for updates", + "PasswordsNoMatch": "Passwords don't match", + "TOSURL": "Terms of Service URL:", + "VoiceWarning": "Are you sure you want to enable this? It's very experimental and is likely to cause issues. (this feature is for devs, please don't enable if you don't know what you're doing)", + "accentColor": "Accent color:", "accountSettings": "Account Settings", - "2faDisable": "Disable 2FA", + "addBot": "Add bot", + "addStatus": "Add status", + "advancedBot": "Advanced Bot Settings", + "appName": "Application name:", + "areYouSureDelete": "Are you sure you want to delete your account? If so enter the phrase $1", "badCode": "Invalid code", - "2faEnable": "Enable 2FA", - "2faCode:": "Code:", - "setUp2fa": "2FA Setup", "badPassword": "Incorrect password", - "setUp2faInstruction": "Copy this secret into your totp(time-based one time password) app", - "2faCodeGive": "Your secret is: $1 and it's 6 digits, with a 30 second token period", + "botAvatar": "Bot avatar:", + "botInviteCreate": "Bot Invite Creator", + "botUsername": "Bot username:", "changeDiscriminator": "Change discriminator", - "newDiscriminator": "New discriminator:", "changeEmail": "Change email", - "password:": "Password", - "newEmail:": "New email", - "changeUsername": "Change username", - "newUsername": "New username:", "changePassword": "Change password", - "oldPassword:": "Old password:", - "newPassword:": "New password:", - "PasswordsNoMatch": "Passwords don't match", - "disableConnection": "This connection has been disabled server-side", - "devPortal": "Developer Portal", + "changeUsername": "Change username", + "clearCache": "Clear cache", + "confirmAddBot": "Are you sure you want to add a bot to this application? There's no going back.", + "confirmReset": "Are you sure you want to reset the bot token? Your bot will stop working until you update it.", + "confuseNoBot": "For some reason, this application doesn't have a bot (yet).", + "connections": "Connections", "createApp": "Create application", - "team:": "Team:", - "appName": "Application name:", + "customSound": "Custom Sound", + "customStatusWarn": "Spacebar does not support custom status being displayed at this time so while it'll accept the status, it will not do anything with it", + "deleteAccount": "Account Deletion", + "deleteAccountButton": "Delete account", "description": "Description:", + "devPortal": "Developer Portal", + "disableConnection": "This connection has been disabled server-side", + "editingBot": "Editing bot $1", + "install": "Install", + "installDesc": "Installing Fermi will allow you to open it in its own window and act like its own app! You can also just continue to use Fermi in the web browser like you have been and it'll work the same.", + "installJank": "Install Fermi", + "language": "Language:", + "manageBot": "Manage bot", + "manageInstance": "Manage Instance", + "mustTypePhrase": "To delete your account you must type the phrase", + "newDiscriminator": "New discriminator:", + "newEmail:": "New email", + "newPassword:": "New password:", + "newUsername": "New username:", + "noToken": "Don't know token so can't save it to localStorage, sorry", + "noUpdates": "No updates found", + "notisound": "Notification sound:", + "oldPassword:": "Old password:", + "password:": "Password", "privacyPolcyURL": "Privacy policy URL:", - "TOSURL": "Terms of Service URL:", "publicAvaliable": "Make bot publicly inviteable?", + "refreshPage": "Refresh to apply", "requireCode": "Require code grant to invite the bot?", - "manageBot": "Manage bot", - "addBot": "Add bot", - "confirmAddBot": "Are you sure you want to add a bot to this application? There's no going back.", - "confuseNoBot": "For some reason, this application doesn't have a bot (yet).", - "editingBot": "Editing bot $1", - "botUsername": "Bot username:", - "botAvatar": "Bot avatar:", "resetToken": "Reset Token", - "confirmReset": "Are you sure you want to reset the bot token? Your bot will stop working until you update it.", - "tokenDisplay": "Token: $1", "saveToken": "Save token to localStorage", - "noToken": "Don't know token so can't save it to localStorage, sorry", - "advancedBot": "Advanced Bot Settings", - "botInviteCreate": "Bot Invite Creator", - "language": "Language:", - "connections": "Connections", - "deleteAccount": "Account Deletion", - "areYouSureDelete": "Are you sure you want to delete your account? If so enter the phrase $1", + "setUp2fa": "2FA Setup", + "setUp2faInstruction": "Copy this secret into your totp(time-based one time password) app", + "settings": "Settings", "sillyDeleteConfirmPhrase": "Shrek is love, Shrek is life", - "deleteAccountButton": "Delete account", - "mustTypePhrase": "To delete your account you must type the phrase", - "manageInstance": "Manage Instance" + "soundTooLarge": "The sound you tried to upload was too large, try again", + "status": "Status", + "team:": "Team:", + "theme:": "Theme", + "themesAndSounds": "Themes & Sounds", + "tokenDisplay": "Token: $1", + "trace": "Traces", + "trusted": "Trusted Domains", + "trustedDesc": "These domains when you click on links from them will ***not*** prompt you for permission to open like other links, only give this to URLs you trust", + "updateSettings": "Update Settings", + "updatesYay": "Updates have been found!", + "userSettings": "User Settings" }, - "search": { - "back": "Back", - "next": "Next", - "page": "Page $1", - "new": "New", - "old": "Old", - "search": "Search", - "nofind": "There seems to be no messages that match your search, maybe trying broadening your search to try and find what you want" + "login": { + "allGood": "All good", + "checking": "Checking Instance", + "enterPAgain": "Enter new password again:", + "invalid": "Invalid Instance, try again", + "login": "Login", + "newPassword": "New password:", + "pasteInfo": "Paste the recovery URL here:", + "recover": "Forgot password?", + "recovery": "Forgotten Password", + "waiting": "Waiting to check Instance" + }, + "logout": { + "error": { + "cancel": "Cancel", + "cont": "Continue Anyways", + "desc": "Fermi was unable to log you out,\n do you wish to remove the account anyways?", + "title": "An error occurred trying to log you out" + }, + "logout": "Logout" }, "manageInstance": { - "stop": "Stop instance", "AreYouSureStop": "Are you sure you want to stop this instance?", - "createTokens": "Create Registration Tokens", - "count": "Count:", - "length": "Length:", - "format": "Format:", "TokenFormats": { - "plain": "Plain", "JSON": "JSON formatted", - "URLs": "Invite URLs" + "URLs": "Invite URLs", + "plain": "Plain" }, - "create": "Create", "clientURL": "Client URL:", - "regType": "Register token URL type", + "copy": "Copy", + "count": "Count:", + "create": "Create", + "createTokens": "Create Registration Tokens", + "format": "Format:", "genericType": "Generic", - "copy": "Copy" + "length": "Length:", + "regType": "Register token URL type", + "stop": "Stop instance" + }, + "media": { + "artist": "Artist: $1", + "composer": "Composer: $1", + "download": "Download media", + "length": "Length: $1 minutes and $2 seconds", + "loading": "Loading", + "moreInfo": "More info", + "notFound": "Media could not be found" + }, + "member": { + "ban": "Ban $1 from $2", + "kick": "Kick $1 from $2", + "nick:": "Nickname:", + "persist": "Only delete user:", + "reason:": "Reason:", + "timeout": "Timeout $1", + "timeoutTime": "Timeout Time:" }, - "emojiSelect":"Emoji:", - "noEmojiFont":"Use system Emoji", - "unpinMessage": "Unpin Message", - "noPins": "There seems to be nothing here... yet", "message": { - "reactionAdd": "Add reaction", - "reactions":"View Reactions", + "andMore": "$1, and more!", + "attached": "Sent an attachment", "delete": "Delete message", + "deleted": "Deleted message", "edit": "Edit message", "edited": "(edited)", - "deleted": "Deleted message", - "attached": "Sent an attachment", - "retry": "Resend errored message", - "pin": "$1 has pinned a message", - "viewrest": "View rest", "fullMessage": "Full message:", - "reactionsTitle":"Reactions", - "andMore":"$1, and more!", - "reactedWith":"Reacted with $1" + "pin": "$1 has pinned a message", + "reactedWith": "Reacted with $1", + "reactionAdd": "Add reaction", + "reactions": "View Reactions", + "reactionsTitle": "Reactions", + "retry": "Resend errored message", + "viewrest": "View rest" }, - "instanceStats": { - "name": "Instance stats: $1", - "users": "Registered users: $1", - "servers": "Guilds: $1", - "messages": "Messages: $1", - "members": "Members: $1" + "messageLink": "Message in # $1", + "muteDuration": "Unmute in:", + "nevermind": "Nevermind", + "no": "No", + "noEmojiFont": "Use system Emoji", + "noMessages": "No messages appear to be here, be the first to say something!", + "noPins": "There seems to be nothing here... yet", + "noStickers": "You seem to be in an odd spot, there are no stickers for you to use!", + "notiClump": "You've gotten $1 notifications from $2", + "notiVolume": "Notification volume:", + "otherAt": "$1 at $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Allows user to add reactions to messages", + "ADMINISTRATOR": "Allows all permissions and bypasses channel permission overwrites. This is a dangerous permission!", + "ATTACH_FILES": "Allows the user to attach files", + "BAN_MEMBERS": "Allows the user to ban members from the guild", + "BYPASS_SLOWMODE": "Slowmode no longer effects this user", + "CHANGE_NICKNAME": "Allows the user to change their own nickname", + "CONNECT": "Allows the user to connect to a voice channel", + "CREATE_EVENTS": "Allows for creating scheduled events, and editing and deleting those created by the current user.", + "CREATE_GUILD_EXPRESSIONS": "Allows for creating emojis, stickers, and soundboard sounds, and editing and deleting those created by the current user.", + "CREATE_INSTANT_INVITE": "Allows the user to create invites for the guild", + "CREATE_PRIVATE_THREADS": "Allows the user to create private threads", + "CREATE_PUBLIC_THREADS": "Allows the user to create public threads", + "DEAFEN_MEMBERS": "Allows user to deafen other members", + "EMBED_LINKS": "Allow links sent by this user to auto-embed", + "KICK_MEMBERS": "Allows the user to kick members from the guild", + "MANAGE_CHANNELS": "Allows the user to manage and edit channels", + "MANAGE_EVENTS": "Allows user to edit and manage events", + "MANAGE_GUILD": "Allows management and editing of the guild", + "MANAGE_GUILD_EXPRESSIONS": "Allows for managing emoji, stickers, and the soundboard", + "MANAGE_MESSAGES": "Allows the user to delete messages that aren't their own", + "MANAGE_NICKNAMES": "Allows user to change nicknames of other members", + "MANAGE_ROLES": "Allows user to edit and manage roles", + "MANAGE_THREADS": "Allows the user to delete and archive threads and view all private threads", + "MANAGE_WEBHOOKS": "Allows management and editing of webhooks", + "MENTION_EVERYONE": "Allows the user to mention everyone", + "MODERATE_MEMBERS": "Allows the user to time out other users to prevent them from sending or reacting to messages in chat and threads, and from speaking in voice and stage channels", + "MOVE_MEMBERS": "Allows the user to move members between voice channels", + "MUTE_MEMBERS": "Allows user to mute other members", + "PIN_MESSAGES": "Allows the user to pin messages", + "PRIORITY_SPEAKER": "Allows for using priority speaker in a voice channel", + "READ_MESSAGE_HISTORY": "Allows user to read the message history", + "REQUEST_TO_SPEAK": "Allows user to request to speak in stage channel", + "SEND_MESSAGES": "Allows user to send messages", + "SEND_MESSAGES_IN_THREADS": "Allows the user to send messages in threads", + "SEND_POLLS": "Allows sending polls", + "SEND_TTS_MESSAGES": "Allows the user to send text-to-speech messages", + "SEND_VOICE_MESSAGES": "Allows sending voice messages", + "SPEAK": "Allows the user to speak in a voice channel", + "STREAM": "Allows the user to stream", + "USE_APPLICATION_COMMANDS": "Allows the user to use application commands", + "USE_EMBEDDED_ACTIVITIES": "Allows the user to use embedded activities", + "USE_EXTERNAL_APPS": "Allows user-installed apps to send public responses. When disabled, users will still be allowed to use their apps but the responses will be ephemeral. This only applies to apps not also installed to the guild.", + "USE_EXTERNAL_EMOJIS": "Allows the user to use external emojis", + "USE_EXTERNAL_SOUNDS": "Allows the usage of custom soundboard sounds from other guilds", + "USE_EXTERNAL_STICKERS": "Allows user to use external stickers", + "USE_SOUNDBOARD": "Allows for using soundboard in a voice channel", + "USE_VAD": "Allows users to speak in a voice channel by simply talking", + "VIEW_AUDIT_LOG": "Allows the user to view the audit log", + "VIEW_CHANNEL": "Allows the user to view the channel", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Allows for viewing role subscription insights", + "VIEW_GUILD_INSIGHTS": "Allows the user to see guild insights" + }, + "readableNames": { + "ADD_REACTIONS": "Add reactions", + "ADMINISTRATOR": "Administrator", + "ATTACH_FILES": "Attach files", + "BAN_MEMBERS": "Ban members", + "BYPASS_SLOWMODE": "Bypass slowmode", + "CHANGE_NICKNAME": "Change nickname", + "CONNECT": "Connect", + "CREATE_EVENTS": "Create events", + "CREATE_GUILD_EXPRESSIONS": "Create expressions", + "CREATE_INSTANT_INVITE": "Create invite", + "CREATE_PRIVATE_THREADS": "Create private threads", + "CREATE_PUBLIC_THREADS": "Create public threads", + "DEAFEN_MEMBERS": "Deafen members", + "EMBED_LINKS": "Embed links", + "KICK_MEMBERS": "Kick members", + "MANAGE_CHANNELS": "Manage channels", + "MANAGE_EVENTS": "Manage events", + "MANAGE_GUILD": "Manage guild", + "MANAGE_GUILD_EXPRESSIONS": "Manage expressions", + "MANAGE_MESSAGES": "Manage messages", + "MANAGE_NICKNAMES": "Manage nicknames", + "MANAGE_ROLES": "Manage roles", + "MANAGE_THREADS": "Manage threads", + "MANAGE_WEBHOOKS": "Manage webhooks", + "MENTION_EVERYONE": "Mention @everyone, @here and all roles", + "MODERATE_MEMBERS": "Timeout members", + "MOVE_MEMBERS": "Move members", + "MUTE_MEMBERS": "Mute members", + "PIN_MESSAGES": "Pin messages", + "PRIORITY_SPEAKER": "Priority speaker", + "READ_MESSAGE_HISTORY": "Read message history", + "REQUEST_TO_SPEAK": "Request to speak", + "SEND_MESSAGES": "Send messages", + "SEND_MESSAGES_IN_THREADS": "Send messages in threads", + "SEND_POLLS": "Create polls", + "SEND_TTS_MESSAGES": "Send text-to-speech messages", + "SEND_VOICE_MESSAGES": "Send voice messages", + "SPEAK": "Speak", + "STREAM": "Video", + "USE_APPLICATION_COMMANDS": "Use application commands", + "USE_EMBEDDED_ACTIVITIES": "Use activities", + "USE_EXTERNAL_APPS": "Use external apps", + "USE_EXTERNAL_EMOJIS": "Use external emojis", + "USE_EXTERNAL_SOUNDS": "Use external sounds", + "USE_EXTERNAL_STICKERS": "Use external stickers", + "USE_SOUNDBOARD": "Use soundboard", + "USE_VAD": "Use voice activity detection", + "VIEW_AUDIT_LOG": "View audit log", + "VIEW_CHANNEL": "View channels", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "View creator monetization analytics", + "VIEW_GUILD_INSIGHTS": "View guild insights" + } }, - "instanceInfo":{ - "name":"Instance Info", - "contact":"Email Instance Admins", - "tosPage":"[TOS Page]($1)", - "frontPage":"[Front Page]($1)", - "publicUrl":"[Public Url]($1)" + "pinMessage": "Pin Message", + "profile": { + "bio": "About me:", + "joined": "Account made: $1", + "joinedMember": "Joined $1: $2", + "mut": "Mutual Guilds", + "mutFriends": "Mutual Friends", + "permInfo": "Permissions", + "userInfo": "User Info" }, - "inviteOptions": { - "title": "Invite People", - "30m": "30 Minutes", - "1h": "1 Hour", - "6h": "6 Hours", - "12h": "12 Hours", - "1d": "1 Day", - "7d": "7 Days", - "30d": "30 Days", - "never": "Never", - "limit": "$1 {{PLURAL:$1|use|uses}}", - "noLimit": "No limit" + "profileColor": "Profile color", + "pronouns": "Pronouns:", + "readableName": "English", + "recentEmoji": "Recent Emoji", + "register": { + "DOBError": "Date of Birth: $1", + "agreeTOS": "I agree to the [Terms of Service]($1):", + "emailError": "Email: $1", + "noTOS": "This instance has no Terms of Service, accept ToS anyways:", + "passwordError:": "Password: $1", + "register": "Register", + "tos": "You must agree to the TOS", + "usernameError": "Username: $1" }, - "2faCode": "2FA code:", - "invite": { - "invitedBy": "You've been invited by $1", - "alreadyJoined": "Already joined", - "accept": "Accept", - "noAccount": "Create an account to accept the invite", - "longInvitedBy": "$1 invited you to join $2", - "loginOrCreateAccount": "Login or create an account ⇌", - "joinUsing": "Join using invite", - "inviteLinkCode": "Invite Link/Code", - "subtext": "to $1 in $2", - "expireAfter": "Expire after:", - "channel:": "Channel:", - "inviteMaker": "Invite Maker", - "createInvite": "Create invite", - "used": "Used $1 {{PLURAL:$1|time|times}}.", - "forChannel": "For channel: $1", - "createdAt": "Created at $1", - "expires": "Expires: $1", - "never": "Never", - "maxUses": "Max uses: $1", - "notFound":"Invite could not be found" + "remove": "Remove", + "renderJoinAvatars": "Display avatars for new members: ", + "reply": "Reply", + "replyingTo": "Replying to $1", + "retrying": "Retrying...", + "role": { + "color": "Color", + "colors": { + "name": "Color count:", + "one": "One", + "secondColor": "Second Color:", + "thirdColor": "Third Color:", + "three": "Three", + "two": "Two" + }, + "confirmDelete": "Are you sure you want to delete $1?", + "copyId": "Copy role ID", + "delete": "Delete Role", + "deleting": "Deleting role...", + "displaySettings": "Display settings", + "hoisted": "Hoisted:", + "mentionable": "Allow anyone to ping this role:", + "name": "Role name:", + "perms": "Permissions", + "remove": "Remove role", + "roleEmoji": "Role emoji:", + "roleFileIcon": "Role Icon:", + "roles": "Roles" }, - "friends": { - "blocked": "Blocked", - "blockedusers": "Blocked Users:", - "bu":"Blocked User", - "addfriend": "Add Friend", - "removeFriend": "Remove Friend", - "addfriendpromt": "Add friends by username:", - "notfound": "User not found", - "discnotfound": "Discriminator not found", - "pending": "Pending", - "pending:": "Pending friend requests:", - "all": "All", - "all:": "All friends:", - "online": "Online", - "online:": "Online friends:", - "friendlist": "Friend List", - "friends": "Friends" + "search": { + "back": "Back", + "new": "New", + "next": "Next", + "nofind": "There seems to be no messages that match your search, maybe trying broadening your search to try and find what you want", + "old": "Old", + "page": "Page $1", + "search": "Search" }, - "replyingTo": "Replying to $1", - "DMs": { - "copyId": "Copy DM id", - "markRead": "Mark as read", - "close": "Close DM", - "name": "Direct Messages", - "add": "Add someone to this DM" + "searchGifs": "Search Tenor", + "settings": { + "clear": "Clear", + "img": "Upload image", + "save": "Save changes", + "unsaved": "Careful, you have unsaved changes", + "updates": { + "serviceWorkerMode": { + "disabled": "Off", + "enabled": "On", + "offlineOnly": "Offline only", + "title": "Service Worker setting", + "unregistered": "Off (including media cache)" + } + } + }, + "showBlockedMessages": "You have this user blocked, click to see the $1 blocked {{PLURAL:$1|message|messages}}.", + "spoiler": "Spoiler", + "sticker": { + "confirmDel": "Are you sure you want to delete this sticker?", + "del": "Delete sticker", + "desc": "Description", + "errEmjMust": "Must include an emoji with your sticker", + "errFileMust": "Must include an image for your sticker", + "image": "Image:", + "name": "Name:", + "tags": "Associated Emoji: ", + "title": "Stickers", + "upload": "Upload Stickers" + }, + "submit": "submit", + "switchAccounts": "Switch accounts ⇌", + "todayAt": "Today at $1", + "trace": { + "totalTime": "$2: $1ms", + "traces": "$1 ($2ms) $3" }, + "typing": "$2 {{PLURAL:$1|is|are}} typing", + "unableToConnect": "Unable to connect to the Spacebar server. Please try logging out and back in.", + "unableToPin": "Unable to pin message", + "unpinMessage": "Unpin Message", + "updateAv": "Updates Available", + "uploadBanner": "Upload banner:", + "uploadFilesText": "Upload your files here!", + "uploadPfp": "Upload pfp:", + "useTemplate": "Use $1 as a template", + "useTemplateButton": "Use Template", + "usedFermi": "Used Fermi", "user": { - "sendMessage":"Message @$1", - "editNick":"Edit Nickname", + "addRole": "Add roles", + "ban": "Ban member", + "block": "Block user", + "confirmInstBan": "Are you sure you want to instance ban $1?", "copyId": "Copy user ID", - "online": "Online", - "offline": "Offline", - "invisible": "Invisible", "dnd": "Do Not Disturb", - "idle": "Idle", - "message": "Message user", - "block": "Block user", - "unblock": "Unblock user", + "editNick": "Edit Nickname", + "editServerProfile": "Edit guild profile", "friendReq": "Friend request", + "idle": "Idle", + "instanceBan": "Instance ban", + "invisible": "Invisible", "kick": "Kick member", - "timeout":"Timeout member", - "unTimeout":"Remove Timeout on member", - "ban": "Ban member", - "addRole": "Add roles", + "message": "Message user", + "nick": { + "foe": "Set foe nickname", + "friend": "Set friend nickname", + "stalker": "Set nickname of requester", + "stalking": "Set nickname of requested" + }, + "offline": "Offline", + "online": "Online", + "remove": "Remove user", "removeRole": "Remove roles", - "editServerProfile": "Edit guild profile", - "instanceBan": "Instance ban", - "confirmInstBan": "Are you sure you want to instance ban $1?", + "sendMessage": "Message @$1", + "timeout": "Timeout member", + "unTimeout": "Remove Timeout on member", "unban": "Unban $1", - "remove":"Remove user", - "nick":{ - "friend":"Set friend nickname", - "foe":"Set foe nickname", - "stalker":"Set nickname of requester", - "stalking":"Set nickname of requested" - } + "unblock": "Unblock user" }, - "loaded":"Loaded", - "login": { - "checking": "Checking Instance", - "allGood": "All good", - "invalid": "Invalid Instance, try again", - "waiting": "Waiting to check Instance", - "recover": "Forgot password?", - "pasteInfo": "Paste the recovery URL here:", - "newPassword": "New password:", - "enterPAgain": "Enter new password again:", - "recovery": "Forgotten Password", - "login": "Login" + "userping": { + "resolving": "resolving user", + "unknown": "@unknown" }, - "member": { - "kick": "Kick $1 from $2", - "timeout":"Timeout $1", - "reason:": "Reason:", - "persist":"Only delete user:", - "timeoutTime":"Timeout Time:", - "ban": "Ban $1 from $2", - "nick:": "Nickname:" - }, - "commands":{ - "errorNotValid":"$1 is not a valid choice for $2", - "required":"$1 is a required part of this command" - }, - "badge": { - "staff": "Instance staff", - "partner": "Instance partner", - "certified_moderator": "Moderator", - "hypesquad": "Copyrighted thing", - "hypesquad_house_1": "Bravery", - "hypesquad_house_2": "Brilliance", - "hypesquad_house_3": "Balance", - "bug_hunter_level_1": "Bug hunter level 1", - "bug_hunter_level_2": "Bug hunter level 2", - "active_developer": "Active Developer", - "verified_developer": "Verified Developer", - "early_supporter": "Early supporter", - "premium": "Premium", - "guild_booster_lvl1": "Boosted guild", - "guild_booster_lvl2": "Boosted guild", - "guild_booster_lvl3": "Boosted guild", - "guild_booster_lvl4": "Boosted guild", - "guild_booster_lvl5": "Boosted guild", - "guild_booster_lvl6": "Boosted guild", - "guild_booster_lvl7": "Boosted guild", - "guild_booster_lvl8": "Boosted guild", - "guild_booster_lvl9": "Boosted guild for quite a while", - "bot_commands": "Supports commands", - "automod": "Uses automod", - "application_guild_subscription": "Has premium", - "legacy_username": "Has legacy username", - "quest_completed": "did a quest" - }, - "dms":"Direct Messages", - "add":"Add", - "group":{ - "select":"Select Friends", - "createdm":"Create DM!", - "edit":"Edit Group chat" + "vc": { + "joinForStream": "Join the VC to watch", + "joiningStream": "Joining stream...", + "joinstream": "Watch stream", + "leavestream": "Leave stream", + "stopstream": "Stop stream" }, - "emoji": { - "title": "Emojis", - "upload": "Upload Emojis", - "image:": "Image:", - "name:": "Name:", - "confirmDel": "Are you sure you want to delete this emoji?", - "from":"This emoji is from", - "privateGuild":"This guild is private", - "join":"Join Guild", - "found":{ - "this":"This Emoji is from this guild.", - "other":"This Emoji is from one of your other guilds.", - "not":"This Emoji is not from one of your guilds, you must join it to be able to use this emoji", - "private":"The Guild for this Emoji can't be found" - } + "webauth": { + "addKey": "Add key", + "keyname": "Key name:", + "manage": "Manage security keys" }, - "sticker": { - "title": "Stickers", - "upload": "Upload Stickers", - "image": "Image:", + "webhook": "WEBHOOK", + "webhooks": { + "EnterWebhookName": "Enter Webhook name", + "areYouSureDelete": "Are you sure you want to delete $1?", + "avatar": "Avatar", + "base": "Webhooks", + "channel": "Channel", + "copyURL": "Copy Webhook URL", + "createdAt": "Created at $1", + "createdBy": "Created by:", + "deleteWebhook": "Delete Webhook", "name": "Name:", - "desc": "Description", - "confirmDel": "Are you sure you want to delete this sticker?", - "del": "Delete sticker", - "errFileMust": "Must include an image for your sticker", - "errEmjMust": "Must include an emoji with your sticker", - "tags": "Associated Emoji: " - }, - "404":{ - "home":"Home Page", - "title":"It seems you're lost", - "404":"404 Page Not Found", - "listtitle":"Maybe you meant to go to one of these places", - "app":"To the app", - "login":"Login", - "reset":"Password reset page", - "blog":"The Fermi blog", - "whereever":"Wherever this is", - "report":"If you found this page within the client please report it:", - "whatelse":"What else do you think should happen?" - }, - "deviceManage":{ - "title":"Manage Sessions", - "manageDev":"Manage Device", - "ip":"Last known IP: $1", - "estimateWarn":"Warning: All of this information is just a best guess, this could be incorrect.", - "country":"Country: $1", - "region":"Region: $1", - "city":"City: $1", - "postal":"Postal: $1", - "continent":"Continent: $1", - "latitude":"Latitude: $1", - "longitude":"Longitude: $1", - "last":"Approximately last used: $1", - "logout":"Logout", - "curSes":"This is the current session, you have to logout via the other menu" + "newWebHook": "New Webhook", + "notFound": "User no longer is in the guild", + "sillyDefaults": "Captain Hook\nBillie Hooks\nSpidey bot", + "token": "Webhook token: `$1`", + "type": "Type: $1", + "type1": "Incoming", + "type2": "Channel Follower", + "type3": "Application", + "url": "Webhook url: `$1`" }, + "welcomeMessages": "Welcome $1! Nice to see ya!\nHello, nice to meet you $1!\nWelcome, hope you brought pizza $1!", "widget": "Guild Widget", "widgetEnabled": "Widget enabled", - "incorrectURLS": "## This instance has likely sent the incorrect URLs.\n### If you're the instance owner please see [here](https://docs.spacebar.chat/setup/server/) under *Connecting from remote machines* to correct the issue.\n Would you like Fermi to automatically try to fix this error to let you connect to the instance?", - "jankInfo": "Client Information", - "instInfo": "Instance Information", - "clientDesc": "Client version: $1\n\n[Join the official Fermi guild]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Help translate Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Help create Fermi](https://github.com/MathMan05/Fermi)\n\n[Help maintain the server Fermi relies on](https://github.com/spacebarchat/server)\n\n[Read the blog](https://blog.fermi.chat/)\n\nCalculated rights: $3", - "uploadFilesText": "Upload your files here!", - "errorReconnect": "Unable to connect to the server, retrying in **$1** seconds...", - "retrying": "Retrying...", - "unableToConnect": "Unable to connect to the Spacebar server. Please try logging out and back in.", - "bot": "BOT", - "webhook": "WEBHOOK" + "yes": "Yes", + "yesterdayAt": "Yesterday at $1" } diff --git a/translations/fr.json b/translations/fr.json index c6fd0c4e..8ef12b3f 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -1,4 +1,18 @@ { + "2faCode": "Code 2FA :", + "404": { + "404": "404 Page non trouvée", + "app": "Vers l'application", + "blog": "Le blog Fermi", + "home": "Page d’accueil", + "listtitle": "Tu voulais peut-être aller dans un de ces endroits", + "login": "Connexion", + "report": "Si vous avez trouvé cette page dans le client, veuillez le signaler :", + "reset": "Page de réinitialisation du mot de passe", + "title": "Il semble que tu sois perdu", + "whatelse": "Que pensez-vous qu'il devrait se passer d'autre ?", + "whereever": "Où que ce soit" + }, "@metadata": { "authors": [ "Asteralee", @@ -17,698 +31,689 @@ "Wladek92" ] }, - "vc": { - "joinstream": "Regarder la diffusion", - "leavestream": "Quitter la diffusion", - "joinForStream": "Rejoignez l’appel vocal pour regarder", - "stopstream": "Arrêter la diffusion", - "joiningStream": "Connexion à la diffusion en cours…" - }, - "favoriteGifs": "Gifs favoris", - "recentEmoji": "Emoji récents", - "noStickers": "Vous semblez être dans une situation étrange, il n'y a pas d'autocollants à utiliser pour vous!", - "readableName": "français", - "pinMessage": "Épingler le message", - "unableToPin": "Impossible d'épingler le message", - "reply": "Répondre", - "copyrawtext": "Copier le texte brut", - "copyLink": "Copier le lien du message", - "copymessageid": "Copier l'identifiant du message", - "media": { - "notFound": "Le support n’a pas pu être trouvé", - "loading": "Chargement en cours", - "download": "Télécharger le support", - "moreInfo": "Plus d’infos", - "artist": "Artiste : $1", - "composer": "Compositeur : $1", - "length": "Durée : $1 minute(s) et $2 seconde(s)" - }, - "logout": { - "logout": "Se déconnecter", - "error": { - "title": "Une erreur s’est produite lots de la tentative de déconnexion", - "desc": "Fermi n’a pas pu vous déconnecter,\n souhaitez-vous malgré tout retirer le compte ?", - "cancel": "Annuler", - "cont": "Continuer malgré tout" - } + "DMs": { + "close": "Fermer le message en direct", + "copyId": "Copier l'identifiant du message en direct", + "markRead": "Marquer comme lu", + "name": "Messages en direct" }, - "cancel": "Annuler", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Permet à l'utilisateur de créer des invitations pour la guilde", - "KICK_MEMBERS": "Permet à l'utilisateur d'expulser des membres de la guilde", - "BAN_MEMBERS": "Permet à l'utilisateur de bannir des membres de la guilde", - "ADMINISTRATOR": "Active toutes les autorisations et contourne les réécritures d'autorisation de canaux. Il s'agit d'une option dangereuse !", - "MANAGE_CHANNELS": "Permet à l'utilisateur de gérer et de modifier les canaux", - "MANAGE_GUILD": "Permet la gestion et l'édition de la guilde", - "ADD_REACTIONS": "Permet à l'utilisateur d'ajouter des commentaires aux messages", - "VIEW_AUDIT_LOG": "Permet à l'utilisateur de visualiser le journal d'audit", - "PRIORITY_SPEAKER": "Permet d'utiliser un haut-parleur prioritaire dans un canal vocal", - "STREAM": "Permet à l'utilisateur de diffuser", - "VIEW_CHANNEL": "Permet à l'utilisateur de voir le canal", - "SEND_MESSAGES": "Permet à l'utilisateur d'envoyer des messages", - "SEND_TTS_MESSAGES": "Permet à l'utilisateur d'envoyer des messages de synthèse vocale TTS (text-to-speech, texte-en-parole)", - "MANAGE_MESSAGES": "Permet à l'utilisateur de supprimer les messages qui ne sont pas les siens", - "EMBED_LINKS": "Autoriser l'intégration automatique des liens envoyés par cet utilisateur", - "ATTACH_FILES": "Permet à l'utilisateur de joindre des fichiers", - "READ_MESSAGE_HISTORY": "Permet à l'utilisateur de lire l'historique des messages", - "MENTION_EVERYONE": "Permet à l'utilisateur de mentionner tout le monde", - "USE_EXTERNAL_EMOJIS": "Permet à l'utilisateur d'utiliser des émojis externes", - "VIEW_GUILD_INSIGHTS": "Permet à l'utilisateur de voir les informations sur la guilde", - "CONNECT": "Permet à l'utilisateur de se connecter à un canal vocal", - "SPEAK": "Permet à l'utilisateur de parler dans un canal vocal", - "MUTE_MEMBERS": "Permet à l'utilisateur de couper le son des autres membres", - "DEAFEN_MEMBERS": "Permet à l'utilisateur d'empêcher les autres membres d'entendre", - "MOVE_MEMBERS": "Permet à l'utilisateur de déplacer les membres entre les canaux vocaux", - "USE_VAD": "Permet aux utilisateurs de parler dans un canal vocal en parlant simplement", - "CHANGE_NICKNAME": "Permet à l'utilisateur de modifier son propre pseudo", - "MANAGE_NICKNAMES": "Permet à l'utilisateur de modifier les pseudonymes des autres membres", - "MANAGE_ROLES": "Permet à l'utilisateur de modifier et de gérer les rôles", - "MANAGE_WEBHOOKS": "Permet la gestion et l'édition des accroches Internet", - "MANAGE_GUILD_EXPRESSIONS": "Permet de gérer les émojis, les autocollants et la carte son", - "USE_APPLICATION_COMMANDS": "Permet à l'utilisateur d'utiliser les commandes de l'application", - "REQUEST_TO_SPEAK": "Permet à l'utilisateur de demander à parler dans le canal de scène", - "MANAGE_EVENTS": "Permet à l'utilisateur de modifier et de gérer les événements", - "MANAGE_THREADS": "Permet à l'utilisateur de supprimer et d'archiver les fils de discussion et d'afficher tous les fils privés", - "CREATE_PUBLIC_THREADS": "Permet à l'utilisateur de créer des fils de discussion publics", - "CREATE_PRIVATE_THREADS": "Permet à l'utilisateur de créer des fils de discussion privés", - "USE_EXTERNAL_STICKERS": "Permet à l'utilisateur d'utiliser des autocollants externes", - "SEND_MESSAGES_IN_THREADS": "Permet à l'utilisateur d'envoyer des messages dans les fils de discussion", - "USE_EMBEDDED_ACTIVITIES": "Permet à l'utilisateur d'utiliser des activités intégrées", - "MODERATE_MEMBERS": "Permet à l'utilisateur de bloquer les autres utilisateurs pour les empêcher d'envoyer et de réagir aux messages dans le tchat et les fils de discussion et de les empêcher de parler dans les canaux vocaux et de scène", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Permet de visualiser les informations sur les abonnements aux rôles", - "USE_SOUNDBOARD": "Permet d'utiliser la table des sons dans un canal vocal", - "CREATE_GUILD_EXPRESSIONS": "Permet de créer des émojis, des autocollants et des sons de carte son ainsi que de modifier et de supprimer ceux créés par l'utilisateur actuel.", - "CREATE_EVENTS": "Permet de créer des événements planifiés, ainsi que de modifier et de supprimer ceux créés par l'utilisateur actuel.", - "USE_EXTERNAL_SOUNDS": "Permet l'utilisation de sons personnalisés de cartes son provenant d'autres guildes", - "SEND_VOICE_MESSAGES": "Permet d'envoyer des messages vocaux", - "SEND_POLLS": "Permet d'envoyer des sondages", - "USE_EXTERNAL_APPS": "Permet aux applications installées par l'utilisateur d'envoyer des réponses publiques. Lorsque cette option est désactivée, les utilisateurs seront toujours autorisés à utiliser leurs applications mais les réponses seront éphémères. Cela s'applique uniquement aux applications qui ne sont pas également installées sur la guilde.", - "PIN_MESSAGES": "Permet à l'utilisateur d'épingler des messages", - "BYPASS_SLOWMODE": "Le mode lent n'a plus d'effet sur cet utilisateur." - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Créer une invitation", - "KICK_MEMBERS": "Expulser des membres", - "BAN_MEMBERS": "Bannir des membres", - "ADMINISTRATOR": "Administrateur", - "MANAGE_CHANNELS": "Gérer les canaux", - "MANAGE_GUILD": "Gérer la guilde", - "ADD_REACTIONS": "Ajouter des commentaires", - "VIEW_AUDIT_LOG": "Afficher le journal d'audit", - "PRIORITY_SPEAKER": "Orateur prioritaire", - "STREAM": "Vidéo", - "VIEW_CHANNEL": "Voir les canaux", - "SEND_MESSAGES": "Envoyer des messages", - "SEND_TTS_MESSAGES": "Envoyer des messages de synthèse vocal TTS", - "MANAGE_MESSAGES": "Gérer les messages", - "EMBED_LINKS": "Intégrer des liens", - "ATTACH_FILES": "Joindre des fichiers", - "READ_MESSAGE_HISTORY": "Lire l'historique des messages", - "MENTION_EVERYONE": "Mention @everyone, @here et tous les rôles", - "USE_EXTERNAL_EMOJIS": "Utiliser des émojis externes", - "VIEW_GUILD_INSIGHTS": "Voir les informations sur la guilde", - "CONNECT": "Se connecter", - "SPEAK": "Parler", - "MUTE_MEMBERS": "Rendre les membres muets", - "DEAFEN_MEMBERS": "Rendre les membres sourds", - "MOVE_MEMBERS": "Déplacer des membres", - "USE_VAD": "Utiliser la détection d’activité vocale", - "CHANGE_NICKNAME": "Changer de pseudo", - "MANAGE_NICKNAMES": "Gérer les pseudos", - "MANAGE_ROLES": "Gérer les rôles", - "MANAGE_WEBHOOKS": "Gérer les accroches Internet", - "MANAGE_GUILD_EXPRESSIONS": "Gérer les expressions", - "USE_APPLICATION_COMMANDS": "Utiliser les commandes de l'application", - "REQUEST_TO_SPEAK": "Demander de prendre la parole", - "MANAGE_EVENTS": "Gérer les événements", - "MANAGE_THREADS": "Gérer les fils de discussion", - "CREATE_PUBLIC_THREADS": "Créer des fils de discussion publics", - "CREATE_PRIVATE_THREADS": "Créer des fils de discussion privés", - "USE_EXTERNAL_STICKERS": "Utiliser des autocollants externes", - "SEND_MESSAGES_IN_THREADS": "Envoyer des messages dans des fils de discussion", - "USE_EMBEDDED_ACTIVITIES": "Utiliser des activités", - "MODERATE_MEMBERS": "Bloquer des membres", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Afficher les analyses de monétisation des créateurs", - "USE_SOUNDBOARD": "Utiliser la table des sons", - "CREATE_GUILD_EXPRESSIONS": "Créer des expressions", - "CREATE_EVENTS": "Créer des événements", - "USE_EXTERNAL_SOUNDS": "Utiliser des sons externes", - "SEND_VOICE_MESSAGES": "Envoyer des messages vocaux", - "SEND_POLLS": "Créer des sondages", - "USE_EXTERNAL_APPS": "Utiliser des applications externes" + "UrlGen": "Générateur d'URL", + "Voice": { + "status": { + "conectionFailed": "La connexion a échoué" } }, - "hideBlockedMessages": "Vous avez bloqué cet utilisateur, cliquez pour masquer ces messages.", - "showBlockedMessages": "Vous avez bloqué cet utilisateur, cliquez pour voir {{PLURAL:$1|le message bloqué|les $1 messages bloqués}}.", - "deleteConfirm": "Etes-vous sûr de vouloir supprimer ceci ?", - "yes": "Oui", - "no": "Non", - "todayAt": "Aujourd'hui à $1", - "yesterdayAt": "Hier à $1", - "otherAt": "$1 à $2", - "botSettings": "Paramètres du robot", - "uploadPfp": "Téléverser une photo de profil :", - "uploadBanner": "Téléverser une bannière :", - "pronouns": "Pronoms :", - "bio": "Biographie :", - "profileColor": "Couleur du profil", - "botGuilds": "Guildes auxquelles appartient le robot :", - "leaveGuild": "Quitter la guilde", - "confirmGuildLeave": "Etes-vous sûr de vouloir quitter $1", - "UrlGen": "Générateur d'URL", - "typing": "$2 {{PLURAL:$1|est|sont}} en train d'écrire", - "noMessages": "Il n'y a aucun message ici, soyez le premier à dire quelque chose !", - "blankMessage": "Message vide", - "spoiler": "Divulgâcheur", "accessibility": { - "name": "Accessibilité", - "roleColors": "Désactiver les couleurs des rôles", - "playGif": "Faire lire le fichier GIF:", "gifSettings": { - "hover": "Survol", "always": "Toujours", + "hover": "Survol", "never": "Jamais" - } + }, + "name": "Accessibilité", + "playGif": "Faire lire le fichier GIF:", + "roleColors": "Désactiver les couleurs des rôles" }, - "profile": { - "userInfo": "Informations sur l’utilisateur", - "bio": "À mon sujet :", - "permInfo": "Autorisations", - "mut": "Guildes mutuelles", - "mutFriends": "Amis communs", - "joined": "Compte créé : $1", - "joinedMember": "A rejoint $1 : $2" + "accountNotStart": "Impossible de démarrer le compte", + "add": "Ajouter", + "badge": { + "active_developer": "Développeur actif", + "application_guild_subscription": "A une prime", + "automod": "Utilise automod", + "bot_commands": "Prend en charge les commandes", + "bug_hunter_level_1": "Chasseur de bogues niveau 1", + "bug_hunter_level_2": "Chasseur de bogues niveau 2", + "certified_moderator": "Modérateur", + "early_supporter": "Supporteur de la première heure", + "guild_booster_lvl1": "Guilde boostée", + "guild_booster_lvl2": "Guilde boostée", + "guild_booster_lvl3": "Guilde boostée", + "guild_booster_lvl4": "Guilde boostée", + "guild_booster_lvl5": "Guilde boostée", + "guild_booster_lvl6": "Guilde boostée", + "guild_booster_lvl7": "Guilde boostée", + "guild_booster_lvl8": "Guilde boostée", + "guild_booster_lvl9": "Guilde boostée depuis un bon moment", + "hypesquad": "Chose protégée par le droit d'auteur", + "hypesquad_house_1": "Bravoure", + "hypesquad_house_2": "Brillance", + "hypesquad_house_3": "Équilibre", + "legacy_username": "A un nom d'utilisateur hérité", + "partner": "Partenaire de l'instance", + "premium": "Premium", + "quest_completed": "a fait une quête", + "staff": "Personnel de l'instance", + "verified_developer": "Développeur vérifié" }, - "searchGifs": "Rechercher sur Tenor", + "bio": "Biographie :", + "blankMessage": "Message vide", + "blog": { + "blog": "Blogue", + "desc": "Lisez ou abonnez-vous au blogue pour des actualités sur Fermi !", + "fermi": "Blogue de Fermi" + }, + "bot": "ROBOT", + "botGuilds": "Guildes auxquelles appartient le robot :", + "botSettings": "Paramètres du robot", + "cancel": "Annuler", "channel": { - "creating": "Création du canal", - "name": "Canal", + "announcement": "Annonces", "copyId": "Copier l'identifiant du canal", "copyIdCat": "Copier l'identifiant de la catégorie", - "markRead": "Marquer comme lu", - "settings": "Paramètres", + "createCatagory": "Créer une catégorie", + "createChannel": "Créer un canal", + "creating": "Création du canal", "delete": "Supprimer le canal", "deleteCat": "Supprimer la catégorie", "makeInvite": "Faire une invitation", - "settingsFor": "Paramètres pour $1", - "voice": "Voix", - "text": "Texte", - "announcement": "Annonces", + "markRead": "Marquer comme lu", + "name": "Canal", "name:": "Nom :", - "topic:": "Sujet :", "nsfw:": "NSFW :", - "selectType": "Sélectionnez le type de canal", - "selectName": "Nom du canal", + "permissions": "Droits", "selectCatName": "Nom de la catégorie", - "createChannel": "Créer un canal", - "createCatagory": "Créer une catégorie", - "permissions": "Droits" - }, - "Voice": { - "status": { - "conectionFailed": "La connexion a échoué" - } + "selectName": "Nom du canal", + "selectType": "Sélectionnez le type de canal", + "settings": "Paramètres", + "settingsFor": "Paramètres pour $1", + "text": "Texte", + "topic:": "Sujet :", + "voice": "Voix" }, + "clientDesc": "Version du client : $1\n\n[Rejoignez la guilde officielle du client Fermi]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Contribuez à la traduction du client Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Contribueez au client Fermi](https://github.com/MathMan05/Fermi)\n\n[Contribuez à la maintenance du serveur sur lequel repose le client Fermi](https://github.com/spacebarchat/server)\n\n[Lisez le blog](https://blog.fermi.chat/)\n\nDroits calculés : $3", + "confirmGuildLeave": "Etes-vous sûr de vouloir quitter $1", + "copyLink": "Copier le lien du message", + "copymessageid": "Copier l'identifiant du message", + "copyrawtext": "Copier le texte brut", "delete": "Supprimer", - "webhooks": { - "createdAt": "Créé à $1", - "name": "Nom :", - "token": "Jeton de l’accroche Internet : `$1`", - "url": "URL de l’accroche Internet : `$1`", - "avatar": "Avatar", - "createdBy": "Créé par :", - "notFound": "L’utilisateur n’est plus dans la guilde", - "channel": "Canal", - "copyURL": "Copier l’URL de l’accroche Internet", - "newWebHook": "Nouvelle accroche Internet", - "EnterWebhookName": "Saisissez le nom de l’accroche Internet", - "base": "Accroches Internet", - "sillyDefaults": "Capitaine Crochet\nBillie Crochets\nSainte Ernette", - "type1": "Entrant", - "type2": "Abonné au canal", - "type3": "Application", - "type": "Type : $1", - "deleteWebhook": "Supprimer l’accroche Internet", - "areYouSureDelete": "Êtes-vous sûr(e) de vouloir supprimer $1 ?" - }, - "switchAccounts": "Changer de compte ⇌", - "accountNotStart": "Impossible de démarrer le compte", - "home": { - "uptimeStats": "Temps de disponibilité : \n tout le temps : $1 % \n cette semaine : $2 % \n aujourd'hui : $3 %", - "warnOffiline": "L'instance est hors ligne, impossible de se connecter", - "icon": "Icône de l’instance de $1" - }, - "htmlPages": { - "idpermissions": "Cela permettra au robot de :", - "addBot": "Ajouter à la guilde", - "loadingText": "Le client Fermi est en cours de chargement", - "loaddesc": "Cela ne devrait pas prendre longtemps", - "switchaccounts": "Changer de compte", - "instanceField": "Instance :", - "emailField": "Courriel :", - "pwField": "Mot de passe :", - "loginButton": "Se connecter", - "noAccount": "Vous n'avez pas de compte ?", - "userField": "Nom d’utilisateur :", - "pw2Field": "Entrez à nouveau le mot de passe :", - "dobField": "Date de naissance :", - "createAccount": "Créer un compte", - "alreadyHave": "Vous avez déjà un compte ?", - "openClient": "Ouvrir le client", - "welcomeJank": "Bienvenue dans le client Fermi", - "box1title": "Le client Fermi est un client compatible avec Spacebar qui cherche à être aussi bon que possible avec de nombreuses fonctionnalités, notamment :", - "box1Items": "Messagerie en direct|Prise en charge de commentaires|Invitations|Changement de compte|Paramètres utilisateur|Portail des développeurs|Invitations de robots|Prise en charge des traductions", - "compatableInstances": "Instances compatibles avec Spacebar :", - "box3title": "Contribuer au client Fermi", - "box3description": "Nous apprécierons toujours votre aide, que ce soit sous forme de rapports de bogues, de code ou même simplement en signalant des fautes de frappe.", - "trans": "Traduire", - "transTitle": "Traduire le client Fermi", - "transDesc": "Vous pouvez aider à traduire le client Fermi dans votre propre langue !" + "deleteConfirm": "Etes-vous sûr de vouloir supprimer ceci ?", + "edit": "Modifier", + "emoji": { + "confirmDel": "Etes-vous sûr de vouloir supprimer cet emoji ?", + "image:": "Image :", + "name:": "Nom :", + "title": "Émojis", + "upload": "Téléverser des émojis" }, + "emojiSelect": "Émoji :", + "errorReconnect": "Impossible de se connecter au serveur, nouvelle tentative dans **$1** secondes...", + "favoriteGifs": "Gifs favoris", "form": { "captcha": "Attendez, êtes-vous un humain ?" }, - "useTemplate": "Utiliser $1 comme modèle", - "useTemplateButton": "Utiliser le modèle", - "register": { - "register": "S’inscrire", - "passwordError:": "Mot de passe : $1", - "usernameError": "Nom d’utilisateur : $1", - "emailError": "Courriel : $1", - "DOBError": "Date de naissance : $1", - "agreeTOS": "J'accepte les [Conditions d'Utilisation]($1) :", - "noTOS": "Cette instance n'a pas de conditions d'utilisation, acceptez quand même les conditions d'utilisation :", - "tos": "Vous devez accepter les conditions d’utilisation" + "friends": { + "addfriend": "Ajouter un ami", + "addfriendpromt": "Ajouter des amis par nom d'utilisateur :", + "all": "Tous", + "all:": "Tous les amis :", + "blocked": "Bloqué(e)", + "blockedusers": "Utilisateurs bloqués :", + "discnotfound": "Discriminateur non trouvé", + "friendlist": "Liste des amis", + "friends": "Amis", + "notfound": "Utilisateur non trouvé", + "online": "En ligne", + "online:": "Amis en ligne :", + "pending": "En attente", + "pending:": "Demandes d'amis en attente :", + "removeFriend": "Supprimer un ami" }, - "leaving": "Vous quittez Spacebar", - "goingToURL": "Vous partez sur $1. Etes-vous sûr de vouloir y aller ?", "goThere": "Aller là-bas", "goThereTrust": "Aller là-bas et faire confiance à l'avenir", - "nevermind": "Tant pis", - "submit": "soumettre", - "edit": "Modifier", + "goingToURL": "Vous partez sur $1. Etes-vous sûr de vouloir y aller ?", "guild": { - "template": "Modèle :", - "admins": "Trouver des administrateurs", + "COMMUNITY": "Demander à adhérer", + "DISCOVERABLE": "Découverte", + "INVITES_DISABLED": "Sur invitation seulement", "adminMenu": { - "finding": "Trouver des administrateurs", - "permission": "Autorisations", "changePerms": "Modifier les autorisations pour rechercher", + "finding": "Trouver des administrateurs", + "ownName": "Propriétaire", "owner": "Trouver le propriétaire", - "ownName": "Propriétaire" + "permission": "Autorisations" }, - "viewTemplate": "Afficher le modèle", - "createFromTemplate": "Guilde à partir du modèle", - "tempUseCount": "Le modèle a été utilisé $1 fois{{PLURAL:$1|}}", - "tempCreatedBy": "Modèle créé par :", - "editingTemplate": "Modification de $1", - "createNewTemplate": "Créer un nouveau modèle", - "templates": "Modèles", - "templateName": "Nom du modèle :", - "templateDesc": "Description du modèle :", - "templcateMetaDesc": "Un modèle permet aux autres d’utiliser cette guilde comme base pour leurs propres guildes. Ce processus en copiera les canaux, les rôles et les paramètres, mais pas les messages, les robots ou l’icône de guilde.", - "invites": "Invités", - "templateNameShort": "Le nom du modèle doit comporter au moins 2 caractères", - "templateURL": "URL du modèle : $1", - "bannedBy": "Bloqué par :", + "admins": "Trouver des administrateurs", + "all": "toutes", "banReason": "Raison de bloquer $1 :", + "bannedBy": "Bloqué par :", + "banner:": "Bannière :", "bans": "Bloquages", - "ruleId": "Canal des règles :", + "boostMessage?": "Envoyer un message lorsque quelqu'un booste votre guilde", "community": "Communauté", - "creating": "Création de la guilde", + "confirmDelete": "Voulez-vous vraiment supprimer $1 ?", + "confirmLeave": "Etes-vous sûr de vouloir partir ?", "copyId": "Copier l'identifiant de la guilde", - "markRead": "Marquer comme lu", - "notifications": "Notifications", - "leave": "Quitter la guilde", - "settings": "Paramètres", + "create": "Créer une guilde", + "createFromTemplate": "Guilde à partir du modèle", + "createNewTemplate": "Créer un nouveau modèle", + "creating": "Création de la guilde", + "default": "Par défaut ($1)", + "defaultNoti": "Définir les paramètres de notification par défaut de votre guilde", "delete": "Supprimer la guilde", + "description:": "Description :", + "disoveryTitle": "Découverte des guildes ($1 élément{{PLURAL:$1||s}})", + "editingTemplate": "Modification de $1", + "emptytext": "Vous êtes dans une situation étrange, cette guilde n'a pas de canal", + "emptytitle": "Endroit étrange", + "helpTips?": "Envoyer des conseils utiles à votre guilde", + "howJoin": "Comment des personnes peuvent-elles rejoindre votre guilde ?", + "icon:": "Icône :", + "invites": "Invités", + "leave": "Quitter la guilde", + "loadingDiscovery": "Chargement en cours...", "makeInvite": "Faire une invitation", - "settingsFor": "Paramètres pour $1", + "markRead": "Marquer comme lu", "name:": "Nom :", - "topic:": "Sujet :", - "icon:": "Icône :", + "noDelete": "Tant pis", + "noLeave": "Tant pis", + "none": "aucune", + "notifications": "Notifications", + "onlyMentions": "seulement les mentions", "overview": "Aperçu", - "banner:": "Bannière :", "region:": "Région :", "roles": "Rôles", + "ruleId": "Canal des règles :", "selectnoti": "Sélectionner le type de notification", - "all": "toutes", - "onlyMentions": "seulement les mentions", - "none": "aucune", - "confirmLeave": "Etes-vous sûr de vouloir partir ?", - "yesLeave": "Oui, j'en suis sûr", - "noLeave": "Tant pis", - "confirmDelete": "Voulez-vous vraiment supprimer $1 ?", - "serverName": "Nom de la guilde :", - "yesDelete": "Oui, j'en suis sûr", - "noDelete": "Tant pis", - "create": "Créer une guilde", - "loadingDiscovery": "Chargement en cours...", - "disoveryTitle": "Découverte des guildes ($1 élément{{PLURAL:$1||s}})", - "emptytitle": "Endroit étrange", - "emptytext": "Vous êtes dans une situation étrange, cette guilde n'a pas de canal", - "default": "Par défaut ($1)", - "description:": "Description :", - "systemSelect:": "Canal de messages système :", "sendrandomwelcome?": "Envoyer un message aléatoire lorsque quelqu'un rejoint cette guilde", + "serverName": "Nom de la guilde :", + "settings": "Paramètres", + "settingsFor": "Paramètres pour $1", "stickWelcomeReact?": "Inviter les membres de votre guilde à réagir avec un autocollant lorsque quelqu'un la rejoint", - "boostMessage?": "Envoyer un message lorsque quelqu'un booste votre guilde", - "helpTips?": "Envoyer des conseils utiles à votre guilde", - "defaultNoti": "Définir les paramètres de notification par défaut de votre guilde", - "howJoin": "Comment des personnes peuvent-elles rejoindre votre guilde ?", - "COMMUNITY": "Demander à adhérer", - "INVITES_DISABLED": "Sur invitation seulement", - "DISCOVERABLE": "Découverte" - }, - "welcomeMessages": "Bienvenue $1 ! Ravi de vous voir !\nBonjour $1, enchanté de vous rencontrer !\nBienvenue, on espère que vous avez apporté de la pizza $1 !", - "role": { - "displaySettings": "Paramètres d'affichage", - "name": "Nom du rôle :", - "hoisted": "Remonté :", - "mentionable": "Permettre à quiconque d'utiliser ce rôle:", - "color": "Couleur", - "remove": "Enlever le rôle", - "delete": "Supprimer le rôle", - "confirmDelete": "Voulez-vous vraiment supprimer $1 ?", - "roleEmoji": "Emoji de rôle :", - "roleFileIcon": "Icône de rôle :" - }, - "settings": { - "unsaved": "Attention, vous avez des modifications non enregistrées", - "save": "Enregistrer les modifications", - "img": "Importer une image", - "clear": "Effacer" + "systemSelect:": "Canal de messages système :", + "tempCreatedBy": "Modèle créé par :", + "tempUseCount": "Le modèle a été utilisé $1 fois{{PLURAL:$1|}}", + "template": "Modèle :", + "templateDesc": "Description du modèle :", + "templateName": "Nom du modèle :", + "templateNameShort": "Le nom du modèle doit comporter au moins 2 caractères", + "templateURL": "URL du modèle : $1", + "templates": "Modèles", + "templcateMetaDesc": "Un modèle permet aux autres d’utiliser cette guilde comme base pour leurs propres guildes. Ce processus en copiera les canaux, les rôles et les paramètres, mais pas les messages, les robots ou l’icône de guilde.", + "topic:": "Sujet :", + "viewTemplate": "Afficher le modèle", + "yesDelete": "Oui, j'en suis sûr", + "yesLeave": "Oui, j'en suis sûr" }, - "trace": { - "totalTime": "$2: $1ms", - "traces": "$1 ($2ms) $3" + "hideBlockedMessages": "Vous avez bloqué cet utilisateur, cliquez pour masquer ces messages.", + "home": { + "icon": "Icône de l’instance de $1", + "uptimeStats": "Temps de disponibilité : \n tout le temps : $1 % \n cette semaine : $2 % \n aujourd'hui : $3 %", + "warnOffiline": "L'instance est hors ligne, impossible de se connecter" }, - "notiVolume": "Volume de notification :", - "blog": { - "blog": "Blogue", - "fermi": "Blogue de Fermi", - "desc": "Lisez ou abonnez-vous au blogue pour des actualités sur Fermi !" + "htmlPages": { + "addBot": "Ajouter à la guilde", + "alreadyHave": "Vous avez déjà un compte ?", + "box1Items": "Messagerie en direct|Prise en charge de commentaires|Invitations|Changement de compte|Paramètres utilisateur|Portail des développeurs|Invitations de robots|Prise en charge des traductions", + "box1title": "Le client Fermi est un client compatible avec Spacebar qui cherche à être aussi bon que possible avec de nombreuses fonctionnalités, notamment :", + "box3description": "Nous apprécierons toujours votre aide, que ce soit sous forme de rapports de bogues, de code ou même simplement en signalant des fautes de frappe.", + "box3title": "Contribuer au client Fermi", + "compatableInstances": "Instances compatibles avec Spacebar :", + "createAccount": "Créer un compte", + "dobField": "Date de naissance :", + "emailField": "Courriel :", + "idpermissions": "Cela permettra au robot de :", + "instanceField": "Instance :", + "loaddesc": "Cela ne devrait pas prendre longtemps", + "loadingText": "Le client Fermi est en cours de chargement", + "loginButton": "Se connecter", + "noAccount": "Vous n'avez pas de compte ?", + "openClient": "Ouvrir le client", + "pw2Field": "Entrez à nouveau le mot de passe :", + "pwField": "Mot de passe :", + "switchaccounts": "Changer de compte", + "trans": "Traduire", + "transDesc": "Vous pouvez aider à traduire le client Fermi dans votre propre langue !", + "transTitle": "Traduire le client Fermi", + "userField": "Nom d’utilisateur :", + "welcomeJank": "Bienvenue dans le client Fermi" }, - "webauth": { - "manage": "Gérer les clés de sécurité" + "incorrectURLS": "## Cette instance a probablement envoyé des URL incorrectes.\n### Si vous êtes le propriétaire de l’instance, veuillez consulter la section *Connecting from remote machines* de [cette page](https://docs.spacebar.chat/setup/server/) pour corriger le problème.\n Souhaitez-vous que le client Fermi tente automatiquement de corriger cette erreur pour vous permettre de vous connecter à l’instance ?", + "instInfo": "Informations sur l’instance", + "instanceStats": { + "members": "Membres : $1", + "messages": "Messages : $1", + "name": "Statistiques de l'instance : $1", + "servers": "Guildes : $1", + "users": "Utilisateurs enregistrés : $1" }, - "localuser": { - "trace": "Traces", - "install": "Installer", - "installJank": "Installer le client Fermi", - "installDesc": "Installer le client Fermi vous permettra de l’ouvrir dans sa propre fenêtre et de le faire fonctionner comme une application séparée ! Vous pouvez également continuer à utiliser le client Fermi dans votre navigateur web comme auparavant, et le fonctionnement restera le même.", - "addStatus": "Ajouter l’état", - "status": "État", - "customStatusWarn": "Spacebar ne prend pas en charge l’affichage d’un état personnalisé pour le moment. Par conséquent, même si elle accepte l’état, elle n’en fera rien", - "settings": "Paramètres", - "userSettings": "Paramètres de l'utilisateur", - "themesAndSounds": "Thèmes et sons", - "theme:": "Thème", - "notisound": "Son de notification :", - "customSound": "Son personnalisé", - "soundTooLarge": "Le son que vous avez essayé de télécharger était trop volumineux, réessayez", - "accentColor": "Couleur d'accentuation :", - "VoiceWarning": "Etes-vous sûr de vouloir activer cela ? C'est très expérimental et est susceptible de causer des problèmes (cette fonctionnalité est destinée aux développeurs, veuillez ne pas l'activer si vous ne savez pas ce que vous faites)", - "updateSettings": "Mettre à jour les paramètres", - "swSettings": "Paramètre Service Worker", - "SWOff": "Désactivé", - "SWOffline": "Hors ligne uniquement", - "SWOn": "Activé", - "clearCache": "Vider le cache", + "invite": { + "accept": "Accepter", + "alreadyJoined": "Déjà présent", + "channel:": "Canal :", + "createInvite": "Créer une invitation", + "createdAt": "Créé : $1", + "expireAfter": "Expire après :", + "expires": "Expire : $1", + "forChannel": "Pour le canal : $1", + "inviteLinkCode": "Lien/code d'invitation", + "inviteMaker": "Créateur d'invitations", + "invitedBy": "Vous avez été invité par $1", + "joinUsing": "Rejoignez-nous en utilisant une invitation", + "loginOrCreateAccount": "Connectez-vous ou créez un compte ⇌", + "longInvitedBy": "$1 vous a invité à rejoindre $2", + "maxUses": "Utilisations maximales : $1", + "never": "Jamais", + "noAccount": "Créez un compte pour accepter l'invitation", + "subtext": "à $1 sur $2", + "used": "Utilisé $1 fois{{PLURAL:$1|}}." + }, + "inviteOptions": { + "12h": "12 heures", + "1d": "1 jour", + "1h": "1 heure", + "30d": "30 jours", + "30m": "30 minutes", + "6h": "6 heures", + "7d": "7 jours", + "limit": "$1 utilisation{{PLURAL:$1||s}}", + "never": "Jamais", + "noLimit": "Sans limite", + "title": "Inviter des gens" + }, + "jankInfo": "Informations sur le client", + "leaveGuild": "Quitter la guilde", + "leaving": "Vous quittez Spacebar", + "localuser": { + "2faCode:": "Code :", + "2faCodeGive": "Votre code est : $1, il est composé de 6 chiffres et il expirera d'ici 30 secondes", + "2faDisable": "Désactiver l'authentification à deux facteurs", + "2faEnable": "Activer l'authentification à deux facteurs", "CheckUpdate": "Vérifier les mises à jour", + "PasswordsNoMatch": "Les mots de passe ne correspondent pas", + "TOSURL": "URL des conditions d'utilisation :", + "VoiceWarning": "Etes-vous sûr de vouloir activer cela ? C'est très expérimental et est susceptible de causer des problèmes (cette fonctionnalité est destinée aux développeurs, veuillez ne pas l'activer si vous ne savez pas ce que vous faites)", + "accentColor": "Couleur d'accentuation :", "accountSettings": "Paramètres du compte", - "2faDisable": "Désactiver l'authentification à deux facteurs", + "addBot": "Ajouter un robot", + "addStatus": "Ajouter l’état", + "advancedBot": "Paramètres avancés du robot", + "appName": "Nom de l’application :", + "areYouSureDelete": "Êtes-vous sûr de vouloir supprimer votre compte ? Si oui, saisissez la phrase $1", "badCode": "Code invalide", - "2faEnable": "Activer l'authentification à deux facteurs", - "2faCode:": "Code :", - "setUp2fa": "Configurer l'authentification à deux facteurs", "badPassword": "Mot de passe incorrect", - "setUp2faInstruction": "Copiez ce code dans votre application totp (« Time based One Time Password » en anglais, « mot de passe à usage unique basé sur le temps » en français)", - "2faCodeGive": "Votre code est : $1, il est composé de 6 chiffres et il expirera d'ici 30 secondes", + "botAvatar": "Avatar du robot :", + "botInviteCreate": "Créateur d'invitations de robot", + "botUsername": "Nom d'utilisateur du robot :", "changeDiscriminator": "Changer le discriminateur", - "newDiscriminator": "Nouveau discriminateur :", "changeEmail": "Changer l’adresse de courriel", - "password:": "Mot de passe", - "newEmail:": "Nouveau courriel", - "changeUsername": "Changer le nom d'utilisateur", - "newUsername": "Nouveau nom d’utilisateur :", "changePassword": "Changer de mot de passe", - "oldPassword:": "Ancien mot de passe :", - "newPassword:": "Nouveau mot de passe :", - "PasswordsNoMatch": "Les mots de passe ne correspondent pas", - "disableConnection": "Cette connexion a été désactivée côté serveur", - "devPortal": "Portail des développeurs", + "changeUsername": "Changer le nom d'utilisateur", + "clearCache": "Vider le cache", + "confirmAddBot": "Etes-vous sûr de vouloir ajouter un robot à cette application ? Il n'y a pas de retour en arrière.", + "confirmReset": "Etes-vous sûr de vouloir réinitialiser le jeton (token) du robot ? Votre robot cessera de fonctionner jusqu'à ce que vous le mettiez à jour.", + "confuseNoBot": "Pour une raison quelconque, cette application n'a pas (encore) de robot.", + "connections": "Connexions", "createApp": "Créer une application", - "team:": "Équipe :", - "appName": "Nom de l’application :", + "customSound": "Son personnalisé", + "customStatusWarn": "Spacebar ne prend pas en charge l’affichage d’un état personnalisé pour le moment. Par conséquent, même si elle accepte l’état, elle n’en fera rien", + "deleteAccount": "Suppression du compte", + "deleteAccountButton": "Supprimer le compte", "description": "Description :", + "devPortal": "Portail des développeurs", + "disableConnection": "Cette connexion a été désactivée côté serveur", + "editingBot": "Modification du robot $1", + "install": "Installer", + "installDesc": "Installer le client Fermi vous permettra de l’ouvrir dans sa propre fenêtre et de le faire fonctionner comme une application séparée ! Vous pouvez également continuer à utiliser le client Fermi dans votre navigateur web comme auparavant, et le fonctionnement restera le même.", + "installJank": "Installer le client Fermi", + "language": "Langue :", + "manageBot": "Gérer le robot", + "manageInstance": "Gérer l’instance", + "mustTypePhrase": "Pour supprimer votre compte, vous devez saisir la phrase", + "newDiscriminator": "Nouveau discriminateur :", + "newEmail:": "Nouveau courriel", + "newPassword:": "Nouveau mot de passe :", + "newUsername": "Nouveau nom d’utilisateur :", + "noToken": "Je ne connais pas le jeton, je ne peux donc pas l'enregistrer dans l'espace de stockage local, désolé", + "notisound": "Son de notification :", + "oldPassword:": "Ancien mot de passe :", + "password:": "Mot de passe", "privacyPolcyURL": "URL de la politique de confidentialité :", - "TOSURL": "URL des conditions d'utilisation :", "publicAvaliable": "Rendre le robot publiquement invitable ?", "requireCode": "Nécessite de délivrer un code pour inviter le robot ?", - "manageBot": "Gérer le robot", - "addBot": "Ajouter un robot", - "confirmAddBot": "Etes-vous sûr de vouloir ajouter un robot à cette application ? Il n'y a pas de retour en arrière.", - "confuseNoBot": "Pour une raison quelconque, cette application n'a pas (encore) de robot.", - "editingBot": "Modification du robot $1", - "botUsername": "Nom d'utilisateur du robot :", - "botAvatar": "Avatar du robot :", "resetToken": "Réinitialiser le jeton", - "confirmReset": "Etes-vous sûr de vouloir réinitialiser le jeton (token) du robot ? Votre robot cessera de fonctionner jusqu'à ce que vous le mettiez à jour.", - "tokenDisplay": "Jeton : $1", "saveToken": "Enregistrer le jeton dans l'espace de stockage local", - "noToken": "Je ne connais pas le jeton, je ne peux donc pas l'enregistrer dans l'espace de stockage local, désolé", - "advancedBot": "Paramètres avancés du robot", - "botInviteCreate": "Créateur d'invitations de robot", - "language": "Langue :", - "connections": "Connexions", - "deleteAccount": "Suppression du compte", - "areYouSureDelete": "Êtes-vous sûr de vouloir supprimer votre compte ? Si oui, saisissez la phrase $1", + "setUp2fa": "Configurer l'authentification à deux facteurs", + "setUp2faInstruction": "Copiez ce code dans votre application totp (« Time based One Time Password » en anglais, « mot de passe à usage unique basé sur le temps » en français)", + "settings": "Paramètres", "sillyDeleteConfirmPhrase": "Shrek est l'amour, Shrek est la vie", - "deleteAccountButton": "Supprimer le compte", - "mustTypePhrase": "Pour supprimer votre compte, vous devez saisir la phrase", - "manageInstance": "Gérer l’instance" + "soundTooLarge": "Le son que vous avez essayé de télécharger était trop volumineux, réessayez", + "status": "État", + "team:": "Équipe :", + "theme:": "Thème", + "themesAndSounds": "Thèmes et sons", + "tokenDisplay": "Jeton : $1", + "trace": "Traces", + "updateSettings": "Mettre à jour les paramètres", + "userSettings": "Paramètres de l'utilisateur" }, - "search": { - "back": "Retour", - "next": "Suivant", - "page": "Page $1", - "new": "Nouveau", - "old": "Ancien", - "search": "Rechercher", - "nofind": "Il semble qu'il n'y ait aucun message correspondant à votre recherche, essayez peut-être d'élargir votre recherche pour essayer de trouver ce que vous recherchez" + "login": { + "allGood": "Tout va bien", + "checking": "Vérification de l'instance", + "enterPAgain": "Saisissez à nouveau le mot de passe :", + "invalid": "Instance invalide, réessayez", + "login": "Se connecter", + "newPassword": "Nouveau mot de passe :", + "pasteInfo": "Collez l’URL de récupération ici :", + "recover": "Mot de passe oublié ?", + "recovery": "Mot de passe oublié", + "waiting": "En attente de vérification de l'instance" + }, + "logout": { + "error": { + "cancel": "Annuler", + "cont": "Continuer malgré tout", + "desc": "Fermi n’a pas pu vous déconnecter,\n souhaitez-vous malgré tout retirer le compte ?", + "title": "Une erreur s’est produite lots de la tentative de déconnexion" + }, + "logout": "Se déconnecter" }, "manageInstance": { - "stop": "Arrêter l’instance", "AreYouSureStop": "Êtes-vous sûr(e) de vouloir arrêter cette instance ?", - "createTokens": "Créer des jetons d’enregistrement", - "count": "Compteur :", - "length": "Longueur :", - "format": "Format :", "TokenFormats": { - "plain": "Texte brut", "JSON": "JSON formaté", - "URLs": "URLs d’invitation" + "URLs": "URLs d’invitation", + "plain": "Texte brut" }, - "create": "Créer", "clientURL": "URL du client :", - "regType": "Enregistrer le type d’URL du jeton", + "copy": "Copier", + "count": "Compteur :", + "create": "Créer", + "createTokens": "Créer des jetons d’enregistrement", + "format": "Format :", "genericType": "Générique", - "copy": "Copier" + "length": "Longueur :", + "regType": "Enregistrer le type d’URL du jeton", + "stop": "Arrêter l’instance" + }, + "media": { + "artist": "Artiste : $1", + "composer": "Compositeur : $1", + "download": "Télécharger le support", + "length": "Durée : $1 minute(s) et $2 seconde(s)", + "loading": "Chargement en cours", + "moreInfo": "Plus d’infos", + "notFound": "Le support n’a pas pu être trouvé" + }, + "member": { + "ban": "Bannir $1 de $2", + "kick": "Expulser $1 de $2", + "nick:": "Surnom :", + "reason:": "Motif :" }, - "emojiSelect": "Émoji :", - "noEmojiFont": "Utiliser le système des Émojis", - "unpinMessage": "Ne plus épingler le message", - "noPins": "Il semble qu'il n'y ait rien ici... pour l'instant", "message": { - "reactionAdd": "Ajouter un commentaire", + "attached": "Pièce jointe envoyée", "delete": "Supprimer le message", + "deleted": "Message supprimé", "edit": "Modifier le message", "edited": "(modifié)", - "deleted": "Message supprimé", - "attached": "Pièce jointe envoyée", - "retry": "Renvoyer le message d’erreur", + "fullMessage": "Message complet :", "pin": "$1 a épinglé un message", - "viewrest": "Afficher le reste", - "fullMessage": "Message complet :" - }, - "instanceStats": { - "name": "Statistiques de l'instance : $1", - "users": "Utilisateurs enregistrés : $1", - "servers": "Guildes : $1", - "messages": "Messages : $1", - "members": "Membres : $1" - }, - "inviteOptions": { - "title": "Inviter des gens", - "30m": "30 minutes", - "1h": "1 heure", - "6h": "6 heures", - "12h": "12 heures", - "1d": "1 jour", - "7d": "7 jours", - "30d": "30 jours", - "never": "Jamais", - "limit": "$1 utilisation{{PLURAL:$1||s}}", - "noLimit": "Sans limite" - }, - "2faCode": "Code 2FA :", - "invite": { - "invitedBy": "Vous avez été invité par $1", - "alreadyJoined": "Déjà présent", - "accept": "Accepter", - "noAccount": "Créez un compte pour accepter l'invitation", - "longInvitedBy": "$1 vous a invité à rejoindre $2", - "loginOrCreateAccount": "Connectez-vous ou créez un compte ⇌", - "joinUsing": "Rejoignez-nous en utilisant une invitation", - "inviteLinkCode": "Lien/code d'invitation", - "subtext": "à $1 sur $2", - "expireAfter": "Expire après :", - "channel:": "Canal :", - "inviteMaker": "Créateur d'invitations", - "createInvite": "Créer une invitation", - "used": "Utilisé $1 fois{{PLURAL:$1|}}.", - "forChannel": "Pour le canal : $1", - "createdAt": "Créé : $1", - "expires": "Expire : $1", - "never": "Jamais", - "maxUses": "Utilisations maximales : $1" - }, - "friends": { - "blocked": "Bloqué(e)", - "blockedusers": "Utilisateurs bloqués :", - "addfriend": "Ajouter un ami", - "removeFriend": "Supprimer un ami", - "addfriendpromt": "Ajouter des amis par nom d'utilisateur :", - "notfound": "Utilisateur non trouvé", - "discnotfound": "Discriminateur non trouvé", - "pending": "En attente", - "pending:": "Demandes d'amis en attente :", - "all": "Tous", - "all:": "Tous les amis :", - "online": "En ligne", - "online:": "Amis en ligne :", - "friendlist": "Liste des amis", - "friends": "Amis" - }, - "replyingTo": "En réponse à $1", - "DMs": { - "copyId": "Copier l'identifiant du message en direct", - "markRead": "Marquer comme lu", - "close": "Fermer le message en direct", - "name": "Messages en direct" + "reactionAdd": "Ajouter un commentaire", + "retry": "Renvoyer le message d’erreur", + "viewrest": "Afficher le reste" }, - "user": { - "copyId": "Copier l'ID de l'utilisateur", - "online": "En ligne", - "offline": "Hors ligne", - "invisible": "Invisible", - "dnd": "Ne pas déranger", - "idle": "Inactif", - "message": "Envoyer un message à l'utilisateur", - "block": "Bloquer l'utilisateur", - "unblock": "Débloquer l'utilisateur", - "friendReq": "Demande d'ami", - "kick": "Expulser un membre", - "ban": "Bannir un membre", - "addRole": "Ajouter des rôles", - "removeRole": "Enlever des rôles", - "editServerProfile": "Modifier le profil de la guilde", - "instanceBan": "Banissement sur l’instance", - "confirmInstBan": "Êtes-vous sûr de vouloir bannir $1 sur l’instance ?", - "unban": "Débloquer $1" + "nevermind": "Tant pis", + "no": "Non", + "noEmojiFont": "Utiliser le système des Émojis", + "noMessages": "Il n'y a aucun message ici, soyez le premier à dire quelque chose !", + "noPins": "Il semble qu'il n'y ait rien ici... pour l'instant", + "noStickers": "Vous semblez être dans une situation étrange, il n'y a pas d'autocollants à utiliser pour vous!", + "notiVolume": "Volume de notification :", + "otherAt": "$1 à $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Permet à l'utilisateur d'ajouter des commentaires aux messages", + "ADMINISTRATOR": "Active toutes les autorisations et contourne les réécritures d'autorisation de canaux. Il s'agit d'une option dangereuse !", + "ATTACH_FILES": "Permet à l'utilisateur de joindre des fichiers", + "BAN_MEMBERS": "Permet à l'utilisateur de bannir des membres de la guilde", + "BYPASS_SLOWMODE": "Le mode lent n'a plus d'effet sur cet utilisateur.", + "CHANGE_NICKNAME": "Permet à l'utilisateur de modifier son propre pseudo", + "CONNECT": "Permet à l'utilisateur de se connecter à un canal vocal", + "CREATE_EVENTS": "Permet de créer des événements planifiés, ainsi que de modifier et de supprimer ceux créés par l'utilisateur actuel.", + "CREATE_GUILD_EXPRESSIONS": "Permet de créer des émojis, des autocollants et des sons de carte son ainsi que de modifier et de supprimer ceux créés par l'utilisateur actuel.", + "CREATE_INSTANT_INVITE": "Permet à l'utilisateur de créer des invitations pour la guilde", + "CREATE_PRIVATE_THREADS": "Permet à l'utilisateur de créer des fils de discussion privés", + "CREATE_PUBLIC_THREADS": "Permet à l'utilisateur de créer des fils de discussion publics", + "DEAFEN_MEMBERS": "Permet à l'utilisateur d'empêcher les autres membres d'entendre", + "EMBED_LINKS": "Autoriser l'intégration automatique des liens envoyés par cet utilisateur", + "KICK_MEMBERS": "Permet à l'utilisateur d'expulser des membres de la guilde", + "MANAGE_CHANNELS": "Permet à l'utilisateur de gérer et de modifier les canaux", + "MANAGE_EVENTS": "Permet à l'utilisateur de modifier et de gérer les événements", + "MANAGE_GUILD": "Permet la gestion et l'édition de la guilde", + "MANAGE_GUILD_EXPRESSIONS": "Permet de gérer les émojis, les autocollants et la carte son", + "MANAGE_MESSAGES": "Permet à l'utilisateur de supprimer les messages qui ne sont pas les siens", + "MANAGE_NICKNAMES": "Permet à l'utilisateur de modifier les pseudonymes des autres membres", + "MANAGE_ROLES": "Permet à l'utilisateur de modifier et de gérer les rôles", + "MANAGE_THREADS": "Permet à l'utilisateur de supprimer et d'archiver les fils de discussion et d'afficher tous les fils privés", + "MANAGE_WEBHOOKS": "Permet la gestion et l'édition des accroches Internet", + "MENTION_EVERYONE": "Permet à l'utilisateur de mentionner tout le monde", + "MODERATE_MEMBERS": "Permet à l'utilisateur de bloquer les autres utilisateurs pour les empêcher d'envoyer et de réagir aux messages dans le tchat et les fils de discussion et de les empêcher de parler dans les canaux vocaux et de scène", + "MOVE_MEMBERS": "Permet à l'utilisateur de déplacer les membres entre les canaux vocaux", + "MUTE_MEMBERS": "Permet à l'utilisateur de couper le son des autres membres", + "PIN_MESSAGES": "Permet à l'utilisateur d'épingler des messages", + "PRIORITY_SPEAKER": "Permet d'utiliser un haut-parleur prioritaire dans un canal vocal", + "READ_MESSAGE_HISTORY": "Permet à l'utilisateur de lire l'historique des messages", + "REQUEST_TO_SPEAK": "Permet à l'utilisateur de demander à parler dans le canal de scène", + "SEND_MESSAGES": "Permet à l'utilisateur d'envoyer des messages", + "SEND_MESSAGES_IN_THREADS": "Permet à l'utilisateur d'envoyer des messages dans les fils de discussion", + "SEND_POLLS": "Permet d'envoyer des sondages", + "SEND_TTS_MESSAGES": "Permet à l'utilisateur d'envoyer des messages de synthèse vocale TTS (text-to-speech, texte-en-parole)", + "SEND_VOICE_MESSAGES": "Permet d'envoyer des messages vocaux", + "SPEAK": "Permet à l'utilisateur de parler dans un canal vocal", + "STREAM": "Permet à l'utilisateur de diffuser", + "USE_APPLICATION_COMMANDS": "Permet à l'utilisateur d'utiliser les commandes de l'application", + "USE_EMBEDDED_ACTIVITIES": "Permet à l'utilisateur d'utiliser des activités intégrées", + "USE_EXTERNAL_APPS": "Permet aux applications installées par l'utilisateur d'envoyer des réponses publiques. Lorsque cette option est désactivée, les utilisateurs seront toujours autorisés à utiliser leurs applications mais les réponses seront éphémères. Cela s'applique uniquement aux applications qui ne sont pas également installées sur la guilde.", + "USE_EXTERNAL_EMOJIS": "Permet à l'utilisateur d'utiliser des émojis externes", + "USE_EXTERNAL_SOUNDS": "Permet l'utilisation de sons personnalisés de cartes son provenant d'autres guildes", + "USE_EXTERNAL_STICKERS": "Permet à l'utilisateur d'utiliser des autocollants externes", + "USE_SOUNDBOARD": "Permet d'utiliser la table des sons dans un canal vocal", + "USE_VAD": "Permet aux utilisateurs de parler dans un canal vocal en parlant simplement", + "VIEW_AUDIT_LOG": "Permet à l'utilisateur de visualiser le journal d'audit", + "VIEW_CHANNEL": "Permet à l'utilisateur de voir le canal", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Permet de visualiser les informations sur les abonnements aux rôles", + "VIEW_GUILD_INSIGHTS": "Permet à l'utilisateur de voir les informations sur la guilde" + }, + "readableNames": { + "ADD_REACTIONS": "Ajouter des commentaires", + "ADMINISTRATOR": "Administrateur", + "ATTACH_FILES": "Joindre des fichiers", + "BAN_MEMBERS": "Bannir des membres", + "CHANGE_NICKNAME": "Changer de pseudo", + "CONNECT": "Se connecter", + "CREATE_EVENTS": "Créer des événements", + "CREATE_GUILD_EXPRESSIONS": "Créer des expressions", + "CREATE_INSTANT_INVITE": "Créer une invitation", + "CREATE_PRIVATE_THREADS": "Créer des fils de discussion privés", + "CREATE_PUBLIC_THREADS": "Créer des fils de discussion publics", + "DEAFEN_MEMBERS": "Rendre les membres sourds", + "EMBED_LINKS": "Intégrer des liens", + "KICK_MEMBERS": "Expulser des membres", + "MANAGE_CHANNELS": "Gérer les canaux", + "MANAGE_EVENTS": "Gérer les événements", + "MANAGE_GUILD": "Gérer la guilde", + "MANAGE_GUILD_EXPRESSIONS": "Gérer les expressions", + "MANAGE_MESSAGES": "Gérer les messages", + "MANAGE_NICKNAMES": "Gérer les pseudos", + "MANAGE_ROLES": "Gérer les rôles", + "MANAGE_THREADS": "Gérer les fils de discussion", + "MANAGE_WEBHOOKS": "Gérer les accroches Internet", + "MENTION_EVERYONE": "Mention @everyone, @here et tous les rôles", + "MODERATE_MEMBERS": "Bloquer des membres", + "MOVE_MEMBERS": "Déplacer des membres", + "MUTE_MEMBERS": "Rendre les membres muets", + "PRIORITY_SPEAKER": "Orateur prioritaire", + "READ_MESSAGE_HISTORY": "Lire l'historique des messages", + "REQUEST_TO_SPEAK": "Demander de prendre la parole", + "SEND_MESSAGES": "Envoyer des messages", + "SEND_MESSAGES_IN_THREADS": "Envoyer des messages dans des fils de discussion", + "SEND_POLLS": "Créer des sondages", + "SEND_TTS_MESSAGES": "Envoyer des messages de synthèse vocal TTS", + "SEND_VOICE_MESSAGES": "Envoyer des messages vocaux", + "SPEAK": "Parler", + "STREAM": "Vidéo", + "USE_APPLICATION_COMMANDS": "Utiliser les commandes de l'application", + "USE_EMBEDDED_ACTIVITIES": "Utiliser des activités", + "USE_EXTERNAL_APPS": "Utiliser des applications externes", + "USE_EXTERNAL_EMOJIS": "Utiliser des émojis externes", + "USE_EXTERNAL_SOUNDS": "Utiliser des sons externes", + "USE_EXTERNAL_STICKERS": "Utiliser des autocollants externes", + "USE_SOUNDBOARD": "Utiliser la table des sons", + "USE_VAD": "Utiliser la détection d’activité vocale", + "VIEW_AUDIT_LOG": "Afficher le journal d'audit", + "VIEW_CHANNEL": "Voir les canaux", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Afficher les analyses de monétisation des créateurs", + "VIEW_GUILD_INSIGHTS": "Voir les informations sur la guilde" + } }, - "login": { - "checking": "Vérification de l'instance", - "allGood": "Tout va bien", - "invalid": "Instance invalide, réessayez", - "waiting": "En attente de vérification de l'instance", - "recover": "Mot de passe oublié ?", - "pasteInfo": "Collez l’URL de récupération ici :", - "newPassword": "Nouveau mot de passe :", - "enterPAgain": "Saisissez à nouveau le mot de passe :", - "recovery": "Mot de passe oublié", - "login": "Se connecter" + "pinMessage": "Épingler le message", + "profile": { + "bio": "À mon sujet :", + "joined": "Compte créé : $1", + "joinedMember": "A rejoint $1 : $2", + "mut": "Guildes mutuelles", + "mutFriends": "Amis communs", + "permInfo": "Autorisations", + "userInfo": "Informations sur l’utilisateur" }, - "member": { - "kick": "Expulser $1 de $2", - "reason:": "Motif :", - "ban": "Bannir $1 de $2", - "nick:": "Surnom :" + "profileColor": "Couleur du profil", + "pronouns": "Pronoms :", + "readableName": "français", + "recentEmoji": "Emoji récents", + "register": { + "DOBError": "Date de naissance : $1", + "agreeTOS": "J'accepte les [Conditions d'Utilisation]($1) :", + "emailError": "Courriel : $1", + "noTOS": "Cette instance n'a pas de conditions d'utilisation, acceptez quand même les conditions d'utilisation :", + "passwordError:": "Mot de passe : $1", + "register": "S’inscrire", + "tos": "Vous devez accepter les conditions d’utilisation", + "usernameError": "Nom d’utilisateur : $1" }, - "badge": { - "staff": "Personnel de l'instance", - "partner": "Partenaire de l'instance", - "certified_moderator": "Modérateur", - "hypesquad": "Chose protégée par le droit d'auteur", - "hypesquad_house_1": "Bravoure", - "hypesquad_house_2": "Brillance", - "hypesquad_house_3": "Équilibre", - "bug_hunter_level_1": "Chasseur de bogues niveau 1", - "bug_hunter_level_2": "Chasseur de bogues niveau 2", - "active_developer": "Développeur actif", - "verified_developer": "Développeur vérifié", - "early_supporter": "Supporteur de la première heure", - "premium": "Premium", - "guild_booster_lvl1": "Guilde boostée", - "guild_booster_lvl2": "Guilde boostée", - "guild_booster_lvl3": "Guilde boostée", - "guild_booster_lvl4": "Guilde boostée", - "guild_booster_lvl5": "Guilde boostée", - "guild_booster_lvl6": "Guilde boostée", - "guild_booster_lvl7": "Guilde boostée", - "guild_booster_lvl8": "Guilde boostée", - "guild_booster_lvl9": "Guilde boostée depuis un bon moment", - "bot_commands": "Prend en charge les commandes", - "automod": "Utilise automod", - "application_guild_subscription": "A une prime", - "legacy_username": "A un nom d'utilisateur hérité", - "quest_completed": "a fait une quête" + "renderJoinAvatars": "Afficer l'image de profile dex nouveaux membres: ", + "reply": "Répondre", + "replyingTo": "En réponse à $1", + "retrying": "Nouvelle tentative...", + "role": { + "color": "Couleur", + "confirmDelete": "Voulez-vous vraiment supprimer $1 ?", + "delete": "Supprimer le rôle", + "displaySettings": "Paramètres d'affichage", + "hoisted": "Remonté :", + "mentionable": "Permettre à quiconque d'utiliser ce rôle:", + "name": "Nom du rôle :", + "remove": "Enlever le rôle", + "roleEmoji": "Emoji de rôle :", + "roleFileIcon": "Icône de rôle :" }, - "add": "Ajouter", - "emoji": { - "title": "Émojis", - "upload": "Téléverser des émojis", - "image:": "Image :", - "name:": "Nom :", - "confirmDel": "Etes-vous sûr de vouloir supprimer cet emoji ?" + "search": { + "back": "Retour", + "new": "Nouveau", + "next": "Suivant", + "nofind": "Il semble qu'il n'y ait aucun message correspondant à votre recherche, essayez peut-être d'élargir votre recherche pour essayer de trouver ce que vous recherchez", + "old": "Ancien", + "page": "Page $1", + "search": "Rechercher" }, + "searchGifs": "Rechercher sur Tenor", + "settings": { + "clear": "Effacer", + "img": "Importer une image", + "save": "Enregistrer les modifications", + "unsaved": "Attention, vous avez des modifications non enregistrées", + "updates": { + "serviceWorkerMode": { + "disabled": "Désactivé", + "enabled": "Activé", + "offlineOnly": "Hors ligne uniquement", + "title": "Paramètre Service Worker" + } + } + }, + "showBlockedMessages": "Vous avez bloqué cet utilisateur, cliquez pour voir {{PLURAL:$1|le message bloqué|les $1 messages bloqués}}.", + "spoiler": "Divulgâcheur", "sticker": { - "title": "Autocollants", - "upload": "Téléverser des autocollants", - "image": "Image :", - "name": "Nom :", - "desc": "Description", "confirmDel": "Êtes-vous certain•e de vouloir supprimer cet autocollant?", "del": "Supprimer l'autocollant", - "errFileMust": "Vous devez inclure un emoji avec votre autocollant", + "desc": "Description", "errEmjMust": "Vous devez inclure un emoji avec votre autocollant", - "tags": "Emoji associé :" + "errFileMust": "Vous devez inclure un emoji avec votre autocollant", + "image": "Image :", + "name": "Nom :", + "tags": "Emoji associé :", + "title": "Autocollants", + "upload": "Téléverser des autocollants" }, - "404": { - "home": "Page d’accueil", - "title": "Il semble que tu sois perdu", - "404": "404 Page non trouvée", - "listtitle": "Tu voulais peut-être aller dans un de ces endroits", - "app": "Vers l'application", - "login": "Connexion", - "reset": "Page de réinitialisation du mot de passe", - "blog": "Le blog Fermi", - "whereever": "Où que ce soit", - "report": "Si vous avez trouvé cette page dans le client, veuillez le signaler :", - "whatelse": "Que pensez-vous qu'il devrait se passer d'autre ?" + "submit": "soumettre", + "switchAccounts": "Changer de compte ⇌", + "todayAt": "Aujourd'hui à $1", + "trace": { + "totalTime": "$2: $1ms", + "traces": "$1 ($2ms) $3" + }, + "typing": "$2 {{PLURAL:$1|est|sont}} en train d'écrire", + "unableToConnect": "Impossible de se connecter au serveur Spacebar. Veuillez essayer de vous déconnecter et de vous reconnecter.", + "unableToPin": "Impossible d'épingler le message", + "unpinMessage": "Ne plus épingler le message", + "uploadBanner": "Téléverser une bannière :", + "uploadFilesText": "Téléversez vos fichiers ici !", + "uploadPfp": "Téléverser une photo de profil :", + "useTemplate": "Utiliser $1 comme modèle", + "useTemplateButton": "Utiliser le modèle", + "user": { + "addRole": "Ajouter des rôles", + "ban": "Bannir un membre", + "block": "Bloquer l'utilisateur", + "confirmInstBan": "Êtes-vous sûr de vouloir bannir $1 sur l’instance ?", + "copyId": "Copier l'ID de l'utilisateur", + "dnd": "Ne pas déranger", + "editServerProfile": "Modifier le profil de la guilde", + "friendReq": "Demande d'ami", + "idle": "Inactif", + "instanceBan": "Banissement sur l’instance", + "invisible": "Invisible", + "kick": "Expulser un membre", + "message": "Envoyer un message à l'utilisateur", + "offline": "Hors ligne", + "online": "En ligne", + "removeRole": "Enlever des rôles", + "unban": "Débloquer $1", + "unblock": "Débloquer l'utilisateur" + }, + "vc": { + "joinForStream": "Rejoignez l’appel vocal pour regarder", + "joiningStream": "Connexion à la diffusion en cours…", + "joinstream": "Regarder la diffusion", + "leavestream": "Quitter la diffusion", + "stopstream": "Arrêter la diffusion" + }, + "webauth": { + "manage": "Gérer les clés de sécurité" }, + "webhook": "ACCROCHE INTERNET", + "webhooks": { + "EnterWebhookName": "Saisissez le nom de l’accroche Internet", + "areYouSureDelete": "Êtes-vous sûr(e) de vouloir supprimer $1 ?", + "avatar": "Avatar", + "base": "Accroches Internet", + "channel": "Canal", + "copyURL": "Copier l’URL de l’accroche Internet", + "createdAt": "Créé à $1", + "createdBy": "Créé par :", + "deleteWebhook": "Supprimer l’accroche Internet", + "name": "Nom :", + "newWebHook": "Nouvelle accroche Internet", + "notFound": "L’utilisateur n’est plus dans la guilde", + "sillyDefaults": "Capitaine Crochet\nBillie Crochets\nSainte Ernette", + "token": "Jeton de l’accroche Internet : `$1`", + "type": "Type : $1", + "type1": "Entrant", + "type2": "Abonné au canal", + "type3": "Application", + "url": "URL de l’accroche Internet : `$1`" + }, + "welcomeMessages": "Bienvenue $1 ! Ravi de vous voir !\nBonjour $1, enchanté de vous rencontrer !\nBienvenue, on espère que vous avez apporté de la pizza $1 !", "widget": "Widget de la guilde", "widgetEnabled": "Widget activé", - "incorrectURLS": "## Cette instance a probablement envoyé des URL incorrectes.\n### Si vous êtes le propriétaire de l’instance, veuillez consulter la section *Connecting from remote machines* de [cette page](https://docs.spacebar.chat/setup/server/) pour corriger le problème.\n Souhaitez-vous que le client Fermi tente automatiquement de corriger cette erreur pour vous permettre de vous connecter à l’instance ?", - "jankInfo": "Informations sur le client", - "instInfo": "Informations sur l’instance", - "clientDesc": "Version du client : $1\n\n[Rejoignez la guilde officielle du client Fermi]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Contribuez à la traduction du client Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Contribueez au client Fermi](https://github.com/MathMan05/Fermi)\n\n[Contribuez à la maintenance du serveur sur lequel repose le client Fermi](https://github.com/spacebarchat/server)\n\n[Lisez le blog](https://blog.fermi.chat/)\n\nDroits calculés : $3", - "uploadFilesText": "Téléversez vos fichiers ici !", - "errorReconnect": "Impossible de se connecter au serveur, nouvelle tentative dans **$1** secondes...", - "retrying": "Nouvelle tentative...", - "unableToConnect": "Impossible de se connecter au serveur Spacebar. Veuillez essayer de vous déconnecter et de vous reconnecter.", - "bot": "ROBOT", - "webhook": "ACCROCHE INTERNET" + "yes": "Oui", + "yesterdayAt": "Hier à $1" } diff --git a/translations/ko.json b/translations/ko.json index 414d2754..df707bbc 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -1,369 +1,367 @@ { + "2faCode": "2FA 코드:", "@metadata": { - "authors": [ - "Bisang", - "McDutchie", - "Suleiman the Magnificent Television", - "YeBoy371", - "Ykhwong" - ] - }, - "readableName": "한국어", - "reply": "답변", - "copymessageid": "메시지 ID 복사", - "media": { - "notFound": "미디어를 찾을 수 없습니다", - "loading": "불러오는 중", - "download": "미디어 다운로드", - "moreInfo": "자세한 정보" + "authors": ["Bisang", "McDutchie", "Suleiman the Magnificent Television", "YeBoy371", "Ykhwong"] }, - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "사용자가 길드 초대장을 만들 수 있도록 허용합니다", - "KICK_MEMBERS": "사용자가 길드에서 회원을 내보낼 수 있도록 허용합니다", - "BAN_MEMBERS": "사용자가 길드에서 회원을 금지할 수 있도록 허용합니다", - "MANAGE_CHANNELS": "사용자가 채널을 관리하고 편집할 수 있도록 허용합니다", - "ADD_REACTIONS": "사용자가 메시지에 반응을 추가할 수 있도록 허용합니다", - "VIEW_AUDIT_LOG": "사용자가 감사 로그를 볼 수 있도록 허용합니다", - "STREAM": "사용자가 스트리밍할 수 있도록 허용합니다", - "VIEW_CHANNEL": "사용자가 채널을 볼 수 있도록 허용합니다", - "SEND_MESSAGES": "사용자가 메시지를 보낼 수 있도록 허용합니다", - "MANAGE_MESSAGES": "사용자가 자신의 메시지가 아닌 것을 삭제할 수 있도록 허용합니다", - "ATTACH_FILES": "사용자가 파일을 첨부할 수 있도록 허용합니다", - "READ_MESSAGE_HISTORY": "사용자가 메시지 기록을 읽을 수 있도록 허용합니다", - "MENTION_EVERYONE": "사용자가 모든 사람을 언급할 수 있도록 허용합니다", - "USE_EXTERNAL_EMOJIS": "사용자가 외부 이모티콘을 사용할 수 있도록 허용합니다", - "CONNECT": "사용자가 음성 채널에 연결할 수 있도록 허용합니다", - "SPEAK": "사용자가 음성 채널에서 말할 수 있도록 허용합니다", - "MUTE_MEMBERS": "사용자가 다른 회원을 조용히 하게 할 수 있도록 허용합니다", - "DEAFEN_MEMBERS": "사용자가 다른 회원의 소리를 듣지 못하게 할 수 있도록 허용합니다", - "MOVE_MEMBERS": "사용자가 음성 채널 간에 회원을 이동할 수 있도록 허용합니다", - "USE_VAD": "사용자가 간단히 말하는 것만으로 음성 채널에서 대화할 수 있도록 허용합니다.", - "CHANGE_NICKNAME": "사용자가 자신의 닉네임을 변경할 수 있도록 허용합니다", - "MANAGE_NICKNAMES": "사용자가 다른 회원의 닉네임을 변경할 수 있도록 허용합니다", - "MANAGE_ROLES": "사용자가 역할을 편집하고 관리할 수 있도록 허용합니다", - "USE_APPLICATION_COMMANDS": "사용자가 애플리케이션 명령을 사용할 수 있도록 허용합니다", - "REQUEST_TO_SPEAK": "사용자가 스테이지 채널에서 말할 수 있도록 허용합니다", - "MANAGE_EVENTS": "사용자가 이벤트를 편집하고 관리할 수 있도록 허용합니다", - "MANAGE_THREADS": "사용자가 스레드를 삭제 및 보관하고 모든 개인 스레드를 볼 수 있도록 허용합니다.", - "CREATE_PUBLIC_THREADS": "사용자가 공개 스레드를 만들 수 있도록 허용합니다", - "CREATE_PRIVATE_THREADS": "사용자가 개인 스레드를 만들 수 있도록 허용합니다", - "USE_EXTERNAL_STICKERS": "사용자가 외부 스티커를 사용할 수 있도록 허용합니다", - "SEND_MESSAGES_IN_THREADS": "사용자가 스레드에서 메시지를 보낼 수 있도록 허용합니다", - "USE_EMBEDDED_ACTIVITIES": "사용자가 임베디드 활동을 사용할 수 있도록 허용합니다" - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "초대장 만들기", - "ADMINISTRATOR": "관리자", - "MANAGE_CHANNELS": "채널 관리", - "ADD_REACTIONS": "반응 추가", - "VIEW_AUDIT_LOG": "감사 로그 보기", - "STREAM": "비디오", - "VIEW_CHANNEL": "채널 보기", - "SEND_MESSAGES": "메시지 보내기", - "MANAGE_MESSAGES": "메시지 관리", - "EMBED_LINKS": "링크 삽입", - "ATTACH_FILES": "파일 첨부", - "READ_MESSAGE_HISTORY": "메시지 역사 읽기", - "USE_EXTERNAL_EMOJIS": "외부 이모티콘 사용", - "CONNECT": "연결", - "MUTE_MEMBERS": "회원 알림을 받지 않음", - "CHANGE_NICKNAME": "별명 바꾸기", - "MANAGE_NICKNAMES": "별명 관리", - "MANAGE_ROLES": "역할 관리", - "MANAGE_WEBHOOKS": "웹훅 관리", - "MANAGE_EVENTS": "이벤트 관리", - "MANAGE_THREADS": "스레드 관리", - "CREATE_PUBLIC_THREADS": "공개 스레드 만들기", - "CREATE_PRIVATE_THREADS": "비공개 스레드 만들기", - "USE_EXTERNAL_STICKERS": "외부 스티커 사용", - "USE_SOUNDBOARD": "사운드보드 사용", - "CREATE_EVENTS": "이벤트 만들기", - "USE_EXTERNAL_SOUNDS": "외부 사운드 사용", - "SEND_VOICE_MESSAGES": "음성 메시지 보내기", - "USE_EXTERNAL_APPS": "외부 앱 사용" - } + "DMs": { + "close": "DM 닫기", + "copyId": "DM ID 복사", + "markRead": "읽은 것으로 표시", + "name": "직신" }, - "hideBlockedMessages": "이 사용자를 차단하였습니다. 이 메시지를 숨기려면 클릭하세요", - "deleteConfirm": "이것을 삭제하시겠습니까?", - "yes": "예", - "no": "아니요", - "todayAt": "오늘 $1", - "yesterdayAt": "어제 $1", - "botSettings": "봇 설정", - "confirmGuildLeave": "$1 장소를 떠나시겠습니까", "UrlGen": "URL 생성기", - "typing": "$2님이 타이핑 중{{PLURAL:$1|입니다}}", - "blankMessage": "빈 메시지", "accessibility": { "name": "접근성" }, + "blankMessage": "빈 메시지", + "bot": "봇", + "botSettings": "봇 설정", "channel": { - "name": "채널", + "announcement": "알림", "copyId": "채널 ID 복사", - "markRead": "읽은 것으로 표시", - "settings": "설정", + "createCatagory": "분류 만들기", + "createChannel": "채널 만들기", "delete": "채널 삭제", "makeInvite": "초대하기", - "settingsFor": "$1 설정", - "voice": "음성", - "text": "텍스트", - "announcement": "알림", + "markRead": "읽은 것으로 표시", + "name": "채널", "name:": "이름:", - "topic:": "주제:", "nsfw:": "NSFW:", - "selectType": "채널 유형 선택", - "selectName": "채널 이름", + "permissions": "권한", "selectCatName": "분류 이름", - "createChannel": "채널 만들기", - "createCatagory": "분류 만들기", - "permissions": "권한" + "selectName": "채널 이름", + "selectType": "채널 유형 선택", + "settings": "설정", + "settingsFor": "$1 설정", + "text": "텍스트", + "topic:": "주제:", + "voice": "음성" }, + "confirmGuildLeave": "$1 장소를 떠나시겠습니까", + "copymessageid": "메시지 ID 복사", "delete": "삭제", - "webhooks": { - "createdAt": "만든 날짜: $1", - "name": "이름:", - "token": "웹혹 토큰: `$1`", - "avatar": "아바타", - "createdBy": "만든이:", - "channel": "채널", - "copyURL": "웹훅 URL 복사", - "newWebHook": "새 웹훅", - "EnterWebhookName": "웹훅 이름 입력", - "base": "웹훅", - "type2": "채널 팔로워", - "areYouSureDelete": "$1 항목을 삭제하시겠습니까?" - }, - "switchAccounts": "계정 전환 ⇌", - "htmlPages": { - "idpermissions": "이를 통해 봇은 다음 작업을 수행할 수 있습니다.", - "addBot": "서버에 추가", - "loaddesc": "오래 걸리지 않습니다", - "switchaccounts": "계정 전환", - "instanceField": "인스턴스:", - "emailField": "이메일:", - "pwField": "비밀번호:", - "loginButton": "로그인", - "noAccount": "계정이 없나요?", - "userField": "사용자 이름:", - "dobField": "출생일:", - "createAccount": "계정 만들기", - "alreadyHave": "계정이 이미 있습니까?", - "openClient": "클라이언트 열기", - "trans": "번역" + "deleteConfirm": "이것을 삭제하시겠습니까?", + "emoji": { + "confirmDel": "이 이모티콘을 삭제하시겠습니까?", + "image:": "이미지:", + "name:": "이름:", + "title": "이모티콘", + "upload": "이모티콘 업로드" }, - "register": { - "passwordError:": "비밀번호: $1", - "usernameError": "사용자 이름: $1", - "emailError": "이메일: $1", - "DOBError": "출생일: $1", - "tos": "TOS에 동의해야 합니다" + "friends": { + "addfriend": "친구 추가", + "addfriendpromt": "사용자 이름으로 친구 추가:", + "all": "모두", + "all:": "모든 친구:", + "blocked": "차단됨", + "blockedusers": "차단된 사용자:", + "friendlist": "친구 목록", + "friends": "친구", + "notfound": "사용자를 찾을 수 없습니다", + "online": "온라인", + "online:": "온라인 친구:", + "pending": "보류 중", + "pending:": "대기 중인 친구 요청:", + "removeFriend": "친구 제거" }, - "submit": "제출", "guild": { - "admins": "관리자 찾기", + "INVITES_DISABLED": "초대 전용", "adminMenu": { - "finding": "관리자 찾기", - "permission": "권한:", "changePerms": "찾기 위해 권한 변경", + "finding": "관리자 찾기", + "ownName": "소유자", "owner": "소유자 찾기", - "ownName": "소유자" + "permission": "권한:" }, - "markRead": "읽은 것으로 표시", - "notifications": "알림", - "settings": "설정", + "admins": "관리자 찾기", + "all": "모두", + "banner:": "배너:", + "confirmLeave": "떠나시겠습니까?", + "default": "기본값 ($1)", + "description:": "설명:", + "icon:": "아이콘:", + "loadingDiscovery": "불러오는 중...", "makeInvite": "초대하기", - "settingsFor": "$1 설정", + "markRead": "읽은 것으로 표시", "name:": "이름:", - "topic:": "주제:", - "icon:": "아이콘:", + "none": "없음", + "notifications": "알림", "overview": "개요", - "banner:": "배너:", "region:": "지역:", "roles": "역할", - "all": "모두", - "none": "없음", - "confirmLeave": "떠나시겠습니까?", - "yesLeave": "네, 확실합니다", "serverName": "서버 이름:", - "yesDelete": "네, 확실합니다", - "loadingDiscovery": "불러오는 중...", - "default": "기본값 ($1)", - "description:": "설명:", + "settings": "설정", + "settingsFor": "$1 설정", "systemSelect:": "시스템 메시지 채널:", - "INVITES_DISABLED": "초대 전용" + "topic:": "주제:", + "yesDelete": "네, 확실합니다", + "yesLeave": "네, 확실합니다" }, - "role": { - "displaySettings": "표시 설정", - "name": "역할 이름:", - "color": "색", - "remove": "역할 제거", - "delete": "역할 삭제", - "confirmDelete": "'$1' 항목을 삭제하시겠습니까?", - "roleFileIcon": "역할 아이콘:" + "hideBlockedMessages": "이 사용자를 차단하였습니다. 이 메시지를 숨기려면 클릭하세요", + "htmlPages": { + "addBot": "서버에 추가", + "alreadyHave": "계정이 이미 있습니까?", + "createAccount": "계정 만들기", + "dobField": "출생일:", + "emailField": "이메일:", + "idpermissions": "이를 통해 봇은 다음 작업을 수행할 수 있습니다.", + "instanceField": "인스턴스:", + "loaddesc": "오래 걸리지 않습니다", + "loginButton": "로그인", + "noAccount": "계정이 없나요?", + "openClient": "클라이언트 열기", + "pwField": "비밀번호:", + "switchaccounts": "계정 전환", + "trans": "번역", + "userField": "사용자 이름:" }, - "settings": { - "save": "변경사항 저장", - "img": "이미지 업로드", - "clear": "지우기" + "instanceStats": { + "messages": "메시지: $1", + "name": "인스턴스 통계: $1", + "servers": "서버: $1", + "users": "등록된 사용자: $1" + }, + "invite": { + "accept": "수락", + "alreadyJoined": "이미 참여했습니다", + "channel:": "채널:", + "createInvite": "초대장 만들기", + "inviteLinkCode": "초대 링크/코드", + "invitedBy": "$1님이 당신을 초대했습니다", + "longInvitedBy": "$1님이 당신을 $2에 초대했습니다" + }, + "inviteOptions": { + "12h": "12시간", + "1d": "1일", + "1h": "1시간", + "30d": "30일", + "30m": "30분", + "6h": "6시간", + "7d": "7일", + "never": "없음", + "noLimit": "제한 없음", + "title": "인원 초대" }, "localuser": { - "install": "설치", - "addStatus": "상태 추가", - "status": "상태", - "settings": "설정", - "userSettings": "사용자 설정", - "themesAndSounds": "테마 및 사운드", - "theme:": "테마", - "notisound": "알림음:", - "VoiceWarning": "이 기능을 활성화하시겠습니까? 이 기능은 매우 실험적이며 문제가 발생할 가능성이 높습니다. (이 기능은 개발자를 위한 것이므로 무엇을 하는지 모르는 경우 활성화하지 마십시오)", - "updateSettings": "설정 업데이트", - "swSettings": "서비스 워커 설정", - "SWOffline": "오프라인 전용", - "clearCache": "캐시 지우기", + "2faCode:": "코드:", + "2faDisable": "2FA 비활성화", + "2faEnable": "2FA 활성화", "CheckUpdate": "업데이트 확인", + "PasswordsNoMatch": "비밀번호가 일치하지 않습니다", + "TOSURL": "이용 약관 URL:", + "VoiceWarning": "이 기능을 활성화하시겠습니까? 이 기능은 매우 실험적이며 문제가 발생할 가능성이 높습니다. (이 기능은 개발자를 위한 것이므로 무엇을 하는지 모르는 경우 활성화하지 마십시오)", "accountSettings": "계정 설정", - "2faDisable": "2FA 비활성화", + "addBot": "봇 추가", + "addStatus": "상태 추가", + "advancedBot": "고급 봇 설정", + "appName": "애플리케이션 이름:", "badCode": "유효하지 않은 코드입니다", - "2faEnable": "2FA 활성화", - "2faCode:": "코드:", - "setUp2fa": "2FA 구성", "badPassword": "비밀번호가 잘못되었습니다", + "botAvatar": "봇 아바타:", + "botUsername": "봇 사용자 이름:", "changeEmail": "이메일 주소 바꾸기", - "password:": "비밀번호", - "newEmail:": "새 이메일", - "changeUsername": "사용자 이름 변경", - "newUsername": "새 사용자 이름:", "changePassword": "비밀번호 바꾸기", - "oldPassword:": "이전 비밀번호:", - "newPassword:": "새 비밀번호:", - "PasswordsNoMatch": "비밀번호가 일치하지 않습니다", - "devPortal": "개발자 포털", + "changeUsername": "사용자 이름 변경", + "clearCache": "캐시 지우기", + "connections": "연결", "createApp": "애플리케이션 만들기", - "team:": "팀:", - "appName": "애플리케이션 이름:", + "deleteAccount": "계정 삭제", + "deleteAccountButton": "계정 삭제", "description": "설명:", + "devPortal": "개발자 포털", + "install": "설치", + "language": "언어:", + "manageBot": "봇 관리", + "manageInstance": "인스턴스 관리", + "newEmail:": "새 이메일", + "newPassword:": "새 비밀번호:", + "newUsername": "새 사용자 이름:", + "notisound": "알림음:", + "oldPassword:": "이전 비밀번호:", + "password:": "비밀번호", "privacyPolcyURL": "개인정보보호정책 URL:", - "TOSURL": "이용 약관 URL:", "publicAvaliable": "봇을 공개적으로 초대할 수 있게 할까요?", - "manageBot": "봇 관리", - "addBot": "봇 추가", - "botUsername": "봇 사용자 이름:", - "botAvatar": "봇 아바타:", "resetToken": "토큰 초기화", + "setUp2fa": "2FA 구성", + "settings": "설정", + "status": "상태", + "team:": "팀:", + "theme:": "테마", + "themesAndSounds": "테마 및 사운드", "tokenDisplay": "토큰: $1", - "advancedBot": "고급 봇 설정", - "language": "언어:", - "connections": "연결", - "deleteAccount": "계정 삭제", - "deleteAccountButton": "계정 삭제", - "manageInstance": "인스턴스 관리" + "updateSettings": "설정 업데이트", + "userSettings": "사용자 설정" + }, + "login": { + "checking": "인스턴스 확인 중", + "enterPAgain": "새 비밀번호를 다시 입력하세요:", + "invalid": "유효하지 않은 인스턴스입니다. 다시 시도하세요", + "login": "로그인", + "newPassword": "새 비밀번호:", + "recover": "비밀번호를 잊으셨나요?", + "recovery": "비밀번호를 잊으셨나요?" }, "manageInstance": { - "stop": "인스턴스 중지", "AreYouSureStop": "이 인스턴스를 중지하시겠습니까?", - "length": "길이:", - "format": "포맷:", "TokenFormats": { "URLs": "초대 URL" }, - "create": "만들기", "clientURL": "클라이언트 URL:", + "copy": "복사", + "create": "만들기", + "format": "포맷:", + "length": "길이:", "regType": "토큰 URL 유형 등록", - "copy": "복사" + "stop": "인스턴스 중지" + }, + "media": { + "download": "미디어 다운로드", + "loading": "불러오는 중", + "moreInfo": "자세한 정보", + "notFound": "미디어를 찾을 수 없습니다" + }, + "member": { + "nick:": "별명:", + "reason:": "이유:" }, "message": { - "reactionAdd": "반응 추가", "delete": "메시지 삭제", + "deleted": "삭제된 메시지", "edit": "메시지 편집", "edited": "(편집됨)", - "deleted": "삭제된 메시지" - }, - "instanceStats": { - "name": "인스턴스 통계: $1", - "users": "등록된 사용자: $1", - "servers": "서버: $1", - "messages": "메시지: $1" + "reactionAdd": "반응 추가" }, - "inviteOptions": { - "title": "인원 초대", - "30m": "30분", - "1h": "1시간", - "6h": "6시간", - "12h": "12시간", - "1d": "1일", - "7d": "7일", - "30d": "30일", - "never": "없음", - "noLimit": "제한 없음" + "no": "아니요", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "사용자가 메시지에 반응을 추가할 수 있도록 허용합니다", + "ATTACH_FILES": "사용자가 파일을 첨부할 수 있도록 허용합니다", + "BAN_MEMBERS": "사용자가 길드에서 회원을 금지할 수 있도록 허용합니다", + "CHANGE_NICKNAME": "사용자가 자신의 닉네임을 변경할 수 있도록 허용합니다", + "CONNECT": "사용자가 음성 채널에 연결할 수 있도록 허용합니다", + "CREATE_INSTANT_INVITE": "사용자가 길드 초대장을 만들 수 있도록 허용합니다", + "CREATE_PRIVATE_THREADS": "사용자가 개인 스레드를 만들 수 있도록 허용합니다", + "CREATE_PUBLIC_THREADS": "사용자가 공개 스레드를 만들 수 있도록 허용합니다", + "DEAFEN_MEMBERS": "사용자가 다른 회원의 소리를 듣지 못하게 할 수 있도록 허용합니다", + "KICK_MEMBERS": "사용자가 길드에서 회원을 내보낼 수 있도록 허용합니다", + "MANAGE_CHANNELS": "사용자가 채널을 관리하고 편집할 수 있도록 허용합니다", + "MANAGE_EVENTS": "사용자가 이벤트를 편집하고 관리할 수 있도록 허용합니다", + "MANAGE_MESSAGES": "사용자가 자신의 메시지가 아닌 것을 삭제할 수 있도록 허용합니다", + "MANAGE_NICKNAMES": "사용자가 다른 회원의 닉네임을 변경할 수 있도록 허용합니다", + "MANAGE_ROLES": "사용자가 역할을 편집하고 관리할 수 있도록 허용합니다", + "MANAGE_THREADS": "사용자가 스레드를 삭제 및 보관하고 모든 개인 스레드를 볼 수 있도록 허용합니다.", + "MENTION_EVERYONE": "사용자가 모든 사람을 언급할 수 있도록 허용합니다", + "MOVE_MEMBERS": "사용자가 음성 채널 간에 회원을 이동할 수 있도록 허용합니다", + "MUTE_MEMBERS": "사용자가 다른 회원을 조용히 하게 할 수 있도록 허용합니다", + "READ_MESSAGE_HISTORY": "사용자가 메시지 기록을 읽을 수 있도록 허용합니다", + "REQUEST_TO_SPEAK": "사용자가 스테이지 채널에서 말할 수 있도록 허용합니다", + "SEND_MESSAGES": "사용자가 메시지를 보낼 수 있도록 허용합니다", + "SEND_MESSAGES_IN_THREADS": "사용자가 스레드에서 메시지를 보낼 수 있도록 허용합니다", + "SPEAK": "사용자가 음성 채널에서 말할 수 있도록 허용합니다", + "STREAM": "사용자가 스트리밍할 수 있도록 허용합니다", + "USE_APPLICATION_COMMANDS": "사용자가 애플리케이션 명령을 사용할 수 있도록 허용합니다", + "USE_EMBEDDED_ACTIVITIES": "사용자가 임베디드 활동을 사용할 수 있도록 허용합니다", + "USE_EXTERNAL_EMOJIS": "사용자가 외부 이모티콘을 사용할 수 있도록 허용합니다", + "USE_EXTERNAL_STICKERS": "사용자가 외부 스티커를 사용할 수 있도록 허용합니다", + "USE_VAD": "사용자가 간단히 말하는 것만으로 음성 채널에서 대화할 수 있도록 허용합니다.", + "VIEW_AUDIT_LOG": "사용자가 감사 로그를 볼 수 있도록 허용합니다", + "VIEW_CHANNEL": "사용자가 채널을 볼 수 있도록 허용합니다" + }, + "readableNames": { + "ADD_REACTIONS": "반응 추가", + "ADMINISTRATOR": "관리자", + "ATTACH_FILES": "파일 첨부", + "CHANGE_NICKNAME": "별명 바꾸기", + "CONNECT": "연결", + "CREATE_EVENTS": "이벤트 만들기", + "CREATE_INSTANT_INVITE": "초대장 만들기", + "CREATE_PRIVATE_THREADS": "비공개 스레드 만들기", + "CREATE_PUBLIC_THREADS": "공개 스레드 만들기", + "EMBED_LINKS": "링크 삽입", + "MANAGE_CHANNELS": "채널 관리", + "MANAGE_EVENTS": "이벤트 관리", + "MANAGE_MESSAGES": "메시지 관리", + "MANAGE_NICKNAMES": "별명 관리", + "MANAGE_ROLES": "역할 관리", + "MANAGE_THREADS": "스레드 관리", + "MANAGE_WEBHOOKS": "웹훅 관리", + "MUTE_MEMBERS": "회원 알림을 받지 않음", + "READ_MESSAGE_HISTORY": "메시지 역사 읽기", + "SEND_MESSAGES": "메시지 보내기", + "SEND_VOICE_MESSAGES": "음성 메시지 보내기", + "STREAM": "비디오", + "USE_EXTERNAL_APPS": "외부 앱 사용", + "USE_EXTERNAL_EMOJIS": "외부 이모티콘 사용", + "USE_EXTERNAL_SOUNDS": "외부 사운드 사용", + "USE_EXTERNAL_STICKERS": "외부 스티커 사용", + "USE_SOUNDBOARD": "사운드보드 사용", + "VIEW_AUDIT_LOG": "감사 로그 보기", + "VIEW_CHANNEL": "채널 보기" + } }, - "2faCode": "2FA 코드:", - "invite": { - "invitedBy": "$1님이 당신을 초대했습니다", - "alreadyJoined": "이미 참여했습니다", - "accept": "수락", - "longInvitedBy": "$1님이 당신을 $2에 초대했습니다", - "inviteLinkCode": "초대 링크/코드", - "channel:": "채널:", - "createInvite": "초대장 만들기" + "readableName": "한국어", + "register": { + "DOBError": "출생일: $1", + "emailError": "이메일: $1", + "passwordError:": "비밀번호: $1", + "tos": "TOS에 동의해야 합니다", + "usernameError": "사용자 이름: $1" }, - "friends": { - "blocked": "차단됨", - "blockedusers": "차단된 사용자:", - "addfriend": "친구 추가", - "removeFriend": "친구 제거", - "addfriendpromt": "사용자 이름으로 친구 추가:", - "notfound": "사용자를 찾을 수 없습니다", - "pending": "보류 중", - "pending:": "대기 중인 친구 요청:", - "all": "모두", - "all:": "모든 친구:", - "online": "온라인", - "online:": "온라인 친구:", - "friendlist": "친구 목록", - "friends": "친구" + "reply": "답변", + "retrying": "다시 시도하는 중...", + "role": { + "color": "색", + "confirmDelete": "'$1' 항목을 삭제하시겠습니까?", + "delete": "역할 삭제", + "displaySettings": "표시 설정", + "name": "역할 이름:", + "remove": "역할 제거", + "roleFileIcon": "역할 아이콘:" }, - "DMs": { - "copyId": "DM ID 복사", - "markRead": "읽은 것으로 표시", - "close": "DM 닫기", - "name": "직신" + "settings": { + "clear": "지우기", + "img": "이미지 업로드", + "save": "변경사항 저장", + "updates": { + "serviceWorkerMode": { + "offlineOnly": "오프라인 전용", + "title": "서비스 워커 설정" + } + } }, + "submit": "제출", + "switchAccounts": "계정 전환 ⇌", + "todayAt": "오늘 $1", + "typing": "$2님이 타이핑 중{{PLURAL:$1|입니다}}", + "uploadFilesText": "여기에 파일을 올리세요!", "user": { - "copyId": "사용자 ID 복사", - "online": "온라인", - "offline": "오프라인", - "message": "사용자에게 메시지 보내기", + "addRole": "역할 추가", "block": "사용자 차단", - "unblock": "사용자 차단 해제", + "copyId": "사용자 ID 복사", + "editServerProfile": "서버 프로필 편집", "friendReq": "친구 요청", - "addRole": "역할 추가", + "message": "사용자에게 메시지 보내기", + "offline": "오프라인", + "online": "온라인", "removeRole": "역할 제거", - "editServerProfile": "서버 프로필 편집" + "unblock": "사용자 차단 해제" }, - "login": { - "checking": "인스턴스 확인 중", - "invalid": "유효하지 않은 인스턴스입니다. 다시 시도하세요", - "recover": "비밀번호를 잊으셨나요?", - "newPassword": "새 비밀번호:", - "enterPAgain": "새 비밀번호를 다시 입력하세요:", - "recovery": "비밀번호를 잊으셨나요?", - "login": "로그인" - }, - "member": { - "reason:": "이유:", - "nick:": "별명:" - }, - "emoji": { - "title": "이모티콘", - "upload": "이모티콘 업로드", - "image:": "이미지:", - "name:": "이름:", - "confirmDel": "이 이모티콘을 삭제하시겠습니까?" + "webhook": "웹훅", + "webhooks": { + "EnterWebhookName": "웹훅 이름 입력", + "areYouSureDelete": "$1 항목을 삭제하시겠습니까?", + "avatar": "아바타", + "base": "웹훅", + "channel": "채널", + "copyURL": "웹훅 URL 복사", + "createdAt": "만든 날짜: $1", + "createdBy": "만든이:", + "name": "이름:", + "newWebHook": "새 웹훅", + "token": "웹혹 토큰: `$1`", + "type2": "채널 팔로워" }, "widget": "길드 위젯", - "uploadFilesText": "여기에 파일을 올리세요!", - "retrying": "다시 시도하는 중...", - "bot": "봇", - "webhook": "웹훅" + "yes": "예", + "yesterdayAt": "어제 $1" } diff --git a/translations/lb.json b/translations/lb.json index 17d513ae..30274158 100644 --- a/translations/lb.json +++ b/translations/lb.json @@ -1,365 +1,367 @@ { - "@metadata": { - "authors": [ - "Volvox" - ] - }, - "vc": { - "joinstream": "Stream kucken" + "2faCode": "2FA-Code:", + "404": { + "404": "404 Säit net fonnt", + "blog": "De Fermi-Blog" }, - "readableName": "Lëtzebuergesch", - "reply": "Äntweren", - "media": { - "loading": "Lueden", - "moreInfo": "Méi Informatiounen", - "artist": "Kënschtler: $1", - "composer": "Komponist: $1", - "length": "Längt: $1 Minutten a(n) $2 Sekonnen" + "@metadata": { + "authors": ["Volvox"] }, - "logout": { - "logout": "Ausloggen", - "error": { - "title": "Beim Versuch Iech auszeloggen ass e Feeler geschitt", - "cancel": "Ofbriechen", - "cont": "Trotzdeem virufueren" - } + "DMs": { + "markRead": "Als gelies markéieren" }, - "cancel": "Ofbriechen", - "permissions": { - "readableNames": { - "ADMINISTRATOR": "Administrateur", - "STREAM": "Video", - "ATTACH_FILES": "Fichieren uspéngelen", - "USE_EXTERNAL_EMOJIS": "Extern Emojie benotzen", - "CONNECT": "Verbannen", - "SPEAK": "Schwätzen", - "MUTE_MEMBERS": "Membere stommschalten", - "CHANGE_NICKNAME": "Spëtznumm änneren", - "MANAGE_NICKNAMES": "Spëtznimm geréieren", - "MANAGE_ROLES": "Rolle geréieren", - "MANAGE_GUILD_EXPRESSIONS": "Ausdréck geréieren", - "CREATE_EVENTS": "Evenementer uleeën", - "SEND_POLLS": "Ëmfroen uleeën", - "USE_EXTERNAL_APPS": "Extern Appe benotzen" + "Voice": { + "status": { + "conectionFailed": "Verbindung feelgeschloen", + "done": "Verbonnen", + "noSDP": "Keen SDP", + "notconnected": "Net verbonnen" } }, - "deleteConfirm": "Sidd Dir sécher, datt Dir dat läsche wëllt?", - "yes": "Jo", - "no": "Nee", - "todayAt": "Haut um $1", - "yesterdayAt": "Gëschter um $1", - "botSettings": "Bot-Astellungen", - "pronouns": "Pronomen:", - "profileColor": "Profilfaarf", - "confirmGuildLeave": "Sidd Dir sécher, datt Dir aus $1 erausgoe wëllt", - "typing": "$2 {{PLURAL:$1|ass|sinn}} am schreiwen", - "blankMessage": "Eidele Message", "accessibility": { "gifSettings": { "always": "Ëmmer", "never": "Ni" } }, - "profile": { - "userInfo": "Benotzerinformatiounen", - "bio": "Iwwer mech:" + "add": "Derbäisetzen", + "applications": { + "delete": "Applikatioun läschen", + "sure": "Sidd Dir sécher, datt Dir $1 läsche wëllt?" + }, + "badge": { + "certified_moderator": "Moderateur" + }, + "blankMessage": "Eidele Message", + "blog": { + "blog": "Blog", + "fermi": "Fermi-Blog" }, + "bot": "BOT", + "botSettings": "Bot-Astellungen", + "cancel": "Ofbriechen", "channel": { - "creating": "Kanal uleeën", - "name": "Kanal", + "announcement": "Ukënnegungen", "copyId": "Kanal-ID kopéieren", - "markRead": "Als gelies markéieren", - "settings": "Astellungen", + "createCatagory": "Kategorie uleeën", + "createChannel": "Kanal uleeën", + "creating": "Kanal uleeën", "delete": "Kanal läschen", "deleteCat": "Kategorie läschen", + "icon": "Symbol:", "makeInvite": "Invitatioun maachen", - "settingsFor": "Astellunge fir $1", - "text": "Text", - "announcement": "Ukënnegungen", + "markRead": "Als gelies markéieren", + "name": "Kanal", "name:": "Numm:", - "icon": "Symbol:", - "topic:": "Theema:", "nsfw:": "NSFW:", - "selectType": "Kanaltyp auswielen", - "selectName": "Numm vum Kanal", "selectCatName": "Numm vun der Kategorie", - "createChannel": "Kanal uleeën", - "createCatagory": "Kategorie uleeën" + "selectName": "Numm vum Kanal", + "selectType": "Kanaltyp auswielen", + "settings": "Astellungen", + "settingsFor": "Astellunge fir $1", + "text": "Text", + "topic:": "Theema:" }, - "Voice": { - "status": { - "done": "Verbonnen", - "notconnected": "Net verbonnen", - "conectionFailed": "Verbindung feelgeschloen", - "noSDP": "Keen SDP" - } + "commands": { + "errorNotValid": "$1 ass kee gültege Choix fir $2" }, + "confirmGuildLeave": "Sidd Dir sécher, datt Dir aus $1 erausgoe wëllt", + "createAccount": "Kont uleeën", "delete": "Läschen", - "webhooks": { - "name": "Numm:", - "channel": "Kanal", - "type": "Typ: $1", - "areYouSureDelete": "Sidd Dir sécher, datt Dir $1 läsche wëllt?" - }, - "switchAccounts": "Konto wiesselen ⇌", + "deleteConfirm": "Sidd Dir sécher, datt Dir dat läsche wëllt?", "devSettings": { "name": "Entwécklerastellungen" }, - "htmlPages": { - "instanceField": "Instanz:", - "emailField": "E-Mail:", - "pwField": "Passwuert:", - "loginButton": "Aloggen", - "noAccount": "Hutt Dir kee Benotzerkont?", - "userField": "Benotzernumm:", - "pw2Field": "Passwuert nach eng Kéier aginn:", - "dobField": "Gebuertsdatum:", - "createAccount": "Kont uleeën", - "trans": "Iwwersetzen", - "transTitle": "Fermi iwwersetzen", - "transDesc": "Dir kënnt dobäi hëllefe fir Fermi an Är eege Sprooch z'iwwersetzen!" - }, - "useTemplate": "$1 als Schabloun benotzen", - "useTemplateButton": "Schabloun benotzen", - "register": { - "passwordError:": "Passwuert: $1", - "usernameError": "Benotzernumm: $1", - "emailError": "E-Mail-Adress: $1", - "DOBError": "Gebuertsdatum: $1" + "deviceManage": { + "city": "Stad: $1", + "continent": "Kontinent: $1", + "country": "Land: $1", + "region": "Regioun: $1" }, - "edit": "Änneren", "discovery": "Entdeckung", + "edit": "Änneren", + "emoji": { + "confirmDel": "Sidd Dir sécher, datt Dir dësen Emoji läsche wëllt?", + "image:": "Bild:", + "name:": "Numm:", + "title": "Emojien", + "upload": "Emojien eroplueden" + }, + "emojiSelect": "Emoji:", + "folder": { + "color": "Faarf vum Dossier:", + "create": "Neien Dossier uleeën", + "edit": "Dossier änneren", + "name": "Numm vum Dossier:" + }, + "friends": { + "blocked": "Gespaart", + "blockedusers": "Gespaarte Benotzer:", + "bu": "Gespaarte Benotzer", + "friends": "Frënn", + "notfound": "Benotzer net fonnt", + "online": "Online" + }, + "group": { + "edit": "Gruppenchat änneren" + }, "guild": { - "memberCount": "$1 {{PLURAL:$1|Member|Memberen}}", - "template": "Schabloun:", - "admins": "Administrateure fannen", "adminMenu": { "finding": "Administrateure fannen", - "owner": "De Besëtzer fannen", - "ownName": "Besëtzer" + "ownName": "Besëtzer", + "owner": "De Besëtzer fannen" }, - "viewTemplate": "Schabloun weisen", - "tempCreatedBy": "Schabloun ugeluecht vum:", - "createNewTemplate": "Nei Schabloun uleeën", - "templates": "Schablounen", - "templateName": "Numm vun der Schabloun:", - "templateDesc": "Beschreiwung vun der Schabloun:", - "templateURL": "URL vun der Schabloun: $1", + "admins": "Administrateure fannen", + "all": "all", "community": "Communautéit", + "createNewTemplate": "Nei Schabloun uleeën", + "default": "Standard ($1)", + "description:": "Beschreiwung:", + "loadingDiscovery": "Lueden…", "markRead": "Als gelies markéieren", - "notifications": "Notifikatiounen", - "settings": "Astellungen", - "settingsFor": "Astellunge fir $1", + "memberCount": "$1 {{PLURAL:$1|Member|Memberen}}", "name:": "Numm:", + "none": "keng", + "notifications": "Notifikatiounen", "region:": "Regioun:", "roles": "Rollen", - "all": "all", - "none": "keng", - "yesLeave": "Jo, ech si mer sécher", "serverName": "Servernumm:", + "settings": "Astellungen", + "settingsFor": "Astellunge fir $1", + "tempCreatedBy": "Schabloun ugeluecht vum:", + "template": "Schabloun:", + "templateDesc": "Beschreiwung vun der Schabloun:", + "templateName": "Numm vun der Schabloun:", + "templateURL": "URL vun der Schabloun: $1", + "templates": "Schablounen", + "viewTemplate": "Schabloun weisen", "yesDelete": "Jo, ech si mer sécher", - "loadingDiscovery": "Lueden…", - "default": "Standard ($1)", - "description:": "Beschreiwung:" - }, - "createAccount": "Kont uleeën", - "role": { - "roles": "Rollen", - "perms": "Berechtegungen", - "color": "Faarf", - "delete": "Roll läschen", - "deleting": "Roll gëtt geläscht …", - "colors": { - "name": "Zuel vu Faarwen:", - "one": "Eng", - "two": "Zwou", - "three": "Dräi", - "secondColor": "Zweet Faarf:", - "thirdColor": "Drëtt Faarf:" - } - }, - "folder": { - "name": "Numm vum Dossier:", - "color": "Faarf vum Dossier:", - "create": "Neien Dossier uleeën", - "edit": "Dossier änneren" + "yesLeave": "Jo, ech si mer sécher" }, - "settings": { - "save": "Ännerunge späicheren", - "img": "Bild eroplueden" - }, - "trace": { - "totalTime": "$2: $1 ms", - "traces": "$1 ($2: ms) $3" + "htmlPages": { + "createAccount": "Kont uleeën", + "dobField": "Gebuertsdatum:", + "emailField": "E-Mail:", + "instanceField": "Instanz:", + "loginButton": "Aloggen", + "noAccount": "Hutt Dir kee Benotzerkont?", + "pw2Field": "Passwuert nach eng Kéier aginn:", + "pwField": "Passwuert:", + "trans": "Iwwersetzen", + "transDesc": "Dir kënnt dobäi hëllefe fir Fermi an Är eege Sprooch z'iwwersetzen!", + "transTitle": "Fermi iwwersetzen", + "userField": "Benotzernumm:" }, - "blog": { - "blog": "Blog", - "fermi": "Fermi-Blog" + "instanceStats": { + "members": "Memberen: $1", + "messages": "Messagen: $1", + "servers": "Serveren: $1", + "users": "Registréiert Benotzer: $1" }, - "remove": "Ewechhuelen", - "applications": { - "delete": "Applikatioun läschen", - "sure": "Sidd Dir sécher, datt Dir $1 läsche wëllt?" + "invite": { + "accept": "Akzeptéieren", + "alreadyJoined": "Scho bäigetrueden", + "channel:": "Kanal:", + "createInvite": "Invitatioun maachen", + "invitedBy": "Dir gouft vum $1 invitéiert", + "never": "Ni" }, - "webauth": { - "manage": "Sécherheetsschlëssele geréieren", - "addKey": "Schlëssel derbäisetzen" + "inviteOptions": { + "12h": "12 Stonnen", + "1d": "1 Dag", + "1h": "1 Stonn", + "30d": "30 Deeg", + "30m": "30 Minutten", + "6h": "6 Stonnen", + "7d": "7 Deeg", + "never": "Ni", + "noLimit": "Keng Limitt", + "title": "Leit invitéieren" }, + "loaded": "Gelueden", "localuser": { - "trace": "Spueren", - "install": "Installéieren", - "installJank": "Fermi installéieren", - "status": "Status", - "settings": "Astellungen", - "userSettings": "Benotzerastellungen", - "notisound": "Notifikatiounstoun:", - "updateSettings": "Astellungen aktualiséieren", - "SWOff": "Aus", - "SWOffline": "Nëmmen offline", - "SWOn": "Un", - "clearCache": "Cache eidelmaachen", - "CheckUpdate": "No Aktualiséierunge sichen", + "2faCode:": "Code:", "2faDisable": "2FA desaktivéieren", - "badCode": "Ongültege Code", "2faEnable": "2FA aktivéieren", - "2faCode:": "Code:", + "CheckUpdate": "No Aktualiséierunge sichen", + "PasswordsNoMatch": "D'Passwierder sinn net d'selwecht", + "addBot": "Bot derbäisetzen", + "advancedBot": "Erweidert Bot-Astellungen", + "badCode": "Ongültege Code", "badPassword": "Falscht Passwuert", + "botUsername": "Botbenotzernumm:", "changeEmail": "E-Mail-Adress änneren", - "password:": "Passwuert", - "newEmail:": "Nei E-Mail", - "changeUsername": "Benotzernumm änneren", - "newUsername": "Neie Benotzernumm:", "changePassword": "Passwuert änneren", - "oldPassword:": "Aalt Passwuert:", - "newPassword:": "Neit Passwuert:", - "PasswordsNoMatch": "D'Passwierder sinn net d'selwecht", + "changeUsername": "Benotzernumm änneren", + "clearCache": "Cache eidelmaachen", + "connections": "Verbindungen", + "deleteAccountButton": "Kont läschen", "description": "Beschreiwung:", - "manageBot": "Bot geréieren", - "addBot": "Bot derbäisetzen", - "botUsername": "Botbenotzernumm:", - "advancedBot": "Erweidert Bot-Astellungen", + "install": "Installéieren", + "installJank": "Fermi installéieren", "language": "Sprooch:", - "connections": "Verbindungen", - "deleteAccountButton": "Kont läschen" + "manageBot": "Bot geréieren", + "newEmail:": "Nei E-Mail", + "newPassword:": "Neit Passwuert:", + "newUsername": "Neie Benotzernumm:", + "notisound": "Notifikatiounstoun:", + "oldPassword:": "Aalt Passwuert:", + "password:": "Passwuert", + "settings": "Astellungen", + "status": "Status", + "trace": "Spueren", + "updateSettings": "Astellungen aktualiséieren", + "userSettings": "Benotzerastellungen" }, - "search": { - "back": "Zeréck", - "next": "Nächst", - "page": "Säit $1", - "new": "Nei", - "old": "Al", - "search": "Sichen" + "login": { + "login": "Aloggen", + "newPassword": "Neit Passwuert:", + "recover": "Passwuert vergiess?" + }, + "logout": { + "error": { + "cancel": "Ofbriechen", + "cont": "Trotzdeem virufueren", + "title": "Beim Versuch Iech auszeloggen ass e Feeler geschitt" + }, + "logout": "Ausloggen" }, "manageInstance": { - "length": "Längt:", + "copy": "Kopéieren", "genericType": "Geneeresch", - "copy": "Kopéieren" + "length": "Längt:" + }, + "media": { + "artist": "Kënschtler: $1", + "composer": "Komponist: $1", + "length": "Längt: $1 Minutten a(n) $2 Sekonnen", + "loading": "Lueden", + "moreInfo": "Méi Informatiounen" + }, + "member": { + "nick:": "Spëtznumm:", + "reason:": "Grond:" }, - "emojiSelect": "Emoji:", "message": { - "reactionAdd": "Reaktioun derbäisetzen", - "reactions": "Reaktioune weisen", "delete": "Message läschen", + "deleted": "Geläschte Message", "edit": "Message änneren", "edited": "(geännert)", - "deleted": "Geläschte Message", "fullMessage": "Vollstännege Message:", + "reactionAdd": "Reaktioun derbäisetzen", + "reactions": "Reaktioune weisen", "reactionsTitle": "Reaktiounen" }, - "instanceStats": { - "users": "Registréiert Benotzer: $1", - "servers": "Serveren: $1", - "messages": "Messagen: $1", - "members": "Memberen: $1" - }, - "inviteOptions": { - "title": "Leit invitéieren", - "30m": "30 Minutten", - "1h": "1 Stonn", - "6h": "6 Stonnen", - "12h": "12 Stonnen", - "1d": "1 Dag", - "7d": "7 Deeg", - "30d": "30 Deeg", - "never": "Ni", - "noLimit": "Keng Limitt" + "no": "Nee", + "permissions": { + "readableNames": { + "ADMINISTRATOR": "Administrateur", + "ATTACH_FILES": "Fichieren uspéngelen", + "CHANGE_NICKNAME": "Spëtznumm änneren", + "CONNECT": "Verbannen", + "CREATE_EVENTS": "Evenementer uleeën", + "MANAGE_GUILD_EXPRESSIONS": "Ausdréck geréieren", + "MANAGE_NICKNAMES": "Spëtznimm geréieren", + "MANAGE_ROLES": "Rolle geréieren", + "MUTE_MEMBERS": "Membere stommschalten", + "SEND_POLLS": "Ëmfroen uleeën", + "SPEAK": "Schwätzen", + "STREAM": "Video", + "USE_EXTERNAL_APPS": "Extern Appe benotzen", + "USE_EXTERNAL_EMOJIS": "Extern Emojie benotzen" + } }, - "2faCode": "2FA-Code:", - "invite": { - "invitedBy": "Dir gouft vum $1 invitéiert", - "alreadyJoined": "Scho bäigetrueden", - "accept": "Akzeptéieren", - "channel:": "Kanal:", - "createInvite": "Invitatioun maachen", - "never": "Ni" + "profile": { + "bio": "Iwwer mech:", + "userInfo": "Benotzerinformatiounen" }, - "friends": { - "blocked": "Gespaart", - "blockedusers": "Gespaarte Benotzer:", - "bu": "Gespaarte Benotzer", - "notfound": "Benotzer net fonnt", - "online": "Online", - "friends": "Frënn" + "profileColor": "Profilfaarf", + "pronouns": "Pronomen:", + "readableName": "Lëtzebuergesch", + "register": { + "DOBError": "Gebuertsdatum: $1", + "emailError": "E-Mail-Adress: $1", + "passwordError:": "Passwuert: $1", + "usernameError": "Benotzernumm: $1" }, - "DMs": { - "markRead": "Als gelies markéieren" + "remove": "Ewechhuelen", + "reply": "Äntweren", + "role": { + "color": "Faarf", + "colors": { + "name": "Zuel vu Faarwen:", + "one": "Eng", + "secondColor": "Zweet Faarf:", + "thirdColor": "Drëtt Faarf:", + "three": "Dräi", + "two": "Zwou" + }, + "delete": "Roll läschen", + "deleting": "Roll gëtt geläscht …", + "perms": "Berechtegungen", + "roles": "Rollen" }, - "user": { - "online": "Online", - "offline": "Offline", - "invisible": "Onsiichtbar", - "block": "Benotzer spären", - "unblock": "Benotzer entspären", - "editServerProfile": "Serverprofil änneren", - "remove": "Benotzer ewechhuelen" + "search": { + "back": "Zeréck", + "new": "Nei", + "next": "Nächst", + "old": "Al", + "page": "Säit $1", + "search": "Sichen" }, - "loaded": "Gelueden", - "login": { - "recover": "Passwuert vergiess?", - "newPassword": "Neit Passwuert:", - "login": "Aloggen" + "settings": { + "img": "Bild eroplueden", + "save": "Ännerunge späicheren", + "updates": { + "serviceWorkerMode": { + "disabled": "Aus", + "enabled": "Un", + "offlineOnly": "Nëmmen offline" + } + } }, - "member": { - "reason:": "Grond:", - "nick:": "Spëtznumm:" + "sticker": { + "confirmDel": "Sidd Dir sécher, datt Dir dëse Sticker läsche wëllt?", + "del": "Sticker läschen", + "desc": "Beschreiwung", + "image": "Bild:", + "name": "Numm:", + "tags": "Associéierten Emoji:", + "title": "Stickeren", + "upload": "Stickeren eroplueden" }, - "commands": { - "errorNotValid": "$1 ass kee gültege Choix fir $2" + "switchAccounts": "Konto wiesselen ⇌", + "todayAt": "Haut um $1", + "trace": { + "totalTime": "$2: $1 ms", + "traces": "$1 ($2: ms) $3" }, - "badge": { - "certified_moderator": "Moderateur" + "typing": "$2 {{PLURAL:$1|ass|sinn}} am schreiwen", + "uploadFilesText": "Lued Är Fichieren hei erop!", + "useTemplate": "$1 als Schabloun benotzen", + "useTemplateButton": "Schabloun benotzen", + "user": { + "block": "Benotzer spären", + "editServerProfile": "Serverprofil änneren", + "invisible": "Onsiichtbar", + "offline": "Offline", + "online": "Online", + "remove": "Benotzer ewechhuelen", + "unblock": "Benotzer entspären" }, - "add": "Derbäisetzen", - "group": { - "edit": "Gruppenchat änneren" + "vc": { + "joinstream": "Stream kucken" }, - "emoji": { - "title": "Emojien", - "upload": "Emojien eroplueden", - "image:": "Bild:", - "name:": "Numm:", - "confirmDel": "Sidd Dir sécher, datt Dir dësen Emoji läsche wëllt?" + "webauth": { + "addKey": "Schlëssel derbäisetzen", + "manage": "Sécherheetsschlëssele geréieren" }, - "sticker": { - "title": "Stickeren", - "upload": "Stickeren eroplueden", - "image": "Bild:", + "webhooks": { + "areYouSureDelete": "Sidd Dir sécher, datt Dir $1 läsche wëllt?", + "channel": "Kanal", "name": "Numm:", - "desc": "Beschreiwung", - "confirmDel": "Sidd Dir sécher, datt Dir dëse Sticker läsche wëllt?", - "del": "Sticker läschen", - "tags": "Associéierten Emoji:" - }, - "404": { - "404": "404 Säit net fonnt", - "blog": "De Fermi-Blog" + "type": "Typ: $1" }, - "deviceManage": { - "country": "Land: $1", - "region": "Regioun: $1", - "city": "Stad: $1", - "continent": "Kontinent: $1" - }, - "uploadFilesText": "Lued Är Fichieren hei erop!", - "bot": "BOT" + "yes": "Jo", + "yesterdayAt": "Gëschter um $1" } diff --git a/translations/lt.json b/translations/lt.json index 53ed8d87..9a7f2e62 100644 --- a/translations/lt.json +++ b/translations/lt.json @@ -1,350 +1,351 @@ { + "2faCode": "2FA kodas:", "@metadata": { - "authors": [ - "McDutchie", - "Nokeoo" - ] + "authors": ["McDutchie", "Nokeoo"] }, - "readableName": "Lietuvių", - "reply": "Atsakyti", - "copyrawtext": "Kopijuoti neapdorotą tekstą", - "copymessageid": "Kopijuoti žinutės id", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Leidžia naudotojui kurti gildijos kvietimus", - "KICK_MEMBERS": "Leidžia naudotojui išmesti narius iš gildijos", - "BAN_MEMBERS": "Leidžia naudotojui blokuoti narius gildijoje", - "ADMINISTRATOR": "Leidžia visus leidimus ir apeina kanalo leidimų perrašymus. Tai pavojingas leidimas!", - "MANAGE_CHANNELS": "Leidžia naudotojui valdyti ir redaguoti kanalus", - "MANAGE_GUILD": "Leidžia valdyti ir redaguoti gildiją", - "ADD_REACTIONS": "Leidžia naudotojui pridėti reakcijas į žinutes", - "VIEW_AUDIT_LOG": "Leidžia naudotojui peržiūrėti audito žurnalą", - "PRIORITY_SPEAKER": "Leidžia naudoti prioritetinį garsiakalbį balso kanale", - "STREAM": "Leidžia naudotojui transliuoti", - "VIEW_CHANNEL": "Leidžia naudotojui peržiūrėti kanalą", - "SEND_MESSAGES": "Leidžia naudotojui siųsti pranešimus", - "SEND_TTS_MESSAGES": "Leidžia naudotojui siųsti teksto į kalbą pranešimus", - "MANAGE_MESSAGES": "Leidžia naudotojui ištrinti ne savo žinutes", - "EMBED_LINKS": "Leisti šio naudotojo atsiųstas nuorodas automatiškai įterpti", - "ATTACH_FILES": "Leidžia naudotojui pridėti failus", - "READ_MESSAGE_HISTORY": "Leidžia naudotojui skaityti žinučių istoriją", - "MENTION_EVERYONE": "Leidžia naudotojui paminėti visus", - "USE_EXTERNAL_EMOJIS": "Leidžia naudotojui naudoti išorinius jaustukus", - "VIEW_GUILD_INSIGHTS": "Leidžia naudotojui matyti gildijos įžvalgas", - "CONNECT": "Leidžia naudotojui prisijungti prie balso kanalo", - "SPEAK": "Leidžia naudotojui kalbėti balso kanalu", - "MUTE_MEMBERS": "Leidžia naudotojui nutildyti kitus narius", - "DEAFEN_MEMBERS": "Leidžia naudotojui apkurtinti kitus narius", - "MOVE_MEMBERS": "Leidžia naudotojui perkelti narius iš vieno balso kanalo į kitą", - "USE_VAD": "Leidžia naudotojams kalbėti balso kanale tiesiog kalbant", - "CHANGE_NICKNAME": "Leidžia naudotojui pakeisti savo slapyvardį", - "MANAGE_NICKNAMES": "Leidžia naudotojui keisti kitų narių slapyvardžius", - "MANAGE_ROLES": "Leidžia naudotojui redaguoti ir valdyti vaidmenis", - "MANAGE_GUILD_EXPRESSIONS": "Leidžia tvarkyti jaustukus, lipdukus ir garso lentas", - "USE_APPLICATION_COMMANDS": "Leidžia naudotojui naudoti programų komandas", - "REQUEST_TO_SPEAK": "Leidžia naudotojui pateikti užklausą kalbėti sceniniame kanale", - "MANAGE_EVENTS": "Leidžia naudotojui redaguoti ir valdyti renginius", - "MANAGE_THREADS": "Leidžia naudotojui ištrinti ir archyvuoti gijas bei peržiūrėti visas privačias gijas", - "CREATE_PUBLIC_THREADS": "Leidžia naudotojui kurti viešąsias gijas", - "CREATE_PRIVATE_THREADS": "Leidžia naudotojui kurti privačias gijas", - "USE_EXTERNAL_STICKERS": "Leidžia naudotojui naudoti išorinius lipdukus", - "SEND_MESSAGES_IN_THREADS": "Leidžia naudotojui siųsti pranešimus gijose", - "USE_EMBEDDED_ACTIVITIES": "Leidžia naudotojui naudoti įterptą veiklą", - "MODERATE_MEMBERS": "Leidžia naudotojui pristabdyti kitus naudotojus, kad jie negalėtų siųsti žinučių pokalbiuose ir gijuose, taip pat kalbėti balso ir scenos kanaluose", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Leidžia peržiūrėti vaidmenų prenumeratos įžvalgas", - "USE_SOUNDBOARD": "Leidžia naudoti garso pultą balso kanale", - "CREATE_GUILD_EXPRESSIONS": "Leidžia kurti jaustukus, lipdukus ir garso pulto garsus bei redaguoti ir ištrinti esamo naudotojo sukurtus.", - "CREATE_EVENTS": "Leidžia kurti suplanuotus įvykius ir redaguoti bei ištrinti dabartinio naudotojo sukurtus įvykius.", - "USE_EXTERNAL_SOUNDS": "Leidžia naudoti pasirinktinius garso pulto garsus iš kitų serverių", - "SEND_VOICE_MESSAGES": "Leidžia siųsti balso pranešimus", - "SEND_POLLS": "Leidžia siųsti apklausas", - "USE_EXTERNAL_APPS": "Leidžia naudotojo įdiegtoms programoms siųsti viešus atsakymus. Kai išjungta, naudotojams vis tiek bus leista naudoti savo programas, tačiau atsakymai bus trumpalaikiai. Tai taikoma tik programoms, kurios taip pat neįdiegtos serveryje." - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Sukurti kvietimą", - "KICK_MEMBERS": "Išmesti narius", - "BAN_MEMBERS": "Blokuoti narius", - "ADMINISTRATOR": "Administratorius", - "MANAGE_CHANNELS": "Tvarkyti kanalus", - "MANAGE_GUILD": "Tvarkyti gildiją", - "ADD_REACTIONS": "Pridėkite reakcijas", - "VIEW_AUDIT_LOG": "Žiūrėti audito žurnalą", - "PRIORITY_SPEAKER": "Pirmenybinis garsiakalbis", - "STREAM": "Vaizdo įrašas", - "VIEW_CHANNEL": "Žiūrėti kanalus", - "SEND_MESSAGES": "Siųsti žinutes", - "SEND_TTS_MESSAGES": "Siųsti teksto į kalbą žinutes", - "MANAGE_MESSAGES": "Tvarkyti žinutes", - "EMBED_LINKS": "Įterpti nuorodas", - "ATTACH_FILES": "Prisegti failus", - "READ_MESSAGE_HISTORY": "Skaityti žinučių istoriją", - "USE_EXTERNAL_EMOJIS": "Naudoti išorinius jaustukus", - "VIEW_GUILD_INSIGHTS": "Žiūrėti gildijos įžvalgas", - "CONNECT": "Prisijungti", - "SPEAK": "Kalbėti", - "MUTE_MEMBERS": "Nutildyti narius", - "DEAFEN_MEMBERS": "Kurtinti narius", - "MOVE_MEMBERS": "Perkelti narius", - "USE_VAD": "Naudoti balso aptikimą", - "CHANGE_NICKNAME": "Keisti slapyvardį", - "MANAGE_NICKNAMES": "Tvarkyti slapyvardžius", - "MANAGE_ROLES": "Valdykite vaidmenis", - "MANAGE_GUILD_EXPRESSIONS": "Valdyti išraiškas", - "USE_APPLICATION_COMMANDS": "Naudoti programų komandas", - "REQUEST_TO_SPEAK": "Prašymas kalbėti", - "MANAGE_EVENTS": "Tvarkyti įvykius", - "MANAGE_THREADS": "Tvarkyti gijas", - "CREATE_PUBLIC_THREADS": "Kurti viešas gijas", - "CREATE_PRIVATE_THREADS": "Kurti privačias gijas", - "USE_EXTERNAL_STICKERS": "Naudoti išorinius lipdukus", - "SEND_MESSAGES_IN_THREADS": "Siųsti žinutes gijose", - "USE_EMBEDDED_ACTIVITIES": "Naudoti veiklas", - "MODERATE_MEMBERS": "Pristabdyti narius", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Žiūrėti kūrėjų pajamų gavimo analizę", - "CREATE_GUILD_EXPRESSIONS": "Kurti išraiškas", - "CREATE_EVENTS": "Kurti įvykius", - "USE_EXTERNAL_SOUNDS": "Naudoti išorinius garsus", - "SEND_VOICE_MESSAGES": "Siųsti balso žinutes", - "SEND_POLLS": "Kurti apklausas", - "USE_EXTERNAL_APPS": "Naudoti išorines programas" - } + "DMs": { + "close": "Uždaryti DM", + "copyId": "Kopijuoti DM id", + "markRead": "Žymėti skaitytu" }, - "hideBlockedMessages": "Užblokavote šį naudotoją. Spustelėkite, kad paslėptumėte šias žinutes.", - "showBlockedMessages": "Užblokavote šį naudotoją. Spustelėkite, kad pamatytumėte užblokuotą $1 {{PLURAL:$1|žinutę|žinutes}}.", - "deleteConfirm": "Ar tikrai norite tai ištrinti?", - "yes": "Taip", - "no": "Ne", - "todayAt": "Šiandien $1", - "yesterdayAt": "Vakar $1", - "otherAt": "$1 $2", - "botSettings": "Roboto nustatymai", - "uploadPfp": "Įkelti pfp:", - "uploadBanner": "Įkelti banerį:", - "pronouns": "Įvardžiai:", - "bio": "Biografija:", - "profileColor": "Profilio spalva", - "botGuilds": "Gildijų botas yra:", - "leaveGuild": "Palikti gildiją", - "confirmGuildLeave": "Ar tikrai norite palikti $1", "UrlGen": "URL generatorius", - "noMessages": "Atrodo, kad čia nėra pranešimų, būkite pirmas, kuris ką nors pasakykite!", + "accountNotStart": "Nepavyko paleisti paskyros", + "bio": "Biografija:", "blankMessage": "Tuščia žinutė", + "botGuilds": "Gildijų botas yra:", + "botSettings": "Roboto nustatymai", "channel": { + "announcement": "Skelbimai", "copyId": "Kopijuoti kanalo id", - "markRead": "Žymėti skaitytu", - "settings": "Nustatymai", + "createCatagory": "Sukurti kategoriją", + "createChannel": "Sukurti kanalą", "delete": "Ištrinti kanalą", "makeInvite": "Padaryti kvietimą", - "settingsFor": "$1 nustatymai", - "voice": "Balsas", - "text": "Tekstas", - "announcement": "Skelbimai", + "markRead": "Žymėti skaitytu", "name:": "Pavadinimas:", - "topic:": "Tema:", "nsfw:": "NSFW:", - "selectType": "Pasirinkite kanalo tipą", - "selectName": "Kanalo pavadinimas", "selectCatName": "Kanalo pavadinimas", - "createChannel": "Sukurti kanalą", - "createCatagory": "Sukurti kategoriją" - }, - "switchAccounts": "Perjungti paskyras ⇌", - "accountNotStart": "Nepavyko paleisti paskyros", - "home": { - "uptimeStats": "Veikimo laikas: \n Visas laikas: $1%\nŠią savaitę: $2%\nŠiandien: $3%", - "warnOffiline": "Egzempliorius neprisijungęs, negali prisijungti" - }, - "htmlPages": { - "idpermissions": "Tai leis robotui:", - "addBot": "Pridėti prie serverio", - "loaddesc": "Tai neturėtų trukti ilgai", - "switchaccounts": "Perjungti paskyras", - "instanceField": "Egzempliorius:", - "emailField": "El. paštas:", - "pwField": "Slaptažodis:", - "loginButton": "Prisijungti", - "noAccount": "Neturite paskyros?", - "userField": "Naudotojo vardas:", - "pw2Field": "Įveskite slaptažodį dar kartą:", - "dobField": "Gimimo data:", - "createAccount": "Sukurti paskyrą", - "alreadyHave": "Jau turite paskyrą?", - "openClient": "Atidaryti klientą", - "box3description": "Visada vertiname pagalbą, nesvarbu, ar tai būtų pranešimai apie klaidas, kodas, ar tiesiog rašybos klaidų nurodymas." - }, - "register": { - "passwordError:": "Slaptažodis: $1", - "usernameError": "Naudotojo vardas: $1", - "emailError": "El. paštas: $1", - "DOBError": "Gimimo data: $1" + "selectName": "Kanalo pavadinimas", + "selectType": "Pasirinkite kanalo tipą", + "settings": "Nustatymai", + "settingsFor": "$1 nustatymai", + "text": "Tekstas", + "topic:": "Tema:", + "voice": "Balsas" }, - "goingToURL": "Einate į $1. Tikrai norite ten eiti?", + "confirmGuildLeave": "Ar tikrai norite palikti $1", + "copymessageid": "Kopijuoti žinutės id", + "copyrawtext": "Kopijuoti neapdorotą tekstą", + "deleteConfirm": "Ar tikrai norite tai ištrinti?", + "errorReconnect": "Nepavyko prisijungti prie serverio, bandoma iš naujo po **$1** sekundžių...", "goThere": "Eiti ten", "goThereTrust": "Eiti ten ir ateityje pasitikėti", - "nevermind": "Nesvarbu", - "submit": "siųsti", + "goingToURL": "Einate į $1. Tikrai norite ten eiti?", "guild": { + "all": "visi", + "banner:": "Baneris:", + "confirmDelete": "Ar tikrai norite ištrinti $1?", + "confirmLeave": "Ar tikrai norite išeiti?", "copyId": "Kopijuoti gildijos ID", - "markRead": "Žymėti skaitytu", - "notifications": "Pranešimai", - "leave": "Palikti gildiją", - "settings": "Nustatymai", + "create": "Kurti gildiją", "delete": "Ištrinti gildiją", + "disoveryTitle": "Gildijos atradimas ($1) {{PLURAL:$1|įrašas|įrašai}}", + "icon:": "Ikona:", + "leave": "Palikti gildiją", + "loadingDiscovery": "Įkeliama…", "makeInvite": "Kurti kvietimą", - "settingsFor": "$1 nustatymai", + "markRead": "Žymėti skaitytu", "name:": "Pavadinimas:", - "topic:": "Tema:", - "icon:": "Ikona:", + "noDelete": "Nesvarbu", + "noLeave": "Nesvarbu", + "none": "taškas", + "notifications": "Pranešimai", + "onlyMentions": "tik paminėjimai", "overview": "Apžvalga", - "banner:": "Baneris:", "region:": "Regionas:", "roles": "Vaidmenys", "selectnoti": "Pasirinkite pranešimų tipą", - "all": "visi", - "onlyMentions": "tik paminėjimai", - "none": "taškas", - "confirmLeave": "Ar tikrai norite išeiti?", - "yesLeave": "Taip, esu tikras", - "noLeave": "Nesvarbu", - "confirmDelete": "Ar tikrai norite ištrinti $1?", "serverName": "Serverio pavadinimas:", + "settings": "Nustatymai", + "settingsFor": "$1 nustatymai", + "topic:": "Tema:", "yesDelete": "Taip, esu tikras", - "noDelete": "Nesvarbu", - "create": "Kurti gildiją", - "loadingDiscovery": "Įkeliama…", - "disoveryTitle": "Gildijos atradimas ($1) {{PLURAL:$1|įrašas|įrašai}}" + "yesLeave": "Taip, esu tikras" }, - "role": { - "displaySettings": "Rodinio nustatymai", - "name": "Vaidmens pavadinimas:", - "color": "Spalva", - "remove": "Pašalinti vaidmenį", - "delete": "Ištrinti vaidmenį", - "confirmDelete": "Ar tikrai norite ištrinti $1?" + "hideBlockedMessages": "Užblokavote šį naudotoją. Spustelėkite, kad paslėptumėte šias žinutes.", + "home": { + "uptimeStats": "Veikimo laikas: \n Visas laikas: $1%\nŠią savaitę: $2%\nŠiandien: $3%", + "warnOffiline": "Egzempliorius neprisijungęs, negali prisijungti" }, - "settings": { - "unsaved": "Atsargiai, turite neišsaugotų pakeitimų", - "save": "Išsaugoti pakeitimus" + "htmlPages": { + "addBot": "Pridėti prie serverio", + "alreadyHave": "Jau turite paskyrą?", + "box3description": "Visada vertiname pagalbą, nesvarbu, ar tai būtų pranešimai apie klaidas, kodas, ar tiesiog rašybos klaidų nurodymas.", + "createAccount": "Sukurti paskyrą", + "dobField": "Gimimo data:", + "emailField": "El. paštas:", + "idpermissions": "Tai leis robotui:", + "instanceField": "Egzempliorius:", + "loaddesc": "Tai neturėtų trukti ilgai", + "loginButton": "Prisijungti", + "noAccount": "Neturite paskyros?", + "openClient": "Atidaryti klientą", + "pw2Field": "Įveskite slaptažodį dar kartą:", + "pwField": "Slaptažodis:", + "switchaccounts": "Perjungti paskyras", + "userField": "Naudotojo vardas:" }, + "instanceStats": { + "members": "Nariai: $1", + "messages": "Žinutės: $1", + "name": "Egzemplioriaus statistika: $1", + "servers": "Serveriai: $1", + "users": "Registruoti naudotojai: $1" + }, + "invite": { + "accept": "Priimti", + "alreadyJoined": "Jau prisijungta", + "inviteLinkCode": "Pakvietimo nuoroda/kodas", + "invitedBy": "Jus pakvietė $1", + "joinUsing": "Prisijunkite naudodami kvietimą", + "loginOrCreateAccount": "Prisijunkite arba susikurkite paskyrą ⇌", + "longInvitedBy": "$1 pakvietė jus prisijungti prie $2", + "noAccount": "Sukurkite paskyrą, kad priimtumėte kvietimą" + }, + "inviteOptions": { + "12h": "12 valandų", + "1d": "1 diena", + "1h": "1 valanda", + "30d": "30 dienų", + "30m": "30 minučių", + "6h": "6 valandos", + "7d": "7 dienos", + "limit": "$1 {{PLURAL:$1|panaudojimas|panaudojimai}}", + "never": "Niekada", + "noLimit": "Nėra limito", + "title": "Pakvieskite žmones" + }, + "leaveGuild": "Palikti gildiją", "localuser": { - "settings": "Nustatymai", - "userSettings": "Naudotojo nustatymai", - "themesAndSounds": "Temos ir garsai", - "theme:": "Tema", - "notisound": "Pranešimo garsas:", - "accentColor": "Akcento spalva:", - "VoiceWarning": "Ar tikrai norite tai įjungti, tai eksperimentinė versija ir gali sukelti problemų. (ši funkcija skirta kūrėjams, neįjunkite, jei nežinote, ką darote)", - "updateSettings": "Atnaujinti nustatymus", - "swSettings": "Paslaugos darbuotojo nustatymas", - "SWOff": "Išjungta", - "SWOffline": "Tik neprisijungus", - "SWOn": "Įjungta", - "clearCache": "Išvalyti talpyklą", + "2faCode:": "Kodas:", + "2faDisable": "Išjungti 2FA", + "2faEnable": "Įjungti 2FA", "CheckUpdate": "Tikrinti, ar yra naujinių", + "PasswordsNoMatch": "Slaptažodžiai nesutampa", + "TOSURL": "Paslaugų teikimo sąlygų URL:", + "VoiceWarning": "Ar tikrai norite tai įjungti, tai eksperimentinė versija ir gali sukelti problemų. (ši funkcija skirta kūrėjams, neįjunkite, jei nežinote, ką darote)", + "accentColor": "Akcento spalva:", "accountSettings": "Paskyros nustatymai", - "2faDisable": "Išjungti 2FA", + "addBot": "Pridėti robotą", + "advancedBot": "Išplėstiniai roboto nustatymai", + "appName": "Programos pavadinimas:", "badCode": "Netinkamas kodas", - "2faEnable": "Įjungti 2FA", - "2faCode:": "Kodas:", - "setUp2fa": "2FA sąranka", "badPassword": "Neteisingas slaptažodis", + "botAvatar": "Roboto avataras:", + "botInviteCreate": "Roboto kvietimo kūrėjas", + "botUsername": "Roboto naudotojo vardas:", "changeEmail": "Keisti el. pašto adresą", - "password:": "Slaptažodis", - "newEmail:": "Naujas el. paštas", - "changeUsername": "Keisti naudotojo vardą", - "newUsername": "Naujas naudotojo vardas:", "changePassword": "Keisti slaptažodį", - "oldPassword:": "Senas slaptažodis:", - "newPassword:": "Naujas slaptažodis:", - "PasswordsNoMatch": "Slaptažodžiai nesutampa", - "disableConnection": "Šis ryšys išjungtas serverio pusėje", - "devPortal": "Kūrėjo portalas", + "changeUsername": "Keisti naudotojo vardą", + "clearCache": "Išvalyti talpyklą", + "confirmAddBot": "Ar tikrai norite pridėti robotą prie šios programos? Nėra kelio atgal.", + "confuseNoBot": "Dėl kažkokių priežasčių ši programa neturi robotų (kol kas).", + "connections": "Jungtys", "createApp": "Sukurti programą", - "team:": "Komanda:", - "appName": "Programos pavadinimas:", "description": "Aprašymas:", + "devPortal": "Kūrėjo portalas", + "disableConnection": "Šis ryšys išjungtas serverio pusėje", + "editingBot": "Redaguojamas robotas $1", + "language": "Kalba:", + "manageBot": "Valdyti robotą", + "newEmail:": "Naujas el. paštas", + "newPassword:": "Naujas slaptažodis:", + "newUsername": "Naujas naudotojo vardas:", + "notisound": "Pranešimo garsas:", + "oldPassword:": "Senas slaptažodis:", + "password:": "Slaptažodis", "privacyPolcyURL": "Privatumo politikos URL:", - "TOSURL": "Paslaugų teikimo sąlygų URL:", "publicAvaliable": "Padaryti robotą viešai kviečiamu?", "requireCode": "Reikalauti suteikti kodą norint pakviesti robotą?", - "manageBot": "Valdyti robotą", - "addBot": "Pridėti robotą", - "confirmAddBot": "Ar tikrai norite pridėti robotą prie šios programos? Nėra kelio atgal.", - "confuseNoBot": "Dėl kažkokių priežasčių ši programa neturi robotų (kol kas).", - "editingBot": "Redaguojamas robotas $1", - "botUsername": "Roboto naudotojo vardas:", - "botAvatar": "Roboto avataras:", - "advancedBot": "Išplėstiniai roboto nustatymai", - "botInviteCreate": "Roboto kvietimo kūrėjas", - "language": "Kalba:", - "connections": "Jungtys" + "setUp2fa": "2FA sąranka", + "settings": "Nustatymai", + "team:": "Komanda:", + "theme:": "Tema", + "themesAndSounds": "Temos ir garsai", + "updateSettings": "Atnaujinti nustatymus", + "userSettings": "Naudotojo nustatymai" + }, + "login": { + "allGood": "Viskas gerai", + "checking": "Tikrinamas egzempliorius", + "invalid": "Netinkamas egzempliorius, bandykite dar kartą", + "waiting": "Laukiama egzemplioriaus patikrinimo" + }, + "member": { + "ban": "Blokuoti $1 iš $2", + "kick": "Išmesti $1 iš $2", + "reason:": "Priežastis:" }, "message": { - "reactionAdd": "Pridėti reakciją", "delete": "Ištrinti žinutę", - "edit": "Redaguoti žinutę" - }, - "instanceStats": { - "name": "Egzemplioriaus statistika: $1", - "users": "Registruoti naudotojai: $1", - "servers": "Serveriai: $1", - "messages": "Žinutės: $1", - "members": "Nariai: $1" + "edit": "Redaguoti žinutę", + "reactionAdd": "Pridėti reakciją" }, - "inviteOptions": { - "title": "Pakvieskite žmones", - "30m": "30 minučių", - "1h": "1 valanda", - "6h": "6 valandos", - "12h": "12 valandų", - "1d": "1 diena", - "7d": "7 dienos", - "30d": "30 dienų", - "never": "Niekada", - "limit": "$1 {{PLURAL:$1|panaudojimas|panaudojimai}}", - "noLimit": "Nėra limito" + "nevermind": "Nesvarbu", + "no": "Ne", + "noMessages": "Atrodo, kad čia nėra pranešimų, būkite pirmas, kuris ką nors pasakykite!", + "otherAt": "$1 $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Leidžia naudotojui pridėti reakcijas į žinutes", + "ADMINISTRATOR": "Leidžia visus leidimus ir apeina kanalo leidimų perrašymus. Tai pavojingas leidimas!", + "ATTACH_FILES": "Leidžia naudotojui pridėti failus", + "BAN_MEMBERS": "Leidžia naudotojui blokuoti narius gildijoje", + "CHANGE_NICKNAME": "Leidžia naudotojui pakeisti savo slapyvardį", + "CONNECT": "Leidžia naudotojui prisijungti prie balso kanalo", + "CREATE_EVENTS": "Leidžia kurti suplanuotus įvykius ir redaguoti bei ištrinti dabartinio naudotojo sukurtus įvykius.", + "CREATE_GUILD_EXPRESSIONS": "Leidžia kurti jaustukus, lipdukus ir garso pulto garsus bei redaguoti ir ištrinti esamo naudotojo sukurtus.", + "CREATE_INSTANT_INVITE": "Leidžia naudotojui kurti gildijos kvietimus", + "CREATE_PRIVATE_THREADS": "Leidžia naudotojui kurti privačias gijas", + "CREATE_PUBLIC_THREADS": "Leidžia naudotojui kurti viešąsias gijas", + "DEAFEN_MEMBERS": "Leidžia naudotojui apkurtinti kitus narius", + "EMBED_LINKS": "Leisti šio naudotojo atsiųstas nuorodas automatiškai įterpti", + "KICK_MEMBERS": "Leidžia naudotojui išmesti narius iš gildijos", + "MANAGE_CHANNELS": "Leidžia naudotojui valdyti ir redaguoti kanalus", + "MANAGE_EVENTS": "Leidžia naudotojui redaguoti ir valdyti renginius", + "MANAGE_GUILD": "Leidžia valdyti ir redaguoti gildiją", + "MANAGE_GUILD_EXPRESSIONS": "Leidžia tvarkyti jaustukus, lipdukus ir garso lentas", + "MANAGE_MESSAGES": "Leidžia naudotojui ištrinti ne savo žinutes", + "MANAGE_NICKNAMES": "Leidžia naudotojui keisti kitų narių slapyvardžius", + "MANAGE_ROLES": "Leidžia naudotojui redaguoti ir valdyti vaidmenis", + "MANAGE_THREADS": "Leidžia naudotojui ištrinti ir archyvuoti gijas bei peržiūrėti visas privačias gijas", + "MENTION_EVERYONE": "Leidžia naudotojui paminėti visus", + "MODERATE_MEMBERS": "Leidžia naudotojui pristabdyti kitus naudotojus, kad jie negalėtų siųsti žinučių pokalbiuose ir gijuose, taip pat kalbėti balso ir scenos kanaluose", + "MOVE_MEMBERS": "Leidžia naudotojui perkelti narius iš vieno balso kanalo į kitą", + "MUTE_MEMBERS": "Leidžia naudotojui nutildyti kitus narius", + "PRIORITY_SPEAKER": "Leidžia naudoti prioritetinį garsiakalbį balso kanale", + "READ_MESSAGE_HISTORY": "Leidžia naudotojui skaityti žinučių istoriją", + "REQUEST_TO_SPEAK": "Leidžia naudotojui pateikti užklausą kalbėti sceniniame kanale", + "SEND_MESSAGES": "Leidžia naudotojui siųsti pranešimus", + "SEND_MESSAGES_IN_THREADS": "Leidžia naudotojui siųsti pranešimus gijose", + "SEND_POLLS": "Leidžia siųsti apklausas", + "SEND_TTS_MESSAGES": "Leidžia naudotojui siųsti teksto į kalbą pranešimus", + "SEND_VOICE_MESSAGES": "Leidžia siųsti balso pranešimus", + "SPEAK": "Leidžia naudotojui kalbėti balso kanalu", + "STREAM": "Leidžia naudotojui transliuoti", + "USE_APPLICATION_COMMANDS": "Leidžia naudotojui naudoti programų komandas", + "USE_EMBEDDED_ACTIVITIES": "Leidžia naudotojui naudoti įterptą veiklą", + "USE_EXTERNAL_APPS": "Leidžia naudotojo įdiegtoms programoms siųsti viešus atsakymus. Kai išjungta, naudotojams vis tiek bus leista naudoti savo programas, tačiau atsakymai bus trumpalaikiai. Tai taikoma tik programoms, kurios taip pat neįdiegtos serveryje.", + "USE_EXTERNAL_EMOJIS": "Leidžia naudotojui naudoti išorinius jaustukus", + "USE_EXTERNAL_SOUNDS": "Leidžia naudoti pasirinktinius garso pulto garsus iš kitų serverių", + "USE_EXTERNAL_STICKERS": "Leidžia naudotojui naudoti išorinius lipdukus", + "USE_SOUNDBOARD": "Leidžia naudoti garso pultą balso kanale", + "USE_VAD": "Leidžia naudotojams kalbėti balso kanale tiesiog kalbant", + "VIEW_AUDIT_LOG": "Leidžia naudotojui peržiūrėti audito žurnalą", + "VIEW_CHANNEL": "Leidžia naudotojui peržiūrėti kanalą", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Leidžia peržiūrėti vaidmenų prenumeratos įžvalgas", + "VIEW_GUILD_INSIGHTS": "Leidžia naudotojui matyti gildijos įžvalgas" + }, + "readableNames": { + "ADD_REACTIONS": "Pridėkite reakcijas", + "ADMINISTRATOR": "Administratorius", + "ATTACH_FILES": "Prisegti failus", + "BAN_MEMBERS": "Blokuoti narius", + "CHANGE_NICKNAME": "Keisti slapyvardį", + "CONNECT": "Prisijungti", + "CREATE_EVENTS": "Kurti įvykius", + "CREATE_GUILD_EXPRESSIONS": "Kurti išraiškas", + "CREATE_INSTANT_INVITE": "Sukurti kvietimą", + "CREATE_PRIVATE_THREADS": "Kurti privačias gijas", + "CREATE_PUBLIC_THREADS": "Kurti viešas gijas", + "DEAFEN_MEMBERS": "Kurtinti narius", + "EMBED_LINKS": "Įterpti nuorodas", + "KICK_MEMBERS": "Išmesti narius", + "MANAGE_CHANNELS": "Tvarkyti kanalus", + "MANAGE_EVENTS": "Tvarkyti įvykius", + "MANAGE_GUILD": "Tvarkyti gildiją", + "MANAGE_GUILD_EXPRESSIONS": "Valdyti išraiškas", + "MANAGE_MESSAGES": "Tvarkyti žinutes", + "MANAGE_NICKNAMES": "Tvarkyti slapyvardžius", + "MANAGE_ROLES": "Valdykite vaidmenis", + "MANAGE_THREADS": "Tvarkyti gijas", + "MODERATE_MEMBERS": "Pristabdyti narius", + "MOVE_MEMBERS": "Perkelti narius", + "MUTE_MEMBERS": "Nutildyti narius", + "PRIORITY_SPEAKER": "Pirmenybinis garsiakalbis", + "READ_MESSAGE_HISTORY": "Skaityti žinučių istoriją", + "REQUEST_TO_SPEAK": "Prašymas kalbėti", + "SEND_MESSAGES": "Siųsti žinutes", + "SEND_MESSAGES_IN_THREADS": "Siųsti žinutes gijose", + "SEND_POLLS": "Kurti apklausas", + "SEND_TTS_MESSAGES": "Siųsti teksto į kalbą žinutes", + "SEND_VOICE_MESSAGES": "Siųsti balso žinutes", + "SPEAK": "Kalbėti", + "STREAM": "Vaizdo įrašas", + "USE_APPLICATION_COMMANDS": "Naudoti programų komandas", + "USE_EMBEDDED_ACTIVITIES": "Naudoti veiklas", + "USE_EXTERNAL_APPS": "Naudoti išorines programas", + "USE_EXTERNAL_EMOJIS": "Naudoti išorinius jaustukus", + "USE_EXTERNAL_SOUNDS": "Naudoti išorinius garsus", + "USE_EXTERNAL_STICKERS": "Naudoti išorinius lipdukus", + "USE_VAD": "Naudoti balso aptikimą", + "VIEW_AUDIT_LOG": "Žiūrėti audito žurnalą", + "VIEW_CHANNEL": "Žiūrėti kanalus", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Žiūrėti kūrėjų pajamų gavimo analizę", + "VIEW_GUILD_INSIGHTS": "Žiūrėti gildijos įžvalgas" + } }, - "2faCode": "2FA kodas:", - "invite": { - "invitedBy": "Jus pakvietė $1", - "alreadyJoined": "Jau prisijungta", - "accept": "Priimti", - "noAccount": "Sukurkite paskyrą, kad priimtumėte kvietimą", - "longInvitedBy": "$1 pakvietė jus prisijungti prie $2", - "loginOrCreateAccount": "Prisijunkite arba susikurkite paskyrą ⇌", - "joinUsing": "Prisijunkite naudodami kvietimą", - "inviteLinkCode": "Pakvietimo nuoroda/kodas" + "profileColor": "Profilio spalva", + "pronouns": "Įvardžiai:", + "readableName": "Lietuvių", + "register": { + "DOBError": "Gimimo data: $1", + "emailError": "El. paštas: $1", + "passwordError:": "Slaptažodis: $1", + "usernameError": "Naudotojo vardas: $1" }, + "reply": "Atsakyti", "replyingTo": "Atsakoma $1", - "DMs": { - "copyId": "Kopijuoti DM id", - "markRead": "Žymėti skaitytu", - "close": "Uždaryti DM" + "retrying": "Bandoma dar kartą...", + "role": { + "color": "Spalva", + "confirmDelete": "Ar tikrai norite ištrinti $1?", + "delete": "Ištrinti vaidmenį", + "displaySettings": "Rodinio nustatymai", + "name": "Vaidmens pavadinimas:", + "remove": "Pašalinti vaidmenį" }, + "settings": { + "save": "Išsaugoti pakeitimus", + "unsaved": "Atsargiai, turite neišsaugotų pakeitimų", + "updates": { + "serviceWorkerMode": { + "disabled": "Išjungta", + "enabled": "Įjungta", + "offlineOnly": "Tik neprisijungus", + "title": "Paslaugos darbuotojo nustatymas" + } + } + }, + "showBlockedMessages": "Užblokavote šį naudotoją. Spustelėkite, kad pamatytumėte užblokuotą $1 {{PLURAL:$1|žinutę|žinutes}}.", + "submit": "siųsti", + "switchAccounts": "Perjungti paskyras ⇌", + "todayAt": "Šiandien $1", + "uploadBanner": "Įkelti banerį:", + "uploadPfp": "Įkelti pfp:", "user": { - "copyId": "Kopijuoti naudotojo ID", - "online": "Prisijungę", - "offline": "Neprisijungę", - "message": "Parašyti naudotojui", + "addRole": "Pridėti vaidmenis", + "ban": "Blokuoti narį", "block": "Blokuoti naudotoją", - "unblock": "atblokuoti naudotoją", + "copyId": "Kopijuoti naudotojo ID", "friendReq": "Draugo prašymas", "kick": "Išmesti narį", - "ban": "Blokuoti narį", - "addRole": "Pridėti vaidmenis", - "removeRole": "Pašalinti vaidmenis" - }, - "login": { - "checking": "Tikrinamas egzempliorius", - "allGood": "Viskas gerai", - "invalid": "Netinkamas egzempliorius, bandykite dar kartą", - "waiting": "Laukiama egzemplioriaus patikrinimo" - }, - "member": { - "kick": "Išmesti $1 iš $2", - "reason:": "Priežastis:", - "ban": "Blokuoti $1 iš $2" + "message": "Parašyti naudotojui", + "offline": "Neprisijungę", + "online": "Prisijungę", + "removeRole": "Pašalinti vaidmenis", + "unblock": "atblokuoti naudotoją" }, - "errorReconnect": "Nepavyko prisijungti prie serverio, bandoma iš naujo po **$1** sekundžių...", - "retrying": "Bandoma dar kartą..." + "yes": "Taip", + "yesterdayAt": "Vakar $1" } diff --git a/translations/mk.json b/translations/mk.json index 6dd87c21..ed83790c 100644 --- a/translations/mk.json +++ b/translations/mk.json @@ -1,862 +1,864 @@ { - "@metadata": { - "authors": [ - "Bjankuloski06" - ] - }, - "vc": { - "joinstream": "Гледај пренос", - "leavestream": "Пренос во живо", - "joinForStream": "Приклучете се на гласовниот канал за да гледате", - "stopstream": "Запри го преносот", - "joiningStream": "Се приклучувам на преносот..." + "2faCode": "2ЧЗ-код:", + "404": { + "404": "404 Страницата не е пронајдена", + "app": "На прилогот", + "blog": "Блогот на Ферми", + "home": "Почетна страница", + "listtitle": "Можеби сакавте да појдете на едно од овие места", + "login": "Најава", + "report": "Ако ја најдовте страницава во рамките на клиентот, пријавете ја:", + "reset": "Страница за менување лозинка", + "title": "Се чини дека сте изгубени", + "whatelse": "Што друго сметате дека треба да се случи?", + "whereever": "Каде и да е ова" }, - "favoriteGifs": "Омилени GIF-ови", - "recentEmoji": "Скорешни емотикони", - "noStickers": "Се чини дека сте на наобично место. Нема налепници на располагање!", - "readableName": "македонски", - "pinMessage": "Закачи порака", - "unableToPin": "Не можам да ја закачам пораката", - "reply": "Одговори", - "copyrawtext": "Копирај сиров текст", - "copyLink": "Копирај врска за пораката", - "copymessageid": "Копирај назнака на пораката", - "media": { - "notFound": "Податотеката не е пронајдена", - "loading": "Вчитувам", - "download": "Преземи податотека", - "moreInfo": "Повеќе инфо", - "artist": "Уметник: $1", - "composer": "Композитор: $1", - "length": "Траење: $1 минути и $2 секунди" + "@metadata": { + "authors": ["Bjankuloski06"] }, - "logout": { - "logout": "Одјава", - "error": { - "title": "Се појави грешка при одјавувањето", - "desc": "Ферми не може да ве одјави,\n дали сепак сакате да ја отстраните сметката?", - "cancel": "Откажи", - "cont": "Сепак продолжи" - } + "DMs": { + "add": "Додајте некого во оваа лична порака", + "close": "Затвори ЛП", + "copyId": "Копирај назнака на ЛП", + "markRead": "Означи како прочитано", + "name": "Лични пораки" }, - "cancel": "Откажи", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Им овозможува на корисниците да создаваат покани за еснафот", - "KICK_MEMBERS": "Овозможува на корисникот да исфрла членови од еснафот", - "BAN_MEMBERS": "Овозможува на корисникот да забранува членови од еснафот", - "ADMINISTRATOR": "Ги дозволува сите дозволи и ги заобиколува наметнувањата на дозволите на каналот. Ова е опасна дозвола!", - "MANAGE_CHANNELS": "Му овозможува на корисникот да управува со и уредува канали", - "MANAGE_GUILD": "Овозможува управување и уредување на еснафот", - "ADD_REACTIONS": "Му овозможув ана корисникот да додава реакции во пораки", - "VIEW_AUDIT_LOG": "Му овозможува на корисникот да го гледа дневникот на ревизија", - "PRIORITY_SPEAKER": "Овозможува употреба на приоритетен говорник во гласовен канал", - "STREAM": "Му овозможува на корисникот да емитува пренос", - "VIEW_CHANNEL": "Му овозможува на корисникот да го гледа каналот", - "SEND_MESSAGES": "Му овозможува на корисникот да испраќа пораки", - "SEND_TTS_MESSAGES": "Му овозможува на корисникот да испраќа пораки од текст во говор", - "MANAGE_MESSAGES": "Му овозможува на корисникот да брише пораки што не се негови", - "EMBED_LINKS": "Дозволи автовметнување на врските испратени од овој корисник", - "ATTACH_FILES": "Му овозможува на корисникот да приложува податотеки", - "READ_MESSAGE_HISTORY": "Му овозможува на корисникот да ја чита историјата на пораки", - "MENTION_EVERYONE": "Му овозможува на корисникот да ги спомнува сите", - "USE_EXTERNAL_EMOJIS": "Му овозможува на корисникот да употребува надворешни емотикони", - "VIEW_GUILD_INSIGHTS": "Му овозможува на корисникот да гледа аналитика за еснаф", - "CONNECT": "Му овозможува на корисникот да се поврзе со гласовен канал", - "SPEAK": "Му овозможува на корисникот да зборува во гласовен канал", - "MUTE_MEMBERS": "Му овозможува на корисникот да занемува на други корисници", - "DEAFEN_MEMBERS": "Му овозможува на корисникот да заглушува други членови", - "MOVE_MEMBERS": "Му овозможува на корисникот да преместува членови од еден на друг гласовен канал", - "USE_VAD": "Им овозможува на корисниците да зборуваат во гласовен канал едноставно разговарајќи", - "CHANGE_NICKNAME": "Му овозможува на корисникот да го менува својот прекар", - "MANAGE_NICKNAMES": "Му овозможува на корисникот да менува прекари на други корисници", - "MANAGE_ROLES": "Му овозможува на корисникот да уредува и управува со улоги", - "MANAGE_WEBHOOKS": "Овозможува управување со и уредување на семрежни пресретници", - "MANAGE_GUILD_EXPRESSIONS": "Овозможува управување со емотикони, налепници и гласовната управувачница", - "USE_APPLICATION_COMMANDS": "Му овозможува на корисникот да користи приложни наредби", - "REQUEST_TO_SPEAK": "Му овозможува на корисникот да побара да зборува во трибински канал", - "MANAGE_EVENTS": "Му овозможува на корисникот да уредува и управува со настани", - "MANAGE_THREADS": "Му овозможува на корисникот да брише и архивира нишки, и да ги гледа сите приватни нишки", - "CREATE_PUBLIC_THREADS": "Му овозможува на корисникот да создава јавни нишки", - "CREATE_PRIVATE_THREADS": "Му овозможува на корисникот да создава приватни нишки", - "USE_EXTERNAL_STICKERS": "Му овозможува на корисникот да користи надворешни налепници", - "SEND_MESSAGES_IN_THREADS": "Му овозможува на корисникот да испраќа пораки во нишки", - "USE_EMBEDDED_ACTIVITIES": "Му овозможува на корисникот да употребува вметнати активности", - "MODERATE_MEMBERS": "Му овозможува на корисникот времено да исклучува други корисници за да ги спречи да испраќаат и реагираат на пораки во разговор во живо и нишки, и да зборуваат во гласовни и трибински канали", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Овозможува гледање аналитика на претплата на улоги", - "USE_SOUNDBOARD": "Овозможува употреба на гласовна управувачница во гласовен канал", - "CREATE_GUILD_EXPRESSIONS": "Овозможува создавање на емотикони и звуци во гласовната управувачница, како и уредување и бришење на постоечките создадени од тековниот корисник.", - "CREATE_EVENTS": "Овозможува создавање на закажани настани, како и уредување и бришење на оние создадени од тековниот корисник.", - "USE_EXTERNAL_SOUNDS": "Овозможува употреба на прилагодени звуци од гласовна управувачница од други еснафи", - "SEND_VOICE_MESSAGES": "Овозможува испраќање гласовни пораки", - "SEND_POLLS": "Овозможува испраќање на анкети", - "USE_EXTERNAL_APPS": "Овозможува кориснички воспоставените прилози да испраќаат јавни одговори. Кога е оневозможено, корисниците сепак ќе можат да ги користат нивните прилози, но одговорите ќе бидат краткотрајни. Ова важи само за прилозите кои не се воедно воспоставени на еснафот.", - "PIN_MESSAGES": "Му овозможува на корисникот да прикачува пораки", - "BYPASS_SLOWMODE": "Бавниот режим повеќе не го засега овој корисник" - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Создај покана", - "KICK_MEMBERS": "Исфрлање на членови", - "BAN_MEMBERS": "Забранување на членови", - "ADMINISTRATOR": "Администратор", - "MANAGE_CHANNELS": "Управување со канали", - "MANAGE_GUILD": "Управување со еснафи", - "ADD_REACTIONS": "Додавање на реакции", - "VIEW_AUDIT_LOG": "Гледање на дневник на ревизија", - "PRIORITY_SPEAKER": "Приоритетен говорник", - "STREAM": "Видео", - "VIEW_CHANNEL": "Погл. канали", - "SEND_MESSAGES": "Испрати пораки", - "SEND_TTS_MESSAGES": "Испраќајте пораки од текст во говор", - "MANAGE_MESSAGES": "Управување со пораки", - "EMBED_LINKS": "Вметни врски", - "ATTACH_FILES": "Приложи податотеки", - "READ_MESSAGE_HISTORY": "Прочитај ја историјата на пораки", - "MENTION_EVERYONE": "Спомни ги @everyone, @here и сите улоги", - "USE_EXTERNAL_EMOJIS": "Корисни надворешни емотикони", - "VIEW_GUILD_INSIGHTS": "Погл. аналитика за еснаф", - "CONNECT": "Поврзување", - "SPEAK": "Зборувај", - "MUTE_MEMBERS": "Занеми членови", - "DEAFEN_MEMBERS": "Заглуши членови", - "MOVE_MEMBERS": "Премести членови", - "USE_VAD": "Користи откривање на гласовна активност", - "CHANGE_NICKNAME": "Смени прекар", - "MANAGE_NICKNAMES": "Управување со прекари", - "MANAGE_ROLES": "Управување со улоги", - "MANAGE_WEBHOOKS": "Управување со семрежни пресретници", - "MANAGE_GUILD_EXPRESSIONS": "Управување со изрази", - "USE_APPLICATION_COMMANDS": "Користи наредби од прилогот", - "REQUEST_TO_SPEAK": "Побарај да зборуваш", - "MANAGE_EVENTS": "Управување со настани", - "MANAGE_THREADS": "Управување со нишки", - "CREATE_PUBLIC_THREADS": "Создавање на јавни нишки", - "CREATE_PRIVATE_THREADS": "Создавање на приватни нишки", - "USE_EXTERNAL_STICKERS": "Употреба на надворешни налепници", - "SEND_MESSAGES_IN_THREADS": "Испраќање на пораки во нишки", - "USE_EMBEDDED_ACTIVITIES": "Употреба на активности", - "MODERATE_MEMBERS": "Времено исклучување на корисници", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Гледање аналитика на монетизација на создавачот", - "USE_SOUNDBOARD": "Употреба на гласовна управувачница", - "CREATE_GUILD_EXPRESSIONS": "Создавање на изрази", - "CREATE_EVENTS": "Создавање на настани", - "USE_EXTERNAL_SOUNDS": "Употреба на надворешни звуци", - "SEND_VOICE_MESSAGES": "Испраќање на гласовни пораки", - "SEND_POLLS": "Создавање на анкети", - "USE_EXTERNAL_APPS": "Употреба на надворешни прилози", - "PIN_MESSAGES": "Закачи пораки", - "BYPASS_SLOWMODE": "Заобиколи бавен режим" + "UrlGen": "Создавач на URL", + "Voice": { + "status": { + "badWS": "Лош одговор од WS", + "conectionFailed": "Поврзувањето не успеа", + "done": "Поврзано", + "left": "Напушти гласовен разговор", + "makingOffer": "Дава понуда", + "noSDP": "Нема SDP", + "notconnected": "Неповрзано", + "sendingStreams": "Испраќа аудиопренос", + "startingRTC": "Покрева RTC-поврзување", + "waitingMainWS": "Чека на главниот WS", + "waitingURL": "Чека на URL за глас", + "wsAuth": "чека овластување од WS", + "wsOpen": "Чека да се отвори WS" } }, - "userping": { - "unknown": "@непознат", - "resolving": "решавачки корисник" - }, - "hideBlockedMessages": "Го имате блокирано овој корисник. Стиснете за да ги скриете поракиве.", - "showBlockedMessages": "Го имате блокирано овој корисник. Стиснете за да {{PLURAL:$1|ја видите блокираната порака|видите $1 блокирани пораки}}.", - "deleteConfirm": "Дали сигурно сакате да го избришете ова?", - "yes": "Да", - "no": "Не", - "todayAt": "Денес во $1", - "yesterdayAt": "Вчера во $1", - "otherAt": "$1 во $2", - "botSettings": "Нагодувања за бот", - "uploadPfp": "Подигнете профилна слика:", - "uploadBanner": "Подигнете транспарент:", - "pronouns": "Лич. заменки:", - "bio": "Био:", - "profileColor": "Боја на профилот", - "botGuilds": "Ботот на еснафите е во:", - "leaveGuild": "Напушти еснаф", - "confirmGuildLeave": "Дали сигурно сакате да го напуштите $1", - "UrlGen": "Создавач на URL", - "typing": "$2 {{PLURAL:$1|пишува|пишуваат}}", - "noMessages": "Тука нема пораки. Бидете првите што ќе кажете нешто!", - "blankMessage": "Празна порака", - "spoiler": "Разоткривање", "accessibility": { - "name": "Пристапност", - "roleColors": "Оневозможи бои на улоги", - "playGif": "Пушти гифови на:", - "playIcon": "Пушти анимирани икони на:", "gifSettings": { - "hover": "Лебдење", "always": "Секогаш", + "hover": "Лебдење", "never": "Никогаш" - } + }, + "name": "Пристапност", + "playGif": "Пушти гифови на:", + "playIcon": "Пушти анимирани икони на:", + "roleColors": "Оневозможи бои на улоги" }, - "profile": { - "userInfo": "Кориснички информации", - "bio": "За мене:", - "permInfo": "Дозволи", - "mut": "Взаемни еснафи", - "mutFriends": "Заеднички пријатели", - "joined": "Направена сметка: $1", - "joinedMember": "Се придружи на $1: $2" + "accountNotStart": "Сметката не може да се покрене", + "add": "Додај", + "applications": { + "delete": "Избриши прилог", + "sure": "Дали сигурно сакате да го избришете $1?" }, - "channelLink": "бр. $1", - "messageLink": "Порака во бр. $1", - "searchGifs": "Пребарај по Тенор", - "muteDuration": "Вклучи звук во:", - "interactions": { - "replyline": "Започнато опходување", - "ephemeralDismiss": "Отфрли порака", - "onlyYou": "Само вие можете да ја видите поракава", - "started": "Го обработувам опходувањето...", - "worked": "Опходувањето успеа", - "failed": "Опходувањето не успеа", - "notImpl": "Ферми сè уште го нема воведено видот на составница $1", - "nonsence": "Опслужувачот испрати содржина од видот $1, која не постои" + "badge": { + "active_developer": "Активен разработувач", + "application_guild_subscription": "Има премиум", + "automod": "Користи автомод", + "bot_commands": "Поддржува наредби", + "bug_hunter_level_1": "Ловец на грешки I степен", + "bug_hunter_level_2": "Ловец на грешки II степен", + "certified_moderator": "Модератор", + "early_supporter": "Ран поддржувач", + "guild_booster_lvl1": "Истакнат еснаф", + "guild_booster_lvl2": "Истакнат еснаф", + "guild_booster_lvl3": "Истакнат еснаф", + "guild_booster_lvl4": "Истакнат еснаф", + "guild_booster_lvl5": "Истакнат еснаф", + "guild_booster_lvl6": "Истакнат еснаф", + "guild_booster_lvl7": "Истакнат еснаф", + "guild_booster_lvl8": "Истакнат еснаф", + "guild_booster_lvl9": "Истакнат еснаф прилично долго", + "hypesquad": "Ствар заштитена со авторски права", + "hypesquad_house_1": "Храброст", + "hypesquad_house_2": "Сјајност", + "hypesquad_house_3": "Рамнотежа", + "legacy_username": "Има старо корисничко име", + "partner": "Партнер на примерокот", + "premium": "Премиум", + "quest_completed": "исполнил задача", + "staff": "Персонал на примерокот", + "verified_developer": "Потврден разработувач" + }, + "bio": "Био:", + "blankMessage": "Празна порака", + "blog": { + "blog": "Блог", + "blogUpdates": "Блоговски новости:", + "desc": "Прочитајте или претплатете се за новости за Ферми!", + "fermi": "Блог на Ферми", + "gotoPost": "Оди на објавата", + "wantUpdates": "Дали би сакале да добивате неделни блоговски новости за состојбата на Ферми?" }, + "bot": "БОТ", + "botGuilds": "Ботот на еснафите е во:", + "botSettings": "Нагодувања за бот", + "cancel": "Откажи", "channel": { - "timedOutUntil": "Времено исклучен до: $1", "SlowmodeCool": "Мирување на бавниот режим: $1", "TimeOutCool": "Времено исклучен до: $1", - "slowmode": "Бавен режим:", - "typebox": "Порака во $1", - "creating": "Создавање на канал", - "name": "Канал", + "allowIcons": "Овозможи прилагодливи икони за канали", + "announcement": "Соопштенија", "copyId": "Ископирај назнака на каналот", "copyIdCat": "Прекопирај категориска назнака", - "markRead": "Означи како прочитано", - "settings": "Нагодувања", + "createCatagory": "Создај категорија", + "createChannel": "Создај канал", + "creating": "Создавање на канал", "delete": "Избриши канал", "deleteCat": "Избриши категорија", + "icon": "Икона:", "makeInvite": "Направи покана", - "settingsFor": "Нагодувања за $1", - "voice": "Глас", - "text": "Текст", + "markRead": "Означи како прочитано", "mute": "Вклучи звук во каналот", - "unmute": "Вклучи звук во каналот", - "announcement": "Соопштенија", - "name:": "Име:", - "icon": "Икона:", - "topic:": "Тема:", - "nsfw:": "Старосно ограничување:", - "selectType": "Изберете вид на канал", - "selectName": "Име на каналот", - "selectCatName": "Име на категоријата", - "createChannel": "Создај канал", - "createCatagory": "Создај категорија", + "name": "Канал", + "name:": "Име:", + "nsfw:": "Старосно ограничување:", "permissions": "Дозволи", - "allowIcons": "Овозможи прилагодливи икони за канали" + "selectCatName": "Име на категоријата", + "selectName": "Име на каналот", + "selectType": "Изберете вид на канал", + "settings": "Нагодувања", + "settingsFor": "Нагодувања за $1", + "slowmode": "Бавен режим:", + "text": "Текст", + "timedOutUntil": "Времено исклучен до: $1", + "topic:": "Тема:", + "typebox": "Порака во $1", + "unmute": "Вклучи звук во каналот", + "voice": "Глас" }, - "notiClump": "Добивте $1 известувања од $2", - "Voice": { - "status": { - "done": "Поврзано", - "notconnected": "Неповрзано", - "sendingStreams": "Испраќа аудиопренос", - "conectionFailed": "Поврзувањето не успеа", - "makingOffer": "Дава понуда", - "startingRTC": "Покрева RTC-поврзување", - "noSDP": "Нема SDP", - "waitingMainWS": "Чека на главниот WS", - "badWS": "Лош одговор од WS", - "waitingURL": "Чека на URL за глас", - "wsOpen": "Чека да се отвори WS", - "wsAuth": "чека овластување од WS", - "left": "Напушти гласовен разговор" - } + "channelLink": "бр. $1", + "clientDesc": "Верзија на клиентот: $1\n\n[Придружете се на официјалниот еснаф на Ферми]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Да го преведеме Ферми](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Помагајте во создавањето на Ферми](https://github.com/MathMan05/Fermi)\n\n[Помагајте во одржувањето на опслужувачот на кој работи Ферми](https://github.com/spacebarchat/server)\n\n[Читајте го блогот](https://blog.fermi.chat/)\n\nПресметани права: $3", + "commands": { + "errorNotValid": "$1 не е важечки избор за $2", + "required": "$1 е задолжителен дел од оваа наредба" }, - "usedFermi": "Употребен Ферми", + "confirmGuildLeave": "Дали сигурно сакате да го напуштите $1", + "copyLink": "Копирај врска за пораката", + "copymessageid": "Копирај назнака на пораката", + "copyrawtext": "Копирај сиров текст", + "createAccount": "Создај сметка", "delete": "Избриши", - "webhooks": { - "createdAt": "Создадено на $1", - "name": "Име:", - "token": "Шифра за семрежниот пресредник: „$1“", - "url": "URL на семрежниот пресретник: `$1`", - "avatar": "Аватар", - "createdBy": "Создадено од:", - "notFound": "Корисникот повеќе не е во еснафот", - "channel": "Канал", - "copyURL": "Ископирај URL на семрежниот пресретник", - "newWebHook": "Нов семрежен пресретник", - "EnterWebhookName": "Внесете име на семрежен пресретник", - "base": "Семрежни пресретници", - "sillyDefaults": "Пресретко\nСретко Помагач\nБот Многу Вреден", - "type1": "Дојдовни", - "type2": "Следач на канал", - "type3": "Прилог", - "type": "Вид: $1", - "deleteWebhook": "Избриши семрежен пресретник", - "areYouSureDelete": "Дали сигурно сакате да го избришете $1?" - }, - "switchAccounts": "Промени сметки ⇌", - "accountNotStart": "Сметката не може да се покрене", - "home": { - "uptimeStats": "Време на линија: \n Сето време: $1%\nНеделава: $2%\nДенес: $3%", - "warnOffiline": "Примерокот не на линија. Не можам да поврзам", - "icon": "Икона на примерокот на $1" - }, + "deleteConfirm": "Дали сигурно сакате да го избришете ова?", "devSettings": { - "name": "Поставки за разработувачи", - "description": "Ова е наменето за разработувачи на Spacebar/Fermi. Ако не знаете што правите, не ги чепкајте овие поставки.", "badUser": "Овозможено заведување на неисправни кориснички објекти кои испраќаат премногу информации:", - "logGateway": "Заведувај примени настани на портата (инфо за дневнички степен):", - "traces": "Изложи траги:", "cache": "Овозможи го меѓускладирање на картографски податотеки од услужен работник:", "cacheDesc": "картографските податотеки ќе се вчитаат како и да е, а ова само ќе обезбеди дека ќе бидат во меѓускладот кога ќе дојде новата надградба.", "captureTrace": "Оваа поставка му кажува на Ферми да ги зафати својствата _trace од опслужувачот. Ова може да направи прогресивното JSON-декодирање да престане да работи (може да бара превчитување)", - "gatewayComp": "Оневозможи збивање на портата" + "description": "Ова е наменето за разработувачи на Spacebar/Fermi. Ако не знаете што правите, не ги чепкајте овие поставки.", + "gatewayComp": "Оневозможи збивање на портата", + "logGateway": "Заведувај примени настани на портата (инфо за дневнички степен):", + "name": "Поставки за разработувачи", + "traces": "Изложи траги:" }, - "htmlPages": { - "idpermissions": "Ова ќе му овозможи на ботот да:", - "addBot": "Додава во еснаф", - "loadingText": "Ферми се вчитува", - "loaddesc": "Не треба да потрае долго", - "switchaccounts": "Промени сметки", - "instanceField": "Примерок:", - "emailField": "Е-пошта:", - "pwField": "Лозинка:", - "loginButton": "Најава", - "noAccount": "Немате сметка?", - "userField": "Корисничко име:", - "pw2Field": "Повторно внесете ја лозинката:", - "dobField": "Датум на раѓање:", - "createAccount": "Создај сметка", - "alreadyHave": "Веќе имате сметка?", - "openClient": "Отвори клиент", - "welcomeJank": "Добре дојдовте во Ферми", - "box1title": "Ферми (Fermi) е клиент складен со Spacebar кој се стреми да биде што подобар, со многу функции како:", - "box1Items": "Лични пораки|Поддршка за реакции|Покани|Префрлање на сметки|Кориснички нагодувања|Разработувачки портал|Ботовски покани|Поддршка за преводи", - "compatableInstances": "Примероци складни со Spacebar:", - "box3title": "Учествувајте во Ферми", - "box3description": "Секогаш цениме помош, било во облик на пријавување грешки или код, па дури и ако ни посочите печатни грешки.", - "trans": "Преведи", - "transTitle": "Преведете го Ферми", - "transDesc": "Да го преведеме Ферми на вашиот јазик!" + "deviceManage": { + "city": "Град: $1", + "continent": "Континент: $1", + "country": "Земја: $1", + "curSes": "Ова е тековната седница. Ќе треба да се одјавите преку другото мени", + "estimateWarn": "Предупредување: Сите овие информации се само најдобра претпоставка. Може да бидат неточни.", + "ip": "Последна позната IP-адреса: $1", + "last": "Последно користено (приближно): $1", + "latitude": "Гео. ширина: $1", + "logout": "Одјава", + "longitude": "Гео. должина: $1", + "manageDev": "Управување со уредот", + "postal": "Поштенски: $1", + "region": "Регион: $1", + "title": "Управување со седници" + }, + "discovery": "Откривање", + "dms": "Лични пораки", + "edit": "Уреди", + "emoji": { + "confirmDel": "Дали сигурно сакате да го избришете емотиконов?", + "found": { + "not": "Овој емотикон не е од вашите еснафи. Ќе мора да се придружите за да го користите", + "other": "Овој емотикон е од еден од другите ваши еснафи.", + "private": "Не можев да го најдам еснафот за овој емотикон", + "this": "Овој емотикон е од овој еснаф." + }, + "from": "Овој емотикон е од", + "image:": "Слика:", + "join": "Придружи се на еснафот", + "name:": "Име:", + "privateGuild": "Овој еснаф е приватен", + "title": "Емотикони", + "upload": "Подигни емотикони" + }, + "emojiSelect": "Емотикон:", + "errorReconnect": "Не можам да се поврзам со опслужувачот. Пробувам повторно за **$1** секунди...", + "favoriteGifs": "Омилени GIF-ови", + "folder": { + "color": "Боја на папката:", + "create": "Создај нова папка", + "edit": "Уреди папка", + "name": "Име на папката:" }, "form": { "captcha": "Чекајте, дали сте човек?" }, - "useTemplate": "Користи го $1 како предлошка", - "useTemplateButton": "Користи предлошка", - "register": { - "register": "Зачленување", - "passwordError:": "Лозинка: $1", - "usernameError": "Корисничко име: $1", - "emailError": "Е-пошта: $1", - "DOBError": "Датум на раѓање: $1", - "agreeTOS": "Се согласувам со[Условите на употреба]($1):", - "noTOS": "Овој примерок нема Услови на употреба, но сепак прифатете ги:", - "tos": "Ќе мора да се согласите со Условите на употреба" + "friends": { + "addfriend": "Додај пријател", + "addfriendpromt": "Додај пријатели по корисничко име:", + "all": "Сите", + "all:": "Сите пријатели:", + "blocked": "Блокиран", + "blockedusers": "Блокирани корисници:", + "bu": "Блокиран корисник", + "discnotfound": "Дискриминаторот не е пронајден", + "friendlist": "Список на пријатели", + "friends": "Пријатели", + "notfound": "Корисникот не е пронајден", + "online": "На линија", + "online:": "Пријатели на линија:", + "pending": "Во исчекување", + "pending:": "Барања за пријателство во исчекување:", + "removeFriend": "Отстрани пријател" }, - "leaving": "Го напуштате Spacebar", - "goingToURL": "Одите на $1. Дали сте сигурни?", "goThere": "Оди таму", "goThereTrust": "Оди таму и доверувај во иднина", - "nevermind": "Не сакам", - "submit": "поднеси", - "edit": "Уреди", - "discovery": "Откривање", + "goingToURL": "Одите на $1. Дали сте сигурни?", + "group": { + "createdm": "Создај ЛП!", + "edit": "Уреди групен разговор", + "select": "Избери пријатели" + }, "guild": { - "unknownRole": "@непозната-улога", - "memberCount": "$1 {{PLURAL:$1|член|членови}}", - "joinConfirm": "Се придружувате на $1?", - "guilds": "Еснафи", - "template": "Предлошка:", - "admins": "Најди администратори", + "COMMUNITY": "Поднеси барање за придружување", + "DISCOVERABLE": "Откривање", + "INVITES_DISABLED": "Само со покана", "adminMenu": { - "finding": "Наоѓање на администратори", - "permission": "Дозволи:", "changePerms": "Смениете ги дозволите за да наоѓате", + "finding": "Наоѓање на администратори", + "ownName": "Сопственик", "owner": "Најди го сопственикот", - "ownName": "Сопственик" + "permission": "Дозволи:" }, - "nameNoMatch": "Имињата не се совпаѓаат", - "viewTemplate": "Преглед на предлошката", - "createFromTemplate": "Еснаф од предлошка", - "tempUseCount": "Предлошката е употребена {{PLURAL:$1|еднаш|$1 пати}}", - "tempCreatedBy": "Предлошката ја создал:", - "editingTemplate": "Уредување на $1", - "createNewTemplate": "Создај нова предлошка", - "templates": "Предлошки", - "templateName": "Име на предлошката:", - "templateDesc": "Опис на предлошката:", - "templcateMetaDesc": "Предлошката им овозможува на другите да го користат овој еснаф како основа за нивните еснафи. Ќе ги копира каналите, улогите и нагодувањата на овој еснаф, но не и неговите, ботови и иконата.", - "invites": "Покани", - "templateNameShort": "Името на предлошката мора да има барем 2 знака", - "templateURL": "URL на предлошката: $1", - "bannedBy": "Забранил:", + "admins": "Најди администратори", + "all": "сите", "banReason": "Причина за забраната: $1", + "bannedBy": "Забранил:", + "banner:": "Транспарент:", "bans": "Забрани", - "ruleId": "Канал за правила:", + "boostMessage?": "Испратете порака кога некој ќе го истакне вашиот еснаф!", "community": "Заедница", - "creating": "Создавање на еснаф", + "confirmDelete": "Дали сигурно сакате да го избришете $1?", + "confirmLeave": "Дали сигурно сакате да напуштите?", "copyId": "Копирај назнака на еснаф", - "markRead": "Означи како прочитано", - "notifications": "Известувања", - "mute": "Занеми еснаф", - "leave": "Напушти еснаф", - "settings": "Нагодувања", + "create": "Создај еснаф", + "createFromTemplate": "Еснаф од предлошка", + "createNewTemplate": "Создај нова предлошка", + "creating": "Создавање на еснаф", + "default": "По основно ($1)", + "defaultNoti": "Задајте ги стандардните нагодувања за известувањата во вашиот еснаф!", "delete": "Избриши еснаф", + "description:": "Опис:", + "disoveryTitle": "Откривање на еснафи ($1 {{PLURAL:$1|ставка|ставки}})", + "editingTemplate": "Уредување на $1", + "emptytext": "Се наоѓате на чудно место. Овој еснаф нема канали", + "emptytitle": "Чудно место", + "guilds": "Еснафи", + "helpTips?": "Испраќајте корисни совети за вашиот еснаф!", + "howJoin": "Како се станува член на вашиот еснаф?", + "icon:": "Икона:", + "invites": "Покани", + "joinConfirm": "Се придружувате на $1?", + "leave": "Напушти еснаф", + "loadingDiscovery": "Вчитувам...", "makeInvite": "Направи покана", - "settingsFor": "Нагодувања за $1", + "markRead": "Означи како прочитано", + "memberCount": "$1 {{PLURAL:$1|член|членови}}", + "mute": "Занеми еснаф", "name:": "Име:", - "topic:": "Тема:", - "icon:": "Икона:", - "overview": "Преглед", - "banner:": "Транспарент:", - "region:": "Регион:", - "roles": "Улоги", - "selectnoti": "Изберете вид на известувања", - "all": "сите", - "onlyMentions": "само спомнувања", - "none": "ништо", - "confirmLeave": "Дали сигурно сакате да напуштите?", - "yesLeave": "Да, сигурен сум", - "noLeave": "Не сакам", - "confirmDelete": "Дали сигурно сакате да го избришете $1?", - "serverName": "Име на еснафот:", - "yesDelete": "Да, сигурен сум", + "nameNoMatch": "Имињата не се совпаѓаат", "noDelete": "Не сакам", - "create": "Создај еснаф", - "loadingDiscovery": "Вчитувам...", - "disoveryTitle": "Откривање на еснафи ($1 {{PLURAL:$1|ставка|ставки}})", - "emptytitle": "Чудно место", - "emptytext": "Се наоѓате на чудно место. Овој еснаф нема канали", - "default": "По основно ($1)", - "description:": "Опис:", - "systemSelect:": "Канал за системски пораки:", + "noLeave": "Не сакам", + "none": "ништо", + "notifications": "Известувања", + "onlyMentions": "само спомнувања", + "overview": "Преглед", + "region:": "Регион:", + "roles": "Улоги", + "ruleId": "Канал за правила:", + "selectnoti": "Изберете вид на известувања", "sendrandomwelcome?": "Испрати произволна порака кога некој ќе се придружи во еснафот", + "serverName": "Име на еснафот:", + "settings": "Нагодувања", + "settingsFor": "Нагодувања за $1", + "splash": "Ударник за Откривање:", "stickWelcomeReact?": "Поттикнете ги членовите на вашиот еснаф да реагираат со налепница кога некој ќе се придружи!", - "boostMessage?": "Испратете порака кога некој ќе го истакне вашиот еснаф!", - "helpTips?": "Испраќајте корисни совети за вашиот еснаф!", - "defaultNoti": "Задајте ги стандардните нагодувања за известувањата во вашиот еснаф!", - "howJoin": "Како се станува член на вашиот еснаф?", - "COMMUNITY": "Поднеси барање за придружување", - "INVITES_DISABLED": "Само со покана", - "DISCOVERABLE": "Откривање", - "splash": "Ударник за Откривање:" + "systemSelect:": "Канал за системски пораки:", + "tempCreatedBy": "Предлошката ја создал:", + "tempUseCount": "Предлошката е употребена {{PLURAL:$1|еднаш|$1 пати}}", + "template": "Предлошка:", + "templateDesc": "Опис на предлошката:", + "templateName": "Име на предлошката:", + "templateNameShort": "Името на предлошката мора да има барем 2 знака", + "templateURL": "URL на предлошката: $1", + "templates": "Предлошки", + "templcateMetaDesc": "Предлошката им овозможува на другите да го користат овој еснаф како основа за нивните еснафи. Ќе ги копира каналите, улогите и нагодувањата на овој еснаф, но не и неговите, ботови и иконата.", + "topic:": "Тема:", + "unknownRole": "@непозната-улога", + "viewTemplate": "Преглед на предлошката", + "yesDelete": "Да, сигурен сум", + "yesLeave": "Да, сигурен сум" }, - "welcomeMessages": "Добре дојдовте $1! Мило ни е што ве гледаме!\nЗфраво, драго ни е што се запознаваме $1!\nДобре дојде, се надеваме дека донесовте пица $1!", - "createAccount": "Создај сметка", - "role": { - "displaySettings": "Нагодувања за приказ", - "name": "Име на улогата:", - "copyId": "Копирај назнака на улога", - "roles": "Улоги", - "perms": "Дозволи", - "hoisted": "Издигнато:", - "mentionable": "Дозволи секому да ја спомнува оваа улога:", - "color": "Боја", - "remove": "Отстрани улога", - "delete": "Отстрани правило", - "confirmDelete": "Дали сигурно сакате да го избришете $1?", - "roleEmoji": "Емотикон на улогата:", - "roleFileIcon": "Икона на улогата:", - "deleting": "Ја бришам улогата...", - "colors": { - "name": "Број на бои:", - "one": "Една", - "two": "Две", - "three": "Три", - "secondColor": "Втора боја:", - "thirdColor": "Трета боја:" - } + "hideBlockedMessages": "Го имате блокирано овој корисник. Стиснете за да ги скриете поракиве.", + "home": { + "icon": "Икона на примерокот на $1", + "uptimeStats": "Време на линија: \n Сето време: $1%\nНеделава: $2%\nДенес: $3%", + "warnOffiline": "Примерокот не на линија. Не можам да поврзам" }, - "folder": { - "name": "Име на папката:", - "color": "Боја на папката:", - "create": "Создај нова папка", - "edit": "Уреди папка" + "htmlPages": { + "addBot": "Додава во еснаф", + "alreadyHave": "Веќе имате сметка?", + "box1Items": "Лични пораки|Поддршка за реакции|Покани|Префрлање на сметки|Кориснички нагодувања|Разработувачки портал|Ботовски покани|Поддршка за преводи", + "box1title": "Ферми (Fermi) е клиент складен со Spacebar кој се стреми да биде што подобар, со многу функции како:", + "box3description": "Секогаш цениме помош, било во облик на пријавување грешки или код, па дури и ако ни посочите печатни грешки.", + "box3title": "Учествувајте во Ферми", + "compatableInstances": "Примероци складни со Spacebar:", + "createAccount": "Создај сметка", + "dobField": "Датум на раѓање:", + "emailField": "Е-пошта:", + "idpermissions": "Ова ќе му овозможи на ботот да:", + "instanceField": "Примерок:", + "loaddesc": "Не треба да потрае долго", + "loadingText": "Ферми се вчитува", + "loginButton": "Најава", + "noAccount": "Немате сметка?", + "openClient": "Отвори клиент", + "pw2Field": "Повторно внесете ја лозинката:", + "pwField": "Лозинка:", + "switchaccounts": "Промени сметки", + "trans": "Преведи", + "transDesc": "Да го преведеме Ферми на вашиот јазик!", + "transTitle": "Преведете го Ферми", + "userField": "Корисничко име:", + "welcomeJank": "Добре дојдовте во Ферми" }, - "settings": { - "unsaved": "Внимавајте. Имате незачувани промени", - "save": "Зачувај промени", - "img": "Подигни слика", - "clear": "Исчисти" + "incorrectURLS": "## Овој примерок веројатно испрати неисправни URL-а.\n### Ако сте сопственик на примерокот, погледајте [тука](https://docs.spacebar.chat/setup/server/) под *Connecting from remote machines* за да го исправите проблемот.\n Дали сакате Ферми автоматски да се обидува да ја поправи оваа грешка за да ви овозможи да се поврзете со примерокот?", + "instInfo": "Информации за примерокот", + "instanceInfo": { + "contact": "Пишете на администратори на примерокот", + "frontPage": "[Насловна страница]($1)", + "name": "Инфо за примерокот", + "publicUrl": "[Јавна URL]($1)", + "tosPage": "[Услови на користење]($1)" }, - "trace": { - "totalTime": "$2: $1 мс", - "traces": "$1 ($2 мс) $3" + "instanceStats": { + "members": "Пораки: $1", + "messages": "Пораки: $1", + "name": "Статистика за примерокот: $1", + "servers": "Еснафи: $1", + "users": "Зачленети корисници: $1" }, - "notiVolume": "Гласност на известувањата:", - "blog": { - "blog": "Блог", - "wantUpdates": "Дали би сакале да добивате неделни блоговски новости за состојбата на Ферми?", - "blogUpdates": "Блоговски новости:", - "gotoPost": "Оди на објавата", - "fermi": "Блог на Ферми", - "desc": "Прочитајте или претплатете се за новости за Ферми!" + "interactions": { + "ephemeralDismiss": "Отфрли порака", + "failed": "Опходувањето не успеа", + "nonsence": "Опслужувачот испрати содржина од видот $1, која не постои", + "notImpl": "Ферми сè уште го нема воведено видот на составница $1", + "onlyYou": "Само вие можете да ја видите поракава", + "replyline": "Започнато опходување", + "started": "Го обработувам опходувањето...", + "worked": "Опходувањето успеа" }, - "remove": "Отстрани", - "applications": { - "delete": "Избриши прилог", - "sure": "Дали сигурно сакате да го избришете $1?" + "invite": { + "accept": "Прифати", + "alreadyJoined": "Веќе сте придружени", + "channel:": "Канал:", + "createInvite": "Создај покана", + "createdAt": "Создадено на $1", + "expireAfter": "Истекува по:", + "expires": "Истекува: $1", + "forChannel": "За каналот: $1", + "inviteLinkCode": "Врска/код на поканата", + "inviteMaker": "Создавач на поканата", + "invitedBy": "Поканети сте од $1", + "joinUsing": "Придружете се со покана", + "loginOrCreateAccount": "Најавете се или направете сметка ⇌", + "longInvitedBy": "$1 ве покани да се придружите на $2", + "maxUses": "Највеќе употреби: $1", + "never": "Никогаш", + "noAccount": "Направете сметка за да ја прифатите поканата", + "notFound": "Поканата не е пронајдена", + "subtext": "до $1 во $2", + "used": "Употребено {{PLURAL:$1|еднаш|$1 пати}}." }, - "webauth": { - "manage": "Управување со безбедносни клучеви", - "addKey": "Додај клуч", - "keyname": "Назив на клучот:" + "inviteOptions": { + "12h": "12 часа", + "1d": "1 ден", + "1h": "1 час", + "30d": "30 дена", + "30m": "30 минути", + "6h": "6 часа", + "7d": "7 дена", + "limit": "$1 {{PLURAL:$1|употреба|употреби}}", + "never": "Никогаш", + "noLimit": "Без граница", + "title": "Покани луѓе" }, - "updateAv": "Има поднови на располагање", + "jankInfo": "Информации за клиентот", + "leaveGuild": "Напушти еснаф", + "leaving": "Го напуштате Spacebar", + "loaded": "Вчитано", "localuser": { - "noUpdates": "Не најдов поднови", - "updatesYay": "Подновите се најдени!", - "refreshPage": "Превчитај и примени", - "trusted": "Домени од доверба", - "trustedDesc": "Кога ќе стиснете на врски од овие домени, тие ***нема*** да ви побараат дозвола за отворање како другите врски. Давајте го ова само на URL-а на кои им верувате", - "trace": "Траги", - "install": "Воспостави", - "installJank": "Воспостави го Ферми", - "installDesc": "Ако го воспоставите Ферми, тоа ќе ви овозможи да го отворате во свој прозорец и тој да се однесува како посебен прилог! Можете и да продолжите да го користите од прелистувачот, и тој ќе си работи исто.", - "addStatus": "Додај статус", - "status": "Статус", - "customStatusWarn": "Spacebar засега не поддржува прикажување на прилагоден статус. Иако го прифаќа статусот, не прави ништо со него", - "settings": "Нагодувања", - "userSettings": "Кориснички нагодувања", - "themesAndSounds": "Изгледи и звуци", - "theme:": "Изглед", - "notisound": "Звук на известувањата:", - "customSound": "Прилагоден звук", - "soundTooLarge": "Звукот што сакате да го подигнете е преголем. Обидете се повторно", - "accentColor": "Боја на нагласокот:", - "VoiceWarning": "Дали сигурно сакате да го овозможите ова? Ова е многу експериментална работа и веројатно ќе ви предизвика проблеми. (оваа функција е за нашите разработувачи, па затоа не овозможувајте ја ако не знаете што правите)", - "updateSettings": "Поднови нагодувања", - "swSettings": "Нагодување за услужниот работник", - "SWOff": "Искл.", - "SWOffline": "Само вонмрежно", - "SWOn": "Вкл.", - "clearCache": "Исчисти меѓусклад", + "2faCode:": "Код:", + "2faCodeGive": "Вашата тајна е: $1 и нејзините 6 цифри, со период на шифрата од 30 секунди", + "2faDisable": "Оневозможи двочинителска заверка", + "2faEnable": "Овозможи двочинителска заверка", "CheckUpdate": "Провери поднови", + "PasswordsNoMatch": "Лозинките не се совпаѓаат", + "TOSURL": "URL за услови на употреба:", + "VoiceWarning": "Дали сигурно сакате да го овозможите ова? Ова е многу експериментална работа и веројатно ќе ви предизвика проблеми. (оваа функција е за нашите разработувачи, па затоа не овозможувајте ја ако не знаете што правите)", + "accentColor": "Боја на нагласокот:", "accountSettings": "Нагодувања на сметката", - "2faDisable": "Оневозможи двочинителска заверка", + "addBot": "Додај бот", + "addStatus": "Додај статус", + "advancedBot": "Напредни нагодувања за бот", + "appName": "Име на прилогот:", + "areYouSureDelete": "Дали сигурно сакате да ја избришете вашата сметка. Ако сте сигурни, внесете ја фразата $1", "badCode": "Неважечки код", - "2faEnable": "Овозможи двочинителска заверка", - "2faCode:": "Код:", - "setUp2fa": "Поставање на двочинителска заверка", "badPassword": "Неисправна лозинка", - "setUp2faInstruction": "Ископирајте ја оваа тајна во TOTP-прилогот (временски ограничена еднократна лозинка)", - "2faCodeGive": "Вашата тајна е: $1 и нејзините 6 цифри, со период на шифрата од 30 секунди", + "botAvatar": "Аватар на ботот:", + "botInviteCreate": "Создавач на покани за ботови", + "botUsername": "Корисничко име на ботот:", "changeDiscriminator": "Смени дискриминатор", - "newDiscriminator": "Нов дискриминатор:", "changeEmail": "Смени е-пошта", - "password:": "Лозинка", - "newEmail:": "Нова е-пошта", - "changeUsername": "Смени корисничко име", - "newUsername": "Ново корисничко име:", "changePassword": "Смени лозинка", - "oldPassword:": "Стара лозинка:", - "newPassword:": "Нова лозинка:", - "PasswordsNoMatch": "Лозинките не се совпаѓаат", - "disableConnection": "Оваа врска е оневозможена од опслужувачка страна", - "devPortal": "Разработувачки портал", + "changeUsername": "Смени корисничко име", + "clearCache": "Исчисти меѓусклад", + "confirmAddBot": "Дали сигурно сакате да додадете бот во прилогов? Ова е неповратно.", + "confirmReset": "Дали сигурно сакате да добиете нова шифра за ботот? Ботот ќе престане да работи додека не го подновите.", + "confuseNoBot": "Од некоја причина овој прилог (сè уште) нема бот.", + "connections": "Поврзувања", "createApp": "Создај прилог", - "team:": "Екипа:", - "appName": "Име на прилогот:", + "customSound": "Прилагоден звук", + "customStatusWarn": "Spacebar засега не поддржува прикажување на прилагоден статус. Иако го прифаќа статусот, не прави ништо со него", + "deleteAccount": "Бришење на сметка", + "deleteAccountButton": "Избриши сметка", "description": "Опис:", + "devPortal": "Разработувачки портал", + "disableConnection": "Оваа врска е оневозможена од опслужувачка страна", + "editingBot": "Уредување на ботот $1", + "install": "Воспостави", + "installDesc": "Ако го воспоставите Ферми, тоа ќе ви овозможи да го отворате во свој прозорец и тој да се однесува како посебен прилог! Можете и да продолжите да го користите од прелистувачот, и тој ќе си работи исто.", + "installJank": "Воспостави го Ферми", + "language": "Јазик:", + "manageBot": "Управување со бот", + "manageInstance": "Управување со примерокот", + "mustTypePhrase": "За да си ја избришете сметката, ќе мора да ја внесете фразата", + "newDiscriminator": "Нов дискриминатор:", + "newEmail:": "Нова е-пошта", + "newPassword:": "Нова лозинка:", + "newUsername": "Ново корисничко име:", + "noToken": "Не ја знам шифрата, па затоа не можам да ја зачувам во localStorage", + "noUpdates": "Не најдов поднови", + "notisound": "Звук на известувањата:", + "oldPassword:": "Стара лозинка:", + "password:": "Лозинка", "privacyPolcyURL": "URL за правила за лични податоци:", - "TOSURL": "URL за услови на употреба:", "publicAvaliable": "Ботот да биде јавно поканлив?", + "refreshPage": "Превчитај и примени", "requireCode": "Да барам код за покана на ботот?", - "manageBot": "Управување со бот", - "addBot": "Додај бот", - "confirmAddBot": "Дали сигурно сакате да додадете бот во прилогов? Ова е неповратно.", - "confuseNoBot": "Од некоја причина овој прилог (сè уште) нема бот.", - "editingBot": "Уредување на ботот $1", - "botUsername": "Корисничко име на ботот:", - "botAvatar": "Аватар на ботот:", - "resetToken": "Нова шифра", - "confirmReset": "Дали сигурно сакате да добиете нова шифра за ботот? Ботот ќе престане да работи додека не го подновите.", - "tokenDisplay": "Шифра: $1", - "saveToken": "Зачувај шифра во localStorage", - "noToken": "Не ја знам шифрата, па затоа не можам да ја зачувам во localStorage", - "advancedBot": "Напредни нагодувања за бот", - "botInviteCreate": "Создавач на покани за ботови", - "language": "Јазик:", - "connections": "Поврзувања", - "deleteAccount": "Бришење на сметка", - "areYouSureDelete": "Дали сигурно сакате да ја избришете вашата сметка. Ако сте сигурни, внесете ја фразата $1", + "resetToken": "Нова шифра", + "saveToken": "Зачувај шифра во localStorage", + "setUp2fa": "Поставање на двочинителска заверка", + "setUp2faInstruction": "Ископирајте ја оваа тајна во TOTP-прилогот (временски ограничена еднократна лозинка)", + "settings": "Нагодувања", "sillyDeleteConfirmPhrase": "Ни лук јал, ни лук мирисал", - "deleteAccountButton": "Избриши сметка", - "mustTypePhrase": "За да си ја избришете сметката, ќе мора да ја внесете фразата", - "manageInstance": "Управување со примерокот" + "soundTooLarge": "Звукот што сакате да го подигнете е преголем. Обидете се повторно", + "status": "Статус", + "team:": "Екипа:", + "theme:": "Изглед", + "themesAndSounds": "Изгледи и звуци", + "tokenDisplay": "Шифра: $1", + "trace": "Траги", + "trusted": "Домени од доверба", + "trustedDesc": "Кога ќе стиснете на врски од овие домени, тие ***нема*** да ви побараат дозвола за отворање како другите врски. Давајте го ова само на URL-а на кои им верувате", + "updateSettings": "Поднови нагодувања", + "updatesYay": "Подновите се најдени!", + "userSettings": "Кориснички нагодувања" }, - "search": { - "back": "Назад", - "next": "Следно", - "page": "Страница $1", - "new": "Ново", - "old": "Старо", - "search": "Пребарај", - "nofind": "Нема пораки што одговараат на пребараното. Можеби треба да го проширите пребарувањето" + "login": { + "allGood": "Сè е во ред", + "checking": "Проверка на примерокот", + "enterPAgain": "Повторно внесете ја новата лозинка:", + "invalid": "Неважечки примерок. Обидете се повторно", + "login": "Најава", + "newPassword": "Нова лозинка:", + "pasteInfo": "Тука прекопирајте ја URL за повраток:", + "recover": "Ја заборавивте лозинката?", + "recovery": "Заборавена лозинка", + "waiting": "Се чека на проверка на примерокот" + }, + "logout": { + "error": { + "cancel": "Откажи", + "cont": "Сепак продолжи", + "desc": "Ферми не може да ве одјави,\n дали сепак сакате да ја отстраните сметката?", + "title": "Се појави грешка при одјавувањето" + }, + "logout": "Одјава" }, "manageInstance": { - "stop": "Запри го примерокот", "AreYouSureStop": "Дали сигурно сакате да го запрете примероков?", - "createTokens": "Создај шифри за зачленување", - "count": "Број:", - "length": "Должина:", - "format": "Формат:", "TokenFormats": { - "plain": "Прост", "JSON": "JSON", - "URLs": "URL-а на поканите" + "URLs": "URL-а на поканите", + "plain": "Прост" }, - "create": "Создај", "clientURL": "URL на клиентот:", - "regType": "Пријави вид на URL за шифра", + "copy": "Копирај", + "count": "Број:", + "create": "Создај", + "createTokens": "Создај шифри за зачленување", + "format": "Формат:", "genericType": "Општ", - "copy": "Копирај" + "length": "Должина:", + "regType": "Пријави вид на URL за шифра", + "stop": "Запри го примерокот" + }, + "media": { + "artist": "Уметник: $1", + "composer": "Композитор: $1", + "download": "Преземи податотека", + "length": "Траење: $1 минути и $2 секунди", + "loading": "Вчитувам", + "moreInfo": "Повеќе инфо", + "notFound": "Податотеката не е пронајдена" + }, + "member": { + "ban": "Забрани го $1 од $2", + "kick": "Исфрли го $1 од $2", + "nick:": "Прекар:", + "persist": "Избриши го само корисникот:", + "reason:": "Причина:", + "timeout": "Времено исклучување на $1", + "timeoutTime": "Траење на временото исклучување:" }, - "emojiSelect": "Емотикон:", - "noEmojiFont": "Користи системски емотикон", - "unpinMessage": "Откачи порака", - "noPins": "Тука засега нема ништо", "message": { - "reactionAdd": "Додај реакција", - "reactions": "Погл. реакции", + "andMore": "$1 и повеќе!", + "attached": "Испрати прилог", "delete": "Избриши порака", + "deleted": "Избришана порака", "edit": "Уреди порака", "edited": "(изменето)", - "deleted": "Избришана порака", - "attached": "Испрати прилог", - "retry": "Повторно испрати порака со грешка", - "pin": "$1 закачи порака", - "viewrest": "Погл. останати", "fullMessage": "Целосна порака:", + "pin": "$1 закачи порака", + "reactedWith": "Реагирано со $1", + "reactionAdd": "Додај реакција", + "reactions": "Погл. реакции", "reactionsTitle": "Реакции", - "andMore": "$1 и повеќе!", - "reactedWith": "Реагирано со $1" + "retry": "Повторно испрати порака со грешка", + "viewrest": "Погл. останати" }, - "instanceStats": { - "name": "Статистика за примерокот: $1", - "users": "Зачленети корисници: $1", - "servers": "Еснафи: $1", - "messages": "Пораки: $1", - "members": "Пораки: $1" + "messageLink": "Порака во бр. $1", + "muteDuration": "Вклучи звук во:", + "nevermind": "Не сакам", + "no": "Не", + "noEmojiFont": "Користи системски емотикон", + "noMessages": "Тука нема пораки. Бидете првите што ќе кажете нешто!", + "noPins": "Тука засега нема ништо", + "noStickers": "Се чини дека сте на наобично место. Нема налепници на располагање!", + "notiClump": "Добивте $1 известувања од $2", + "notiVolume": "Гласност на известувањата:", + "otherAt": "$1 во $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Му овозможув ана корисникот да додава реакции во пораки", + "ADMINISTRATOR": "Ги дозволува сите дозволи и ги заобиколува наметнувањата на дозволите на каналот. Ова е опасна дозвола!", + "ATTACH_FILES": "Му овозможува на корисникот да приложува податотеки", + "BAN_MEMBERS": "Овозможува на корисникот да забранува членови од еснафот", + "BYPASS_SLOWMODE": "Бавниот режим повеќе не го засега овој корисник", + "CHANGE_NICKNAME": "Му овозможува на корисникот да го менува својот прекар", + "CONNECT": "Му овозможува на корисникот да се поврзе со гласовен канал", + "CREATE_EVENTS": "Овозможува создавање на закажани настани, како и уредување и бришење на оние создадени од тековниот корисник.", + "CREATE_GUILD_EXPRESSIONS": "Овозможува создавање на емотикони и звуци во гласовната управувачница, како и уредување и бришење на постоечките создадени од тековниот корисник.", + "CREATE_INSTANT_INVITE": "Им овозможува на корисниците да создаваат покани за еснафот", + "CREATE_PRIVATE_THREADS": "Му овозможува на корисникот да создава приватни нишки", + "CREATE_PUBLIC_THREADS": "Му овозможува на корисникот да создава јавни нишки", + "DEAFEN_MEMBERS": "Му овозможува на корисникот да заглушува други членови", + "EMBED_LINKS": "Дозволи автовметнување на врските испратени од овој корисник", + "KICK_MEMBERS": "Овозможува на корисникот да исфрла членови од еснафот", + "MANAGE_CHANNELS": "Му овозможува на корисникот да управува со и уредува канали", + "MANAGE_EVENTS": "Му овозможува на корисникот да уредува и управува со настани", + "MANAGE_GUILD": "Овозможува управување и уредување на еснафот", + "MANAGE_GUILD_EXPRESSIONS": "Овозможува управување со емотикони, налепници и гласовната управувачница", + "MANAGE_MESSAGES": "Му овозможува на корисникот да брише пораки што не се негови", + "MANAGE_NICKNAMES": "Му овозможува на корисникот да менува прекари на други корисници", + "MANAGE_ROLES": "Му овозможува на корисникот да уредува и управува со улоги", + "MANAGE_THREADS": "Му овозможува на корисникот да брише и архивира нишки, и да ги гледа сите приватни нишки", + "MANAGE_WEBHOOKS": "Овозможува управување со и уредување на семрежни пресретници", + "MENTION_EVERYONE": "Му овозможува на корисникот да ги спомнува сите", + "MODERATE_MEMBERS": "Му овозможува на корисникот времено да исклучува други корисници за да ги спречи да испраќаат и реагираат на пораки во разговор во живо и нишки, и да зборуваат во гласовни и трибински канали", + "MOVE_MEMBERS": "Му овозможува на корисникот да преместува членови од еден на друг гласовен канал", + "MUTE_MEMBERS": "Му овозможува на корисникот да занемува на други корисници", + "PIN_MESSAGES": "Му овозможува на корисникот да прикачува пораки", + "PRIORITY_SPEAKER": "Овозможува употреба на приоритетен говорник во гласовен канал", + "READ_MESSAGE_HISTORY": "Му овозможува на корисникот да ја чита историјата на пораки", + "REQUEST_TO_SPEAK": "Му овозможува на корисникот да побара да зборува во трибински канал", + "SEND_MESSAGES": "Му овозможува на корисникот да испраќа пораки", + "SEND_MESSAGES_IN_THREADS": "Му овозможува на корисникот да испраќа пораки во нишки", + "SEND_POLLS": "Овозможува испраќање на анкети", + "SEND_TTS_MESSAGES": "Му овозможува на корисникот да испраќа пораки од текст во говор", + "SEND_VOICE_MESSAGES": "Овозможува испраќање гласовни пораки", + "SPEAK": "Му овозможува на корисникот да зборува во гласовен канал", + "STREAM": "Му овозможува на корисникот да емитува пренос", + "USE_APPLICATION_COMMANDS": "Му овозможува на корисникот да користи приложни наредби", + "USE_EMBEDDED_ACTIVITIES": "Му овозможува на корисникот да употребува вметнати активности", + "USE_EXTERNAL_APPS": "Овозможува кориснички воспоставените прилози да испраќаат јавни одговори. Кога е оневозможено, корисниците сепак ќе можат да ги користат нивните прилози, но одговорите ќе бидат краткотрајни. Ова важи само за прилозите кои не се воедно воспоставени на еснафот.", + "USE_EXTERNAL_EMOJIS": "Му овозможува на корисникот да употребува надворешни емотикони", + "USE_EXTERNAL_SOUNDS": "Овозможува употреба на прилагодени звуци од гласовна управувачница од други еснафи", + "USE_EXTERNAL_STICKERS": "Му овозможува на корисникот да користи надворешни налепници", + "USE_SOUNDBOARD": "Овозможува употреба на гласовна управувачница во гласовен канал", + "USE_VAD": "Им овозможува на корисниците да зборуваат во гласовен канал едноставно разговарајќи", + "VIEW_AUDIT_LOG": "Му овозможува на корисникот да го гледа дневникот на ревизија", + "VIEW_CHANNEL": "Му овозможува на корисникот да го гледа каналот", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Овозможува гледање аналитика на претплата на улоги", + "VIEW_GUILD_INSIGHTS": "Му овозможува на корисникот да гледа аналитика за еснаф" + }, + "readableNames": { + "ADD_REACTIONS": "Додавање на реакции", + "ADMINISTRATOR": "Администратор", + "ATTACH_FILES": "Приложи податотеки", + "BAN_MEMBERS": "Забранување на членови", + "BYPASS_SLOWMODE": "Заобиколи бавен режим", + "CHANGE_NICKNAME": "Смени прекар", + "CONNECT": "Поврзување", + "CREATE_EVENTS": "Создавање на настани", + "CREATE_GUILD_EXPRESSIONS": "Создавање на изрази", + "CREATE_INSTANT_INVITE": "Создај покана", + "CREATE_PRIVATE_THREADS": "Создавање на приватни нишки", + "CREATE_PUBLIC_THREADS": "Создавање на јавни нишки", + "DEAFEN_MEMBERS": "Заглуши членови", + "EMBED_LINKS": "Вметни врски", + "KICK_MEMBERS": "Исфрлање на членови", + "MANAGE_CHANNELS": "Управување со канали", + "MANAGE_EVENTS": "Управување со настани", + "MANAGE_GUILD": "Управување со еснафи", + "MANAGE_GUILD_EXPRESSIONS": "Управување со изрази", + "MANAGE_MESSAGES": "Управување со пораки", + "MANAGE_NICKNAMES": "Управување со прекари", + "MANAGE_ROLES": "Управување со улоги", + "MANAGE_THREADS": "Управување со нишки", + "MANAGE_WEBHOOKS": "Управување со семрежни пресретници", + "MENTION_EVERYONE": "Спомни ги @everyone, @here и сите улоги", + "MODERATE_MEMBERS": "Времено исклучување на корисници", + "MOVE_MEMBERS": "Премести членови", + "MUTE_MEMBERS": "Занеми членови", + "PIN_MESSAGES": "Закачи пораки", + "PRIORITY_SPEAKER": "Приоритетен говорник", + "READ_MESSAGE_HISTORY": "Прочитај ја историјата на пораки", + "REQUEST_TO_SPEAK": "Побарај да зборуваш", + "SEND_MESSAGES": "Испрати пораки", + "SEND_MESSAGES_IN_THREADS": "Испраќање на пораки во нишки", + "SEND_POLLS": "Создавање на анкети", + "SEND_TTS_MESSAGES": "Испраќајте пораки од текст во говор", + "SEND_VOICE_MESSAGES": "Испраќање на гласовни пораки", + "SPEAK": "Зборувај", + "STREAM": "Видео", + "USE_APPLICATION_COMMANDS": "Користи наредби од прилогот", + "USE_EMBEDDED_ACTIVITIES": "Употреба на активности", + "USE_EXTERNAL_APPS": "Употреба на надворешни прилози", + "USE_EXTERNAL_EMOJIS": "Корисни надворешни емотикони", + "USE_EXTERNAL_SOUNDS": "Употреба на надворешни звуци", + "USE_EXTERNAL_STICKERS": "Употреба на надворешни налепници", + "USE_SOUNDBOARD": "Употреба на гласовна управувачница", + "USE_VAD": "Користи откривање на гласовна активност", + "VIEW_AUDIT_LOG": "Гледање на дневник на ревизија", + "VIEW_CHANNEL": "Погл. канали", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Гледање аналитика на монетизација на создавачот", + "VIEW_GUILD_INSIGHTS": "Погл. аналитика за еснаф" + } }, - "instanceInfo": { - "name": "Инфо за примерокот", - "contact": "Пишете на администратори на примерокот", - "tosPage": "[Услови на користење]($1)", - "frontPage": "[Насловна страница]($1)", - "publicUrl": "[Јавна URL]($1)" + "pinMessage": "Закачи порака", + "profile": { + "bio": "За мене:", + "joined": "Направена сметка: $1", + "joinedMember": "Се придружи на $1: $2", + "mut": "Взаемни еснафи", + "mutFriends": "Заеднички пријатели", + "permInfo": "Дозволи", + "userInfo": "Кориснички информации" }, - "inviteOptions": { - "title": "Покани луѓе", - "30m": "30 минути", - "1h": "1 час", - "6h": "6 часа", - "12h": "12 часа", - "1d": "1 ден", - "7d": "7 дена", - "30d": "30 дена", - "never": "Никогаш", - "limit": "$1 {{PLURAL:$1|употреба|употреби}}", - "noLimit": "Без граница" + "profileColor": "Боја на профилот", + "pronouns": "Лич. заменки:", + "readableName": "македонски", + "recentEmoji": "Скорешни емотикони", + "register": { + "DOBError": "Датум на раѓање: $1", + "agreeTOS": "Се согласувам со[Условите на употреба]($1):", + "emailError": "Е-пошта: $1", + "noTOS": "Овој примерок нема Услови на употреба, но сепак прифатете ги:", + "passwordError:": "Лозинка: $1", + "register": "Зачленување", + "tos": "Ќе мора да се согласите со Условите на употреба", + "usernameError": "Корисничко име: $1" + }, + "remove": "Отстрани", + "reply": "Одговори", + "replyingTo": "Одговор на $1", + "retrying": "Се обидувам повторно...", + "role": { + "color": "Боја", + "colors": { + "name": "Број на бои:", + "one": "Една", + "secondColor": "Втора боја:", + "thirdColor": "Трета боја:", + "three": "Три", + "two": "Две" + }, + "confirmDelete": "Дали сигурно сакате да го избришете $1?", + "copyId": "Копирај назнака на улога", + "delete": "Отстрани правило", + "deleting": "Ја бришам улогата...", + "displaySettings": "Нагодувања за приказ", + "hoisted": "Издигнато:", + "mentionable": "Дозволи секому да ја спомнува оваа улога:", + "name": "Име на улогата:", + "perms": "Дозволи", + "remove": "Отстрани улога", + "roleEmoji": "Емотикон на улогата:", + "roleFileIcon": "Икона на улогата:", + "roles": "Улоги" }, - "2faCode": "2ЧЗ-код:", - "invite": { - "invitedBy": "Поканети сте од $1", - "alreadyJoined": "Веќе сте придружени", - "accept": "Прифати", - "noAccount": "Направете сметка за да ја прифатите поканата", - "longInvitedBy": "$1 ве покани да се придружите на $2", - "loginOrCreateAccount": "Најавете се или направете сметка ⇌", - "joinUsing": "Придружете се со покана", - "inviteLinkCode": "Врска/код на поканата", - "subtext": "до $1 во $2", - "expireAfter": "Истекува по:", - "channel:": "Канал:", - "inviteMaker": "Создавач на поканата", - "createInvite": "Создај покана", - "used": "Употребено {{PLURAL:$1|еднаш|$1 пати}}.", - "forChannel": "За каналот: $1", - "createdAt": "Создадено на $1", - "expires": "Истекува: $1", - "never": "Никогаш", - "maxUses": "Највеќе употреби: $1", - "notFound": "Поканата не е пронајдена" + "search": { + "back": "Назад", + "new": "Ново", + "next": "Следно", + "nofind": "Нема пораки што одговараат на пребараното. Можеби треба да го проширите пребарувањето", + "old": "Старо", + "page": "Страница $1", + "search": "Пребарај" }, - "friends": { - "blocked": "Блокиран", - "blockedusers": "Блокирани корисници:", - "bu": "Блокиран корисник", - "addfriend": "Додај пријател", - "removeFriend": "Отстрани пријател", - "addfriendpromt": "Додај пријатели по корисничко име:", - "notfound": "Корисникот не е пронајден", - "discnotfound": "Дискриминаторот не е пронајден", - "pending": "Во исчекување", - "pending:": "Барања за пријателство во исчекување:", - "all": "Сите", - "all:": "Сите пријатели:", - "online": "На линија", - "online:": "Пријатели на линија:", - "friendlist": "Список на пријатели", - "friends": "Пријатели" + "searchGifs": "Пребарај по Тенор", + "settings": { + "clear": "Исчисти", + "img": "Подигни слика", + "save": "Зачувај промени", + "unsaved": "Внимавајте. Имате незачувани промени", + "updates": { + "serviceWorkerMode": { + "disabled": "Искл.", + "enabled": "Вкл.", + "offlineOnly": "Само вонмрежно", + "title": "Нагодување за услужниот работник" + } + } }, - "replyingTo": "Одговор на $1", - "DMs": { - "copyId": "Копирај назнака на ЛП", - "markRead": "Означи како прочитано", - "close": "Затвори ЛП", - "name": "Лични пораки", - "add": "Додајте некого во оваа лична порака" + "showBlockedMessages": "Го имате блокирано овој корисник. Стиснете за да {{PLURAL:$1|ја видите блокираната порака|видите $1 блокирани пораки}}.", + "spoiler": "Разоткривање", + "sticker": { + "confirmDel": "Дали сигурно сакате да ја избришете налепницава?", + "del": "Избриши налепница", + "desc": "Опис", + "errEmjMust": "Мора да има емотикон за вашата налепница", + "errFileMust": "Мора да има слика за вашата налепница", + "image": "Слика:", + "name": "Име:", + "tags": "Поврзан емотикон:", + "title": "Налепници", + "upload": "Подигни налепници" + }, + "submit": "поднеси", + "switchAccounts": "Промени сметки ⇌", + "todayAt": "Денес во $1", + "trace": { + "totalTime": "$2: $1 мс", + "traces": "$1 ($2 мс) $3" }, + "typing": "$2 {{PLURAL:$1|пишува|пишуваат}}", + "unableToConnect": "Не можам да се поврзам со опслужувачот на Spacebar. Одјавете се и пак најавете се.", + "unableToPin": "Не можам да ја закачам пораката", + "unpinMessage": "Откачи порака", + "updateAv": "Има поднови на располагање", + "uploadBanner": "Подигнете транспарент:", + "uploadFilesText": "Тука подигајте ги податотеките!", + "uploadPfp": "Подигнете профилна слика:", + "useTemplate": "Користи го $1 како предлошка", + "useTemplateButton": "Користи предлошка", + "usedFermi": "Употребен Ферми", "user": { - "sendMessage": "Порака @$1", - "editNick": "Уреди прекар", + "addRole": "Додај улоги", + "ban": "Забрани член", + "block": "Блокирај корисник", + "confirmInstBan": "Дали сиурно сакате да го забраните $1? од примерокот", "copyId": "Копирај корисничка назнака", - "online": "На линија", - "offline": "Вон линија", - "invisible": "Невидлив", "dnd": "Не вознемирувај", - "idle": "Неактивен", - "message": "Порака до корисникот", - "block": "Блокирај корисник", - "unblock": "Одблокирај корисник", - "friendReq": "Барање за пријателство", - "kick": "Исфрли член", - "timeout": "Времено исклучен корисник", - "unTimeout": "Отстрани времена исклученост на корисникот", - "ban": "Забрани член", - "addRole": "Додај улоги", - "removeRole": "Отстрани улоги", + "editNick": "Уреди прекар", "editServerProfile": "Уреди еснафски профил", + "friendReq": "Барање за пријателство", + "idle": "Неактивен", "instanceBan": "Забрана од примерок", - "confirmInstBan": "Дали сиурно сакате да го забраните $1? од примерокот", - "unban": "Отстрани забрана на $1", - "remove": "Отстрани корисник", + "invisible": "Невидлив", + "kick": "Исфрли член", + "message": "Порака до корисникот", "nick": { - "friend": "Постави прекар на пријател", "foe": "Постави прекар на непријател", + "friend": "Постави прекар на пријател", "stalker": "Постави прекар на барателот", "stalking": "Постави прекар на бараниот" - } - }, - "loaded": "Вчитано", - "login": { - "checking": "Проверка на примерокот", - "allGood": "Сè е во ред", - "invalid": "Неважечки примерок. Обидете се повторно", - "waiting": "Се чека на проверка на примерокот", - "recover": "Ја заборавивте лозинката?", - "pasteInfo": "Тука прекопирајте ја URL за повраток:", - "newPassword": "Нова лозинка:", - "enterPAgain": "Повторно внесете ја новата лозинка:", - "recovery": "Заборавена лозинка", - "login": "Најава" - }, - "member": { - "kick": "Исфрли го $1 од $2", - "timeout": "Времено исклучување на $1", - "reason:": "Причина:", - "persist": "Избриши го само корисникот:", - "timeoutTime": "Траење на временото исклучување:", - "ban": "Забрани го $1 од $2", - "nick:": "Прекар:" - }, - "commands": { - "errorNotValid": "$1 не е важечки избор за $2", - "required": "$1 е задолжителен дел од оваа наредба" + }, + "offline": "Вон линија", + "online": "На линија", + "remove": "Отстрани корисник", + "removeRole": "Отстрани улоги", + "sendMessage": "Порака @$1", + "timeout": "Времено исклучен корисник", + "unTimeout": "Отстрани времена исклученост на корисникот", + "unban": "Отстрани забрана на $1", + "unblock": "Одблокирај корисник" }, - "badge": { - "staff": "Персонал на примерокот", - "partner": "Партнер на примерокот", - "certified_moderator": "Модератор", - "hypesquad": "Ствар заштитена со авторски права", - "hypesquad_house_1": "Храброст", - "hypesquad_house_2": "Сјајност", - "hypesquad_house_3": "Рамнотежа", - "bug_hunter_level_1": "Ловец на грешки I степен", - "bug_hunter_level_2": "Ловец на грешки II степен", - "active_developer": "Активен разработувач", - "verified_developer": "Потврден разработувач", - "early_supporter": "Ран поддржувач", - "premium": "Премиум", - "guild_booster_lvl1": "Истакнат еснаф", - "guild_booster_lvl2": "Истакнат еснаф", - "guild_booster_lvl3": "Истакнат еснаф", - "guild_booster_lvl4": "Истакнат еснаф", - "guild_booster_lvl5": "Истакнат еснаф", - "guild_booster_lvl6": "Истакнат еснаф", - "guild_booster_lvl7": "Истакнат еснаф", - "guild_booster_lvl8": "Истакнат еснаф", - "guild_booster_lvl9": "Истакнат еснаф прилично долго", - "bot_commands": "Поддржува наредби", - "automod": "Користи автомод", - "application_guild_subscription": "Има премиум", - "legacy_username": "Има старо корисничко име", - "quest_completed": "исполнил задача" + "userping": { + "resolving": "решавачки корисник", + "unknown": "@непознат" }, - "dms": "Лични пораки", - "add": "Додај", - "group": { - "select": "Избери пријатели", - "createdm": "Создај ЛП!", - "edit": "Уреди групен разговор" + "vc": { + "joinForStream": "Приклучете се на гласовниот канал за да гледате", + "joiningStream": "Се приклучувам на преносот...", + "joinstream": "Гледај пренос", + "leavestream": "Пренос во живо", + "stopstream": "Запри го преносот" }, - "emoji": { - "title": "Емотикони", - "upload": "Подигни емотикони", - "image:": "Слика:", - "name:": "Име:", - "confirmDel": "Дали сигурно сакате да го избришете емотиконов?", - "from": "Овој емотикон е од", - "privateGuild": "Овој еснаф е приватен", - "join": "Придружи се на еснафот", - "found": { - "this": "Овој емотикон е од овој еснаф.", - "other": "Овој емотикон е од еден од другите ваши еснафи.", - "not": "Овој емотикон не е од вашите еснафи. Ќе мора да се придружите за да го користите", - "private": "Не можев да го најдам еснафот за овој емотикон" - } + "webauth": { + "addKey": "Додај клуч", + "keyname": "Назив на клучот:", + "manage": "Управување со безбедносни клучеви" }, - "sticker": { - "title": "Налепници", - "upload": "Подигни налепници", - "image": "Слика:", + "webhook": "СЕМРЕЖЕН ПРЕСРЕТНИК", + "webhooks": { + "EnterWebhookName": "Внесете име на семрежен пресретник", + "areYouSureDelete": "Дали сигурно сакате да го избришете $1?", + "avatar": "Аватар", + "base": "Семрежни пресретници", + "channel": "Канал", + "copyURL": "Ископирај URL на семрежниот пресретник", + "createdAt": "Создадено на $1", + "createdBy": "Создадено од:", + "deleteWebhook": "Избриши семрежен пресретник", "name": "Име:", - "desc": "Опис", - "confirmDel": "Дали сигурно сакате да ја избришете налепницава?", - "del": "Избриши налепница", - "errFileMust": "Мора да има слика за вашата налепница", - "errEmjMust": "Мора да има емотикон за вашата налепница", - "tags": "Поврзан емотикон:" - }, - "404": { - "home": "Почетна страница", - "title": "Се чини дека сте изгубени", - "404": "404 Страницата не е пронајдена", - "listtitle": "Можеби сакавте да појдете на едно од овие места", - "app": "На прилогот", - "login": "Најава", - "reset": "Страница за менување лозинка", - "blog": "Блогот на Ферми", - "whereever": "Каде и да е ова", - "report": "Ако ја најдовте страницава во рамките на клиентот, пријавете ја:", - "whatelse": "Што друго сметате дека треба да се случи?" - }, - "deviceManage": { - "title": "Управување со седници", - "manageDev": "Управување со уредот", - "ip": "Последна позната IP-адреса: $1", - "estimateWarn": "Предупредување: Сите овие информации се само најдобра претпоставка. Може да бидат неточни.", - "country": "Земја: $1", - "region": "Регион: $1", - "city": "Град: $1", - "postal": "Поштенски: $1", - "continent": "Континент: $1", - "latitude": "Гео. ширина: $1", - "longitude": "Гео. должина: $1", - "last": "Последно користено (приближно): $1", - "logout": "Одјава", - "curSes": "Ова е тековната седница. Ќе треба да се одјавите преку другото мени" + "newWebHook": "Нов семрежен пресретник", + "notFound": "Корисникот повеќе не е во еснафот", + "sillyDefaults": "Пресретко\nСретко Помагач\nБот Многу Вреден", + "token": "Шифра за семрежниот пресредник: „$1“", + "type": "Вид: $1", + "type1": "Дојдовни", + "type2": "Следач на канал", + "type3": "Прилог", + "url": "URL на семрежниот пресретник: `$1`" }, + "welcomeMessages": "Добре дојдовте $1! Мило ни е што ве гледаме!\nЗфраво, драго ни е што се запознаваме $1!\nДобре дојде, се надеваме дека донесовте пица $1!", "widget": "Посреднички елемент за еснафот", "widgetEnabled": "Посредничкиот елемент е овозможен", - "incorrectURLS": "## Овој примерок веројатно испрати неисправни URL-а.\n### Ако сте сопственик на примерокот, погледајте [тука](https://docs.spacebar.chat/setup/server/) под *Connecting from remote machines* за да го исправите проблемот.\n Дали сакате Ферми автоматски да се обидува да ја поправи оваа грешка за да ви овозможи да се поврзете со примерокот?", - "jankInfo": "Информации за клиентот", - "instInfo": "Информации за примерокот", - "clientDesc": "Верзија на клиентот: $1\n\n[Придружете се на официјалниот еснаф на Ферми]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Да го преведеме Ферми](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Помагајте во создавањето на Ферми](https://github.com/MathMan05/Fermi)\n\n[Помагајте во одржувањето на опслужувачот на кој работи Ферми](https://github.com/spacebarchat/server)\n\n[Читајте го блогот](https://blog.fermi.chat/)\n\nПресметани права: $3", - "uploadFilesText": "Тука подигајте ги податотеките!", - "errorReconnect": "Не можам да се поврзам со опслужувачот. Пробувам повторно за **$1** секунди...", - "retrying": "Се обидувам повторно...", - "unableToConnect": "Не можам да се поврзам со опслужувачот на Spacebar. Одјавете се и пак најавете се.", - "bot": "БОТ", - "webhook": "СЕМРЕЖЕН ПРЕСРЕТНИК" + "yes": "Да", + "yesterdayAt": "Вчера во $1" } diff --git a/translations/nl.json b/translations/nl.json index a30a2a26..dc48aa62 100644 --- a/translations/nl.json +++ b/translations/nl.json @@ -1,798 +1,799 @@ { - "@metadata": { - "authors": [ - "ABPMAB", - "McDutchie", - "Siebrand" - ] - }, - "vc": { - "joinstream": "Uitzending bekijken", - "leavestream": "Uitzending verlaten", - "joinForStream": "Kom binnen om te kijken", - "stopstream": "Uitzending stoppen", - "joiningStream": "Verbinden met uitzending…" + "2faCode": "2FA-code:", + "404": { + "404": "404 Pagina niet gevonden", + "app": "Naar de app", + "blog": "De Fermi-blog", + "home": "Startpagina", + "listtitle": "Misschien wilde je naar een van deze plekken gaan", + "login": "Aanmelden", + "report": "Als je deze pagina binnen de cliënt hebt gevonden, meld dit dan:", + "reset": "Wachtwoord opnieuw instellen", + "title": "Ben je verdwaald?", + "whatelse": "Wat denk je dat er anders nog moet gebeuren?", + "whereever": "Waar dit ook is" }, - "favoriteGifs": "Favoriete GIF's", - "recentEmoji": "Recente emoji", - "noStickers": "U lijkt in een vreemde situatie te zitten, er zijn namelijk geen stickers die u kunt gebruiken!", - "readableName": "Nederlands", - "pinMessage": "Bericht vastzetten", - "unableToPin": "Bericht kan niet worden vastgezet", - "reply": "Antwoorden", - "copyrawtext": "Ruwe tekst kopiëren", - "copyLink": "Koppeling naar bericht kopiëren", - "copymessageid": "Bericht-ID kopiëren", - "media": { - "notFound": "Mediabestand kon niet worden gevonden", - "loading": "Wordt geladen", - "download": "Mediabestand downloaden", - "moreInfo": "Meer informatie", - "artist": "Artiest: $1", - "composer": "Componist: $1", - "length": "Lengte: $1 minuten en $2 seconden" + "@metadata": { + "authors": ["ABPMAB", "McDutchie", "Siebrand"] }, - "logout": { - "logout": "Afmelden", - "error": { - "title": "Er is een fout opgetreden bij het afmelden", - "desc": "Fermi heeft u niet kunnen afmelden,\n wilt u het account toch verwijderen?", - "cancel": "Annuleren", - "cont": "Toch doorgaan" - } + "DMs": { + "close": "Direct bericht sluiten", + "copyId": "Direct bericht-ID kopiëren", + "markRead": "Markeren als gelezen", + "name": "Directe berichten" }, - "cancel": "Annuleren", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Hiermee kan de gebruiker uitnodigingen voor het gilde maken", - "KICK_MEMBERS": "Hiermee kan de gebruiker leden uit het gilde zetten", - "BAN_MEMBERS": "Hiermee kan de gebruiker leden uit het gilde verbannen", - "ADMINISTRATOR": "Geeft alle rechten en omzeilt het overschrijven van kanaalrechten. Dit is een gevaarlijke machtiging!", - "MANAGE_CHANNELS": "Hiermee kan de gebruiker kanalen beheren en bewerken", - "MANAGE_GUILD": "Maakt het beheer en het bewerken van het gilde mogelijk", - "ADD_REACTIONS": "Hiermee kan de gebruiker reacties aan berichten toevoegen", - "VIEW_AUDIT_LOG": "Hiermee kan de gebruiker het inspectielogboek bekijken", - "PRIORITY_SPEAKER": "Maakt het mogelijk een prioriteitsspreker in een spraakkanaal te gebruiken", - "STREAM": "Hiermee kan de gebruiker uitzenden", - "VIEW_CHANNEL": "Hiermee kan de gebruiker naar het kanaal kijken", - "SEND_MESSAGES": "Hiermee kan de gebruiker berichten sturen", - "SEND_TTS_MESSAGES": "Hiermee kan de gebruiker tekst-naar-spraakberichten sturen", - "MANAGE_MESSAGES": "Hiermee kan de gebruiker berichten van anderen verwijderen", - "EMBED_LINKS": "Hiermee worden de door deze gebruiker gestuurde koppelingen automatisch ingebed", - "ATTACH_FILES": "Hiermee kan de gebruiker bestanden meesturen", - "READ_MESSAGE_HISTORY": "Hiermee kan de gebruiker de berichtengeschiedenis lezen", - "MENTION_EVERYONE": "Hiermee kan de gebruiker iedereen (@everyone) vermelden", - "USE_EXTERNAL_EMOJIS": "Hiermee kan de gebruiker externe emoji’s gebruiken", - "VIEW_GUILD_INSIGHTS": "Hiermee kan de gebruiker inzichten over het gilde bekijken", - "CONNECT": "Hiermee kan de gebruiker met een spraakkanaal verbinding maken", - "SPEAK": "Hiermee kan de gebruiker in een spraakkanaal spreken", - "MUTE_MEMBERS": "Hiermee kan de gebruiker andere leden dempen", - "DEAFEN_MEMBERS": "Hiermee kan de gebruiker andere leden doof maken", - "MOVE_MEMBERS": "Hiermee kan de gebruiker leden tussen spraakkanalen verplaatsen", - "USE_VAD": "Hiermee kunnen gebruikers in een spraakkanaal spreken door simpelweg te praten", - "CHANGE_NICKNAME": "Hiermee kan de gebruiker de eigen bijnaam wijzigen", - "MANAGE_NICKNAMES": "Hiermee kan de gebruiker de bijnamen van andere leden wijzigen", - "MANAGE_ROLES": "Hiermee kan de gebruiker rollen bewerken en beheren", - "MANAGE_WEBHOOKS": "Maakt beheren en bewerken van webhooks mogelijk", - "MANAGE_GUILD_EXPRESSIONS": "Maakt beheren van emoji’s, stickers en het geluidenpaneel mogelijk", - "USE_APPLICATION_COMMANDS": "Hiermee kan de gebruiker toepassingsopdrachten gebruiken", - "REQUEST_TO_SPEAK": "Hiermee kan de gebruiker vragen om in het podiumkanaal te spreken", - "MANAGE_EVENTS": "Hiermee kan de gebruiker gebeurtenissen bewerken en beheren", - "MANAGE_THREADS": "Hiermee kan de gebruiker discussies verwijderen en archiveren en alle privédiscussies bekijken", - "CREATE_PUBLIC_THREADS": "Hiermee kan de gebruiker openbare discussies maken", - "CREATE_PRIVATE_THREADS": "Hiermee kan de gebruiker privédiscussies maken", - "USE_EXTERNAL_STICKERS": "Hiermee kan de gebruiker externe stickers gebruiken", - "SEND_MESSAGES_IN_THREADS": "Hiermee kan de gebruiker berichten in discussies verzenden", - "USE_EMBEDDED_ACTIVITIES": "Hiermee kan de gebruiker ingebedde activiteiten gebruiken", - "MODERATE_MEMBERS": "Hiermee kan de gebruiker andere gebruikers een time-out geven en zo voorkomen dat ze berichten in chat en discussies verzenden of erop reageren en dat ze in spraak- en podiumkanalen spreken", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Maakt het mogelijk inzichten over rolabonnementen te bekijken", - "USE_SOUNDBOARD": "Maakt het mogelijk het geluidspaneel in een spraakkanaal te gebruiken", - "CREATE_GUILD_EXPRESSIONS": "Maakt het mogelijk emoji’s, stickers en geluidspaneel-geluiden te maken, en de door de huidige gebruiker gemaakte geluiden te bewerken en te verwijderen.", - "CREATE_EVENTS": "Maakt het mogelijk geplande evenementen aan te maken en de door de huidige gebruiker aangemaakte evenementen te bewerken en te verwijderen.", - "USE_EXTERNAL_SOUNDS": "Maakt het mogelijk aangepaste geluidspaneel-geluiden van andere gilden te gebruiken", - "SEND_VOICE_MESSAGES": "Maakt het mogelijk om spraakberichten te versturen", - "SEND_POLLS": "Maakt het mogelijk om peilingen te versturen", - "USE_EXTERNAL_APPS": "Hiermee kunnen door de gebruiker geïnstalleerde apps openbare reacties versturen. Indien uitgeschakeld kunnen gebruikers hun apps nog wel gebruiken, maar zijn de reacties tijdelijk. Dit geldt alleen voor apps die niet ook in het gilde zijn geïnstalleerd.", - "PIN_MESSAGES": "Hiermee kan de gebruiker berichten vastzetten.", - "BYPASS_SLOWMODE": "De langzame modus heeft geen effect meer op deze gebruiker." - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Uitnodiging maken", - "KICK_MEMBERS": "Leden uitzetten", - "BAN_MEMBERS": "Leden verbannen", - "ADMINISTRATOR": "Beheerder", - "MANAGE_CHANNELS": "Kanalen beheren", - "MANAGE_GUILD": "Gilde beheren", - "ADD_REACTIONS": "Reacties toevoegen", - "VIEW_AUDIT_LOG": "Inspectielogboek bekijken", - "PRIORITY_SPEAKER": "Voorrangsspreker", - "STREAM": "Video", - "VIEW_CHANNEL": "Kanalen bekijken", - "SEND_MESSAGES": "Berichten sturen", - "SEND_TTS_MESSAGES": "Tekst-naar-spraakberichten sturen", - "MANAGE_MESSAGES": "Berichten beheren", - "EMBED_LINKS": "Koppelingen inbedden", - "ATTACH_FILES": "Bestanden bijvoegen", - "READ_MESSAGE_HISTORY": "Berichtgeschiedenis lezen", - "MENTION_EVERYONE": "@everyone, @here en alle rollen vermelden", - "USE_EXTERNAL_EMOJIS": "Externe emoji’s gebruiken", - "VIEW_GUILD_INSIGHTS": "Gilde-inzichten bekijken", - "CONNECT": "Verbinden", - "SPEAK": "Spreken", - "MUTE_MEMBERS": "Leden dempen", - "DEAFEN_MEMBERS": "Leden doof maken", - "MOVE_MEMBERS": "Leden verplaatsen", - "USE_VAD": "Spraakactiviteitsherkenning gebruiken", - "CHANGE_NICKNAME": "Bijnaam wijzigen", - "MANAGE_NICKNAMES": "Bijnamen beheren", - "MANAGE_ROLES": "Rollen beheren", - "MANAGE_WEBHOOKS": "Webhooks beheren", - "MANAGE_GUILD_EXPRESSIONS": "Uitdrukkingen beheren", - "USE_APPLICATION_COMMANDS": "Toepassingsopdrachten gebruiken", - "REQUEST_TO_SPEAK": "Vragen om te spreken", - "MANAGE_EVENTS": "Evenementen beheren", - "MANAGE_THREADS": "Discussies beheren", - "CREATE_PUBLIC_THREADS": "Openbare discussies maken", - "CREATE_PRIVATE_THREADS": "Privédiscussies maken", - "USE_EXTERNAL_STICKERS": "Externe stickers gebruiken", - "SEND_MESSAGES_IN_THREADS": "Berichten in discussies verzenden", - "USE_EMBEDDED_ACTIVITIES": "Activiteiten gebruiken", - "MODERATE_MEMBERS": "Leden een time-out geven", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Monetisatie-analyses voor makers bekijken", - "USE_SOUNDBOARD": "Geluidspaneel gebruiken", - "CREATE_GUILD_EXPRESSIONS": "Uitdrukkingen maken", - "CREATE_EVENTS": "Evenementen maken", - "USE_EXTERNAL_SOUNDS": "Externe geluiden gebruiken", - "SEND_VOICE_MESSAGES": "Spraakberichten verzenden", - "SEND_POLLS": "Peilingen maken", - "USE_EXTERNAL_APPS": "Externe apps gebruiken", - "PIN_MESSAGES": "Berichten vastzetten", - "BYPASS_SLOWMODE": "Langzame modus omzeilen" + "UrlGen": "URL-generator", + "Voice": { + "status": { + "badWS": "Foute reactie van WS", + "conectionFailed": "Verbinding mislukt", + "done": "Verbonden", + "left": "Heeft de voicechat verlaten", + "makingOffer": "Aanbod wordt gedaan", + "noSDP": "Geen SDP", + "notconnected": "Niet verbonden", + "sendingStreams": "Audiostreams verzenden", + "startingRTC": "RTC-verbinding wordt gemaakt", + "waitingMainWS": "Wachten het hoofd-WS", + "waitingURL": "Wachten op spraak-URL", + "wsAuth": "wachten op autorisatie van WS", + "wsOpen": "Wachten tot WS opengaat" } }, - "userping": { - "unknown": "@onbekend", - "resolving": "gebruiken aan het opzoeken" - }, - "hideBlockedMessages": "Je hebt deze gebruiker geblokkeerd. Klik om deze berichten te verbergen.", - "showBlockedMessages": "Je hebt deze gebruiker geblokkeerd. Klik om {{PLURAL:$1|het geblokkeerde bericht|de $1 geblokkeerde berichten}} te bekijken.", - "deleteConfirm": "Weet je zeker dat je dit wilt verwijderen?", - "yes": "Ja", - "no": "Nee", - "todayAt": "Vandaag om $1", - "yesterdayAt": "Gisteren om $1", - "otherAt": "$1 om $2", - "botSettings": "Robot-instellingen", - "uploadPfp": "Profielafbeelding uploaden:", - "uploadBanner": "Banner uploaden:", - "pronouns": "Voornaamwoorden:", - "bio": "Bio:", - "profileColor": "Profielkleur", - "botGuilds": "Gilden waar de robot lid van is:", - "leaveGuild": "Gilde verlaten", - "confirmGuildLeave": "Weet je zeker dat je $1 wilt verlaten?", - "UrlGen": "URL-generator", - "typing": "$2 {{PLURAL:$1|is|zijn}} aan het typen", - "noMessages": "Er lijken geen berichten te zijn, wees de eerste die iets zegt!", - "blankMessage": "Leeg bericht", - "spoiler": "Spoiler", "accessibility": { - "name": "Toegankelijkheid", - "roleColors": "Rolkleuren uitschakelen", - "playGif": "GIFs afspelen op:", - "playIcon": "Geanimeerde pictogrammen afspelen op:", "gifSettings": { - "hover": "Zweven", "always": "Altijd", + "hover": "Zweven", "never": "Nooit" - } + }, + "name": "Toegankelijkheid", + "playGif": "GIFs afspelen op:", + "playIcon": "Geanimeerde pictogrammen afspelen op:", + "roleColors": "Rolkleuren uitschakelen" }, - "profile": { - "userInfo": "Gebruikersinfo", - "bio": "Over mij:", - "permInfo": "Machtigingen", - "mut": "Onderlinge gilden", - "mutFriends": "Wederzijdse vrienden", - "joined": "Account aangemaakt: $1", - "joinedMember": "Toegetreden tot $1: $2" + "accountNotStart": "Account kan niet worden gestart", + "badge": { + "active_developer": "Actieve ontwikkelaar", + "application_guild_subscription": "Heeft premium", + "automod": "Gebruikt automod", + "bot_commands": "Ondersteunt opdrachten", + "bug_hunter_level_1": "Foutenjager niveau 1", + "bug_hunter_level_2": "Foutenjager niveau 2", + "certified_moderator": "Moderator", + "early_supporter": "Eerste ondersteuner", + "guild_booster_lvl1": "Versterkt gilde", + "guild_booster_lvl2": "Versterkt gilde", + "guild_booster_lvl3": "Versterkt gilde", + "guild_booster_lvl4": "Versterkt gilde", + "guild_booster_lvl5": "Versterkt gilde", + "guild_booster_lvl6": "Versterkt gilde", + "guild_booster_lvl7": "Versterkt gilde", + "guild_booster_lvl8": "Versterkt gilde", + "guild_booster_lvl9": "Al behoorlijk lang versterkt gilde", + "hypesquad": "Auteursrechtelijk beschermd ding", + "hypesquad_house_1": "Moed", + "hypesquad_house_2": "Briljantheid", + "hypesquad_house_3": "Evenwicht", + "legacy_username": "Heeft oude gebruikersnaam", + "partner": "Serverpartner", + "premium": "Premium", + "quest_completed": "heeft een zoektocht gedaan", + "staff": "Serverpersoneel", + "verified_developer": "Geverifieerde ontwikkelaar" }, - "channelLink": "# $1", - "messageLink": "Bericht in # $1", - "searchGifs": "Tenor doorzoeken", - "muteDuration": "Ontdempen in:", - "interactions": { - "replyline": "Interactie gestart", - "ephemeralDismiss": "Bericht verwijderen", - "onlyYou": "Alleen jij kunt dit bericht zien", - "started": "Interactie verwerken...", - "worked": "Interactie geslaagd", - "failed": "Interactie mislukt", - "notImpl": "Fermi ondersteunt componenttype $1 nog niet", - "nonsence": "De server heeft een component van het type $1 verzonden dat niet bestaat" + "bio": "Bio:", + "blankMessage": "Leeg bericht", + "blog": { + "blog": "Blog", + "blogUpdates": "Actualiteiten:", + "desc": "Lees de blog of abonneer je erop voor nieuwtjes over Fermi!", + "fermi": "Blog van Fermi", + "gotoPost": "Naar het artikel", + "wantUpdates": "Wil je wekelijks actualiteiten ontvangen over de ontwikkeling van Fermi?" }, + "bot": "ROBOT", + "botGuilds": "Gilden waar de robot lid van is:", + "botSettings": "Robot-instellingen", + "cancel": "Annuleren", "channel": { - "typebox": "Bericht in $1", - "creating": "Kanaal wordt aangemaakt", - "name": "Kanaal", + "announcement": "Aankondigingen", "copyId": "Kanaal-ID kopiëren", "copyIdCat": "Categorie-ID kopiëren", - "markRead": "Markeren als gelezen", - "settings": "Instellingen", + "createCatagory": "Categorie aanmaken", + "createChannel": "Kanaal aanmaken", + "creating": "Kanaal wordt aangemaakt", "delete": "Kanaal verwijderen", "deleteCat": "Categorie verwijderen", + "icon": "Pictogram:", "makeInvite": "Uitnodiging maken", - "settingsFor": "Instellingen voor $1", - "voice": "Spraak", - "text": "Tekst", + "markRead": "Markeren als gelezen", "mute": "Kanaal dempen", - "unmute": "Kanaal ontdempen", - "announcement": "Aankondigingen", + "name": "Kanaal", "name:": "Naam:", - "icon": "Pictogram:", - "topic:": "Onderwerp:", "nsfw:": "Niet geschikt voor werk:", - "selectType": "Selecteer kanaaltype", - "selectName": "Naam van het kanaal", + "permissions": "Machtigingen", "selectCatName": "Naam van de categorie", - "createChannel": "Kanaal aanmaken", - "createCatagory": "Categorie aanmaken", - "permissions": "Machtigingen" + "selectName": "Naam van het kanaal", + "selectType": "Selecteer kanaaltype", + "settings": "Instellingen", + "settingsFor": "Instellingen voor $1", + "text": "Tekst", + "topic:": "Onderwerp:", + "typebox": "Bericht in $1", + "unmute": "Kanaal ontdempen", + "voice": "Spraak" }, - "notiClump": "Je hebt $1 meldingen van $2 gekregen", - "Voice": { - "status": { - "done": "Verbonden", - "notconnected": "Niet verbonden", - "sendingStreams": "Audiostreams verzenden", - "conectionFailed": "Verbinding mislukt", - "makingOffer": "Aanbod wordt gedaan", - "startingRTC": "RTC-verbinding wordt gemaakt", - "noSDP": "Geen SDP", - "waitingMainWS": "Wachten het hoofd-WS", - "badWS": "Foute reactie van WS", - "waitingURL": "Wachten op spraak-URL", - "wsOpen": "Wachten tot WS opengaat", - "wsAuth": "wachten op autorisatie van WS", - "left": "Heeft de voicechat verlaten" - } + "channelLink": "# $1", + "clientDesc": "Cliëntversie: $1 \n\n[Sluit u aan bij het officiële Fermi-gilde]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Help Fermi te vertalen](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Help Fermi te maken](https://github.com/MathMan05/Fermi)\n\n[Help de server waar Fermi op bouwt te onderhouden](https://github.com/spacebarchat/server)\n\n[Lees het blog](https://blog.fermi.chat/)\n\nBerekende rechten: $3", + "commands": { + "errorNotValid": "$1 is geen geldige keuze voor $2", + "required": "$1 is een vereist onderdeel van deze opdracht" }, - "usedFermi": "Fermi gebruikt", + "confirmGuildLeave": "Weet je zeker dat je $1 wilt verlaten?", + "copyLink": "Koppeling naar bericht kopiëren", + "copymessageid": "Bericht-ID kopiëren", + "copyrawtext": "Ruwe tekst kopiëren", + "createAccount": "Account aanmaken", "delete": "Verwijderen", - "webhooks": { - "createdAt": "Aangemaakt op $1", - "name": "Naam:", - "token": "Webhook-token: `$1`", - "url": "Webhook-URL: `$1`", - "avatar": "Avatar", - "createdBy": "Aangemaakt door:", - "notFound": "Gebruiker is niet meer in het gilde", - "channel": "Kanaal", - "copyURL": "Webhook-URL kopiëren", - "newWebHook": "Nieuwe webhook", - "EnterWebhookName": "Voer de webhook-naam in", - "base": "Webhooks", - "sillyDefaults": "Kapitein Haak\nHaakje-de-voorste\nVan de haak op de taak\nHAAK 9000", - "type1": "Inkomend", - "type2": "Kanaalvolger", - "type3": "Toepassing", - "type": "Type: $1", - "deleteWebhook": "Webhook verwijderen", - "areYouSureDelete": "Weet je zeker dat je $1 wilt verwijderen?" - }, - "switchAccounts": "Van account wisselen ⇌", - "accountNotStart": "Account kan niet worden gestart", - "home": { - "uptimeStats": "Beschikbaarheid: \nAlle tijden: $1%\nDeze week: $2%\nVandaag: $3%", - "warnOffiline": "Server is offline, kan geen verbinding maken", - "icon": "Serverpictogram van $1" - }, + "deleteConfirm": "Weet je zeker dat je dit wilt verwijderen?", "devSettings": { - "name": "Ontwikkelaarsinstellingen", - "description": "Deze instellingen zijn bedoeld voor ontwikkelaars van Spacebar/Fermi. Als u niet weet wat u doet, kunt u deze instellingen beter niet wijzigen.", "badUser": "Logging is ingeschakeld voor slechte gebruikersobjecten die te veel gegevens verzenden:", + "description": "Deze instellingen zijn bedoeld voor ontwikkelaars van Spacebar/Fermi. Als u niet weet wat u doet, kunt u deze instellingen beter niet wijzigen.", "logGateway": "Ontvangen gatewaygebeurtenissen loggen (logniveau info):", + "name": "Ontwikkelaarsinstellingen", "traces": "Traces zichtbaar maken:" }, - "htmlPages": { - "idpermissions": "Hiermee kan de robot:", - "addBot": "Toevoegen aan gilde", - "loadingText": "Fermi wordt geladen", - "loaddesc": "Dit zou niet lang moeten duren", - "switchaccounts": "Van account wisselen", - "instanceField": "Server:", - "emailField": "E-mail:", - "pwField": "Wachtwoord:", - "loginButton": "Aanmelden", - "noAccount": "Nog geen account?", - "userField": "Gebruikersnaam:", - "pw2Field": "Voer het wachtwoord opnieuw in:", - "dobField": "Geboortedatum:", - "createAccount": "Account aanmaken", - "alreadyHave": "Heb je al een account?", - "openClient": "Cliënt openen", - "welcomeJank": "Welkom bij Fermi", - "box1title": "Fermi is een Spacebar-compatibele cliënt die ernaar streeft om zo goed mogelijk te zijn met veel functies, waaronder:", - "box1Items": "Directe berichten|Ondersteuning voor reacties|Uitnodigingen|Van account wisselen|Gebruikersinstellingen|Ontwikkelaarsportaal|Robot-uitnodigingen|Ondersteuning voor vertaling", - "compatableInstances": "Spacebar-compatibele servers:", - "box3title": "Aan Fermi bijdragen", - "box3description": "We stellen hulp altijd op prijs, of het nu gaat om het melden van bugs, het bijdragen van code of het verbeteren van typefouten.", - "trans": "Vertalen", - "transTitle": "Fermi vertalen", - "transDesc": "Jij kunt helpen Fermi in jouw eigen taal te vertalen!" + "discovery": "Ontdekking", + "dms": "Directe berichten", + "edit": "Bewerken", + "emoji": { + "confirmDel": "Weet je zeker dat je deze emoji wilt verwijderen?", + "found": { + "not": "Deze emoji komt niet uit een van je gilden. Je moet je bij het gilde aanslutiten om deze emoji te kunnen gebruiken.", + "other": "Deze emoji komt uit een van je andere gilden.", + "private": "Het gilde voor deze emoji kan niet worden gevonden", + "this": "Deze emoji komt uit dit gilde." + }, + "from": "Deze emoji is van", + "image:": "Afbeelding:", + "join": "Bij gilde aansluiten", + "name:": "Naam:", + "privateGuild": "Dit gilde is privé", + "title": "Emoji's", + "upload": "Emoji's uploaden" + }, + "emojiSelect": "Emoji:", + "errorReconnect": "Kan geen verbinding maken met de server. Het wordt over **$1** seconden opnieuw geprobeerd…", + "favoriteGifs": "Favoriete GIF's", + "folder": { + "color": "Mapkleur:", + "create": "Nieuwe map maken", + "edit": "Map bewerken", + "name": "Mapnaam:" }, "form": { "captcha": "Wacht even, ben je wel een mens?" }, - "useTemplate": "$1 als sjabloon gebruiken", - "useTemplateButton": "Sjabloon gebruiken", - "register": { - "register": "Inschrijven", - "passwordError:": "Wachtwoord: $1", - "usernameError": "Gebruikersnaam: $1", - "emailError": "E-mail: $1", - "DOBError": "Geboortedatum: $1", - "agreeTOS": "Ik ga akkoord met de [Servicevoorwaarden]($1):", - "noTOS": "Voor deze server zijn er geen servicevoorwaarden, accepteer ze toch maar:", - "tos": "U moet instemmen met de voorwaarden" + "friends": { + "addfriend": "Vriend toevoegen", + "addfriendpromt": "Vrienden toevoegen via gebruikersnaam:", + "all": "Alle", + "all:": "Alle vrienden:", + "blocked": "Geblokkeerd", + "blockedusers": "Geblokkeerde gebruikers:", + "discnotfound": "Discriminator niet gevonden", + "friendlist": "Vriendenlijst", + "friends": "Vrienden", + "notfound": "Gebruiker niet gevonden", + "online": "Online", + "online:": "Online vrienden:", + "pending": "In behandeling", + "pending:": "Wachtende vriendschapsverzoeken:", + "removeFriend": "Vriend verwijderen" }, - "leaving": "Je verlaat Spacebar", - "goingToURL": "Je gaat naar $1. Weet je zeker dat je daarheen wilt?", "goThere": "Ga erheen", "goThereTrust": "Ga erheen en vertrouw vanaf nu", - "nevermind": "Laat maar", - "submit": "indienen", - "edit": "Bewerken", - "discovery": "Ontdekking", - "guild": { - "memberCount": "$1 {{PLURAL:$1|lid|leden}}", - "joinConfirm": "Bij $1 aansluiten?", - "guilds": "Gilden", - "template": "Sjabloon:", - "admins": "Zoek beheerders op", - "adminMenu": { - "finding": "Beheerders opzoeken", - "permission": "Machtigingen:", - "changePerms": "Wijzig machtigingen om te zoeken", - "owner": "Zoek de eigenaar op", - "ownName": "Eigenaar" - }, - "viewTemplate": "Sjabloon bekijken", - "createFromTemplate": "Gilde uit sjabloon", - "tempUseCount": "Sjabloon is $1 {{PLURAL:$1|keer}} gebruikt", - "tempCreatedBy": "Sjabloon gemaakt door:", - "editingTemplate": "Bewerken van $1", - "createNewTemplate": "Nieuw sjabloon maken", - "templates": "Sjablonen", - "templateName": "Sjabloonnaam:", - "templateDesc": "Sjabloonbeschrijving:", - "templcateMetaDesc": "Met een sjabloon kunnen anderen dit gilde gebruiken als basis voor hun eigen gilden. De kanalen, rollen en instellingen van dit gilde worden gekopieerd, maar niet de berichten binnen het gilde, de robots of het gildepictogram.", - "invites": "Uitnodigingen", - "templateNameShort": "De sjabloonnaam moet ten minste 2 tekens lang zijn", - "templateURL": "Sjabloon-URL: $1", - "bannedBy": "Verbannen door:", + "goingToURL": "Je gaat naar $1. Weet je zeker dat je daarheen wilt?", + "group": { + "createdm": "Maak direct bericht!", + "edit": "Groepschat bewerken", + "select": "Kies vrienden" + }, + "guild": { + "COMMUNITY": "Lidmaatschap aanvragen", + "DISCOVERABLE": "Ontdekking", + "INVITES_DISABLED": "Alleen op uitnodiging", + "adminMenu": { + "changePerms": "Wijzig machtigingen om te zoeken", + "finding": "Beheerders opzoeken", + "ownName": "Eigenaar", + "owner": "Zoek de eigenaar op", + "permission": "Machtigingen:" + }, + "admins": "Zoek beheerders op", + "all": "alle", "banReason": "Reden voor ban: $1", + "bannedBy": "Verbannen door:", + "banner:": "Banner:", "bans": "Bannen", - "ruleId": "Regelskanaal:", + "boostMessage?": "Stuur een bericht wanneer iemand jouw gilde versterkt!", "community": "Gemeenschap", - "creating": "Gilde wordt aangemaakt", + "confirmDelete": "Weet je zeker dat je $1 wilt verwijderen?", + "confirmLeave": "Weet je zeker dat je weg wilt?", "copyId": "Gilde-ID kopiëren", - "markRead": "Markeren als gelezen", - "notifications": "Meldingen", - "mute": "Gilde dempen", - "leave": "Gilde verlaten", - "settings": "Instellingen", + "create": "Gilde aanmaken", + "createFromTemplate": "Gilde uit sjabloon", + "createNewTemplate": "Nieuw sjabloon maken", + "creating": "Gilde wordt aangemaakt", + "default": "Standaard ($1)", + "defaultNoti": "Stel de standaardmeldingsinstellingen van jouw gilde in!", "delete": "Gilde verwijderen", + "description:": "Beschrijving:", + "disoveryTitle": "Gilden ontdekken ($1 vermelding{{PLURAL:$1||en}})", + "editingTemplate": "Bewerken van $1", + "emptytext": "Je zit op een vreemde plek, dit gilde heeft namelijk geen kanalen", + "emptytitle": "Vreemde plek", + "guilds": "Gilden", + "helpTips?": "Stuur nuttige tips voor je gilde!", + "howJoin": "Hoe kunnen mensen zich bij jouw gilde aansluiten?", + "icon:": "Pictogram:", + "invites": "Uitnodigingen", + "joinConfirm": "Bij $1 aansluiten?", + "leave": "Gilde verlaten", + "loadingDiscovery": "Aan het laden…", "makeInvite": "Uitnodiging maken", - "settingsFor": "Instellingen voor $1", + "markRead": "Markeren als gelezen", + "memberCount": "$1 {{PLURAL:$1|lid|leden}}", + "mute": "Gilde dempen", "name:": "Naam:", - "topic:": "Onderwerp:", - "icon:": "Pictogram:", + "noDelete": "Laat maar", + "noLeave": "Laat maar", + "none": "geen", + "notifications": "Meldingen", + "onlyMentions": "alleen vermeldingen", "overview": "Overzicht", - "banner:": "Banner:", "region:": "Regio:", "roles": "Rollen", + "ruleId": "Regelskanaal:", "selectnoti": "Selecteer type melding", - "all": "alle", - "onlyMentions": "alleen vermeldingen", - "none": "geen", - "confirmLeave": "Weet je zeker dat je weg wilt?", - "yesLeave": "Ja, ik weet het zeker", - "noLeave": "Laat maar", - "confirmDelete": "Weet je zeker dat je $1 wilt verwijderen?", - "serverName": "Naam van het gilde:", - "yesDelete": "Ja, ik weet het zeker", - "noDelete": "Laat maar", - "create": "Gilde aanmaken", - "loadingDiscovery": "Aan het laden…", - "disoveryTitle": "Gilden ontdekken ($1 vermelding{{PLURAL:$1||en}})", - "emptytitle": "Vreemde plek", - "emptytext": "Je zit op een vreemde plek, dit gilde heeft namelijk geen kanalen", - "default": "Standaard ($1)", - "description:": "Beschrijving:", - "systemSelect:": "Systeemberichtenkanaal:", "sendrandomwelcome?": "Een willekeurig bericht sturen wanneer iemand zich bij dit gilde aansluit", + "serverName": "Naam van het gilde:", + "settings": "Instellingen", + "settingsFor": "Instellingen voor $1", "stickWelcomeReact?": "Laat leden van je gilde met een sticker reageren wanneer iemand zich aansluit!", - "boostMessage?": "Stuur een bericht wanneer iemand jouw gilde versterkt!", - "helpTips?": "Stuur nuttige tips voor je gilde!", - "defaultNoti": "Stel de standaardmeldingsinstellingen van jouw gilde in!", - "howJoin": "Hoe kunnen mensen zich bij jouw gilde aansluiten?", - "COMMUNITY": "Lidmaatschap aanvragen", - "INVITES_DISABLED": "Alleen op uitnodiging", - "DISCOVERABLE": "Ontdekking" + "systemSelect:": "Systeemberichtenkanaal:", + "tempCreatedBy": "Sjabloon gemaakt door:", + "tempUseCount": "Sjabloon is $1 {{PLURAL:$1|keer}} gebruikt", + "template": "Sjabloon:", + "templateDesc": "Sjabloonbeschrijving:", + "templateName": "Sjabloonnaam:", + "templateNameShort": "De sjabloonnaam moet ten minste 2 tekens lang zijn", + "templateURL": "Sjabloon-URL: $1", + "templates": "Sjablonen", + "templcateMetaDesc": "Met een sjabloon kunnen anderen dit gilde gebruiken als basis voor hun eigen gilden. De kanalen, rollen en instellingen van dit gilde worden gekopieerd, maar niet de berichten binnen het gilde, de robots of het gildepictogram.", + "topic:": "Onderwerp:", + "viewTemplate": "Sjabloon bekijken", + "yesDelete": "Ja, ik weet het zeker", + "yesLeave": "Ja, ik weet het zeker" }, - "welcomeMessages": "Welkom $1! Leuk dat je er bent!\nHoi $1, leuk je te ontmoeten!\nDag $1, schuif ook gezellig aan!\nKom erbij $1, heb je pizza bij je?", - "createAccount": "Account aanmaken", - "role": { - "displaySettings": "Weergave-instellingen", - "name": "Rolnaam:", - "copyId": "Rol-ID kopiëren", - "roles": "Rollen", - "perms": "Rechten", - "hoisted": "Opgehesen:", - "mentionable": "Iedereen toestaan deze rol te pingen:", - "color": "Kleur", - "remove": "Rol intrekken", - "delete": "Rol verwijderen", - "confirmDelete": "Weet je zeker dat je $1 wilt verwijderen?", - "roleEmoji": "Rol-emoji:", - "roleFileIcon": "Rolpictogram:", - "deleting": "Rol wordt verwijderd…", - "colors": { - "name": "Aantal kleuren:", - "one": "Eén", - "two": "Twee", - "three": "Drie", - "secondColor": "Tweede kleur:", - "thirdColor": "Derde kleur:" - } + "hideBlockedMessages": "Je hebt deze gebruiker geblokkeerd. Klik om deze berichten te verbergen.", + "home": { + "icon": "Serverpictogram van $1", + "uptimeStats": "Beschikbaarheid: \nAlle tijden: $1%\nDeze week: $2%\nVandaag: $3%", + "warnOffiline": "Server is offline, kan geen verbinding maken" }, - "folder": { - "name": "Mapnaam:", - "color": "Mapkleur:", - "create": "Nieuwe map maken", - "edit": "Map bewerken" + "htmlPages": { + "addBot": "Toevoegen aan gilde", + "alreadyHave": "Heb je al een account?", + "box1Items": "Directe berichten|Ondersteuning voor reacties|Uitnodigingen|Van account wisselen|Gebruikersinstellingen|Ontwikkelaarsportaal|Robot-uitnodigingen|Ondersteuning voor vertaling", + "box1title": "Fermi is een Spacebar-compatibele cliënt die ernaar streeft om zo goed mogelijk te zijn met veel functies, waaronder:", + "box3description": "We stellen hulp altijd op prijs, of het nu gaat om het melden van bugs, het bijdragen van code of het verbeteren van typefouten.", + "box3title": "Aan Fermi bijdragen", + "compatableInstances": "Spacebar-compatibele servers:", + "createAccount": "Account aanmaken", + "dobField": "Geboortedatum:", + "emailField": "E-mail:", + "idpermissions": "Hiermee kan de robot:", + "instanceField": "Server:", + "loaddesc": "Dit zou niet lang moeten duren", + "loadingText": "Fermi wordt geladen", + "loginButton": "Aanmelden", + "noAccount": "Nog geen account?", + "openClient": "Cliënt openen", + "pw2Field": "Voer het wachtwoord opnieuw in:", + "pwField": "Wachtwoord:", + "switchaccounts": "Van account wisselen", + "trans": "Vertalen", + "transDesc": "Jij kunt helpen Fermi in jouw eigen taal te vertalen!", + "transTitle": "Fermi vertalen", + "userField": "Gebruikersnaam:", + "welcomeJank": "Welkom bij Fermi" }, - "settings": { - "unsaved": "Voorzichtig, je hebt niet-opgeslagen wijzigingen", - "save": "Wijzigingen opslaan", - "img": "Afbeelding uploaden", - "clear": "Wissen" + "incorrectURLS": "## Deze server heeft waarschijnlijk de verkeerde URL’s verzonden.\n### Als u de eigenaar van de server bent, kijk dan [hier](https://docs.spacebar.chat/setup/server/) onder *Verbinding maken vanaf externe machines* om het probleem te verhelpen.\n Wilt u dat Fermi automatisch probeert deze fout te verhelpen, zodat u verbinding kunt maken met de server?", + "instInfo": "Serverinformatie", + "instanceStats": { + "members": "Leden: $1", + "messages": "Berichten: $1", + "name": "Serverstatistieken: $1", + "servers": "Gilden: $1", + "users": "Geregistreerde gebruikers: $1" }, - "trace": { - "totalTime": "$2: $1ms", - "traces": "$1 ($2ms) $3" + "interactions": { + "ephemeralDismiss": "Bericht verwijderen", + "failed": "Interactie mislukt", + "nonsence": "De server heeft een component van het type $1 verzonden dat niet bestaat", + "notImpl": "Fermi ondersteunt componenttype $1 nog niet", + "onlyYou": "Alleen jij kunt dit bericht zien", + "replyline": "Interactie gestart", + "started": "Interactie verwerken...", + "worked": "Interactie geslaagd" }, - "notiVolume": "Meldingsvolume:", - "blog": { - "blog": "Blog", - "wantUpdates": "Wil je wekelijks actualiteiten ontvangen over de ontwikkeling van Fermi?", - "blogUpdates": "Actualiteiten:", - "gotoPost": "Naar het artikel", - "fermi": "Blog van Fermi", - "desc": "Lees de blog of abonneer je erop voor nieuwtjes over Fermi!" + "invite": { + "accept": "Accepteren", + "alreadyJoined": "Al lid", + "channel:": "Kanaal:", + "createInvite": "Uitnodiging maken", + "createdAt": "Gemaakt op $1", + "expireAfter": "Verloopt na:", + "expires": "Verloopt: $1", + "forChannel": "Voor kanaal: $1", + "inviteLinkCode": "Uitnodigingslink/-code", + "inviteMaker": "Uitnodigingsmaker", + "invitedBy": "Je bent uitgenodigd door $1", + "joinUsing": "Inschrijven via uitnodiging", + "loginOrCreateAccount": "Aanmelden of een account aanmaken ⇌", + "longInvitedBy": "$1 heeft je uitgenodigd om lid te worden van $2", + "maxUses": "Gebruikslimiet: $1", + "never": "Nooit", + "noAccount": "Maak een account aan om de uitnodiging te accepteren", + "subtext": "bij $1 in $2", + "used": "$1 {{PLURAL:$1|keer}} gebruikt." }, - "remove": "Verwijderen", + "inviteOptions": { + "12h": "12 uur", + "1d": "1 dag", + "1h": "1 uur", + "30d": "30 dagen", + "30m": "30 minuten", + "6h": "6 uur", + "7d": "7 dagen", + "limit": "$1 {{PLURAL:$1|keer}} gebruikt", + "never": "Nooit", + "noLimit": "Geen limiet", + "title": "Mensen uitnodigen" + }, + "jankInfo": "Cliëntinformatie", + "leaveGuild": "Gilde verlaten", + "leaving": "Je verlaat Spacebar", + "loaded": "Geladen", "localuser": { - "trusted": "Vertrouwde domeinen", - "trustedDesc": "Wanneer u op koppelingen van deze domeinen klikt, wordt u ***niet*** om toestemming gevraagd om deze te openen, zoals bij andere koppelingen. Geef dit alleen aan URL's die u vertrouwt.", - "trace": "Sporen", - "install": "Installeren", - "installJank": "Fermi installeren", - "installDesc": "Na installeren kun je Fermi in een eigen venster openen en als aparte app gebruiken! Je kunt Fermi ook gewoon in je webbrowser blijven gebruiken en dan werkt het precies hetzelfde.", - "addStatus": "Status toevoegen", - "status": "Status", - "customStatusWarn": "Spacebar ondersteunt nog geen aangepaste statusweergave. Hoewel de status wordt geaccepteerd, wordt er verder niets mee gedaan.", - "settings": "Instellingen", - "userSettings": "Gebruikersinstellingen", - "themesAndSounds": "Thema's & geluiden", - "theme:": "Thema", - "notisound": "Meldingsgeluid:", - "customSound": "Aangepast geluid", - "soundTooLarge": "Het geluid dat je probeerde te uploaden was te groot. Probeer het nog eens.", - "accentColor": "Accentkleur:", - "VoiceWarning": "Weet je zeker dat je dit wilt inschakelen? Het is erg experimenteel en kan problemen opleveren. (Deze functie is er voor ontwikkelaars. Blijf er liever van af als je niet weet wat je doet.)", - "updateSettings": "Instellingen bijwerken", - "swSettings": "Service Worker-instelling", - "SWOff": "Uit", - "SWOffline": "Alleen offline", - "SWOn": "Aan", - "clearCache": "Cache wissen", + "2faCode:": "Code:", + "2faCodeGive": "Je geheim is: $1 en het bestaat uit 6 cijfers, met een tokenperiode van 30 seconden", + "2faDisable": "Tweetrapsauthenticatie uitschakelen", + "2faEnable": "Tweetrapsauthenticatie inschakelen", "CheckUpdate": "Controleren op updates", + "PasswordsNoMatch": "Wachtwoorden komen niet overeen", + "TOSURL": "URL servicevoorwaarden:", + "VoiceWarning": "Weet je zeker dat je dit wilt inschakelen? Het is erg experimenteel en kan problemen opleveren. (Deze functie is er voor ontwikkelaars. Blijf er liever van af als je niet weet wat je doet.)", + "accentColor": "Accentkleur:", "accountSettings": "Accountinstellingen", - "2faDisable": "Tweetrapsauthenticatie uitschakelen", + "addBot": "Robot toevoegen", + "addStatus": "Status toevoegen", + "advancedBot": "Geavanceerde robotinstellingen", + "appName": "Toepassingsnaam:", + "areYouSureDelete": "Weet je zeker dat je je account wilt verwijderen? Zo ja, voer dan de zin $1 in.", "badCode": "Onjuiste code", - "2faEnable": "Tweetrapsauthenticatie inschakelen", - "2faCode:": "Code:", - "setUp2fa": "Tweetrapsauthenticatie instellen", "badPassword": "Onjuist wachtwoord", - "setUp2faInstruction": "Kopieer dit geheim naar je TOTP-app (Time-based One-Time Password, tijdgebaseerd eenmalig wachtwoord)", - "2faCodeGive": "Je geheim is: $1 en het bestaat uit 6 cijfers, met een tokenperiode van 30 seconden", + "botAvatar": "Robot-avatar:", + "botInviteCreate": "Robot-uitnodigingsmaker", + "botUsername": "Robot-gebruikersnaam:", "changeDiscriminator": "Discriminator wijzigen", + "changeEmail": "E-mailadres wijzigen", + "changePassword": "Wachtwoord wijzigen", + "changeUsername": "Gebruikersnaam wijzigen", + "clearCache": "Cache wissen", + "confirmAddBot": "Weet je zeker dat je een robot aan deze toepassing wilt toevoegen? Er is geen weg terug.", + "confirmReset": "Weet je zeker dat je het robottoken opnieuw wilt instellen? Je robot stopt met werken totdat je hem bijwerkt.", + "confuseNoBot": "Om een of andere reden heeft deze toepassing (nog) geen robot.", + "connections": "Verbindingen", + "createApp": "Toepassing aanmaken", + "customSound": "Aangepast geluid", + "customStatusWarn": "Spacebar ondersteunt nog geen aangepaste statusweergave. Hoewel de status wordt geaccepteerd, wordt er verder niets mee gedaan.", + "deleteAccount": "Accountverwijdering", + "deleteAccountButton": "Account verwijderen", + "description": "Beschrijving:", + "devPortal": "Ontwikkelaarsportaal", + "disableConnection": "Deze verbinding is bij de server uitgeschakeld", + "editingBot": "Bewerken van de robot $1", + "install": "Installeren", + "installDesc": "Na installeren kun je Fermi in een eigen venster openen en als aparte app gebruiken! Je kunt Fermi ook gewoon in je webbrowser blijven gebruiken en dan werkt het precies hetzelfde.", + "installJank": "Fermi installeren", + "language": "Taal:", + "manageBot": "Robot beheren", + "manageInstance": "Server beheren", + "mustTypePhrase": "Om je account te verwijderen moet je de zin typen", "newDiscriminator": "Nieuwe discriminator:", - "changeEmail": "E-mailadres wijzigen", - "password:": "Wachtwoord", "newEmail:": "Nieuw e-mailadres", - "changeUsername": "Gebruikersnaam wijzigen", + "newPassword:": "Nieuw wachtwoord:", "newUsername": "Nieuwe gebruikersnaam:", - "changePassword": "Wachtwoord wijzigen", + "noToken": "Het token is niet bekend en kan dus helaas niet worden opgeslagen in localStorage", + "notisound": "Meldingsgeluid:", "oldPassword:": "Oud wachtwoord:", - "newPassword:": "Nieuw wachtwoord:", - "PasswordsNoMatch": "Wachtwoorden komen niet overeen", - "disableConnection": "Deze verbinding is bij de server uitgeschakeld", - "devPortal": "Ontwikkelaarsportaal", - "createApp": "Toepassing aanmaken", - "team:": "Team:", - "appName": "Toepassingsnaam:", - "description": "Beschrijving:", + "password:": "Wachtwoord", "privacyPolcyURL": "URL privacybeleid:", - "TOSURL": "URL servicevoorwaarden:", "publicAvaliable": "De robot publiekelijk uitnodigbaar maken?", "requireCode": "Codetoekenning vereisen om de robot uit te nodigen?", - "manageBot": "Robot beheren", - "addBot": "Robot toevoegen", - "confirmAddBot": "Weet je zeker dat je een robot aan deze toepassing wilt toevoegen? Er is geen weg terug.", - "confuseNoBot": "Om een of andere reden heeft deze toepassing (nog) geen robot.", - "editingBot": "Bewerken van de robot $1", - "botUsername": "Robot-gebruikersnaam:", - "botAvatar": "Robot-avatar:", "resetToken": "Token opnieuw instellen", - "confirmReset": "Weet je zeker dat je het robottoken opnieuw wilt instellen? Je robot stopt met werken totdat je hem bijwerkt.", - "tokenDisplay": "Token: $1", "saveToken": "Token opslaan in localStorage", - "noToken": "Het token is niet bekend en kan dus helaas niet worden opgeslagen in localStorage", - "advancedBot": "Geavanceerde robotinstellingen", - "botInviteCreate": "Robot-uitnodigingsmaker", - "language": "Taal:", - "connections": "Verbindingen", - "deleteAccount": "Accountverwijdering", - "areYouSureDelete": "Weet je zeker dat je je account wilt verwijderen? Zo ja, voer dan de zin $1 in.", + "setUp2fa": "Tweetrapsauthenticatie instellen", + "setUp2faInstruction": "Kopieer dit geheim naar je TOTP-app (Time-based One-Time Password, tijdgebaseerd eenmalig wachtwoord)", + "settings": "Instellingen", "sillyDeleteConfirmPhrase": "Shrek is liefde, Shrek is leven", - "deleteAccountButton": "Account verwijderen", - "mustTypePhrase": "Om je account te verwijderen moet je de zin typen", - "manageInstance": "Server beheren" + "soundTooLarge": "Het geluid dat je probeerde te uploaden was te groot. Probeer het nog eens.", + "status": "Status", + "team:": "Team:", + "theme:": "Thema", + "themesAndSounds": "Thema's & geluiden", + "tokenDisplay": "Token: $1", + "trace": "Sporen", + "trusted": "Vertrouwde domeinen", + "trustedDesc": "Wanneer u op koppelingen van deze domeinen klikt, wordt u ***niet*** om toestemming gevraagd om deze te openen, zoals bij andere koppelingen. Geef dit alleen aan URL's die u vertrouwt.", + "updateSettings": "Instellingen bijwerken", + "userSettings": "Gebruikersinstellingen" }, - "search": { - "back": "Terug", - "next": "Volgende", - "page": "Pagina $1", - "new": "Nieuw", - "old": "Oud", - "search": "Zoeken", - "nofind": "Zo te zien zijn er geen berichten gevonden met jouw zoekopdracht. Misschien vind je wat je zoekt als je je zoekopdracht verbreedt." + "login": { + "allGood": "Alles goed", + "checking": "Server wordt gecontroleerd", + "enterPAgain": "Voer het nieuwe wachtwoord nogmaals in:", + "invalid": "Onjuiste server, probeer het nog eens", + "login": "Aanmelden", + "newPassword": "Nieuw wachtwoord:", + "pasteInfo": "Plak hier de herstel-URL:", + "recover": "Wachtwoord vergeten?", + "recovery": "Wachtwoord vergeten", + "waiting": "Wacht totdat de server gecontroleerd is" + }, + "logout": { + "error": { + "cancel": "Annuleren", + "cont": "Toch doorgaan", + "desc": "Fermi heeft u niet kunnen afmelden,\n wilt u het account toch verwijderen?", + "title": "Er is een fout opgetreden bij het afmelden" + }, + "logout": "Afmelden" }, "manageInstance": { - "stop": "Server stoppen", "AreYouSureStop": "Weet je zeker dat je deze server wilt stoppen?", - "createTokens": "Registratietokens aanmaken", - "count": "Aantal:", - "length": "Lengte:", - "format": "Formaat:", "TokenFormats": { - "plain": "Eenvoudig", "JSON": "In JSON-indeling", - "URLs": "Uitnodigings-URL’s" + "URLs": "Uitnodigings-URL’s", + "plain": "Eenvoudig" }, - "create": "Aanmaken", "clientURL": "Cliënt-URL:", - "regType": "URL-type registratietoken", + "copy": "Kopiëren", + "count": "Aantal:", + "create": "Aanmaken", + "createTokens": "Registratietokens aanmaken", + "format": "Formaat:", "genericType": "Generiek", - "copy": "Kopiëren" + "length": "Lengte:", + "regType": "URL-type registratietoken", + "stop": "Server stoppen" + }, + "media": { + "artist": "Artiest: $1", + "composer": "Componist: $1", + "download": "Mediabestand downloaden", + "length": "Lengte: $1 minuten en $2 seconden", + "loading": "Wordt geladen", + "moreInfo": "Meer informatie", + "notFound": "Mediabestand kon niet worden gevonden" + }, + "member": { + "ban": "$1 uit $2 verbannen", + "kick": "$1 uit $2 zetten", + "nick:": "Bijnaam:", + "reason:": "Reden:" }, - "emojiSelect": "Emoji:", - "noEmojiFont": "Emoji van het systeem gebruiken", - "unpinMessage": "Bericht losmaken", - "noPins": "Hier is (nog) niets te zien.", "message": { - "reactionAdd": "Reactie toevoegen", - "reactions": "Reacties bekijken", + "attached": "Bijlage verzonden", "delete": "Bericht verwijderen", + "deleted": "Verwijderd bericht", "edit": "Bericht bewerken", "edited": "(bewerkt)", - "deleted": "Verwijderd bericht", - "attached": "Bijlage verzonden", - "retry": "Bericht met fout opnieuw verzenden", - "pin": "$1 heeft een bericht vastgezet", - "viewrest": "De rest bekijken", "fullMessage": "Volledig bericht:", - "reactionsTitle": "Reacties" + "pin": "$1 heeft een bericht vastgezet", + "reactionAdd": "Reactie toevoegen", + "reactions": "Reacties bekijken", + "reactionsTitle": "Reacties", + "retry": "Bericht met fout opnieuw verzenden", + "viewrest": "De rest bekijken" + }, + "messageLink": "Bericht in # $1", + "muteDuration": "Ontdempen in:", + "nevermind": "Laat maar", + "no": "Nee", + "noEmojiFont": "Emoji van het systeem gebruiken", + "noMessages": "Er lijken geen berichten te zijn, wees de eerste die iets zegt!", + "noPins": "Hier is (nog) niets te zien.", + "noStickers": "U lijkt in een vreemde situatie te zitten, er zijn namelijk geen stickers die u kunt gebruiken!", + "notiClump": "Je hebt $1 meldingen van $2 gekregen", + "notiVolume": "Meldingsvolume:", + "otherAt": "$1 om $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Hiermee kan de gebruiker reacties aan berichten toevoegen", + "ADMINISTRATOR": "Geeft alle rechten en omzeilt het overschrijven van kanaalrechten. Dit is een gevaarlijke machtiging!", + "ATTACH_FILES": "Hiermee kan de gebruiker bestanden meesturen", + "BAN_MEMBERS": "Hiermee kan de gebruiker leden uit het gilde verbannen", + "BYPASS_SLOWMODE": "De langzame modus heeft geen effect meer op deze gebruiker.", + "CHANGE_NICKNAME": "Hiermee kan de gebruiker de eigen bijnaam wijzigen", + "CONNECT": "Hiermee kan de gebruiker met een spraakkanaal verbinding maken", + "CREATE_EVENTS": "Maakt het mogelijk geplande evenementen aan te maken en de door de huidige gebruiker aangemaakte evenementen te bewerken en te verwijderen.", + "CREATE_GUILD_EXPRESSIONS": "Maakt het mogelijk emoji’s, stickers en geluidspaneel-geluiden te maken, en de door de huidige gebruiker gemaakte geluiden te bewerken en te verwijderen.", + "CREATE_INSTANT_INVITE": "Hiermee kan de gebruiker uitnodigingen voor het gilde maken", + "CREATE_PRIVATE_THREADS": "Hiermee kan de gebruiker privédiscussies maken", + "CREATE_PUBLIC_THREADS": "Hiermee kan de gebruiker openbare discussies maken", + "DEAFEN_MEMBERS": "Hiermee kan de gebruiker andere leden doof maken", + "EMBED_LINKS": "Hiermee worden de door deze gebruiker gestuurde koppelingen automatisch ingebed", + "KICK_MEMBERS": "Hiermee kan de gebruiker leden uit het gilde zetten", + "MANAGE_CHANNELS": "Hiermee kan de gebruiker kanalen beheren en bewerken", + "MANAGE_EVENTS": "Hiermee kan de gebruiker gebeurtenissen bewerken en beheren", + "MANAGE_GUILD": "Maakt het beheer en het bewerken van het gilde mogelijk", + "MANAGE_GUILD_EXPRESSIONS": "Maakt beheren van emoji’s, stickers en het geluidenpaneel mogelijk", + "MANAGE_MESSAGES": "Hiermee kan de gebruiker berichten van anderen verwijderen", + "MANAGE_NICKNAMES": "Hiermee kan de gebruiker de bijnamen van andere leden wijzigen", + "MANAGE_ROLES": "Hiermee kan de gebruiker rollen bewerken en beheren", + "MANAGE_THREADS": "Hiermee kan de gebruiker discussies verwijderen en archiveren en alle privédiscussies bekijken", + "MANAGE_WEBHOOKS": "Maakt beheren en bewerken van webhooks mogelijk", + "MENTION_EVERYONE": "Hiermee kan de gebruiker iedereen (@everyone) vermelden", + "MODERATE_MEMBERS": "Hiermee kan de gebruiker andere gebruikers een time-out geven en zo voorkomen dat ze berichten in chat en discussies verzenden of erop reageren en dat ze in spraak- en podiumkanalen spreken", + "MOVE_MEMBERS": "Hiermee kan de gebruiker leden tussen spraakkanalen verplaatsen", + "MUTE_MEMBERS": "Hiermee kan de gebruiker andere leden dempen", + "PIN_MESSAGES": "Hiermee kan de gebruiker berichten vastzetten.", + "PRIORITY_SPEAKER": "Maakt het mogelijk een prioriteitsspreker in een spraakkanaal te gebruiken", + "READ_MESSAGE_HISTORY": "Hiermee kan de gebruiker de berichtengeschiedenis lezen", + "REQUEST_TO_SPEAK": "Hiermee kan de gebruiker vragen om in het podiumkanaal te spreken", + "SEND_MESSAGES": "Hiermee kan de gebruiker berichten sturen", + "SEND_MESSAGES_IN_THREADS": "Hiermee kan de gebruiker berichten in discussies verzenden", + "SEND_POLLS": "Maakt het mogelijk om peilingen te versturen", + "SEND_TTS_MESSAGES": "Hiermee kan de gebruiker tekst-naar-spraakberichten sturen", + "SEND_VOICE_MESSAGES": "Maakt het mogelijk om spraakberichten te versturen", + "SPEAK": "Hiermee kan de gebruiker in een spraakkanaal spreken", + "STREAM": "Hiermee kan de gebruiker uitzenden", + "USE_APPLICATION_COMMANDS": "Hiermee kan de gebruiker toepassingsopdrachten gebruiken", + "USE_EMBEDDED_ACTIVITIES": "Hiermee kan de gebruiker ingebedde activiteiten gebruiken", + "USE_EXTERNAL_APPS": "Hiermee kunnen door de gebruiker geïnstalleerde apps openbare reacties versturen. Indien uitgeschakeld kunnen gebruikers hun apps nog wel gebruiken, maar zijn de reacties tijdelijk. Dit geldt alleen voor apps die niet ook in het gilde zijn geïnstalleerd.", + "USE_EXTERNAL_EMOJIS": "Hiermee kan de gebruiker externe emoji’s gebruiken", + "USE_EXTERNAL_SOUNDS": "Maakt het mogelijk aangepaste geluidspaneel-geluiden van andere gilden te gebruiken", + "USE_EXTERNAL_STICKERS": "Hiermee kan de gebruiker externe stickers gebruiken", + "USE_SOUNDBOARD": "Maakt het mogelijk het geluidspaneel in een spraakkanaal te gebruiken", + "USE_VAD": "Hiermee kunnen gebruikers in een spraakkanaal spreken door simpelweg te praten", + "VIEW_AUDIT_LOG": "Hiermee kan de gebruiker het inspectielogboek bekijken", + "VIEW_CHANNEL": "Hiermee kan de gebruiker naar het kanaal kijken", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Maakt het mogelijk inzichten over rolabonnementen te bekijken", + "VIEW_GUILD_INSIGHTS": "Hiermee kan de gebruiker inzichten over het gilde bekijken" + }, + "readableNames": { + "ADD_REACTIONS": "Reacties toevoegen", + "ADMINISTRATOR": "Beheerder", + "ATTACH_FILES": "Bestanden bijvoegen", + "BAN_MEMBERS": "Leden verbannen", + "BYPASS_SLOWMODE": "Langzame modus omzeilen", + "CHANGE_NICKNAME": "Bijnaam wijzigen", + "CONNECT": "Verbinden", + "CREATE_EVENTS": "Evenementen maken", + "CREATE_GUILD_EXPRESSIONS": "Uitdrukkingen maken", + "CREATE_INSTANT_INVITE": "Uitnodiging maken", + "CREATE_PRIVATE_THREADS": "Privédiscussies maken", + "CREATE_PUBLIC_THREADS": "Openbare discussies maken", + "DEAFEN_MEMBERS": "Leden doof maken", + "EMBED_LINKS": "Koppelingen inbedden", + "KICK_MEMBERS": "Leden uitzetten", + "MANAGE_CHANNELS": "Kanalen beheren", + "MANAGE_EVENTS": "Evenementen beheren", + "MANAGE_GUILD": "Gilde beheren", + "MANAGE_GUILD_EXPRESSIONS": "Uitdrukkingen beheren", + "MANAGE_MESSAGES": "Berichten beheren", + "MANAGE_NICKNAMES": "Bijnamen beheren", + "MANAGE_ROLES": "Rollen beheren", + "MANAGE_THREADS": "Discussies beheren", + "MANAGE_WEBHOOKS": "Webhooks beheren", + "MENTION_EVERYONE": "@everyone, @here en alle rollen vermelden", + "MODERATE_MEMBERS": "Leden een time-out geven", + "MOVE_MEMBERS": "Leden verplaatsen", + "MUTE_MEMBERS": "Leden dempen", + "PIN_MESSAGES": "Berichten vastzetten", + "PRIORITY_SPEAKER": "Voorrangsspreker", + "READ_MESSAGE_HISTORY": "Berichtgeschiedenis lezen", + "REQUEST_TO_SPEAK": "Vragen om te spreken", + "SEND_MESSAGES": "Berichten sturen", + "SEND_MESSAGES_IN_THREADS": "Berichten in discussies verzenden", + "SEND_POLLS": "Peilingen maken", + "SEND_TTS_MESSAGES": "Tekst-naar-spraakberichten sturen", + "SEND_VOICE_MESSAGES": "Spraakberichten verzenden", + "SPEAK": "Spreken", + "STREAM": "Video", + "USE_APPLICATION_COMMANDS": "Toepassingsopdrachten gebruiken", + "USE_EMBEDDED_ACTIVITIES": "Activiteiten gebruiken", + "USE_EXTERNAL_APPS": "Externe apps gebruiken", + "USE_EXTERNAL_EMOJIS": "Externe emoji’s gebruiken", + "USE_EXTERNAL_SOUNDS": "Externe geluiden gebruiken", + "USE_EXTERNAL_STICKERS": "Externe stickers gebruiken", + "USE_SOUNDBOARD": "Geluidspaneel gebruiken", + "USE_VAD": "Spraakactiviteitsherkenning gebruiken", + "VIEW_AUDIT_LOG": "Inspectielogboek bekijken", + "VIEW_CHANNEL": "Kanalen bekijken", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Monetisatie-analyses voor makers bekijken", + "VIEW_GUILD_INSIGHTS": "Gilde-inzichten bekijken" + } + }, + "pinMessage": "Bericht vastzetten", + "profile": { + "bio": "Over mij:", + "joined": "Account aangemaakt: $1", + "joinedMember": "Toegetreden tot $1: $2", + "mut": "Onderlinge gilden", + "mutFriends": "Wederzijdse vrienden", + "permInfo": "Machtigingen", + "userInfo": "Gebruikersinfo" + }, + "profileColor": "Profielkleur", + "pronouns": "Voornaamwoorden:", + "readableName": "Nederlands", + "recentEmoji": "Recente emoji", + "register": { + "DOBError": "Geboortedatum: $1", + "agreeTOS": "Ik ga akkoord met de [Servicevoorwaarden]($1):", + "emailError": "E-mail: $1", + "noTOS": "Voor deze server zijn er geen servicevoorwaarden, accepteer ze toch maar:", + "passwordError:": "Wachtwoord: $1", + "register": "Inschrijven", + "tos": "U moet instemmen met de voorwaarden", + "usernameError": "Gebruikersnaam: $1" }, - "instanceStats": { - "name": "Serverstatistieken: $1", - "users": "Geregistreerde gebruikers: $1", - "servers": "Gilden: $1", - "messages": "Berichten: $1", - "members": "Leden: $1" + "remove": "Verwijderen", + "renderJoinAvatars": "Profielafbeeldingen weergeven voor nieuwe leden: ", + "reply": "Antwoorden", + "replyingTo": "Reageren op $1", + "retrying": "Opnieuw proberen...", + "role": { + "color": "Kleur", + "colors": { + "name": "Aantal kleuren:", + "one": "Eén", + "secondColor": "Tweede kleur:", + "thirdColor": "Derde kleur:", + "three": "Drie", + "two": "Twee" + }, + "confirmDelete": "Weet je zeker dat je $1 wilt verwijderen?", + "copyId": "Rol-ID kopiëren", + "delete": "Rol verwijderen", + "deleting": "Rol wordt verwijderd…", + "displaySettings": "Weergave-instellingen", + "hoisted": "Opgehesen:", + "mentionable": "Iedereen toestaan deze rol te pingen:", + "name": "Rolnaam:", + "perms": "Rechten", + "remove": "Rol intrekken", + "roleEmoji": "Rol-emoji:", + "roleFileIcon": "Rolpictogram:", + "roles": "Rollen" }, - "inviteOptions": { - "title": "Mensen uitnodigen", - "30m": "30 minuten", - "1h": "1 uur", - "6h": "6 uur", - "12h": "12 uur", - "1d": "1 dag", - "7d": "7 dagen", - "30d": "30 dagen", - "never": "Nooit", - "limit": "$1 {{PLURAL:$1|keer}} gebruikt", - "noLimit": "Geen limiet" + "search": { + "back": "Terug", + "new": "Nieuw", + "next": "Volgende", + "nofind": "Zo te zien zijn er geen berichten gevonden met jouw zoekopdracht. Misschien vind je wat je zoekt als je je zoekopdracht verbreedt.", + "old": "Oud", + "page": "Pagina $1", + "search": "Zoeken" }, - "2faCode": "2FA-code:", - "invite": { - "invitedBy": "Je bent uitgenodigd door $1", - "alreadyJoined": "Al lid", - "accept": "Accepteren", - "noAccount": "Maak een account aan om de uitnodiging te accepteren", - "longInvitedBy": "$1 heeft je uitgenodigd om lid te worden van $2", - "loginOrCreateAccount": "Aanmelden of een account aanmaken ⇌", - "joinUsing": "Inschrijven via uitnodiging", - "inviteLinkCode": "Uitnodigingslink/-code", - "subtext": "bij $1 in $2", - "expireAfter": "Verloopt na:", - "channel:": "Kanaal:", - "inviteMaker": "Uitnodigingsmaker", - "createInvite": "Uitnodiging maken", - "used": "$1 {{PLURAL:$1|keer}} gebruikt.", - "forChannel": "Voor kanaal: $1", - "createdAt": "Gemaakt op $1", - "expires": "Verloopt: $1", - "never": "Nooit", - "maxUses": "Gebruikslimiet: $1" + "searchGifs": "Tenor doorzoeken", + "settings": { + "clear": "Wissen", + "img": "Afbeelding uploaden", + "save": "Wijzigingen opslaan", + "unsaved": "Voorzichtig, je hebt niet-opgeslagen wijzigingen", + "updates": { + "serviceWorkerMode": { + "disabled": "Uit", + "enabled": "Aan", + "offlineOnly": "Alleen offline", + "title": "Service Worker-instelling" + } + } }, - "friends": { - "blocked": "Geblokkeerd", - "blockedusers": "Geblokkeerde gebruikers:", - "addfriend": "Vriend toevoegen", - "removeFriend": "Vriend verwijderen", - "addfriendpromt": "Vrienden toevoegen via gebruikersnaam:", - "notfound": "Gebruiker niet gevonden", - "discnotfound": "Discriminator niet gevonden", - "pending": "In behandeling", - "pending:": "Wachtende vriendschapsverzoeken:", - "all": "Alle", - "all:": "Alle vrienden:", - "online": "Online", - "online:": "Online vrienden:", - "friendlist": "Vriendenlijst", - "friends": "Vrienden" + "showBlockedMessages": "Je hebt deze gebruiker geblokkeerd. Klik om {{PLURAL:$1|het geblokkeerde bericht|de $1 geblokkeerde berichten}} te bekijken.", + "spoiler": "Spoiler", + "sticker": { + "confirmDel": "Weet je zeker dat je deze sticker wilt verwijderen?", + "del": "Sticker verwijderen", + "desc": "Beschrijving", + "errEmjMust": "Moet een emoji bij je sticker bevatten", + "errFileMust": "Moet een afbeelding voor je sticker bevatten", + "image": "Afbeelding:", + "name": "Naam:", + "tags": "Gekoppelde emoji:", + "title": "Stickers", + "upload": "Stickers uploaden" }, - "replyingTo": "Reageren op $1", - "DMs": { - "copyId": "Direct bericht-ID kopiëren", - "markRead": "Markeren als gelezen", - "close": "Direct bericht sluiten", - "name": "Directe berichten" + "submit": "indienen", + "switchAccounts": "Van account wisselen ⇌", + "todayAt": "Vandaag om $1", + "trace": { + "totalTime": "$2: $1ms", + "traces": "$1 ($2ms) $3" }, + "typing": "$2 {{PLURAL:$1|is|zijn}} aan het typen", + "unableToConnect": "Kan geen verbinding maken met de Spacebar-server. Probeer u af en weer aan te melden.", + "unableToPin": "Bericht kan niet worden vastgezet", + "unpinMessage": "Bericht losmaken", + "uploadBanner": "Banner uploaden:", + "uploadFilesText": "Upload hier je bestanden!", + "uploadPfp": "Profielafbeelding uploaden:", + "useTemplate": "$1 als sjabloon gebruiken", + "useTemplateButton": "Sjabloon gebruiken", + "usedFermi": "Fermi gebruikt", "user": { - "sendMessage": "Bericht sturen aan @$1", + "addRole": "Rollen toevoegen", + "ban": "Lid verbannen", + "block": "Gebruiker blokkeren", + "confirmInstBan": "Weet je zeker dat je de server $1 wilt verbannen?", "copyId": "Gebruikers-ID kopiëren", - "online": "Online", - "offline": "Offline", - "invisible": "Onzichtbaar", "dnd": "Niet storen", - "idle": "Inactief", - "message": "Gebruiker bericht sturen", - "block": "Gebruiker blokkeren", - "unblock": "Gebruiker deblokkeren", + "editServerProfile": "Gildeprofiel bewerken", "friendReq": "Vriendschapsverzoek", + "idle": "Inactief", + "instanceBan": "Serverban", + "invisible": "Onzichtbaar", "kick": "Lid uitzetten", - "ban": "Lid verbannen", - "addRole": "Rollen toevoegen", + "message": "Gebruiker bericht sturen", + "offline": "Offline", + "online": "Online", + "remove": "Gebruiker verwijderen", "removeRole": "Rollen verwijderen", - "editServerProfile": "Gildeprofiel bewerken", - "instanceBan": "Serverban", - "confirmInstBan": "Weet je zeker dat je de server $1 wilt verbannen?", + "sendMessage": "Bericht sturen aan @$1", "unban": "$1 ontbannen", - "remove": "Gebruiker verwijderen" - }, - "loaded": "Geladen", - "login": { - "checking": "Server wordt gecontroleerd", - "allGood": "Alles goed", - "invalid": "Onjuiste server, probeer het nog eens", - "waiting": "Wacht totdat de server gecontroleerd is", - "recover": "Wachtwoord vergeten?", - "pasteInfo": "Plak hier de herstel-URL:", - "newPassword": "Nieuw wachtwoord:", - "enterPAgain": "Voer het nieuwe wachtwoord nogmaals in:", - "recovery": "Wachtwoord vergeten", - "login": "Aanmelden" - }, - "member": { - "kick": "$1 uit $2 zetten", - "reason:": "Reden:", - "ban": "$1 uit $2 verbannen", - "nick:": "Bijnaam:" - }, - "commands": { - "errorNotValid": "$1 is geen geldige keuze voor $2", - "required": "$1 is een vereist onderdeel van deze opdracht" - }, - "badge": { - "staff": "Serverpersoneel", - "partner": "Serverpartner", - "certified_moderator": "Moderator", - "hypesquad": "Auteursrechtelijk beschermd ding", - "hypesquad_house_1": "Moed", - "hypesquad_house_2": "Briljantheid", - "hypesquad_house_3": "Evenwicht", - "bug_hunter_level_1": "Foutenjager niveau 1", - "bug_hunter_level_2": "Foutenjager niveau 2", - "active_developer": "Actieve ontwikkelaar", - "verified_developer": "Geverifieerde ontwikkelaar", - "early_supporter": "Eerste ondersteuner", - "premium": "Premium", - "guild_booster_lvl1": "Versterkt gilde", - "guild_booster_lvl2": "Versterkt gilde", - "guild_booster_lvl3": "Versterkt gilde", - "guild_booster_lvl4": "Versterkt gilde", - "guild_booster_lvl5": "Versterkt gilde", - "guild_booster_lvl6": "Versterkt gilde", - "guild_booster_lvl7": "Versterkt gilde", - "guild_booster_lvl8": "Versterkt gilde", - "guild_booster_lvl9": "Al behoorlijk lang versterkt gilde", - "bot_commands": "Ondersteunt opdrachten", - "automod": "Gebruikt automod", - "application_guild_subscription": "Heeft premium", - "legacy_username": "Heeft oude gebruikersnaam", - "quest_completed": "heeft een zoektocht gedaan" + "unblock": "Gebruiker deblokkeren" }, - "dms": "Directe berichten", - "group": { - "select": "Kies vrienden", - "createdm": "Maak direct bericht!", - "edit": "Groepschat bewerken" + "userping": { + "resolving": "gebruiken aan het opzoeken", + "unknown": "@onbekend" }, - "emoji": { - "title": "Emoji's", - "upload": "Emoji's uploaden", - "image:": "Afbeelding:", - "name:": "Naam:", - "confirmDel": "Weet je zeker dat je deze emoji wilt verwijderen?", - "from": "Deze emoji is van", - "privateGuild": "Dit gilde is privé", - "join": "Bij gilde aansluiten", - "found": { - "this": "Deze emoji komt uit dit gilde.", - "other": "Deze emoji komt uit een van je andere gilden.", - "not": "Deze emoji komt niet uit een van je gilden. Je moet je bij het gilde aanslutiten om deze emoji te kunnen gebruiken.", - "private": "Het gilde voor deze emoji kan niet worden gevonden" - } + "vc": { + "joinForStream": "Kom binnen om te kijken", + "joiningStream": "Verbinden met uitzending…", + "joinstream": "Uitzending bekijken", + "leavestream": "Uitzending verlaten", + "stopstream": "Uitzending stoppen" }, - "sticker": { - "title": "Stickers", - "upload": "Stickers uploaden", - "image": "Afbeelding:", + "webhook": "WEBHOOK", + "webhooks": { + "EnterWebhookName": "Voer de webhook-naam in", + "areYouSureDelete": "Weet je zeker dat je $1 wilt verwijderen?", + "avatar": "Avatar", + "base": "Webhooks", + "channel": "Kanaal", + "copyURL": "Webhook-URL kopiëren", + "createdAt": "Aangemaakt op $1", + "createdBy": "Aangemaakt door:", + "deleteWebhook": "Webhook verwijderen", "name": "Naam:", - "desc": "Beschrijving", - "confirmDel": "Weet je zeker dat je deze sticker wilt verwijderen?", - "del": "Sticker verwijderen", - "errFileMust": "Moet een afbeelding voor je sticker bevatten", - "errEmjMust": "Moet een emoji bij je sticker bevatten", - "tags": "Gekoppelde emoji:" - }, - "404": { - "home": "Startpagina", - "title": "Ben je verdwaald?", - "404": "404 Pagina niet gevonden", - "listtitle": "Misschien wilde je naar een van deze plekken gaan", - "app": "Naar de app", - "login": "Aanmelden", - "reset": "Wachtwoord opnieuw instellen", - "blog": "De Fermi-blog", - "whereever": "Waar dit ook is", - "report": "Als je deze pagina binnen de cliënt hebt gevonden, meld dit dan:", - "whatelse": "Wat denk je dat er anders nog moet gebeuren?" + "newWebHook": "Nieuwe webhook", + "notFound": "Gebruiker is niet meer in het gilde", + "sillyDefaults": "Kapitein Haak\nHaakje-de-voorste\nVan de haak op de taak\nHAAK 9000", + "token": "Webhook-token: `$1`", + "type": "Type: $1", + "type1": "Inkomend", + "type2": "Kanaalvolger", + "type3": "Toepassing", + "url": "Webhook-URL: `$1`" }, + "welcomeMessages": "Welkom $1! Leuk dat je er bent!\nHoi $1, leuk je te ontmoeten!\nDag $1, schuif ook gezellig aan!\nKom erbij $1, heb je pizza bij je?", "widget": "Gilde-widget", "widgetEnabled": "Widget ingeschakeld", - "incorrectURLS": "## Deze server heeft waarschijnlijk de verkeerde URL’s verzonden.\n### Als u de eigenaar van de server bent, kijk dan [hier](https://docs.spacebar.chat/setup/server/) onder *Verbinding maken vanaf externe machines* om het probleem te verhelpen.\n Wilt u dat Fermi automatisch probeert deze fout te verhelpen, zodat u verbinding kunt maken met de server?", - "jankInfo": "Cliëntinformatie", - "instInfo": "Serverinformatie", - "clientDesc": "Cliëntversie: $1 \n\n[Sluit u aan bij het officiële Fermi-gilde]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Help Fermi te vertalen](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Help Fermi te maken](https://github.com/MathMan05/Fermi)\n\n[Help de server waar Fermi op bouwt te onderhouden](https://github.com/spacebarchat/server)\n\n[Lees het blog](https://blog.fermi.chat/)\n\nBerekende rechten: $3", - "uploadFilesText": "Upload hier je bestanden!", - "errorReconnect": "Kan geen verbinding maken met de server. Het wordt over **$1** seconden opnieuw geprobeerd…", - "retrying": "Opnieuw proberen...", - "unableToConnect": "Kan geen verbinding maken met de Spacebar-server. Probeer u af en weer aan te melden.", - "bot": "ROBOT", - "webhook": "WEBHOOK" + "yes": "Ja", + "yesterdayAt": "Gisteren om $1" } diff --git a/translations/pl.json b/translations/pl.json index b4bb9b37..c11650d8 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -1,634 +1,636 @@ { + "2faCode": "Kod 2FA:", "@metadata": { - "authors": [ - "Atvalerie" - ] - }, - "vc": { - "joinstream": "Oglądaj stream", - "leavestream": "Opuść stream", - "joinForStream": "Dołącz do kanału głosowego, aby oglądać", - "stopstream": "Zatrzymaj stream", - "joiningStream": "Dołączanie do streamu..." - }, - "readableName": "Polski", - "pinMessage": "Przypnij wiadomość", - "unableToPin": "Nie można przypiąć wiadomości", - "reply": "Odpowiedz", - "copyrawtext": "Kopiuj surowy tekst", - "copymessageid": "Kopiuj identyfikator wiadomości", - "media": { - "notFound": "Nie znaleziono multimediów", - "loading": "Ładowanie", - "download": "Pobierz multimedia", - "moreInfo": "Więcej informacji", - "artist": "Artysta: $1", - "composer": "Kompozytor: $1", - "length": "Długość: $1 minut i $2 sekund" + "authors": ["Atvalerie"] }, - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Pozwala użytkownikowi tworzyć zaproszenia do gildii", - "KICK_MEMBERS": "Pozwala użytkownikowi wyrzucać członków z gildii", - "BAN_MEMBERS": "Pozwala użytkownikowi banować członków z gildii", - "ADMINISTRATOR": "Nadaje wszystkie uprawnienia i pomija ograniczenia kanałów. Nadanie tego uprawnienia może być ryzykowne!", - "MANAGE_CHANNELS": "Pozwala użytkownikowi na zarządzanie i edytowanie kanałów", - "MANAGE_GUILD": "Pozwala na zarządzanie i edytowanie ustawień gildii", - "ADD_REACTIONS": "Pozwala użytkownikowi na dodawanie reakcji do wiadomości", - "VIEW_AUDIT_LOG": "Pozwala użytkownikowi na przeglądanie rejestru zmian", - "PRIORITY_SPEAKER": "Pozwala na korzystanie z funkcji priorytetowego rozmówcy w kanale głosowym", - "STREAM": "Pozwala użytkownikowi na streamowanie", - "VIEW_CHANNEL": "Pozwala użytkownikowi wyświetlać kanał", - "SEND_MESSAGES": "Pozwala użytkownikowi wysyłać wiadomości", - "SEND_TTS_MESSAGES": "Pozwala użytkownikowi wysyłać wiadomości text-to-speech (tekst na mowę)", - "MANAGE_MESSAGES": "Pozwala użytkownikowi na usuwanie cudzych wiadomości", - "EMBED_LINKS": "Pozwala na wyświetlanie osadzonej zawartości z linków wysyłanych przez tego użytkownika", - "ATTACH_FILES": "Pozwala użytkownikowi na załączanie plików", - "READ_MESSAGE_HISTORY": "Pozwala użytkownikowi na czytanie historii wiadomości", - "MENTION_EVERYONE": "Pozwala użytkownikowi na wspomnienie wszystkich", - "USE_EXTERNAL_EMOJIS": "Pozwala użytkownikowi na używanie zewnętrznych emoji", - "VIEW_GUILD_INSIGHTS": "Pozwala użytkownikowi przeglądać statystyki gildii", - "CONNECT": "Pozwala użytkownikowi na połączenie się z kanałem głosowym", - "SPEAK": "Pozwala użytkownikowi mówić w kanale głosowym", - "MUTE_MEMBERS": "Pozwala użytkownikowi wyciszać innych członków", - "DEAFEN_MEMBERS": "Pozwala użytkownikowi ogłuszać innych członków", - "MOVE_MEMBERS": "Pozwala użytkownikowi na przenoszenie członków pomiędzy kanałami głosowymi", - "USE_VAD": "Pozwala użytkownikowi na mówienie w kanale głosowym bez konieczności korzystania z funkcji Naciśnij i Mów", - "CHANGE_NICKNAME": "Pozwala użytkownikowi na zmianę własnego pseudonimu", - "MANAGE_NICKNAMES": "Pozwala użytkownikowi na zmianę pseudonimów innych członków", - "MANAGE_ROLES": "Pozwala użytkownikowi na edytowanie i zarządzanie rolami", - "MANAGE_WEBHOOKS": "Pozwala na zarządzanie i edytowanie webhooków", - "MANAGE_GUILD_EXPRESSIONS": "Pozwala na zarządzanie emoji, naklejkami i dźwiękami", - "USE_APPLICATION_COMMANDS": "Pozwala użytkownikowi na korzystanie z poleceń aplikacji", - "REQUEST_TO_SPEAK": "Pozwala użytkownikowi poprosić o głos w kanale scenicznym", - "MANAGE_EVENTS": "Pozwala użytkownikowi na zarządzanie i edytowanie wydarzeniami", - "MANAGE_THREADS": "Pozwala użytkownikowi na usuwanie i archiwizowanie wątków oraz przeglądanie wszystkich prywatnych wątków", - "CREATE_PUBLIC_THREADS": "Pozwala użytkownikowi na tworzenie publicznych wątków", - "CREATE_PRIVATE_THREADS": "Pozwala użytkownikowi na tworzenie prywatnych wątków", - "USE_EXTERNAL_STICKERS": "Pozwala użytkownikowi na korzystanie z zewnętrznych naklejek", - "SEND_MESSAGES_IN_THREADS": "Pozwala użytkownikowi na wysyłanie wiadomości w wątkach", - "USE_EMBEDDED_ACTIVITIES": "Pozwala użytkownikowi na korzystanie z wbudowanych aktywności", - "MODERATE_MEMBERS": "Pozwala użytkownikowi wyciszać innych użytkowników czasowo, aby uniemożliwić im wysyłanie wiadomości, reagowanie na nie oraz mówienie w kanałach głosowych i scenicznych", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Pozwala na wyświetlanie statystyk subskrypcji ról", - "USE_SOUNDBOARD": "Pozwala na korzystanie z dźwięków w kanale głosowym", - "CREATE_GUILD_EXPRESSIONS": "Pozwala na tworzenie emoji, naklejek i dźwięków oraz edytowanie i usuwanie tych utworzonych przez użytkownika.", - "CREATE_EVENTS": "Pozwala na tworzenie zaplanowanych wydarzeń oraz edycję i usuwanie tych utworzonych przez użytkownika.", - "USE_EXTERNAL_SOUNDS": "Pozwala na korzystanie z dźwięków z innych serwerów", - "SEND_VOICE_MESSAGES": "Pozwala na wysyłanie wiadomości głosowych", - "SEND_POLLS": "Pozwala na wysyłanie ankiet", - "USE_EXTERNAL_APPS": "Pozwala aplikacjom zainstalowanym przez użytkownika na wysyłanie publicznych odpowiedzi. Po wyłączeniu tej opcji użytkownicy nadal będą mogli korzystać ze swoich aplikacji, ale odpowiedzi będa prywatne. Dotyczy to tylko aplikacji które nie są również zainstalowane na serwerze." - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Tworzenie zaproszeń", - "KICK_MEMBERS": "Wyrzucanie członków", - "BAN_MEMBERS": "Banowanie członków", - "ADMINISTRATOR": "Administrator", - "MANAGE_CHANNELS": "Zarządzanie kanałami", - "MANAGE_GUILD": "Zarządzanie gildią", - "ADD_REACTIONS": "Dodawanie reakcji", - "VIEW_AUDIT_LOG": "Wyświetlanie dziennika zdarzeń", - "PRIORITY_SPEAKER": "Priorytetowy rozmówca", - "STREAM": "Wideo", - "VIEW_CHANNEL": "Wyświetlanie kanałów", - "SEND_MESSAGES": "Wysyłanie wiadomości", - "SEND_TTS_MESSAGES": "Wysyłanie wiadomości text-to-speech", - "MANAGE_MESSAGES": "Zarządzanie wiadomościami", - "EMBED_LINKS": "Wyświetlanie podglądu linków", - "ATTACH_FILES": "Załączanie plików", - "READ_MESSAGE_HISTORY": "Czytanie historii wiadomości", - "MENTION_EVERYONE": "Wspominanie @everyone, @here oraz wszystkich ról", - "USE_EXTERNAL_EMOJIS": "Używanie zewnętrznych emoji", - "VIEW_GUILD_INSIGHTS": "Wyświetlanie statystyk gildii", - "CONNECT": "Połącz", - "SPEAK": "Mówienie", - "MUTE_MEMBERS": "Wyciszanie członków", - "DEAFEN_MEMBERS": "Ogłuszanie członków", - "MOVE_MEMBERS": "Przenoszenie członków", - "USE_VAD": "Używanie Aktywności Głosowej", - "CHANGE_NICKNAME": "Zmiana pseudonimu", - "MANAGE_NICKNAMES": "Zarządzanie pseudonimami", - "MANAGE_ROLES": "Zarządzanie rolami", - "MANAGE_WEBHOOKS": "Zarządzanie webhookami", - "MANAGE_GUILD_EXPRESSIONS": "Zarządzanie wyrażeniami", - "USE_APPLICATION_COMMANDS": "Używanie poleceń aplikacji", - "REQUEST_TO_SPEAK": "Prośba o głos", - "MANAGE_EVENTS": "Zarządzanie wydarzeniami", - "MANAGE_THREADS": "Zarządzanie wątkami", - "CREATE_PUBLIC_THREADS": "Tworzenie publicznych wątków", - "CREATE_PRIVATE_THREADS": "Tworzenie prywatnych wątków", - "USE_EXTERNAL_STICKERS": "Używanie zewnętrznych naklejek", - "SEND_MESSAGES_IN_THREADS": "Wysyłanie wiadomości w wątkach", - "USE_EMBEDDED_ACTIVITIES": "Używanie aktywności", - "MODERATE_MEMBERS": "Wyciszanie członków czasowo", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Wyświetlanie analityk monetyzacji twórcy", - "USE_SOUNDBOARD": "Używanie dźwięków", - "CREATE_GUILD_EXPRESSIONS": "Tworzenie wyrażeń", - "CREATE_EVENTS": "Tworzenie wydarzeń", - "USE_EXTERNAL_SOUNDS": "Używanie zewnętrznych dźwięków", - "SEND_VOICE_MESSAGES": "Wysyłanie wiadomości głosowych", - "SEND_POLLS": "Tworzenie ankiet", - "USE_EXTERNAL_APPS": "Używanie zewnętrznych aplikacji" - } + "DMs": { + "close": "Zamknij prywatną wiadomość", + "copyId": "Kopiuj identyfikator DM", + "markRead": "Oznacz jako przeczytane", + "name": "Prywatne Wiadomości" }, - "hideBlockedMessages": "Zablokowany użytkownik, kliknij, aby ukryć wiadomości.", - "showBlockedMessages": "Zablokowany użytkownik, kliknij, aby zobaczyć $1 {{PLURAL:$1|zablokowaną wiadomość|zablokowane wiadomości|zablokowanych wiadomości}}.", - "deleteConfirm": "Czy na pewno chcesz to usunąć?", - "yes": "Tak", - "no": "Nie", - "todayAt": "Dzisiaj o $1", - "yesterdayAt": "Wczoraj o $1", - "otherAt": "$1 o $2", - "botSettings": "Ustawienia botów", - "uploadPfp": "Zmień awatar:", - "uploadBanner": "Zmień baner:", - "pronouns": "Zaimki:", - "bio": "O mnie:", - "profileColor": "Kolor profilu", - "botGuilds": "Gildie, w których bot się znajduje:", - "leaveGuild": "Opuść Gildię", - "confirmGuildLeave": "Czy na pewno chcesz opuścić $1", "UrlGen": "Generator adresów URL", - "typing": "$2 {{PLURAL:$1|pisze|piszą}}", - "noMessages": "Wygląda na to, że nie ma tu żadnych wiadomości, bądź pierwszy, który coś powie!", - "blankMessage": "Pusta wiadomość", - "spoiler": "Spoiler", "accessibility": { - "name": "Dostępność", - "roleColors": "Wyłącz kolory ról", - "playGif": "Odtwarzaj pliki GIF:", "gifSettings": { - "hover": "Po najechaniu myszą", "always": "Zawsze", + "hover": "Po najechaniu myszą", "never": "Nigdy" - } + }, + "name": "Dostępność", + "playGif": "Odtwarzaj pliki GIF:", + "roleColors": "Wyłącz kolory ról" }, - "searchGifs": "Wyszukaj w Tenor", + "accountNotStart": "Nie można uruchomić konta", + "badge": { + "active_developer": "Aktywny programista", + "application_guild_subscription": "Ma premium", + "automod": "Używa automoda", + "bot_commands": "Wspiera polecenia", + "bug_hunter_level_1": "Łowca błędów poziom 1", + "bug_hunter_level_2": "Łowca błędów poziom 2", + "certified_moderator": "Moderator", + "early_supporter": "Wczesny wspierający", + "guild_booster_lvl1": "Wzmocniona gildia", + "guild_booster_lvl2": "Wzmocniona gildia", + "guild_booster_lvl3": "Wzmocniona gildia", + "guild_booster_lvl4": "Wzmocniona gildia", + "guild_booster_lvl5": "Wzmocniona gildia", + "guild_booster_lvl6": "Wzmocniona gildia", + "guild_booster_lvl7": "Wzmocniona gildia", + "guild_booster_lvl8": "Wzmocniona gildia", + "guild_booster_lvl9": "Wzmocniona gildia przez długi czas", + "hypesquad": "Rzecz chroniona prawem autorskim", + "hypesquad_house_1": "Bravery", + "hypesquad_house_2": "Brilliance", + "hypesquad_house_3": "Balance", + "legacy_username": "Ma starszą nazwę użytkownika", + "partner": "Partner instancji", + "premium": "Premium", + "quest_completed": "wykonał zadanie", + "staff": "Administratorzy instancji", + "verified_developer": "Zweryfikowany programista" + }, + "bio": "O mnie:", + "blankMessage": "Pusta wiadomość", + "bot": "BOT", + "botGuilds": "Gildie, w których bot się znajduje:", + "botSettings": "Ustawienia botów", "channel": { - "creating": "Tworzenie kanału", - "name": "Kanał", + "announcement": "Ogłoszeniowy", "copyId": "Kopiuj identyfikator kanału", - "markRead": "Oznacz jako przeczytane", - "settings": "Ustawienia", + "createCatagory": "Utwórz kategorię", + "createChannel": "Utwórz kanał", + "creating": "Tworzenie kanału", "delete": "Usuń kanał", "makeInvite": "Zaproś", - "settingsFor": "Ustawienia dla $1", - "voice": "Głosowy", - "text": "Tekstowy", - "announcement": "Ogłoszeniowy", + "markRead": "Oznacz jako przeczytane", + "name": "Kanał", "name:": "Nazwa:", - "topic:": "Temat:", "nsfw:": "NSFW:", - "selectType": "Wybierz typ kanału", - "selectName": "Nazwa kanału", + "permissions": "Uprawnienia", "selectCatName": "Nazwa kategorii", - "createChannel": "Utwórz kanał", - "createCatagory": "Utwórz kategorię", - "permissions": "Uprawnienia" + "selectName": "Nazwa kanału", + "selectType": "Wybierz typ kanału", + "settings": "Ustawienia", + "settingsFor": "Ustawienia dla $1", + "text": "Tekstowy", + "topic:": "Temat:", + "voice": "Głosowy" }, + "clientDesc": "Wersja klienta: $1\n\n[Dołącz do oficjalnej gildii Fermi]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Pomóż w tłumaczeniu Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc)\n\n[Pomóż w tworzeniu Fermi](https://github.com/MathMan05/Fermi)\n\n[Pomóż w utrzymaniu serwera, na którym opiera się Fermi](https://github.com/spacebarchat/server)\n\nObliczone uprawnienia: $3", + "confirmGuildLeave": "Czy na pewno chcesz opuścić $1", + "copymessageid": "Kopiuj identyfikator wiadomości", + "copyrawtext": "Kopiuj surowy tekst", "delete": "Usuń", - "webhooks": { - "createdAt": "Utworzono: $1", - "name": "Nazwa:", - "token": "Token webhooka: `$1`", - "url": "Adres URL webhooka: `$1`", - "avatar": "Awatar", - "createdBy": "Utworzony przez:", - "notFound": "Użytkownik nie jest już w gildii", - "channel": "Kanał", - "copyURL": "Kopiuj adres URL webhooka", - "newWebHook": "Nowy webhook", - "EnterWebhookName": "Wprowadź nazwę webhooka", - "base": "Webhooki", - "sillyDefaults": "Captain Hook\nBillie Hooks\nSpidey bot", - "type1": "Nadchodzące", - "type2": "Obserwujący kanał", - "type3": "Aplikacja", - "type": "Typ: $1", - "deleteWebhook": "Usuń webhook", - "areYouSureDelete": "Czy na pewno chcesz usunąć $1?" + "deleteConfirm": "Czy na pewno chcesz to usunąć?", + "edit": "Edytuj", + "emoji": { + "confirmDel": "Czy na pewno chcesz usunąć tę emoji?", + "image:": "Zdjęcie:", + "name:": "Nazwa:", + "title": "Emoji", + "upload": "Wrzuć emoji" }, - "switchAccounts": "Przełącz konta ⇌", - "accountNotStart": "Nie można uruchomić konta", - "home": { - "uptimeStats": "Czas działania:\n Cały czas: $1%\nW tym tygodniu: $2%\nDzisiaj: $3%", - "warnOffiline": "Instancja jest offline, nie można się połączyć", - "icon": "Ikona instancji $1" + "errorReconnect": "Nie można połączyć się z serwerem, ponowna próba za **$1** sekund...", + "form": { + "captcha": "Poczekaj, czy jesteś człowiekiem?" }, - "htmlPages": { - "idpermissions": "Umożliwi to botowi:", - "addBot": "Dodaj do serwera", - "loadingText": "Fermi się ładuje", - "loaddesc": "To nie powinno zająć dużo czasu", - "switchaccounts": "Przełącz konta", - "instanceField": "Instancja:", - "emailField": "Adres e-mail:", - "pwField": "Hasło:", - "loginButton": "Zaloguj się", - "noAccount": "Nie masz konta?", - "userField": "Nazwa użytkownika:", - "pw2Field": "Wprowadź hasło ponownie:", - "dobField": "Data urodzenia:", - "createAccount": "Utwórz konto", - "alreadyHave": "Posiadasz już konto?", - "openClient": "Otwórz klient", - "welcomeJank": "Witaj w Fermi", - "box1title": "Fermi to klient kompatybilny z Spacebar, który stara się być tak dobry, jak to tylko możliwe, oferując wiele funkcji, w tym:", - "box1Items": "Wiadomości|Obsługa reakcji|Zaproszenia|Zmiana kont|Ustawienia użytkownika|Portal programisty|Zaproszenia botów|Obsługa tłumaczeń", - "compatableInstances": "Instancje kompatybilne z Spacebarem:", - "box3title": "Współtwórz Fermi", - "box3description": "Zawsze doceniamy pomoc, niezależnie czy jest ona w postaci zgłoszeń błędów, kodu, czy nawet wskazania literówek.", - "trans": "Przetłumacz", - "transTitle": "Przetłumacz Fermi", - "transDesc": "Możesz pomóc w tłumaczeniu Fermi na swój język!" - }, - "form": { - "captcha": "Poczekaj, czy jesteś człowiekiem?" - }, - "useTemplate": "Użyj $1 jako szablonu", - "useTemplateButton": "Użyj szablonu", - "register": { - "register": "Zarejestruj się", - "passwordError:": "Hasło: $1", - "usernameError": "Nazwa użytkownika: $1", - "emailError": "E-mail: $1", - "DOBError": "Data urodzenia: $1", - "agreeTOS": "Zgadzam się z [Warunkami korzystania z usługi]($1):", - "noTOS": "Ta instancja nie posiada warunków korzystania z usługi, zaakceptuj je mimo tego:", - "tos": "Musisz zaakceptować Warunki korzystania z usługi" + "friends": { + "addfriend": "Dodaj znajomego", + "addfriendpromt": "Dodaj znajomego za pomocą nazwy użytkownika:", + "all": "Wszyscy", + "all:": "Wszyscy znajomi:", + "blocked": "Zablokowani", + "blockedusers": "Zablokowani użytkownicy:", + "discnotfound": "Dyskryminator nie został znaleziony", + "friendlist": "Lista znajomych", + "friends": "Znajomi", + "notfound": "Użytkownik nie został znaleziony", + "online": "Dostępni", + "online:": "Dostępni znajomi:", + "pending": "Oczekujące", + "pending:": "Oczekujące zaproszenia do znajomych:", + "removeFriend": "Usuń znajomego" }, - "leaving": "Opuszczasz Spacebar", - "goingToURL": "Przechodzisz do $1. Czy na pewno chcesz tam przejść?", "goThere": "Przejdź tam", "goThereTrust": "Przejdź tam i zaufaj w przyszłości", - "nevermind": "Nieważne", - "submit": "Wyślij", - "edit": "Edytuj", + "goingToURL": "Przechodzisz do $1. Czy na pewno chcesz tam przejść?", "guild": { - "template": "Szablon:", - "viewTemplate": "Wyświetl szablon", - "createFromTemplate": "Gildia z szablonu", - "tempUseCount": "Szablon został użyty $1 {{PLURAL:$1|raz|razy}}", - "tempCreatedBy": "Szablon stworzony przez:", - "editingTemplate": "Edytowanie $1", - "createNewTemplate": "Utwórz nowy szablon", - "templates": "Szablony", - "templateName": "Nazwa szablonu:", - "templateDesc": "Opis szablonu:", - "templcateMetaDesc": "Szablon pozwala innym użytkownikom na użycie tej gildii jako podstawy dla własnych gildii. Skopiuje on kanały, role i ustawienia gildii, ale nie wiadomości, botów ani ikony gildii.", - "invites": "Zaproszenia", - "templateNameShort": "Nazwa szablonu musi mieć co najmniej 2 znaki", - "templateURL": "Adres URL szablonu: $1", - "bannedBy": "Zbanowany przez:", + "COMMUNITY": "Prośba o dołączenie", + "DISCOVERABLE": "Odkryciem", + "INVITES_DISABLED": "Tylko z zaproszeniem", + "all": "wszystkie", "banReason": "Powód bana: $1", + "bannedBy": "Zbanowany przez:", + "banner:": "Baner:", "bans": "Bany", - "ruleId": "Kanał z zasadami:", + "boostMessage?": "Wyślij wiadomość, gdy ktoś wzmocni Twoją gildię!", "community": "Społeczność", - "creating": "Tworzenie gildii", + "confirmDelete": "Czy na pewno chcesz usunąć $1?", + "confirmLeave": "Czy na pewno chcesz wyjść?", "copyId": "Kopiuj identyfikator gildii", - "markRead": "Oznacz jako przeczytane", - "notifications": "Powiadomienia", - "leave": "Opuść gildię", - "settings": "Ustawienia", + "create": "Utwórz gildię", + "createFromTemplate": "Gildia z szablonu", + "createNewTemplate": "Utwórz nowy szablon", + "creating": "Tworzenie gildii", + "default": "Domyślnie ($1)", + "defaultNoti": "Ustaw domyślne ustawienia powiadomień dla swojej gildii!", "delete": "Usuń gildię", + "description:": "Opis:", + "disoveryTitle": "Odkrywanie gildii ($1 {{PLURAL:$1|gildia|gildie|gildii}})", + "editingTemplate": "Edytowanie $1", + "emptytext": "Jesteś w dziwnym miejscu, ta gildia nie ma kanałów", + "emptytitle": "Dziwne miejsce", + "helpTips?": "Wyślij pomocne wskazówki dla swojej gildii!", + "howJoin": "W jaki sposób ludzie mogą dołączyć do twojej gildii?", + "icon:": "Ikona:", + "invites": "Zaproszenia", + "leave": "Opuść gildię", + "loadingDiscovery": "Ładowanie...", "makeInvite": "Zaproś", - "settingsFor": "Ustawienia dla $1", + "markRead": "Oznacz jako przeczytane", "name:": "Nazwa:", - "topic:": "Temat:", - "icon:": "Ikona:", + "noDelete": "Nieważne", + "noLeave": "Nieważne", + "none": "brak", + "notifications": "Powiadomienia", + "onlyMentions": "tylko wzmianki", "overview": "Przegląd", - "banner:": "Baner:", "region:": "Region:", "roles": "Role", + "ruleId": "Kanał z zasadami:", "selectnoti": "Wybierz typ powiadomień", - "all": "wszystkie", - "onlyMentions": "tylko wzmianki", - "none": "brak", - "confirmLeave": "Czy na pewno chcesz wyjść?", - "yesLeave": "Tak, jestem pewien", - "noLeave": "Nieważne", - "confirmDelete": "Czy na pewno chcesz usunąć $1?", - "serverName": "Nazwa serwera:", - "yesDelete": "Tak, jestem pewien", - "noDelete": "Nieważne", - "create": "Utwórz gildię", - "loadingDiscovery": "Ładowanie...", - "disoveryTitle": "Odkrywanie gildii ($1 {{PLURAL:$1|gildia|gildie|gildii}})", - "emptytitle": "Dziwne miejsce", - "emptytext": "Jesteś w dziwnym miejscu, ta gildia nie ma kanałów", - "default": "Domyślnie ($1)", - "description:": "Opis:", - "systemSelect:": "Kanał wiadomości systemowych:", "sendrandomwelcome?": "Wyślij losową wiadomość, gdy ktoś dołączy do tej gildii", + "serverName": "Nazwa serwera:", + "settings": "Ustawienia", + "settingsFor": "Ustawienia dla $1", "stickWelcomeReact?": "Zachęć członków swojej gildii do zareagowania naklejką, gdy ktoś dołączy!", - "boostMessage?": "Wyślij wiadomość, gdy ktoś wzmocni Twoją gildię!", - "helpTips?": "Wyślij pomocne wskazówki dla swojej gildii!", - "defaultNoti": "Ustaw domyślne ustawienia powiadomień dla swojej gildii!", - "howJoin": "W jaki sposób ludzie mogą dołączyć do twojej gildii?", - "COMMUNITY": "Prośba o dołączenie", - "INVITES_DISABLED": "Tylko z zaproszeniem", - "DISCOVERABLE": "Odkryciem" + "systemSelect:": "Kanał wiadomości systemowych:", + "tempCreatedBy": "Szablon stworzony przez:", + "tempUseCount": "Szablon został użyty $1 {{PLURAL:$1|raz|razy}}", + "template": "Szablon:", + "templateDesc": "Opis szablonu:", + "templateName": "Nazwa szablonu:", + "templateNameShort": "Nazwa szablonu musi mieć co najmniej 2 znaki", + "templateURL": "Adres URL szablonu: $1", + "templates": "Szablony", + "templcateMetaDesc": "Szablon pozwala innym użytkownikom na użycie tej gildii jako podstawy dla własnych gildii. Skopiuje on kanały, role i ustawienia gildii, ale nie wiadomości, botów ani ikony gildii.", + "topic:": "Temat:", + "viewTemplate": "Wyświetl szablon", + "yesDelete": "Tak, jestem pewien", + "yesLeave": "Tak, jestem pewien" }, - "welcomeMessages": "Welcome $1! Nice to see ya!\nHello, nice to meat you $1!\nWelcome, hope you brought pizza $1!", - "role": { - "displaySettings": "Ustawienia wyświetlania", - "name": "Nazwa roli:", - "hoisted": "Wyświetlana osobno", - "mentionable": "Zezwól wszystkim na wzmiankę tej roli:", - "color": "Kolor", - "remove": "Zabierz rolę", - "delete": "Usuń rolę", - "confirmDelete": "Czy na pewno chcesz usunąć $1?", - "roleEmoji": "Emoji roli:", - "roleFileIcon": "Ikona roli:" + "hideBlockedMessages": "Zablokowany użytkownik, kliknij, aby ukryć wiadomości.", + "home": { + "icon": "Ikona instancji $1", + "uptimeStats": "Czas działania:\n Cały czas: $1%\nW tym tygodniu: $2%\nDzisiaj: $3%", + "warnOffiline": "Instancja jest offline, nie można się połączyć" }, - "settings": { - "unsaved": "Uważaj, masz niezapisane zmiany", - "save": "Zapisz zmiany", - "img": "Wrzuć zdjęcie", - "clear": "Wyczyść" + "htmlPages": { + "addBot": "Dodaj do serwera", + "alreadyHave": "Posiadasz już konto?", + "box1Items": "Wiadomości|Obsługa reakcji|Zaproszenia|Zmiana kont|Ustawienia użytkownika|Portal programisty|Zaproszenia botów|Obsługa tłumaczeń", + "box1title": "Fermi to klient kompatybilny z Spacebar, który stara się być tak dobry, jak to tylko możliwe, oferując wiele funkcji, w tym:", + "box3description": "Zawsze doceniamy pomoc, niezależnie czy jest ona w postaci zgłoszeń błędów, kodu, czy nawet wskazania literówek.", + "box3title": "Współtwórz Fermi", + "compatableInstances": "Instancje kompatybilne z Spacebarem:", + "createAccount": "Utwórz konto", + "dobField": "Data urodzenia:", + "emailField": "Adres e-mail:", + "idpermissions": "Umożliwi to botowi:", + "instanceField": "Instancja:", + "loaddesc": "To nie powinno zająć dużo czasu", + "loadingText": "Fermi się ładuje", + "loginButton": "Zaloguj się", + "noAccount": "Nie masz konta?", + "openClient": "Otwórz klient", + "pw2Field": "Wprowadź hasło ponownie:", + "pwField": "Hasło:", + "switchaccounts": "Przełącz konta", + "trans": "Przetłumacz", + "transDesc": "Możesz pomóc w tłumaczeniu Fermi na swój język!", + "transTitle": "Przetłumacz Fermi", + "userField": "Nazwa użytkownika:", + "welcomeJank": "Witaj w Fermi" }, - "trace": { - "totalTime": "$2: $1ms", - "traces": "$1 ($2ms) $3" + "incorrectURLS": "## Ta instancja prawdopodobnie wysłała niepoprawne adresy URL.\n### Jeśli jesteś właścicielem instancji proszę zapoznaj się z [tym](https://docs.spacebar.chat/setup/server/) pod *Connecting from remote machines* aby rozwiązać problem.\n Czy chcesz aby Fermi automatycznie spróbował naprawić ten błąd, aby umożliwić Ci połączenie się z instancją?", + "instInfo": "Informacje o instancji", + "instanceStats": { + "members": "Członkowie: $1", + "messages": "Wiadomości: $1", + "name": "Statystyki instancji: $1", + "servers": "Serwery: $1", + "users": "Zarejestrowani użytkownicy: $1" }, + "invite": { + "accept": "Akceptuj", + "alreadyJoined": "Już dołączyłeś", + "channel:": "Kanał:", + "createInvite": "Stwórz zaproszenie", + "createdAt": "Utworzono w $1", + "expireAfter": "Wygaśnięcie po:", + "expires": "Wygasa: $1", + "forChannel": "Dla kanału: $1", + "inviteLinkCode": "Link/kod zaproszenia", + "inviteMaker": "Twórca zaproszeń", + "invitedBy": "Zostałeś zaproszony przez $1", + "joinUsing": "Dołącz za pomocą zaproszenia", + "loginOrCreateAccount": "Zaloguj się lub stwórz nowe konto ⇌", + "longInvitedBy": "$1 zaprosił cię do dołączenia do $2", + "maxUses": "Maksymalna liczba użyć: $1", + "never": "Nigdy", + "noAccount": "Utwórz konto, aby przyjąć zaproszenie", + "subtext": "do $1 w $2", + "used": "Użyte $1 {{PLURAL:$1|raz|razy}}" + }, + "inviteOptions": { + "12h": "12 godzin", + "1d": "1 dzień", + "1h": "1 godzina", + "30d": "30 dni", + "30m": "30 minut", + "6h": "6 godzin", + "7d": "7 dni", + "limit": "$1 {{PLURAL:$1|użycie|użycia|użyć}}", + "never": "Nigdy", + "noLimit": "Bez limitu", + "title": "Zaproś ludzi" + }, + "jankInfo": "Informacje o kliencie", + "leaveGuild": "Opuść Gildię", + "leaving": "Opuszczasz Spacebar", "localuser": { - "trace": "Ślady", - "install": "Instaluj", - "installJank": "Zainstaluj Fermi", - "installDesc": "Zainstalowanie Fermi pozwoli ci na otworzenie go w jego własnym oknie oraz będzie on działać jak osobna aplikacja! Możesz też po prostu korzystać z Fermi w przeglądarce, tak jak dotychczas, i będzie działać tak samo.", - "addStatus": "Dodaj status", - "status": "Status", - "customStatusWarn": "W tej chwili Spacebar nie obsługuje wyświetlania niestandardowych statusów, więc choć go zaakceptuje, nic z nim nie zrobi", - "settings": "Ustawienia", - "userSettings": "Ustawienia użytkownika", - "themesAndSounds": "Motywy i dźwięki", - "theme:": "Motyw", - "notisound": "Dźwięk powiadomienia:", - "customSound": "Dźwięk niestandardowy", - "soundTooLarge": "Dźwięk, który próbowałeś przesłać, był za duży, spróbuj ponownie", - "accentColor": "Kolor akcentowy:", - "VoiceWarning": "Czy na pewno chcesz to włączyć? Ta funkcja jest bardzo eksperymentalna i może spowodować problemy. (ta funkcja jest przeznaczona dla programistów, nie włączaj jej, jeśli nie wiesz, co robisz)", - "updateSettings": "Ustawienia aktualizacji", - "swSettings": "Ustawienia Service Workera", - "SWOff": "Wyłączony", - "SWOffline": "Tylko offline", - "SWOn": "Włączony", - "clearCache": "Wyczyść pamięć podręczną", + "2faCode:": "Kod:", + "2faCodeGive": "Twój sekret to: $1, ma 6 cyfr i jest ważny przez 30 sekund", + "2faDisable": "Wyłącz 2FA", + "2faEnable": "Włącz 2FA", "CheckUpdate": "Sprawdź aktualizacje", + "PasswordsNoMatch": "Hasła nie są identyczne", + "TOSURL": "Adres URL Warunków korzystania z usługi:", + "VoiceWarning": "Czy na pewno chcesz to włączyć? Ta funkcja jest bardzo eksperymentalna i może spowodować problemy. (ta funkcja jest przeznaczona dla programistów, nie włączaj jej, jeśli nie wiesz, co robisz)", + "accentColor": "Kolor akcentowy:", "accountSettings": "Ustawienia konta", - "2faDisable": "Wyłącz 2FA", + "addBot": "Dodaj bota", + "addStatus": "Dodaj status", + "advancedBot": "Zaawansowane ustawienia bota", + "appName": "Nazwa aplikacji:", + "areYouSureDelete": "Czy na pewno chcesz usunąć konto? Jeżeli tak, wprowadź frazę $1", "badCode": "Nieprawidłowy kod", - "2faEnable": "Włącz 2FA", - "2faCode:": "Kod:", - "setUp2fa": "Konfiguracja 2FA", "badPassword": "Nieprawidłowe hasło", - "setUp2faInstruction": "Skopiuj ten sekret do swojej aplikacji TOTP (time-based one time password)", - "2faCodeGive": "Twój sekret to: $1, ma 6 cyfr i jest ważny przez 30 sekund", + "botAvatar": "Awatar bota:", + "botInviteCreate": "Twórca zaproszeń bota", + "botUsername": "Nazwa użytkownika bota:", "changeDiscriminator": "Zmiana dyskryminatora", - "newDiscriminator": "Nowy dyskryminator:", "changeEmail": "Zmień e-mail", - "password:": "Hasło", - "newEmail:": "Nowy e-mail", - "changeUsername": "Zmiana nazwy użytkownika", - "newUsername": "Nowa nazwa użytkownika:", "changePassword": "Zmień hasło", - "oldPassword:": "Stare hasło:", - "newPassword:": "Nowe hasło:", - "PasswordsNoMatch": "Hasła nie są identyczne", - "disableConnection": "To połączenie zostało wyłączone po stronie serwera", - "devPortal": "Portal programistów", + "changeUsername": "Zmiana nazwy użytkownika", + "clearCache": "Wyczyść pamięć podręczną", + "confirmAddBot": "Czy na pewno chcesz dodać bota do tej aplikacji? Tego nie da się cofnąć.", + "confirmReset": "Czy na pewno chcesz zresetować token bota? Twój bot przestanie działać, dopóki go nie zaktualizujesz.", + "confuseNoBot": "Z jakiegoś powodu ta aplikacja nie ma bota (jeszcze).", + "connections": "Połączenia", "createApp": "Utwórz aplikację", - "team:": "Zespół:", - "appName": "Nazwa aplikacji:", + "customSound": "Dźwięk niestandardowy", + "customStatusWarn": "W tej chwili Spacebar nie obsługuje wyświetlania niestandardowych statusów, więc choć go zaakceptuje, nic z nim nie zrobi", + "deleteAccount": "Usunięcie konta", + "deleteAccountButton": "Usuń konto", "description": "Opis:", + "devPortal": "Portal programistów", + "disableConnection": "To połączenie zostało wyłączone po stronie serwera", + "editingBot": "Edytowanie bota $1", + "install": "Instaluj", + "installDesc": "Zainstalowanie Fermi pozwoli ci na otworzenie go w jego własnym oknie oraz będzie on działać jak osobna aplikacja! Możesz też po prostu korzystać z Fermi w przeglądarce, tak jak dotychczas, i będzie działać tak samo.", + "installJank": "Zainstaluj Fermi", + "language": "Język:", + "manageBot": "Zarządzaj botem", + "manageInstance": "Zarządzanie instancją", + "mustTypePhrase": "Aby usunąć konto musisz wpisać frazę", + "newDiscriminator": "Nowy dyskryminator:", + "newEmail:": "Nowy e-mail", + "newPassword:": "Nowe hasło:", + "newUsername": "Nowa nazwa użytkownika:", + "noToken": "Nie znam tokenu więc nie mogę go zapisać do localStorage, przepraszam", + "notisound": "Dźwięk powiadomienia:", + "oldPassword:": "Stare hasło:", + "password:": "Hasło", "privacyPolcyURL": "URL polityki prywatności:", - "TOSURL": "Adres URL Warunków korzystania z usługi:", "publicAvaliable": "Czy bot może być publicznie zapraszany?", "requireCode": "Czy zaproszenie bota wymaga przyznania kodu?", - "manageBot": "Zarządzaj botem", - "addBot": "Dodaj bota", - "confirmAddBot": "Czy na pewno chcesz dodać bota do tej aplikacji? Tego nie da się cofnąć.", - "confuseNoBot": "Z jakiegoś powodu ta aplikacja nie ma bota (jeszcze).", - "editingBot": "Edytowanie bota $1", - "botUsername": "Nazwa użytkownika bota:", - "botAvatar": "Awatar bota:", "resetToken": "Resetuj token", - "confirmReset": "Czy na pewno chcesz zresetować token bota? Twój bot przestanie działać, dopóki go nie zaktualizujesz.", - "tokenDisplay": "Token: $1", "saveToken": "Zapisz token do localStorage", - "noToken": "Nie znam tokenu więc nie mogę go zapisać do localStorage, przepraszam", - "advancedBot": "Zaawansowane ustawienia bota", - "botInviteCreate": "Twórca zaproszeń bota", - "language": "Język:", - "connections": "Połączenia", - "deleteAccount": "Usunięcie konta", - "areYouSureDelete": "Czy na pewno chcesz usunąć konto? Jeżeli tak, wprowadź frazę $1", + "setUp2fa": "Konfiguracja 2FA", + "setUp2faInstruction": "Skopiuj ten sekret do swojej aplikacji TOTP (time-based one time password)", + "settings": "Ustawienia", "sillyDeleteConfirmPhrase": "Shrek to milosc, Shrek to zycie", - "deleteAccountButton": "Usuń konto", - "mustTypePhrase": "Aby usunąć konto musisz wpisać frazę", - "manageInstance": "Zarządzanie instancją" + "soundTooLarge": "Dźwięk, który próbowałeś przesłać, był za duży, spróbuj ponownie", + "status": "Status", + "team:": "Zespół:", + "theme:": "Motyw", + "themesAndSounds": "Motywy i dźwięki", + "tokenDisplay": "Token: $1", + "trace": "Ślady", + "updateSettings": "Ustawienia aktualizacji", + "userSettings": "Ustawienia użytkownika" + }, + "login": { + "allGood": "Wszystko w porządku", + "checking": "Sprawdzanie instancji", + "enterPAgain": "Wprowadź ponownie nowe hasło:", + "invalid": "Nieprawidłowa instancja, spróbuj ponownie", + "login": "Zaloguj się", + "newPassword": "Nowe hasło:", + "pasteInfo": "Wklej adres URL odzyskiwania tutaj:", + "recover": "Nie pamiętasz hasła?", + "recovery": "Zapomniane hasło", + "waiting": "Czekanie aby sprawdzić instancję" + }, + "manageInstance": { + "AreYouSureStop": "Czy na pewno chcesz zatrzymać instancję?", + "TokenFormats": { + "JSON": "W formie JSON", + "URLs": "Adresy URL zaproszeń", + "plain": "Zwykły tekst" + }, + "clientURL": "URL klienta:", + "copy": "Kopiuj", + "count": "Ilość:", + "create": "Utwórz", + "createTokens": "Stwórz tokeny rejestracyjne", + "format": "Format:", + "genericType": "Ogólny", + "length": "Długość:", + "regType": "Typ adresu URL tokenu rejestracyjnego", + "stop": "Zatrzymaj instancję" + }, + "media": { + "artist": "Artysta: $1", + "composer": "Kompozytor: $1", + "download": "Pobierz multimedia", + "length": "Długość: $1 minut i $2 sekund", + "loading": "Ładowanie", + "moreInfo": "Więcej informacji", + "notFound": "Nie znaleziono multimediów" + }, + "member": { + "ban": "Zbanuj $1 z $2", + "kick": "Wyrzuć $1 z $2", + "nick:": "Pseudonim:", + "reason:": "Powód:" + }, + "message": { + "attached": "Wysłano załącznik", + "delete": "Usuń wiadomość", + "deleted": "Usunięta wiadomość", + "edit": "Edytuj wiadomość", + "edited": "(edytowane)", + "pin": "$1 przypiął wiadomość", + "reactionAdd": "Dodaj reakcję", + "retry": "Wyślij ponownie błędną wiadomość" + }, + "nevermind": "Nieważne", + "no": "Nie", + "noMessages": "Wygląda na to, że nie ma tu żadnych wiadomości, bądź pierwszy, który coś powie!", + "noPins": "Wygląda na to, że jeszcze nic tu nie ma...", + "otherAt": "$1 o $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Pozwala użytkownikowi na dodawanie reakcji do wiadomości", + "ADMINISTRATOR": "Nadaje wszystkie uprawnienia i pomija ograniczenia kanałów. Nadanie tego uprawnienia może być ryzykowne!", + "ATTACH_FILES": "Pozwala użytkownikowi na załączanie plików", + "BAN_MEMBERS": "Pozwala użytkownikowi banować członków z gildii", + "CHANGE_NICKNAME": "Pozwala użytkownikowi na zmianę własnego pseudonimu", + "CONNECT": "Pozwala użytkownikowi na połączenie się z kanałem głosowym", + "CREATE_EVENTS": "Pozwala na tworzenie zaplanowanych wydarzeń oraz edycję i usuwanie tych utworzonych przez użytkownika.", + "CREATE_GUILD_EXPRESSIONS": "Pozwala na tworzenie emoji, naklejek i dźwięków oraz edytowanie i usuwanie tych utworzonych przez użytkownika.", + "CREATE_INSTANT_INVITE": "Pozwala użytkownikowi tworzyć zaproszenia do gildii", + "CREATE_PRIVATE_THREADS": "Pozwala użytkownikowi na tworzenie prywatnych wątków", + "CREATE_PUBLIC_THREADS": "Pozwala użytkownikowi na tworzenie publicznych wątków", + "DEAFEN_MEMBERS": "Pozwala użytkownikowi ogłuszać innych członków", + "EMBED_LINKS": "Pozwala na wyświetlanie osadzonej zawartości z linków wysyłanych przez tego użytkownika", + "KICK_MEMBERS": "Pozwala użytkownikowi wyrzucać członków z gildii", + "MANAGE_CHANNELS": "Pozwala użytkownikowi na zarządzanie i edytowanie kanałów", + "MANAGE_EVENTS": "Pozwala użytkownikowi na zarządzanie i edytowanie wydarzeniami", + "MANAGE_GUILD": "Pozwala na zarządzanie i edytowanie ustawień gildii", + "MANAGE_GUILD_EXPRESSIONS": "Pozwala na zarządzanie emoji, naklejkami i dźwiękami", + "MANAGE_MESSAGES": "Pozwala użytkownikowi na usuwanie cudzych wiadomości", + "MANAGE_NICKNAMES": "Pozwala użytkownikowi na zmianę pseudonimów innych członków", + "MANAGE_ROLES": "Pozwala użytkownikowi na edytowanie i zarządzanie rolami", + "MANAGE_THREADS": "Pozwala użytkownikowi na usuwanie i archiwizowanie wątków oraz przeglądanie wszystkich prywatnych wątków", + "MANAGE_WEBHOOKS": "Pozwala na zarządzanie i edytowanie webhooków", + "MENTION_EVERYONE": "Pozwala użytkownikowi na wspomnienie wszystkich", + "MODERATE_MEMBERS": "Pozwala użytkownikowi wyciszać innych użytkowników czasowo, aby uniemożliwić im wysyłanie wiadomości, reagowanie na nie oraz mówienie w kanałach głosowych i scenicznych", + "MOVE_MEMBERS": "Pozwala użytkownikowi na przenoszenie członków pomiędzy kanałami głosowymi", + "MUTE_MEMBERS": "Pozwala użytkownikowi wyciszać innych członków", + "PRIORITY_SPEAKER": "Pozwala na korzystanie z funkcji priorytetowego rozmówcy w kanale głosowym", + "READ_MESSAGE_HISTORY": "Pozwala użytkownikowi na czytanie historii wiadomości", + "REQUEST_TO_SPEAK": "Pozwala użytkownikowi poprosić o głos w kanale scenicznym", + "SEND_MESSAGES": "Pozwala użytkownikowi wysyłać wiadomości", + "SEND_MESSAGES_IN_THREADS": "Pozwala użytkownikowi na wysyłanie wiadomości w wątkach", + "SEND_POLLS": "Pozwala na wysyłanie ankiet", + "SEND_TTS_MESSAGES": "Pozwala użytkownikowi wysyłać wiadomości text-to-speech (tekst na mowę)", + "SEND_VOICE_MESSAGES": "Pozwala na wysyłanie wiadomości głosowych", + "SPEAK": "Pozwala użytkownikowi mówić w kanale głosowym", + "STREAM": "Pozwala użytkownikowi na streamowanie", + "USE_APPLICATION_COMMANDS": "Pozwala użytkownikowi na korzystanie z poleceń aplikacji", + "USE_EMBEDDED_ACTIVITIES": "Pozwala użytkownikowi na korzystanie z wbudowanych aktywności", + "USE_EXTERNAL_APPS": "Pozwala aplikacjom zainstalowanym przez użytkownika na wysyłanie publicznych odpowiedzi. Po wyłączeniu tej opcji użytkownicy nadal będą mogli korzystać ze swoich aplikacji, ale odpowiedzi będa prywatne. Dotyczy to tylko aplikacji które nie są również zainstalowane na serwerze.", + "USE_EXTERNAL_EMOJIS": "Pozwala użytkownikowi na używanie zewnętrznych emoji", + "USE_EXTERNAL_SOUNDS": "Pozwala na korzystanie z dźwięków z innych serwerów", + "USE_EXTERNAL_STICKERS": "Pozwala użytkownikowi na korzystanie z zewnętrznych naklejek", + "USE_SOUNDBOARD": "Pozwala na korzystanie z dźwięków w kanale głosowym", + "USE_VAD": "Pozwala użytkownikowi na mówienie w kanale głosowym bez konieczności korzystania z funkcji Naciśnij i Mów", + "VIEW_AUDIT_LOG": "Pozwala użytkownikowi na przeglądanie rejestru zmian", + "VIEW_CHANNEL": "Pozwala użytkownikowi wyświetlać kanał", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Pozwala na wyświetlanie statystyk subskrypcji ról", + "VIEW_GUILD_INSIGHTS": "Pozwala użytkownikowi przeglądać statystyki gildii" + }, + "readableNames": { + "ADD_REACTIONS": "Dodawanie reakcji", + "ADMINISTRATOR": "Administrator", + "ATTACH_FILES": "Załączanie plików", + "BAN_MEMBERS": "Banowanie członków", + "CHANGE_NICKNAME": "Zmiana pseudonimu", + "CONNECT": "Połącz", + "CREATE_EVENTS": "Tworzenie wydarzeń", + "CREATE_GUILD_EXPRESSIONS": "Tworzenie wyrażeń", + "CREATE_INSTANT_INVITE": "Tworzenie zaproszeń", + "CREATE_PRIVATE_THREADS": "Tworzenie prywatnych wątków", + "CREATE_PUBLIC_THREADS": "Tworzenie publicznych wątków", + "DEAFEN_MEMBERS": "Ogłuszanie członków", + "EMBED_LINKS": "Wyświetlanie podglądu linków", + "KICK_MEMBERS": "Wyrzucanie członków", + "MANAGE_CHANNELS": "Zarządzanie kanałami", + "MANAGE_EVENTS": "Zarządzanie wydarzeniami", + "MANAGE_GUILD": "Zarządzanie gildią", + "MANAGE_GUILD_EXPRESSIONS": "Zarządzanie wyrażeniami", + "MANAGE_MESSAGES": "Zarządzanie wiadomościami", + "MANAGE_NICKNAMES": "Zarządzanie pseudonimami", + "MANAGE_ROLES": "Zarządzanie rolami", + "MANAGE_THREADS": "Zarządzanie wątkami", + "MANAGE_WEBHOOKS": "Zarządzanie webhookami", + "MENTION_EVERYONE": "Wspominanie @everyone, @here oraz wszystkich ról", + "MODERATE_MEMBERS": "Wyciszanie członków czasowo", + "MOVE_MEMBERS": "Przenoszenie członków", + "MUTE_MEMBERS": "Wyciszanie członków", + "PRIORITY_SPEAKER": "Priorytetowy rozmówca", + "READ_MESSAGE_HISTORY": "Czytanie historii wiadomości", + "REQUEST_TO_SPEAK": "Prośba o głos", + "SEND_MESSAGES": "Wysyłanie wiadomości", + "SEND_MESSAGES_IN_THREADS": "Wysyłanie wiadomości w wątkach", + "SEND_POLLS": "Tworzenie ankiet", + "SEND_TTS_MESSAGES": "Wysyłanie wiadomości text-to-speech", + "SEND_VOICE_MESSAGES": "Wysyłanie wiadomości głosowych", + "SPEAK": "Mówienie", + "STREAM": "Wideo", + "USE_APPLICATION_COMMANDS": "Używanie poleceń aplikacji", + "USE_EMBEDDED_ACTIVITIES": "Używanie aktywności", + "USE_EXTERNAL_APPS": "Używanie zewnętrznych aplikacji", + "USE_EXTERNAL_EMOJIS": "Używanie zewnętrznych emoji", + "USE_EXTERNAL_SOUNDS": "Używanie zewnętrznych dźwięków", + "USE_EXTERNAL_STICKERS": "Używanie zewnętrznych naklejek", + "USE_SOUNDBOARD": "Używanie dźwięków", + "USE_VAD": "Używanie Aktywności Głosowej", + "VIEW_AUDIT_LOG": "Wyświetlanie dziennika zdarzeń", + "VIEW_CHANNEL": "Wyświetlanie kanałów", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Wyświetlanie analityk monetyzacji twórcy", + "VIEW_GUILD_INSIGHTS": "Wyświetlanie statystyk gildii" + } + }, + "pinMessage": "Przypnij wiadomość", + "profileColor": "Kolor profilu", + "pronouns": "Zaimki:", + "readableName": "Polski", + "register": { + "DOBError": "Data urodzenia: $1", + "agreeTOS": "Zgadzam się z [Warunkami korzystania z usługi]($1):", + "emailError": "E-mail: $1", + "noTOS": "Ta instancja nie posiada warunków korzystania z usługi, zaakceptuj je mimo tego:", + "passwordError:": "Hasło: $1", + "register": "Zarejestruj się", + "tos": "Musisz zaakceptować Warunki korzystania z usługi", + "usernameError": "Nazwa użytkownika: $1" + }, + "reply": "Odpowiedz", + "replyingTo": "Odpowiadasz do $1", + "retrying": "Ponawianie próby...", + "role": { + "color": "Kolor", + "confirmDelete": "Czy na pewno chcesz usunąć $1?", + "delete": "Usuń rolę", + "displaySettings": "Ustawienia wyświetlania", + "hoisted": "Wyświetlana osobno", + "mentionable": "Zezwól wszystkim na wzmiankę tej roli:", + "name": "Nazwa roli:", + "remove": "Zabierz rolę", + "roleEmoji": "Emoji roli:", + "roleFileIcon": "Ikona roli:" }, "search": { "back": "Wstecz", - "next": "Dalej", - "page": "Strona $1", "new": "Nowy", + "next": "Dalej", + "nofind": "Wygląda na to, że nie ma wiadomości, które pasują do twojego wyszukiwania. Spróbuj je poszerzyć, aby znaleźć to, czego szukasz", "old": "Stary", - "search": "Szukaj", - "nofind": "Wygląda na to, że nie ma wiadomości, które pasują do twojego wyszukiwania. Spróbuj je poszerzyć, aby znaleźć to, czego szukasz" - }, - "manageInstance": { - "stop": "Zatrzymaj instancję", - "AreYouSureStop": "Czy na pewno chcesz zatrzymać instancję?", - "createTokens": "Stwórz tokeny rejestracyjne", - "count": "Ilość:", - "length": "Długość:", - "format": "Format:", - "TokenFormats": { - "plain": "Zwykły tekst", - "JSON": "W formie JSON", - "URLs": "Adresy URL zaproszeń" - }, - "create": "Utwórz", - "clientURL": "URL klienta:", - "regType": "Typ adresu URL tokenu rejestracyjnego", - "genericType": "Ogólny", - "copy": "Kopiuj" - }, - "unpinMessage": "Odepnij wiadomość", - "noPins": "Wygląda na to, że jeszcze nic tu nie ma...", - "message": { - "reactionAdd": "Dodaj reakcję", - "delete": "Usuń wiadomość", - "edit": "Edytuj wiadomość", - "edited": "(edytowane)", - "deleted": "Usunięta wiadomość", - "attached": "Wysłano załącznik", - "retry": "Wyślij ponownie błędną wiadomość", - "pin": "$1 przypiął wiadomość" - }, - "instanceStats": { - "name": "Statystyki instancji: $1", - "users": "Zarejestrowani użytkownicy: $1", - "servers": "Serwery: $1", - "messages": "Wiadomości: $1", - "members": "Członkowie: $1" - }, - "inviteOptions": { - "title": "Zaproś ludzi", - "30m": "30 minut", - "1h": "1 godzina", - "6h": "6 godzin", - "12h": "12 godzin", - "1d": "1 dzień", - "7d": "7 dni", - "30d": "30 dni", - "never": "Nigdy", - "limit": "$1 {{PLURAL:$1|użycie|użycia|użyć}}", - "noLimit": "Bez limitu" + "page": "Strona $1", + "search": "Szukaj" }, - "2faCode": "Kod 2FA:", - "invite": { - "invitedBy": "Zostałeś zaproszony przez $1", - "alreadyJoined": "Już dołączyłeś", - "accept": "Akceptuj", - "noAccount": "Utwórz konto, aby przyjąć zaproszenie", - "longInvitedBy": "$1 zaprosił cię do dołączenia do $2", - "loginOrCreateAccount": "Zaloguj się lub stwórz nowe konto ⇌", - "joinUsing": "Dołącz za pomocą zaproszenia", - "inviteLinkCode": "Link/kod zaproszenia", - "subtext": "do $1 w $2", - "expireAfter": "Wygaśnięcie po:", - "channel:": "Kanał:", - "inviteMaker": "Twórca zaproszeń", - "createInvite": "Stwórz zaproszenie", - "used": "Użyte $1 {{PLURAL:$1|raz|razy}}", - "forChannel": "Dla kanału: $1", - "createdAt": "Utworzono w $1", - "expires": "Wygasa: $1", - "never": "Nigdy", - "maxUses": "Maksymalna liczba użyć: $1" + "searchGifs": "Wyszukaj w Tenor", + "settings": { + "clear": "Wyczyść", + "img": "Wrzuć zdjęcie", + "save": "Zapisz zmiany", + "unsaved": "Uważaj, masz niezapisane zmiany", + "updates": { + "serviceWorkerMode": { + "disabled": "Wyłączony", + "enabled": "Włączony", + "offlineOnly": "Tylko offline", + "title": "Ustawienia Service Workera" + } + } }, - "friends": { - "blocked": "Zablokowani", - "blockedusers": "Zablokowani użytkownicy:", - "addfriend": "Dodaj znajomego", - "removeFriend": "Usuń znajomego", - "addfriendpromt": "Dodaj znajomego za pomocą nazwy użytkownika:", - "notfound": "Użytkownik nie został znaleziony", - "discnotfound": "Dyskryminator nie został znaleziony", - "pending": "Oczekujące", - "pending:": "Oczekujące zaproszenia do znajomych:", - "all": "Wszyscy", - "all:": "Wszyscy znajomi:", - "online": "Dostępni", - "online:": "Dostępni znajomi:", - "friendlist": "Lista znajomych", - "friends": "Znajomi" + "showBlockedMessages": "Zablokowany użytkownik, kliknij, aby zobaczyć $1 {{PLURAL:$1|zablokowaną wiadomość|zablokowane wiadomości|zablokowanych wiadomości}}.", + "spoiler": "Spoiler", + "sticker": { + "confirmDel": "Czy na pewno chcesz usunąć tą naklejkę?", + "del": "Usuń naklejkę", + "desc": "Opis", + "errEmjMust": "Do naklejki musi należeć emoji", + "errFileMust": "Naklejka musi zawierać zdjęcie", + "image": "Zdjęcie:", + "name": "Nazwa:", + "tags": "Powiązane emoji:", + "title": "Naklejki", + "upload": "Wrzuć naklejki" }, - "replyingTo": "Odpowiadasz do $1", - "DMs": { - "copyId": "Kopiuj identyfikator DM", - "markRead": "Oznacz jako przeczytane", - "close": "Zamknij prywatną wiadomość", - "name": "Prywatne Wiadomości" + "submit": "Wyślij", + "switchAccounts": "Przełącz konta ⇌", + "todayAt": "Dzisiaj o $1", + "trace": { + "totalTime": "$2: $1ms", + "traces": "$1 ($2ms) $3" }, + "typing": "$2 {{PLURAL:$1|pisze|piszą}}", + "unableToConnect": "Nie można połączyć się z serwerem Spacebar. Spróbuj się wylogować i zalogować ponownie.", + "unableToPin": "Nie można przypiąć wiadomości", + "unpinMessage": "Odepnij wiadomość", + "uploadBanner": "Zmień baner:", + "uploadFilesText": "Wrzuć swoje pliki tutaj!", + "uploadPfp": "Zmień awatar:", + "useTemplate": "Użyj $1 jako szablonu", + "useTemplateButton": "Użyj szablonu", "user": { + "addRole": "Dodaj role", + "ban": "Zbanuj członka", + "block": "Zablokuj użytkownika", + "confirmInstBan": "Czy na pewno chcesz zbanować $1 z instancji?", "copyId": "Kopiuj identyfikator użytkownika", - "online": "Dostępny", - "offline": "Niedostępny", - "invisible": "Niewidzialny", "dnd": "Nie przeszkadzaj", - "idle": "Bezczynny", - "message": "Napisz do użytkownika", - "block": "Zablokuj użytkownika", - "unblock": "Odblokuj użytkownika", + "editServerProfile": "Edytuj profil serwerowy", "friendReq": "Zaproszenie do znajomych", + "idle": "Bezczynny", + "instanceBan": "Ban instancji", + "invisible": "Niewidzialny", "kick": "Wyrzuć członka", - "ban": "Zbanuj członka", - "addRole": "Dodaj role", + "message": "Napisz do użytkownika", + "offline": "Niedostępny", + "online": "Dostępny", "removeRole": "Zabierz role", - "editServerProfile": "Edytuj profil serwerowy", - "instanceBan": "Ban instancji", - "confirmInstBan": "Czy na pewno chcesz zbanować $1 z instancji?", - "unban": "Odbanuj $1" - }, - "login": { - "checking": "Sprawdzanie instancji", - "allGood": "Wszystko w porządku", - "invalid": "Nieprawidłowa instancja, spróbuj ponownie", - "waiting": "Czekanie aby sprawdzić instancję", - "recover": "Nie pamiętasz hasła?", - "pasteInfo": "Wklej adres URL odzyskiwania tutaj:", - "newPassword": "Nowe hasło:", - "enterPAgain": "Wprowadź ponownie nowe hasło:", - "recovery": "Zapomniane hasło", - "login": "Zaloguj się" - }, - "member": { - "kick": "Wyrzuć $1 z $2", - "reason:": "Powód:", - "ban": "Zbanuj $1 z $2", - "nick:": "Pseudonim:" - }, - "badge": { - "staff": "Administratorzy instancji", - "partner": "Partner instancji", - "certified_moderator": "Moderator", - "hypesquad": "Rzecz chroniona prawem autorskim", - "hypesquad_house_1": "Bravery", - "hypesquad_house_2": "Brilliance", - "hypesquad_house_3": "Balance", - "bug_hunter_level_1": "Łowca błędów poziom 1", - "bug_hunter_level_2": "Łowca błędów poziom 2", - "active_developer": "Aktywny programista", - "verified_developer": "Zweryfikowany programista", - "early_supporter": "Wczesny wspierający", - "premium": "Premium", - "guild_booster_lvl1": "Wzmocniona gildia", - "guild_booster_lvl2": "Wzmocniona gildia", - "guild_booster_lvl3": "Wzmocniona gildia", - "guild_booster_lvl4": "Wzmocniona gildia", - "guild_booster_lvl5": "Wzmocniona gildia", - "guild_booster_lvl6": "Wzmocniona gildia", - "guild_booster_lvl7": "Wzmocniona gildia", - "guild_booster_lvl8": "Wzmocniona gildia", - "guild_booster_lvl9": "Wzmocniona gildia przez długi czas", - "bot_commands": "Wspiera polecenia", - "automod": "Używa automoda", - "application_guild_subscription": "Ma premium", - "legacy_username": "Ma starszą nazwę użytkownika", - "quest_completed": "wykonał zadanie" + "unban": "Odbanuj $1", + "unblock": "Odblokuj użytkownika" }, - "emoji": { - "title": "Emoji", - "upload": "Wrzuć emoji", - "image:": "Zdjęcie:", - "name:": "Nazwa:", - "confirmDel": "Czy na pewno chcesz usunąć tę emoji?" + "vc": { + "joinForStream": "Dołącz do kanału głosowego, aby oglądać", + "joiningStream": "Dołączanie do streamu...", + "joinstream": "Oglądaj stream", + "leavestream": "Opuść stream", + "stopstream": "Zatrzymaj stream" }, - "sticker": { - "title": "Naklejki", - "upload": "Wrzuć naklejki", - "image": "Zdjęcie:", + "webhook": "WEBHOOK", + "webhooks": { + "EnterWebhookName": "Wprowadź nazwę webhooka", + "areYouSureDelete": "Czy na pewno chcesz usunąć $1?", + "avatar": "Awatar", + "base": "Webhooki", + "channel": "Kanał", + "copyURL": "Kopiuj adres URL webhooka", + "createdAt": "Utworzono: $1", + "createdBy": "Utworzony przez:", + "deleteWebhook": "Usuń webhook", "name": "Nazwa:", - "desc": "Opis", - "confirmDel": "Czy na pewno chcesz usunąć tą naklejkę?", - "del": "Usuń naklejkę", - "errFileMust": "Naklejka musi zawierać zdjęcie", - "errEmjMust": "Do naklejki musi należeć emoji", - "tags": "Powiązane emoji:" + "newWebHook": "Nowy webhook", + "notFound": "Użytkownik nie jest już w gildii", + "sillyDefaults": "Captain Hook\nBillie Hooks\nSpidey bot", + "token": "Token webhooka: `$1`", + "type": "Typ: $1", + "type1": "Nadchodzące", + "type2": "Obserwujący kanał", + "type3": "Aplikacja", + "url": "Adres URL webhooka: `$1`" }, + "welcomeMessages": "Welcome $1! Nice to see ya!\nHello, nice to meat you $1!\nWelcome, hope you brought pizza $1!", "widget": "Widżet gildii", "widgetEnabled": "Widżet włączony", - "incorrectURLS": "## Ta instancja prawdopodobnie wysłała niepoprawne adresy URL.\n### Jeśli jesteś właścicielem instancji proszę zapoznaj się z [tym](https://docs.spacebar.chat/setup/server/) pod *Connecting from remote machines* aby rozwiązać problem.\n Czy chcesz aby Fermi automatycznie spróbował naprawić ten błąd, aby umożliwić Ci połączenie się z instancją?", - "jankInfo": "Informacje o kliencie", - "instInfo": "Informacje o instancji", - "clientDesc": "Wersja klienta: $1\n\n[Dołącz do oficjalnej gildii Fermi]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Pomóż w tłumaczeniu Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc)\n\n[Pomóż w tworzeniu Fermi](https://github.com/MathMan05/Fermi)\n\n[Pomóż w utrzymaniu serwera, na którym opiera się Fermi](https://github.com/spacebarchat/server)\n\nObliczone uprawnienia: $3", - "uploadFilesText": "Wrzuć swoje pliki tutaj!", - "errorReconnect": "Nie można połączyć się z serwerem, ponowna próba za **$1** sekund...", - "retrying": "Ponawianie próby...", - "unableToConnect": "Nie można połączyć się z serwerem Spacebar. Spróbuj się wylogować i zalogować ponownie.", - "bot": "BOT", - "webhook": "WEBHOOK" + "yes": "Tak", + "yesterdayAt": "Wczoraj o $1" } diff --git a/translations/pms.json b/translations/pms.json index d5f142a2..65566bcf 100644 --- a/translations/pms.json +++ b/translations/pms.json @@ -1,306 +1,304 @@ { "@metadata": { - "authors": [ - "Borichèt" - ] + "authors": ["Borichèt"] }, - "vc": { - "joinstream": "Beiché ël fluss", - "leavestream": "Chité ël fluss", - "joinForStream": "Gionz-se a la ciamà vocal për beiché", - "stopstream": "Fërmé ël fluss", - "joiningStream": "Conession al fluss..." + "UrlGen": "Generator d'URL", + "Voice": { + "status": { + "badWS": "Rispòsta lòfia da WS", + "conectionFailed": "Ël colegament a l'ha falì", + "done": "Colegà", + "left": "Chità la ciaciarada vocal", + "makingOffer": "Fé n'oferta", + "noSDP": "Gnun SDP", + "notconnected": "Nen colegà", + "sendingStreams": "Mandé dij fluss sonor", + "startingRTC": "Ancaminé un colegament RTC", + "waitingMainWS": "Atèisa për ël WS prinsipal", + "waitingURL": "Atèisa për l'URL vocal", + "wsAuth": "atèisa për l'autorisassion dël WS", + "wsOpen": "Atèisa për la duvertura dël WS" + } }, - "favoriteGifs": "Gif preferì", - "recentEmoji": "Sorisin recent", - "noStickers": "A smija ch'a sia an na situassion foravìa, a-i é gnun adesiv da dovré për chiel!", - "readableName": "piemontèis", - "pinMessage": "Taché ël mëssagi an evidensa", - "unableToPin": "Impossìbil taché ël mëssagi an evidensa", - "reply": "Rësponde", - "copyrawtext": "Copié ël test cru", + "accessibility": { + "gifSettings": { + "always": "Sempe", + "hover": "Dzorvòl", + "never": "Mai" + }, + "name": "Acessibilità", + "playGif": "Fé andé ij gif su:", + "playIcon": "Fé andé le plance animà su:", + "roleColors": "Disativé ij color dij ròj" + }, + "accountNotStart": "Impossìbil anviaré ël cont", + "bio": "Biografìa:", + "blankMessage": "Mëssagi veuid", + "blog": { + "blog": "Scartari", + "desc": "Lese o abonesse a lë scartari për dj'agiornament su Fermi!", + "fermi": "Scartari ëd Fermi" + }, + "botGuilds": "Corporassion a le quaj a aparten ël trigomiro:", + "botSettings": "Paràmeter dël trigomiro", + "cancel": "Anulé", + "channel": { + "SlowmodeCool": "Temp d'atèisa për ël meud meusi: $1", + "TimeOutCool": "An pàusa fin-a a: $1", + "allowIcons": "Permëtte dle plance ëd canal përsonalisà", + "announcement": "Anonsi", + "copyId": "Copié l'identificativ dël canal", + "copyIdCat": "Copié l'identificativ dla categorìa", + "createCatagory": "Creé na categorìa", + "createChannel": "Creé un canal", + "creating": "Creassion dël canal", + "delete": "Eliminé ël canal", + "deleteCat": "Eliminé la categorìa", + "icon": "Plancia:", + "makeInvite": "Anvité", + "markRead": "Marché coma lesù", + "mute": "Fé ste ciuto ël canal", + "name": "Canal", + "name:": "Nòm:", + "nsfw:": "NSFW:", + "permissions": "Përmess", + "selectCatName": "Nòm ëd la categorìa", + "selectName": "Nòm dël canal", + "selectType": "Selessioné la sòrt ëd canal", + "settings": "Gust", + "settingsFor": "Gust për $1", + "slowmode": "Meud meusi:", + "text": "Test", + "timedOutUntil": "An pàusa fin-a a: $1", + "topic:": "Argoment:", + "typebox": "Mëssagi an $1", + "unmute": "Fé torna parlé ël canal", + "voice": "Vos" + }, + "channelLink": "# $1", + "confirmGuildLeave": "É-lo sigur dë volej chité $1?", "copyLink": "Copié la liura dël mëssagi", "copymessageid": "Copié l'identificativ dël mëssagi", - "media": { - "notFound": "Ël mojen a l'é nen ëstàit trovà", - "loading": "Antramentre ch'as caria", - "download": "Dëscarié ël mojen", - "moreInfo": "Pi d'anformassion", - "artist": "Artista: $1", - "composer": "Compositor: $1", - "length": "Durà: $1 minute e $2 second" + "copyrawtext": "Copié ël test cru", + "delete": "Eliminé", + "deleteConfirm": "É-lo sigur ëd vorèj dëscancelé sòn?", + "devSettings": { + "badUser": "Conession abilità për j'oget dij cativ utent ch'a mando tròpe anformassion:", + "description": "Costi a son për ij dësvlupador ëd Spacebar e Fermi. S'a sa nen lòn ch'a fa, për piasì ch'a fasa pa dij paciòch con costi paràmeter.", + "logGateway": "L'argistr a l'ha arseivù dj'eveniment ëd passarela (anformassion an sël livel ëd l'argistr):", + "name": "Gust dël dësvlupador" + }, + "favoriteGifs": "Gif preferì", + "hideBlockedMessages": "A l'ha blocà cost utent, ch'a sgnaca pr'ëstërmé si mëssagi", + "home": { + "icon": "Plancia dl'istansa ëd $1", + "uptimeStats": "Temp ëd disponibilità: \n Tut ël temp: $1%\nSta sman-a: $2%\nAncheuj: $3%", + "warnOffiline": "L'istansa a l'é fòra 'd linia, impossìbil coleghesse" + }, + "htmlPages": { + "idpermissions": "Sòn a përmëttra al trigomiro ëd:" + }, + "interactions": { + "ephemeralDismiss": "Scarté ël mëssagi", + "failed": "L'antërassion a l'ha falì", + "nonsence": "Ël servent a l'ha mandà un component ëd sòrt $1 ch'a esist pa", + "notImpl": "Fermi a l'ha ancor nen butà an euvra la sòrt ëd component$1", + "onlyYou": "Mach chiel a peul vëdde 's mëssagi", + "replyline": "Antërassion ancaminà", + "started": "Antërassion an tratament...", + "worked": "L'antërassion a l'ha marcià" }, + "leaveGuild": "Chité la corporassion", "logout": { - "logout": "Seurte dal sistema", "error": { - "title": "A-i é staje n'eror an surtend dal sistema", - "desc": "Fermi a l'ha nen podù felo seurte dal sistema,\n veul-lo malgré tut dëscancelé ël cont?", "cancel": "Anulé", - "cont": "Continué malgré tut" - } + "cont": "Continué malgré tut", + "desc": "Fermi a l'ha nen podù felo seurte dal sistema,\n veul-lo malgré tut dëscancelé ël cont?", + "title": "A-i é staje n'eror an surtend dal sistema" + }, + "logout": "Seurte dal sistema" }, - "cancel": "Anulé", + "media": { + "artist": "Artista: $1", + "composer": "Compositor: $1", + "download": "Dëscarié ël mojen", + "length": "Durà: $1 minute e $2 second", + "loading": "Antramentre ch'as caria", + "moreInfo": "Pi d'anformassion", + "notFound": "Ël mojen a l'é nen ëstàit trovà" + }, + "messageLink": "Mëssagi an # $1", + "muteDuration": "Buté ël sonor an:", + "no": "Nò", + "noMessages": "A-i é gnun mëssagi ambelessì, ch'a sia ël prim a dì cheicòs!", + "noStickers": "A smija ch'a sia an na situassion foravìa, a-i é gnun adesiv da dovré për chiel!", + "notiClump": "A l'ha $1 notìfiche da $2", + "otherAt": "$1 a $2", "permissions": { "descriptions": { + "ADD_REACTIONS": "A përmet a l'utent ëd gionté dle reassion ai mëssagi", + "ADMINISTRATOR": "A përmet tute j'autorisassion e a passa aranda dle riscriture d'autorisassion. A l'é un përmess pericolos!", + "ATTACH_FILES": "A përmet a l'utent ëd taché dj'archivi", + "BAN_MEMBERS": "A përmet a l'utent ëd taparé via dij mèmber da la corporassion", + "BYPASS_SLOWMODE": "Ël meud meusi a l'ha pi gnun efet ansima a cost utent-sì", + "CHANGE_NICKNAME": "A përmet a l'utent ëd modifiché sò stranòm", + "CONNECT": "A përmet a l'utent ëd coleghesse a 'n canal vocal", + "CREATE_EVENTS": "A përmet ëd creé dj'eveniment pianificà e ëd modifiché e eliminé coj creà da l'utent atual.", + "CREATE_GUILD_EXPRESSIONS": "A përmet ëd creé dij sorisin, dj'adesiv e dij con ëd carta sonora e d'eliminé coj creà da l'utent atual.", "CREATE_INSTANT_INVITE": "A përmet a l'utent ëd creé dj'anvit për la corporassion", + "CREATE_PRIVATE_THREADS": "A përmet a l'utent ëd creé dij fij ëd discussion privà", + "CREATE_PUBLIC_THREADS": "A përmet a l'utent ëd creé dij fij ëd discussion pùblich", + "DEAFEN_MEMBERS": "A përmet a l'utent d'ampedì j'àutri dë scoté", + "EMBED_LINKS": "Permëtte l'antëgrassion automàtica dle liure mandà da cost utent", "KICK_MEMBERS": "A përmet a l'utent ëd taparé via dij mèmber da la corporassion", - "BAN_MEMBERS": "A përmet a l'utent ëd taparé via dij mèmber da la corporassion", - "ADMINISTRATOR": "A përmet tute j'autorisassion e a passa aranda dle riscriture d'autorisassion. A l'é un përmess pericolos!", "MANAGE_CHANNELS": "A përmet a l'utent ëd gestì e ëd modifiché ij canaj", + "MANAGE_EVENTS": "A përmet a l'utent ëd modifiché e gestì j'eveniment", "MANAGE_GUILD": "A përmet la gestion e la modìfica dla corporassion", - "ADD_REACTIONS": "A përmet a l'utent ëd gionté dle reassion ai mëssagi", - "VIEW_AUDIT_LOG": "A përmet a l'utent ëd vëdde l'argistr ëd consultassion", - "PRIORITY_SPEAKER": "A përmet ëd dovré n'àut parlant prioritari ant un canal vocal", - "STREAM": "A përmet a l'utent ëd difonde", - "VIEW_CHANNEL": "A përmet a l'utent ëd vëdde ël canal", - "SEND_MESSAGES": "A përmet a l'utent ëd mandé dij mëssagi", - "SEND_TTS_MESSAGES": "A përmet a l'utent ëd mandé dij mëssagi ëd sìntesi vocal", + "MANAGE_GUILD_EXPRESSIONS": "A përmet la gestion dij sorisin, dj'adesiv e dla carta sonora", "MANAGE_MESSAGES": "A përmet a l'utent d'eliminé dij mëssagi ch'a son nen sò", - "EMBED_LINKS": "Permëtte l'antëgrassion automàtica dle liure mandà da cost utent", - "ATTACH_FILES": "A përmet a l'utent ëd taché dj'archivi", - "READ_MESSAGE_HISTORY": "A përmet a l'utent ëd lese lë stòrich dij mëssagi", - "MENTION_EVERYONE": "A përmet a l'utent ëd massioné tuti quanti", - "USE_EXTERNAL_EMOJIS": "A përmet a l'utent ëd dovré dij sorisin estern", - "VIEW_GUILD_INSIGHTS": "A përmet a l'utent ëd vëdde j'anformassion an sla corporassion", - "CONNECT": "A përmet a l'utent ëd coleghesse a 'n canal vocal", - "SPEAK": "A përmet a l'utent ëd parlé ant un canal vocal", - "MUTE_MEMBERS": "A përmet a l'utent ëd gavé ël son ëd j'àutri mèmber", - "DEAFEN_MEMBERS": "A përmet a l'utent d'ampedì j'àutri dë scoté", - "MOVE_MEMBERS": "A përmet a l'utent ëd tramudé ij mèmber antra ij canaj vocaj", - "USE_VAD": "A përmet a j'utent ëd parlé ant un canal vocal mach an parland", - "CHANGE_NICKNAME": "A përmet a l'utent ëd modifiché sò stranòm", "MANAGE_NICKNAMES": "A përmet a l'utent ëd modifiché jë stranòm ëd j'àutri mèmber", "MANAGE_ROLES": "A përmet a l'utent ëd modifiché e organisé ij ròj", + "MANAGE_THREADS": "A përmet a l'utent d'eliminé e d'archivié ij fij ëd discussion e ëd vëdde tuti ij fij privà", "MANAGE_WEBHOOKS": "A përmet la gestion e la modìfica dij gancio an sl'aragnà", - "MANAGE_GUILD_EXPRESSIONS": "A përmet la gestion dij sorisin, dj'adesiv e dla carta sonora", - "USE_APPLICATION_COMMANDS": "A përmet a l'utent ëd dovré ij comand ëd l'aplicassion", + "MENTION_EVERYONE": "A përmet a l'utent ëd massioné tuti quanti", + "MODERATE_MEMBERS": "A përmet a l'utent ëd bloché temporaniament j'àutri utent, për ampedije ëd mandé e ëd reagì ai mëssagi ant la ciaciarada e ij fij ëd discussion e ëd parlé ant ij canaj vocaj e ëd sena.", + "MOVE_MEMBERS": "A përmet a l'utent ëd tramudé ij mèmber antra ij canaj vocaj", + "MUTE_MEMBERS": "A përmet a l'utent ëd gavé ël son ëd j'àutri mèmber", + "PIN_MESSAGES": "A përmet a l'utent ëd taché dij mëssagi an evidensa", + "PRIORITY_SPEAKER": "A përmet ëd dovré n'àut parlant prioritari ant un canal vocal", + "READ_MESSAGE_HISTORY": "A përmet a l'utent ëd lese lë stòrich dij mëssagi", "REQUEST_TO_SPEAK": "A përmet a l'utent ëd ciamé ëd parlé ant ël canal ëd sena", - "MANAGE_EVENTS": "A përmet a l'utent ëd modifiché e gestì j'eveniment", - "MANAGE_THREADS": "A përmet a l'utent d'eliminé e d'archivié ij fij ëd discussion e ëd vëdde tuti ij fij privà", - "CREATE_PUBLIC_THREADS": "A përmet a l'utent ëd creé dij fij ëd discussion pùblich", - "CREATE_PRIVATE_THREADS": "A përmet a l'utent ëd creé dij fij ëd discussion privà", - "USE_EXTERNAL_STICKERS": "A përmet a l'utent ëd dovré dj'adesiv estern", + "SEND_MESSAGES": "A përmet a l'utent ëd mandé dij mëssagi", "SEND_MESSAGES_IN_THREADS": "A përmet a l'utent ëd mandé dij mëssagin ant ij fij ëd discussion", - "USE_EMBEDDED_ACTIVITIES": "A përmet a l'utent ëd dovré dj'atività antëgrà", - "MODERATE_MEMBERS": "A përmet a l'utent ëd bloché temporaniament j'àutri utent, për ampedije ëd mandé e ëd reagì ai mëssagi ant la ciaciarada e ij fij ëd discussion e ëd parlé ant ij canaj vocaj e ëd sena.", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "A përmet ëd vëdde j'anformassion an sj'abonament ai ròj", - "USE_SOUNDBOARD": "A përmet ëd divré la tàula dij son ant un canal vocal", - "CREATE_GUILD_EXPRESSIONS": "A përmet ëd creé dij sorisin, dj'adesiv e dij con ëd carta sonora e d'eliminé coj creà da l'utent atual.", - "CREATE_EVENTS": "A përmet ëd creé dj'eveniment pianificà e ëd modifiché e eliminé coj creà da l'utent atual.", - "USE_EXTERNAL_SOUNDS": "A përmet l'usagi ëd son përsonalisà da carte sonore ch'a ven-o da d'àutre corporassion", - "SEND_VOICE_MESSAGES": "A përmet ëd mandé dij mëssagi vocaj", "SEND_POLLS": "A përmet ëd mandé dij sondagi", + "SEND_TTS_MESSAGES": "A përmet a l'utent ëd mandé dij mëssagi ëd sìntesi vocal", + "SEND_VOICE_MESSAGES": "A përmet ëd mandé dij mëssagi vocaj", + "SPEAK": "A përmet a l'utent ëd parlé ant un canal vocal", + "STREAM": "A përmet a l'utent ëd difonde", + "USE_APPLICATION_COMMANDS": "A përmet a l'utent ëd dovré ij comand ëd l'aplicassion", + "USE_EMBEDDED_ACTIVITIES": "A përmet a l'utent ëd dovré dj'atività antëgrà", "USE_EXTERNAL_APPS": "A përmet a j'aplicassion anstalà da l'utent ëd mandé dle rispòste pùbliche. Cand s'opsion a l'é disabilità, j'utent a son istess autorisà a dovré soe aplicassion, ma le rispòste a sarà temporanie. Sòn as àplica mach a j'aplicassion nen anstalà an sla corporassion.", - "PIN_MESSAGES": "A përmet a l'utent ëd taché dij mëssagi an evidensa", - "BYPASS_SLOWMODE": "Ël meud meusi a l'ha pi gnun efet ansima a cost utent-sì" + "USE_EXTERNAL_EMOJIS": "A përmet a l'utent ëd dovré dij sorisin estern", + "USE_EXTERNAL_SOUNDS": "A përmet l'usagi ëd son përsonalisà da carte sonore ch'a ven-o da d'àutre corporassion", + "USE_EXTERNAL_STICKERS": "A përmet a l'utent ëd dovré dj'adesiv estern", + "USE_SOUNDBOARD": "A përmet ëd divré la tàula dij son ant un canal vocal", + "USE_VAD": "A përmet a j'utent ëd parlé ant un canal vocal mach an parland", + "VIEW_AUDIT_LOG": "A përmet a l'utent ëd vëdde l'argistr ëd consultassion", + "VIEW_CHANNEL": "A përmet a l'utent ëd vëdde ël canal", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "A përmet ëd vëdde j'anformassion an sj'abonament ai ròj", + "VIEW_GUILD_INSIGHTS": "A përmet a l'utent ëd vëdde j'anformassion an sla corporassion" }, "readableNames": { + "ADD_REACTIONS": "Gionté dle reassion", + "ADMINISTRATOR": "Aministrator", + "ATTACH_FILES": "Taché dj'archivi", + "BAN_MEMBERS": "Taparé via dij mèmber", + "BYPASS_SLOWMODE": "Passé aranda al meud meusi", + "CHANGE_NICKNAME": "Cangé dë stranòm", + "CONNECT": "Coleghesse", + "CREATE_EVENTS": "Creé dj'eveniment", + "CREATE_GUILD_EXPRESSIONS": "Creé dj'espression", "CREATE_INSTANT_INVITE": "Creé n'anvit", + "CREATE_PRIVATE_THREADS": "Creé dij fij ëd discussion privà", + "CREATE_PUBLIC_THREADS": "Creé dij fij ëd discussion pùblich", + "DEAFEN_MEMBERS": "Rende ij mèmber ciòrgn", + "EMBED_LINKS": "Antëgré dle liure", "KICK_MEMBERS": "Sbate fòra dij mèmber", - "BAN_MEMBERS": "Taparé via dij mèmber", - "ADMINISTRATOR": "Aministrator", "MANAGE_CHANNELS": "Gestì ij canaj", + "MANAGE_EVENTS": "Gestì j'eveniment", "MANAGE_GUILD": "Gestì la corporassion", - "ADD_REACTIONS": "Gionté dle reassion", - "VIEW_AUDIT_LOG": "Smon-e l'argistr ëd contròl", - "PRIORITY_SPEAKER": "Orator prioritari", - "STREAM": "Filmà", - "VIEW_CHANNEL": "Smon-e ij canaj", - "SEND_MESSAGES": "Mandé dij mëssagi", - "SEND_TTS_MESSAGES": "Mandé dij mëssage ëd sìntesi vocal", + "MANAGE_GUILD_EXPRESSIONS": "Gestì j'espression", "MANAGE_MESSAGES": "Gestì ij mëssagi", - "EMBED_LINKS": "Antëgré dle liure", - "ATTACH_FILES": "Taché dj'archivi", - "READ_MESSAGE_HISTORY": "Lese la stòria dij mëssagi", - "MENTION_EVERYONE": "Massioné @everyone, @here e tuti ij ròj", - "USE_EXTERNAL_EMOJIS": "Dovré dij sorisin estern", - "VIEW_GUILD_INSIGHTS": "Vëdde j'anformassion an sla corporassion", - "CONNECT": "Coleghesse", - "SPEAK": "Parlé", - "MUTE_MEMBERS": "Fé sté ciuto ij mèmber", - "DEAFEN_MEMBERS": "Rende ij mèmber ciòrgn", - "MOVE_MEMBERS": "Tramudé dij mèmber", - "USE_VAD": "Dovré l'andividuassion ëd l'atività vocal", - "CHANGE_NICKNAME": "Cangé dë stranòm", "MANAGE_NICKNAMES": "Gestì jë stranòm", "MANAGE_ROLES": "Gestì ij ròj", + "MANAGE_THREADS": "Gestì ij fij ëd discussion", "MANAGE_WEBHOOKS": "Gestì ij gancio ëd l'aragnà", - "MANAGE_GUILD_EXPRESSIONS": "Gestì j'espression", - "USE_APPLICATION_COMMANDS": "Dovré ij comand ëd l'aplicassion", + "MENTION_EVERYONE": "Massioné @everyone, @here e tuti ij ròj", + "MODERATE_MEMBERS": "Bloché dij mèmber", + "MOVE_MEMBERS": "Tramudé dij mèmber", + "MUTE_MEMBERS": "Fé sté ciuto ij mèmber", + "PIN_MESSAGES": "Taché dij mëssagi an evidensa", + "PRIORITY_SPEAKER": "Orator prioritari", + "READ_MESSAGE_HISTORY": "Lese la stòria dij mëssagi", "REQUEST_TO_SPEAK": "Ciamé ëd parlé", - "MANAGE_EVENTS": "Gestì j'eveniment", - "MANAGE_THREADS": "Gestì ij fij ëd discussion", - "CREATE_PUBLIC_THREADS": "Creé dij fij ëd discussion pùblich", - "CREATE_PRIVATE_THREADS": "Creé dij fij ëd discussion privà", - "USE_EXTERNAL_STICKERS": "Dovré dj'adesiv estern", + "SEND_MESSAGES": "Mandé dij mëssagi", "SEND_MESSAGES_IN_THREADS": "Mandé dij mëssagi an dij fij ëd discussion", - "USE_EMBEDDED_ACTIVITIES": "Dovré dj'atività", - "MODERATE_MEMBERS": "Bloché dij mèmber", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Smon-e j'anàlisi ëd monetisassion dij creator", - "USE_SOUNDBOARD": "Dovré la tàula dij son", - "CREATE_GUILD_EXPRESSIONS": "Creé dj'espression", - "CREATE_EVENTS": "Creé dj'eveniment", - "USE_EXTERNAL_SOUNDS": "Dovré dij son estern", - "SEND_VOICE_MESSAGES": "Mandé dij mëssagi vocaj", "SEND_POLLS": "Creé dij sondagi", + "SEND_TTS_MESSAGES": "Mandé dij mëssage ëd sìntesi vocal", + "SEND_VOICE_MESSAGES": "Mandé dij mëssagi vocaj", + "SPEAK": "Parlé", + "STREAM": "Filmà", + "USE_APPLICATION_COMMANDS": "Dovré ij comand ëd l'aplicassion", + "USE_EMBEDDED_ACTIVITIES": "Dovré dj'atività", "USE_EXTERNAL_APPS": "Dovré dj'aplicassion esterne", - "PIN_MESSAGES": "Taché dij mëssagi an evidensa", - "BYPASS_SLOWMODE": "Passé aranda al meud meusi" - } - }, - "userping": { - "unknown": "@dësconossù", - "resolving": "arzolussion ëd l'utent" - }, - "hideBlockedMessages": "A l'ha blocà cost utent, ch'a sgnaca pr'ëstërmé si mëssagi", - "showBlockedMessages": "A l'ha blocà cost utent, ch'a sgnaca për vëdde ij $1 {{PLURAL:$1|mëssagi}} blocà.", - "deleteConfirm": "É-lo sigur ëd vorèj dëscancelé sòn?", - "yes": "Bò", - "no": "Nò", - "todayAt": "Ancheuj a $1", - "yesterdayAt": "Jer a $1", - "otherAt": "$1 a $2", - "botSettings": "Paràmeter dël trigomiro", - "uploadPfp": "Carié na fòto për ël profil:", - "uploadBanner": "Carié un tilèt:", - "pronouns": "Përnòm:", - "bio": "Biografìa:", - "profileColor": "Color dël profil", - "botGuilds": "Corporassion a le quaj a aparten ël trigomiro:", - "leaveGuild": "Chité la corporassion", - "confirmGuildLeave": "É-lo sigur dë volej chité $1?", - "UrlGen": "Generator d'URL", - "typing": "$2 {{PLURAL:$1|a l'é|a son}} an camin ch'a scrivo", - "noMessages": "A-i é gnun mëssagi ambelessì, ch'a sia ël prim a dì cheicòs!", - "blankMessage": "Mëssagi veuid", - "spoiler": "Antissipassion", - "accessibility": { - "name": "Acessibilità", - "roleColors": "Disativé ij color dij ròj", - "playGif": "Fé andé ij gif su:", - "playIcon": "Fé andé le plance animà su:", - "gifSettings": { - "hover": "Dzorvòl", - "always": "Sempe", - "never": "Mai" + "USE_EXTERNAL_EMOJIS": "Dovré dij sorisin estern", + "USE_EXTERNAL_SOUNDS": "Dovré dij son estern", + "USE_EXTERNAL_STICKERS": "Dovré dj'adesiv estern", + "USE_SOUNDBOARD": "Dovré la tàula dij son", + "USE_VAD": "Dovré l'andividuassion ëd l'atività vocal", + "VIEW_AUDIT_LOG": "Smon-e l'argistr ëd contròl", + "VIEW_CHANNEL": "Smon-e ij canaj", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Smon-e j'anàlisi ëd monetisassion dij creator", + "VIEW_GUILD_INSIGHTS": "Vëdde j'anformassion an sla corporassion" } }, + "pinMessage": "Taché ël mëssagi an evidensa", "profile": { - "userInfo": "Anformassion an sl'utent", "bio": "A propòsit ëd mi:", - "permInfo": "Përmess", + "joined": "Cont creà: $1", + "joinedMember": "A l'é rivà $1: $2", "mut": "Corporassion mutuaj", "mutFriends": "Amis comun", - "joined": "Cont creà: $1", - "joinedMember": "A l'é rivà $1: $2" + "permInfo": "Përmess", + "userInfo": "Anformassion an sl'utent" }, - "channelLink": "# $1", - "messageLink": "Mëssagi an # $1", + "profileColor": "Color dël profil", + "pronouns": "Përnòm:", + "readableName": "piemontèis", + "recentEmoji": "Sorisin recent", + "reply": "Rësponde", "searchGifs": "Sërché su Tenor", - "muteDuration": "Buté ël sonor an:", - "interactions": { - "replyline": "Antërassion ancaminà", - "ephemeralDismiss": "Scarté ël mëssagi", - "onlyYou": "Mach chiel a peul vëdde 's mëssagi", - "started": "Antërassion an tratament...", - "worked": "L'antërassion a l'ha marcià", - "failed": "L'antërassion a l'ha falì", - "notImpl": "Fermi a l'ha ancor nen butà an euvra la sòrt ëd component$1", - "nonsence": "Ël servent a l'ha mandà un component ëd sòrt $1 ch'a esist pa" - }, - "channel": { - "timedOutUntil": "An pàusa fin-a a: $1", - "SlowmodeCool": "Temp d'atèisa për ël meud meusi: $1", - "TimeOutCool": "An pàusa fin-a a: $1", - "slowmode": "Meud meusi:", - "typebox": "Mëssagi an $1", - "creating": "Creassion dël canal", - "name": "Canal", - "copyId": "Copié l'identificativ dël canal", - "copyIdCat": "Copié l'identificativ dla categorìa", - "markRead": "Marché coma lesù", - "settings": "Gust", - "delete": "Eliminé ël canal", - "deleteCat": "Eliminé la categorìa", - "makeInvite": "Anvité", - "settingsFor": "Gust për $1", - "voice": "Vos", - "text": "Test", - "mute": "Fé ste ciuto ël canal", - "unmute": "Fé torna parlé ël canal", - "announcement": "Anonsi", - "name:": "Nòm:", - "icon": "Plancia:", - "topic:": "Argoment:", - "nsfw:": "NSFW:", - "selectType": "Selessioné la sòrt ëd canal", - "selectName": "Nòm dël canal", - "selectCatName": "Nòm ëd la categorìa", - "createChannel": "Creé un canal", - "createCatagory": "Creé na categorìa", - "permissions": "Përmess", - "allowIcons": "Permëtte dle plance ëd canal përsonalisà" + "showBlockedMessages": "A l'ha blocà cost utent, ch'a sgnaca për vëdde ij $1 {{PLURAL:$1|mëssagi}} blocà.", + "spoiler": "Antissipassion", + "switchAccounts": "Cangé 'd cont ⇌", + "todayAt": "Ancheuj a $1", + "typing": "$2 {{PLURAL:$1|a l'é|a son}} an camin ch'a scrivo", + "unableToPin": "Impossìbil taché ël mëssagi an evidensa", + "uploadBanner": "Carié un tilèt:", + "uploadPfp": "Carié na fòto për ël profil:", + "usedFermi": "Fermi dovrà", + "userping": { + "resolving": "arzolussion ëd l'utent", + "unknown": "@dësconossù" }, - "notiClump": "A l'ha $1 notìfiche da $2", - "Voice": { - "status": { - "done": "Colegà", - "notconnected": "Nen colegà", - "sendingStreams": "Mandé dij fluss sonor", - "conectionFailed": "Ël colegament a l'ha falì", - "makingOffer": "Fé n'oferta", - "startingRTC": "Ancaminé un colegament RTC", - "noSDP": "Gnun SDP", - "waitingMainWS": "Atèisa për ël WS prinsipal", - "badWS": "Rispòsta lòfia da WS", - "waitingURL": "Atèisa për l'URL vocal", - "wsOpen": "Atèisa për la duvertura dël WS", - "wsAuth": "atèisa për l'autorisassion dël WS", - "left": "Chità la ciaciarada vocal" - } + "vc": { + "joinForStream": "Gionz-se a la ciamà vocal për beiché", + "joiningStream": "Conession al fluss...", + "joinstream": "Beiché ël fluss", + "leavestream": "Chité ël fluss", + "stopstream": "Fërmé ël fluss" }, - "usedFermi": "Fermi dovrà", - "delete": "Eliminé", "webhooks": { - "createdAt": "Creà ël $1", - "name": "Nòm:", - "token": "Geton dël gancio dl'aragnà: `$1`", - "url": "url dël gancio dl'aragnà: `$1`", + "EnterWebhookName": "Buté ël nòm dël gancio dl'aragnà", + "areYouSureDelete": "É-lo sigur ëd vorèj eliminé $1?", "avatar": "Ampërsonificassion", - "createdBy": "Creà da:", - "notFound": "L'utent a l'é pa pi ant la corporassion", + "base": "Gancio dl'aragnà", "channel": "Canal", "copyURL": "Copié l'URL dël gancio dl'aragnà", + "createdAt": "Creà ël $1", + "createdBy": "Creà da:", + "deleteWebhook": "Eliminé ël gancio dl'aragnà", + "name": "Nòm:", "newWebHook": "Neuv gancio dl'aragnà", - "EnterWebhookName": "Buté ël nòm dël gancio dl'aragnà", - "base": "Gancio dl'aragnà", + "notFound": "L'utent a l'é pa pi ant la corporassion", "sillyDefaults": "Giandoja\nGiaco Tross\nGioanin Pet Pet Sigala", + "token": "Geton dël gancio dl'aragnà: `$1`", + "type": "Sòrt: $1", "type1": "Intrant", "type2": "Abonà al canal", "type3": "Aplicassion", - "type": "Sòrt: $1", - "deleteWebhook": "Eliminé ël gancio dl'aragnà", - "areYouSureDelete": "É-lo sigur ëd vorèj eliminé $1?" - }, - "switchAccounts": "Cangé 'd cont ⇌", - "accountNotStart": "Impossìbil anviaré ël cont", - "home": { - "uptimeStats": "Temp ëd disponibilità: \n Tut ël temp: $1%\nSta sman-a: $2%\nAncheuj: $3%", - "warnOffiline": "L'istansa a l'é fòra 'd linia, impossìbil coleghesse", - "icon": "Plancia dl'istansa ëd $1" - }, - "devSettings": { - "name": "Gust dël dësvlupador", - "description": "Costi a son për ij dësvlupador ëd Spacebar e Fermi. S'a sa nen lòn ch'a fa, për piasì ch'a fasa pa dij paciòch con costi paràmeter.", - "badUser": "Conession abilità për j'oget dij cativ utent ch'a mando tròpe anformassion:", - "logGateway": "L'argistr a l'ha arseivù dj'eveniment ëd passarela (anformassion an sël livel ëd l'argistr):" + "url": "url dël gancio dl'aragnà: `$1`" }, - "htmlPages": { - "idpermissions": "Sòn a përmëttra al trigomiro ëd:" - }, - "blog": { - "blog": "Scartari", - "fermi": "Scartari ëd Fermi", - "desc": "Lese o abonesse a lë scartari për dj'agiornament su Fermi!" - } + "yes": "Bò", + "yesterdayAt": "Jer a $1" } diff --git a/translations/pt-br.json b/translations/pt-br.json index f17abf27..32e3f58a 100644 --- a/translations/pt-br.json +++ b/translations/pt-br.json @@ -1,834 +1,832 @@ { - "@metadata": { - "authors": [ - "Erol", - "Illyria", - "S0rs immanis12", - "Sixaxis", - "YuriNikolai" - ] - }, - "vc": { - "joinstream": "Assistir transmissão", - "leavestream": "Sair da transmissão", - "joinForStream": "Entre no canal para assistir", - "stopstream": "Interromper transmissão", - "joiningStream": "Juntando-se a transmissão..." + "2faCode": "Código 2FA:", + "404": { + "404": "404 Página Não Encontrada", + "app": "Ao aplicativo", + "blog": "O Blogue Fermi", + "home": "Início", + "listtitle": "Talvez você quis ir em um desses lugares", + "login": "Login", + "report": "Se você encontrou essa página dentro do app, por favor, denuncie:", + "reset": "Página de redefinição de senha", + "title": "Parece que você tá perdido", + "whatelse": "O que mais você acha que deveria acontecer?", + "whereever": "O que quer que isso seja" }, - "favoriteGifs": "Gifs Favoritos", - "recentEmoji": "Emojis Recentes", - "noStickers": "Isso é meio estranho, não tem nenhum adesivo aqui para usar!", - "readableName": "Português do Brasil", - "pinMessage": "Fixar mensagem", - "unableToPin": "Não foi possível fixar a mensagem", - "reply": "Responder", - "copyrawtext": "Copiar texto bruto", - "copyLink": "Copiar link da mensagem", - "copymessageid": "Copiar ID da mensagem", - "media": { - "notFound": "Não foi possível encontrar a mídia", - "loading": "Carregando", - "download": "Baixar mídia", - "moreInfo": "Mais informações", - "artist": "Artista: $1", - "composer": "Compositor: $1", - "length": "Duração: $1 minutos e $2 segundos" + "@metadata": { + "authors": ["Erol", "Illyria", "S0rs immanis12", "Sixaxis", "YuriNikolai"] }, - "logout": { - "logout": "Encerrar a sessão", - "error": { - "title": "Ocorreu um erro ao tentar encerrar a sessão", - "desc": "Fermi não conseguiu encerrar a sessão,\n deseja remover a conta mesmo assim?", - "cancel": "Cancelar", - "cont": "Continuar mesmo assim" - } + "DMs": { + "add": "Adicione alguém para este PV", + "close": "Fechar PV", + "copyId": "Copiar ID do PV", + "markRead": "Marcar como lido", + "name": "Mensagens Privadas" }, - "cancel": "Cancelar", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Permite que o usuário crie convites para a guilda", - "KICK_MEMBERS": "Permite que o usuário expulse membros da guilda", - "BAN_MEMBERS": "Permite que o usuário faça o banimento de membros da guilda", - "ADMINISTRATOR": "Permite todas as permissões e ultrapassa permissões específicas. Esta é uma permissão perigosa!", - "MANAGE_CHANNELS": "Permite que o usuário gerencie e altere canais", - "MANAGE_GUILD": "Permite o gerenciamento e alterações da guilda", - "ADD_REACTIONS": "Permite que o usuário adicione reações às mensagens", - "VIEW_AUDIT_LOG": "Permite que o usuário visualize o registro", - "PRIORITY_SPEAKER": "Permite o uso de fala com prioridade em um canal de voz", - "STREAM": "Permite que o usuário transmita", - "VIEW_CHANNEL": "Permite que o usuário veja o canal", - "SEND_MESSAGES": "Permite que o usuário envie mensagens", - "SEND_TTS_MESSAGES": "Permite que o usuário envie mensagens texto-para-fala", - "MANAGE_MESSAGES": "Permite que o usuário apague mensagens que não são suas", - "EMBED_LINKS": "Permite que links enviados por este usuário mostrem um embed", - "ATTACH_FILES": "Permite que o usuário anexe arquivos", - "READ_MESSAGE_HISTORY": "Permite que o usuário leia o histórico de mensagens", - "MENTION_EVERYONE": "Permite que o usuário mencione everyone", - "USE_EXTERNAL_EMOJIS": "Permite que o usuário use emojis externos", - "VIEW_GUILD_INSIGHTS": "Permite que o usuário veja detalhes da guilda", - "CONNECT": "Permite que o usuário conecte a um canal de voz", - "SPEAK": "Permite que o usuário fale em um canal de voz", - "MUTE_MEMBERS": "Permite que o usuário silencie outros membros", - "DEAFEN_MEMBERS": "Permite que o usuário ensurdeça outro membros", - "MOVE_MEMBERS": "Permite que o usuário mova membros entre canais de voz", - "USE_VAD": "Permite que usuários falem em um canal de voz simplesmente falando", - "CHANGE_NICKNAME": "Permite que o usuário mude o próprio apelido", - "MANAGE_NICKNAMES": "Permite que o usuário mude o apelido de outros membros", - "MANAGE_ROLES": "Permite que o usuário altere e gerencie cargos", - "MANAGE_WEBHOOKS": "Permite que o usuário gerencie e altere webhooks", - "MANAGE_GUILD_EXPRESSIONS": "Permite que o usuário gerencie emojis, adesivos e a soundboard", - "USE_APPLICATION_COMMANDS": "Permite que o usuário utilize comandos de aplicação", - "REQUEST_TO_SPEAK": "Permite que o usuário peça para falar em um canal stage", - "MANAGE_EVENTS": "Permite que o usuário altere e gerencie eventos", - "MANAGE_THREADS": "Permite que o usuário apague e arquive tópicos e que veja todos os tópicos privados", - "CREATE_PUBLIC_THREADS": "Permite que o usuário crie tópicos públicos", - "CREATE_PRIVATE_THREADS": "Permite que o usuário crie tópicos privados", - "USE_EXTERNAL_STICKERS": "Permite que o usuário use adesivos externos", - "SEND_MESSAGES_IN_THREADS": "Permite que o usuário envie mensagens em tópicos", - "USE_EMBEDDED_ACTIVITIES": "Permite que o usuário use atividades embutidas", - "MODERATE_MEMBERS": "Permite que o usuário deixe outros usuários de castigo para previnir que mandem ou reajam a mensagens no chat e em tópicos, e que falem em canais de voz e canais stage", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Permite que o usuário visualize detalhes de assinatura de cargo", - "USE_SOUNDBOARD": "Permite que o usuário use a soundboard em um canal de voz", - "CREATE_GUILD_EXPRESSIONS": "Permite que o usuário crie emojis, adesivos, e sons da soundboard, e alterar e apagar esses criados pelo usuário atual.", - "CREATE_EVENTS": "Permite a criação de eventos programados e que altere e apague esses criados pelo usuário atual.", - "USE_EXTERNAL_SOUNDS": "Permite a utilização de sons customizados da soundboard de outras guildas", - "SEND_VOICE_MESSAGES": "Permite que o usuário envie mensagens de voz", - "SEND_POLLS": "Permite que o usuário envie enquetes", - "USE_EXTERNAL_APPS": "Permite que aplicativos instalados pelo usuário enviem respostas públicas. Quando desabilitado, usuários ainda poderão usar seus aplicativos mas as respostas serão temporárias. Isso só se aplica a aplicativos não instalados na guilda.", - "PIN_MESSAGES": "Permite o usuário fixar mensagens", - "BYPASS_SLOWMODE": "Modo lento não afetará mais este usuário" - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Criar convite", - "KICK_MEMBERS": "Expulsar membros", - "BAN_MEMBERS": "Banir membros", - "ADMINISTRATOR": "Administrador", - "MANAGE_CHANNELS": "Gerenciar canais", - "MANAGE_GUILD": "Gerenciar guilda", - "ADD_REACTIONS": "Adicionar reações", - "VIEW_AUDIT_LOG": "Ver registro", - "PRIORITY_SPEAKER": "Falante com prioridade", - "STREAM": "Vídeo", - "VIEW_CHANNEL": "Ver canais", - "SEND_MESSAGES": "Enviar mensagens", - "SEND_TTS_MESSAGES": "Enviar mensagens texto-para-fala", - "MANAGE_MESSAGES": "Gerenciar mensagens", - "EMBED_LINKS": "Embutidos de links", - "ATTACH_FILES": "Anexar arquivos", - "READ_MESSAGE_HISTORY": "Ler histórico de mensagens", - "MENTION_EVERYONE": "Mencionar @everyone, @here e todos os cargos", - "USE_EXTERNAL_EMOJIS": "Usar emojis externos", - "VIEW_GUILD_INSIGHTS": "Ver detalhes da guilda", - "CONNECT": "Conectar", - "SPEAK": "Falar", - "MUTE_MEMBERS": "Silenciar membros", - "DEAFEN_MEMBERS": "Ensurdecer membros", - "MOVE_MEMBERS": "Mover membros", - "USE_VAD": "Usar detecção de atividade de voz", - "CHANGE_NICKNAME": "Mudar apelido", - "MANAGE_NICKNAMES": "Gerenciar apelidos", - "MANAGE_ROLES": "Gerenciar cargos", - "MANAGE_WEBHOOKS": "Gerenciar webhooks", - "MANAGE_GUILD_EXPRESSIONS": "Gerenciar expressões", - "USE_APPLICATION_COMMANDS": "Usar comandos de aplicativos", - "REQUEST_TO_SPEAK": "Pedir para falar", - "MANAGE_EVENTS": "Gerenciar eventos", - "MANAGE_THREADS": "Gerenciar tópicos", - "CREATE_PUBLIC_THREADS": "Criar tópicos públicos", - "CREATE_PRIVATE_THREADS": "Criar tópicos privados", - "USE_EXTERNAL_STICKERS": "Usar adesivos externos", - "SEND_MESSAGES_IN_THREADS": "Enviar mensagens em tópicos", - "USE_EMBEDDED_ACTIVITIES": "Usar atividades", - "MODERATE_MEMBERS": "Castigar membros", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Ver análise de monetização de criador", - "USE_SOUNDBOARD": "Usar soundboard", - "CREATE_GUILD_EXPRESSIONS": "Criar expressões", - "CREATE_EVENTS": "Criar eventos", - "USE_EXTERNAL_SOUNDS": "Usar sons externos", - "SEND_VOICE_MESSAGES": "Enviar mensagens de voz", - "SEND_POLLS": "Criar enquetes", - "USE_EXTERNAL_APPS": "Usar aplicativos externos", - "PIN_MESSAGES": "Fixar mensagens", - "BYPASS_SLOWMODE": "Ignorar o modo lento" + "UrlGen": "Gerador de URL", + "Voice": { + "status": { + "badWS": "Resposta ruim do WS", + "conectionFailed": "Conexão falhou", + "done": "Conectado", + "left": "Saiu do canal de voz", + "makingOffer": "Fazendo oferta", + "noSDP": "Sem SDP", + "notconnected": "Não conectado", + "sendingStreams": "Enviando audio", + "startingRTC": "Conectando ao RTC", + "waitingMainWS": "Esperando pelo WS principal", + "waitingURL": "Esperando pela URL de voz", + "wsAuth": "Esperando autorização do WS", + "wsOpen": "Esperando o WS abrir" } }, - "userping": { - "unknown": "@Desconhecido", - "resolving": "Resolvendo usuário" - }, - "hideBlockedMessages": "Você bloqueou este usuário, clique para esconder essas mensagens.", - "showBlockedMessages": "Você bloqueou este usuário, clique para ver $1 {{PLURAL:$1|mensagem|mensagens}} bloqueadas.", - "deleteConfirm": "Tem certeza de que quer apagar isso?", - "yes": "Sim", - "no": "Não", - "todayAt": "Hoje às $1", - "yesterdayAt": "Ontem às $1", - "otherAt": "$1 às $2", - "botSettings": "Configurações do bot", - "uploadPfp": "Enviar foto de perfil:", - "uploadBanner": "Enviar banner:", - "pronouns": "Pronomes:", - "bio": "Bio:", - "profileColor": "Cor do perfil:", - "botGuilds": "Guildas em que o robô está:", - "leaveGuild": "Sair da Guilda", - "confirmGuildLeave": "Tem certeza de que quer sair $1?", - "UrlGen": "Gerador de URL", - "typing": "$2 {{PLURAL:$1|está|estão}} digitando", - "noMessages": "Não tem nenhuma mensagem aqui, seja o primeiro a dizer algo!", - "blankMessage": "Mensagem vazia", - "spoiler": "Spoiler", "accessibility": { - "name": "Acessibilidade", - "roleColors": "Desabilitar cores de cargo", - "playGif": "Tocar gifs em:", - "playIcon": "Reproduzir ícones animados no:", "gifSettings": { - "hover": "Passar o mouse", "always": "Sempre", + "hover": "Passar o mouse", "never": "Nunca" - } + }, + "name": "Acessibilidade", + "playGif": "Tocar gifs em:", + "playIcon": "Reproduzir ícones animados no:", + "roleColors": "Desabilitar cores de cargo" }, - "profile": { - "userInfo": "Informações do usuário", - "bio": "Sobre mim:", - "permInfo": "Permissões", - "mut": "Guildas mútuas", - "mutFriends": "Amigos mútuos", - "joined": "Conta criada em: $1", - "joinedMember": "Entrou em $1 em: $2" + "accountNotStart": "Conta falhou ao iniciar", + "add": "Adicionar", + "applications": { + "delete": "Apagar aplicativo", + "sure": "Tem certeza de que quer apagar $1?" }, - "channelLink": "# $1", - "messageLink": "Mensageie # $1", - "searchGifs": "Pesquisar no Tenor", - "muteDuration": "Dessilenciar em:", - "interactions": { - "replyline": "Iniciou interação", - "ephemeralDismiss": "Ocultar Mensagem", - "onlyYou": "Só você pode ver essa mensagem", - "started": "Processando interação...", - "worked": "Interação sucedida", - "failed": "Interação falhou", - "notImpl": "Fermi ainda não implementou componente de tipo $1 ainda", - "nonsence": "O servidor enviou um componente de tipo $1 que não existe" + "badge": { + "active_developer": "Desenvolvedor Ativo", + "application_guild_subscription": "Tem premium", + "automod": "Usa o automod", + "bot_commands": "Suporta comandos", + "bug_hunter_level_1": "Caçador de bugs nível 1", + "bug_hunter_level_2": "Caçador de bugs nível 2", + "certified_moderator": "Moderador", + "early_supporter": "Apoiador inicial", + "guild_booster_lvl1": "Impulsionou guilda", + "guild_booster_lvl2": "Impulsionou guilda", + "guild_booster_lvl3": "Impulsionou guilda", + "guild_booster_lvl4": "Impulsionou guilda", + "guild_booster_lvl5": "Impulsionou guilda", + "guild_booster_lvl6": "Impulsionou guilda", + "guild_booster_lvl7": "Impulsionou guilda", + "guild_booster_lvl8": "Impulsionou guilda", + "guild_booster_lvl9": "Impulsionou guilda por um bom tempo", + "hypesquad": "Coisa com direitos autorais", + "hypesquad_house_1": "Bravura", + "hypesquad_house_2": "Brilhança", + "hypesquad_house_3": "Balança", + "legacy_username": "Tem nome de usuário legacy", + "partner": "Parceiro da instância", + "premium": "Premium", + "quest_completed": "Completou uma missão", + "staff": "Staff da instância", + "verified_developer": "Desenvolvedor Verificado" + }, + "bio": "Bio:", + "blankMessage": "Mensagem vazia", + "blog": { + "blog": "Blogue", + "blogUpdates": "Atualizações do blog:", + "desc": "Leia ou se inscreva no blogue para receber atualizações sobre o Fermi!", + "fermi": "Blog do Fermi", + "gotoPost": "Ir ao post", + "wantUpdates": "Você gostaria de receber atualizações semanais do blog sobre o estado do Fermi?" }, + "bot": "BOT", + "botGuilds": "Guildas em que o robô está:", + "botSettings": "Configurações do bot", + "cancel": "Cancelar", "channel": { - "timedOutUntil": "Castigado até: $1", "SlowmodeCool": "Espera do modo lento: $1", "TimeOutCool": "Castigado até: $1", - "slowmode": "Modo lento:", - "typebox": "Converse em $1", - "creating": "Criando canal", - "name": "Canal", + "allowIcons": "Permitir ícones de canal customizados", + "announcement": "Anúncios", "copyId": "Copiar id do canal", "copyIdCat": "Copiar id da categoria", - "markRead": "Marcar como lido", - "settings": "Configurações", + "createCatagory": "Criar categoria", + "createChannel": "Criar canal", + "creating": "Criando canal", "delete": "Apagar canal", "deleteCat": "Apagar categoria", + "icon": "Ícone:", "makeInvite": "Criar convite", - "settingsFor": "Configurações para $1", - "voice": "Voz", - "text": "Texto", + "markRead": "Marcar como lido", "mute": "Silenciar Canal", - "unmute": "Dessilenciar Canal", - "announcement": "Anúncios", + "name": "Canal", "name:": "Nome:", - "icon": "Ícone:", - "topic:": "Tópico:", "nsfw:": "NSFW:", - "selectType": "Selecionar tipo do canal", - "selectName": "Nome do canal", - "selectCatName": "Nome da categoria", - "createChannel": "Criar canal", - "createCatagory": "Criar categoria", "permissions": "Permissões", - "allowIcons": "Permitir ícones de canal customizados" + "selectCatName": "Nome da categoria", + "selectName": "Nome do canal", + "selectType": "Selecionar tipo do canal", + "settings": "Configurações", + "settingsFor": "Configurações para $1", + "slowmode": "Modo lento:", + "text": "Texto", + "timedOutUntil": "Castigado até: $1", + "topic:": "Tópico:", + "typebox": "Converse em $1", + "unmute": "Dessilenciar Canal", + "voice": "Voz" }, - "notiClump": "Você recebeu $1 notificações de $2", - "Voice": { - "status": { - "done": "Conectado", - "notconnected": "Não conectado", - "sendingStreams": "Enviando audio", - "conectionFailed": "Conexão falhou", - "makingOffer": "Fazendo oferta", - "startingRTC": "Conectando ao RTC", - "noSDP": "Sem SDP", - "waitingMainWS": "Esperando pelo WS principal", - "badWS": "Resposta ruim do WS", - "waitingURL": "Esperando pela URL de voz", - "wsOpen": "Esperando o WS abrir", - "wsAuth": "Esperando autorização do WS", - "left": "Saiu do canal de voz" - } + "channelLink": "# $1", + "clientDesc": "Versão do cliente: $1\n\n[Entre na guilda oficial do Fermi]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Ajude a traduzir o Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Ajude a criar o Fermi](https://github.com/MathMan05/Fermi)\n\n[Ajude a manter o servidor que o Fermi depende](https://github.com/spacebarchat/server)\n\n[Leia o blog](https://blog.fermi.chat/)\n\nDireitos calculados: $3", + "commands": { + "errorNotValid": "$1 não é uma escolha válida para $2", + "required": "$1 é uma parte necessária desse comando" }, - "usedFermi": "Usou Fermi", + "confirmGuildLeave": "Tem certeza de que quer sair $1?", + "copyLink": "Copiar link da mensagem", + "copymessageid": "Copiar ID da mensagem", + "copyrawtext": "Copiar texto bruto", + "createAccount": "Criar Conta", "delete": "Apagar", - "webhooks": { - "createdAt": "Criado em $1", - "name": "Nome:", - "token": "Token do webhook: `$1`", - "url": "URL do webhook: `$1`", - "avatar": "Avatar", - "createdBy": "Criado por:", - "notFound": "Usuário não está mais na guilda", - "channel": "Canal", - "copyURL": "Copiar URL do Webhook", - "newWebHook": "Novo Webhook", - "EnterWebhookName": "Digite o nome do Webhook", - "base": "Webhooks", - "sillyDefaults": "Capitão Gancho\nBillie Hooks\nBot-aranha", - "type1": "Recebido", - "type2": "Seguidor do Canal", - "type3": "Aplicativo", - "type": "Tipo: $1", - "deleteWebhook": "Apagar Webhook", - "areYouSureDelete": "Tem certeza de que quer apagar $1?" - }, - "switchAccounts": "Trocar contas", - "accountNotStart": "Conta falhou ao iniciar", - "home": { - "uptimeStats": "Tempo vivo:\n Todo o tempo: $1\nEsta semana: $2\nHoje: $3", - "warnOffiline": "Instância está offline, impossível se conectar", - "icon": "Ícone da instância $1" - }, + "deleteConfirm": "Tem certeza de que quer apagar isso?", "devSettings": { - "name": "Configurações de desenvolvedor", - "description": "Essas são para desenvolvedores do Spacebar/Fermi, se você não sabe o que está fazendo, por favor não mexa com elas.", "badUser": "Habilitar o registro no console de objetos de usuário ruins que enviam informação demais:", + "description": "Essas são para desenvolvedores do Spacebar/Fermi, se você não sabe o que está fazendo, por favor não mexa com elas.", "logGateway": "Registrar no console eventos de gateway:", + "name": "Configurações de desenvolvedor", "traces": "Expôr traços:" }, - "htmlPages": { - "idpermissions": "Permite que o bot:", - "addBot": "Adicionar à guilda", - "loadingText": "Fermi está carregando", - "loaddesc": "Não deve levar muito tempo", - "switchaccounts": "Trocar Contas", - "instanceField": "Instância:", - "emailField": "E-mail:", - "pwField": "Senha:", - "loginButton": "Entrar", - "noAccount": "Não possui uma conta?", - "userField": "Nome de usuário:", - "pw2Field": "Digite a senha novamente:", - "dobField": "Data de nascimento:", - "createAccount": "Criar conta", - "alreadyHave": "Já tem uma conta?", - "openClient": "Abrir Cliente", - "welcomeJank": "Bem-vindo(a) ao Fermi", - "box1title": "Fermi é um cliente compatível com o Spacebar que busca ser o melhor possível com muitas funções, incluindo:", - "box1Items": "Mensagens diretas|Suporte a reações|Convites|Troca de contas|Configurações de usuário|Portal do Desenvolvedor|Convites de bot|Suporte a traduções", - "compatableInstances": "Instâncias compatíveis com o Spacebar:", - "box3title": "Contribua ao Fermi", - "box3description": "Nós sempre apreciamos ajuda, tanto denúncias de bugs ou código, e até apontando erros gramáticos.", - "trans": "Traduzir", - "transTitle": "Traduzir o Fermi", - "transDesc": "Você pode ajudar com a tradução do Fermi para o seu idioma!" + "discovery": "Descobrir", + "dms": "Mensagens Privadas", + "edit": "Editar", + "emoji": { + "confirmDel": "Tem certeza de que deseja excluir este emoji?", + "found": { + "not": "Esse emoji não é de uma das suas guildas, você deve entrar para poder usá-lo", + "other": "Esse emoji é de uma de suas outras guildas.", + "private": "A guilda para esse emoji não pôde ser encontrada", + "this": "Esse emoji é dessa guilda." + }, + "from": "Esse emoji é de", + "image:": "Imagem:", + "join": "Entrar na Guilda", + "name:": "Nome:", + "privateGuild": "Essa guilda é privada", + "title": "Emojis", + "upload": "Enviar Emojis" + }, + "emojiSelect": "Emoji:", + "errorReconnect": "Impossível conectar ao servidor, tentando novamente em **$1** segundos...", + "favoriteGifs": "Gifs Favoritos", + "folder": { + "color": "Cor da pasta:", + "create": "Criar nova pasta", + "edit": "Editar pasta", + "name": "Nome da pasta:" }, "form": { "captcha": "Espera, você é humano?" }, - "useTemplate": "Usar $1 como modelo", - "useTemplateButton": "Usar modelo", - "register": { - "register": "Registrar", - "passwordError:": "Senha: $1", - "usernameError": "Nome de usuário: $1", - "emailError": "E-mail: $1", - "DOBError": "Data de Nascimento: $1", - "agreeTOS": "Eu concordo com os [Termos de Serviço]($1):", - "noTOS": "Essa instância não tem Termos de Serviço, aceitar de qualquer jeito:", - "tos": "Você deve aceitar os Termos de Serviço" + "friends": { + "addfriend": "Adicionar como amigo", + "addfriendpromt": "Adicionar como amigo por nome de usuário:", + "all": "Todos", + "all:": "Todos os amigos:", + "blocked": "Bloqueado(a)", + "blockedusers": "Usuários bloqueados:", + "bu": "Usuário Bloqueado", + "discnotfound": "Discriminador não encontrado", + "friendlist": "Lista de Amigos", + "friends": "Amigos", + "notfound": "Usuário não encontrado", + "online": "Online", + "online:": "Amigos online:", + "pending": "Pendente", + "pending:": "Pedidos pendentes:", + "removeFriend": "Remover amigo" }, - "leaving": "Você está saindo do Spacebar", - "goingToURL": "Você está a caminho de $1. Tem certeza de que quer sair?", "goThere": "Ir lá", "goThereTrust": "Ir lá e confiar no futuro", - "nevermind": "Deixa pra lá", - "submit": "enviar", - "edit": "Editar", - "discovery": "Descobrir", + "goingToURL": "Você está a caminho de $1. Tem certeza de que quer sair?", + "group": { + "createdm": "Criar grupo!", + "edit": "Editar Grupo", + "select": "Selecionar amigos" + }, "guild": { - "memberCount": "$1 {{PLURAL:$1|membro|membros}}", - "joinConfirm": "Entrar em $1?", - "guilds": "Guildas", - "template": "Modelo:", - "admins": "Encontrar Administradores", + "COMMUNITY": "Aplicar para entrar", + "DISCOVERABLE": "Descoberta", + "INVITES_DISABLED": "Somente convite", "adminMenu": { - "finding": "Encontrando Administradores", - "permission": "Permissões:", "changePerms": "Mudar permissões para encontrar", + "finding": "Encontrando Administradores", + "ownName": "Dono", "owner": "Encontrar o dono", - "ownName": "Dono" + "permission": "Permissões:" }, - "viewTemplate": "Ver Modelo", - "createFromTemplate": "Guilda do Modelo", - "tempUseCount": "Modelo já foi usado $1 {{PLURAL:$1|vez|vezes}}", - "tempCreatedBy": "Modelo criado por:", - "editingTemplate": "Editando $1", - "createNewTemplate": "Criar Novo Modelo", - "templates": "Modelos", - "templateName": "Nome do Modelo:", - "templateDesc": "Descrição do Modelo:", - "templcateMetaDesc": "Um modelo permite que outros usem essa guilda como uma base para suas próprias guildas, irá copiar os canais, cargos e configurações dessa guilda, mas não as mensagens dessa guilda, bots ou seu ícone.", - "invites": "Convites", - "templateNameShort": "Nome do modelo precisa ter pelo menos 2 caracteres.", - "templateURL": "URL do Modelo: $1", - "bannedBy": "Banido(a) por:", + "admins": "Encontrar Administradores", + "all": "todas", "banReason": "Motivo do banimento: $1", + "bannedBy": "Banido(a) por:", + "banner:": "Banner:", "bans": "Banimentos", - "ruleId": "Canal de Regras:", + "boostMessage?": "Envie uma mensagem quando alguém impulsionar sua guilda!", "community": "Comunidade", - "creating": "Criando guilda", + "confirmDelete": "Tem certeza de que quer apagar $1?", + "confirmLeave": "Tem certeza de que quer sair?", "copyId": "Copiar id da guilda", - "markRead": "Marcar como lida", - "notifications": "Notificações", - "mute": "Silenciar Guilda", - "leave": "Sair da guilda", - "settings": "Configurações", + "create": "Criar guilda", + "createFromTemplate": "Guilda do Modelo", + "createNewTemplate": "Criar Novo Modelo", + "creating": "Criando guilda", + "default": "Padrão ($1)", + "defaultNoti": "Configure a configuração de notificações padrão da sua guilda!", "delete": "Apagar guilda", + "description:": "Descrição:", + "disoveryTitle": "Descobrir guildas ($1 {{PLURAL:$1|guilda|guildas}})", + "editingTemplate": "Editando $1", + "emptytext": "Você se encontra em um lugar estranho, esta guilda não tem canais", + "emptytitle": "Lugar estranho", + "guilds": "Guildas", + "helpTips?": "Envie dicas úteis para sua guilda!", + "howJoin": "Como pessoas podem se juntar a sua guilda?", + "icon:": "Ícone:", + "invites": "Convites", + "joinConfirm": "Entrar em $1?", + "leave": "Sair da guilda", + "loadingDiscovery": "Carregando...", "makeInvite": "Criar convite", - "settingsFor": "Configurações para $1", + "markRead": "Marcar como lida", + "memberCount": "$1 {{PLURAL:$1|membro|membros}}", + "mute": "Silenciar Guilda", "name:": "Nome:", - "topic:": "Tópico:", - "icon:": "Ícone:", + "noDelete": "Deixa pra lá", + "noLeave": "Deixa pra lá", + "none": "nenhuma", + "notifications": "Notificações", + "onlyMentions": "somente menções", "overview": "Visão geral", - "banner:": "Banner:", "region:": "Região:", "roles": "Cargos", + "ruleId": "Canal de Regras:", "selectnoti": "Selecionar tipo de notificações", - "all": "todas", - "onlyMentions": "somente menções", - "none": "nenhuma", - "confirmLeave": "Tem certeza de que quer sair?", - "yesLeave": "Sim, tenho certeza", - "noLeave": "Deixa pra lá", - "confirmDelete": "Tem certeza de que quer apagar $1?", - "serverName": "Nome da guilda:", - "yesDelete": "Sim, tenho certeza", - "noDelete": "Deixa pra lá", - "create": "Criar guilda", - "loadingDiscovery": "Carregando...", - "disoveryTitle": "Descobrir guildas ($1 {{PLURAL:$1|guilda|guildas}})", - "emptytitle": "Lugar estranho", - "emptytext": "Você se encontra em um lugar estranho, esta guilda não tem canais", - "default": "Padrão ($1)", - "description:": "Descrição:", - "systemSelect:": "Canal de mensagens do sistema:", "sendrandomwelcome?": "Enviar uma mensagem aleatória quando alguém entrar nesta guilda", + "serverName": "Nome da guilda:", + "settings": "Configurações", + "settingsFor": "Configurações para $1", "stickWelcomeReact?": "Motive membros da sua guilda a reagir com um adesivo quando alguém entra!", - "boostMessage?": "Envie uma mensagem quando alguém impulsionar sua guilda!", - "helpTips?": "Envie dicas úteis para sua guilda!", - "defaultNoti": "Configure a configuração de notificações padrão da sua guilda!", - "howJoin": "Como pessoas podem se juntar a sua guilda?", - "COMMUNITY": "Aplicar para entrar", - "INVITES_DISABLED": "Somente convite", - "DISCOVERABLE": "Descoberta" + "systemSelect:": "Canal de mensagens do sistema:", + "tempCreatedBy": "Modelo criado por:", + "tempUseCount": "Modelo já foi usado $1 {{PLURAL:$1|vez|vezes}}", + "template": "Modelo:", + "templateDesc": "Descrição do Modelo:", + "templateName": "Nome do Modelo:", + "templateNameShort": "Nome do modelo precisa ter pelo menos 2 caracteres.", + "templateURL": "URL do Modelo: $1", + "templates": "Modelos", + "templcateMetaDesc": "Um modelo permite que outros usem essa guilda como uma base para suas próprias guildas, irá copiar os canais, cargos e configurações dessa guilda, mas não as mensagens dessa guilda, bots ou seu ícone.", + "topic:": "Tópico:", + "viewTemplate": "Ver Modelo", + "yesDelete": "Sim, tenho certeza", + "yesLeave": "Sim, tenho certeza" }, - "welcomeMessages": "Bem-vindo(a) $1! Bom te ver!\nOlá, prazer em te conhecer $1!\nBem-vindo(a), espero que tenha trago pizza $1!", - "createAccount": "Criar Conta", - "role": { - "displaySettings": "Configurações de exibição", - "name": "Nome do cargo:", - "copyId": "Copiar ID do cargo", - "roles": "Cargos", - "perms": "Permissões", - "hoisted": "Levantado:", - "mentionable": "Permitir que qualquer um possa marcar este cargo:", - "color": "Cor", - "remove": "Remover cargo", - "delete": "Apagar cargo", - "confirmDelete": "Tem certeza de que quer apagar $1?", - "roleEmoji": "Emoji do cargo:", - "roleFileIcon": "Ícone do cargo:", - "deleting": "Apagando cargo...", - "colors": { - "name": "Número de cores:", - "one": "Um", - "two": "Duas", - "three": "Três", - "secondColor": "Segunda cor:", - "thirdColor": "Terceira cor:" - } + "hideBlockedMessages": "Você bloqueou este usuário, clique para esconder essas mensagens.", + "home": { + "icon": "Ícone da instância $1", + "uptimeStats": "Tempo vivo:\n Todo o tempo: $1\nEsta semana: $2\nHoje: $3", + "warnOffiline": "Instância está offline, impossível se conectar" }, - "folder": { - "name": "Nome da pasta:", - "color": "Cor da pasta:", - "create": "Criar nova pasta", - "edit": "Editar pasta" + "htmlPages": { + "addBot": "Adicionar à guilda", + "alreadyHave": "Já tem uma conta?", + "box1Items": "Mensagens diretas|Suporte a reações|Convites|Troca de contas|Configurações de usuário|Portal do Desenvolvedor|Convites de bot|Suporte a traduções", + "box1title": "Fermi é um cliente compatível com o Spacebar que busca ser o melhor possível com muitas funções, incluindo:", + "box3description": "Nós sempre apreciamos ajuda, tanto denúncias de bugs ou código, e até apontando erros gramáticos.", + "box3title": "Contribua ao Fermi", + "compatableInstances": "Instâncias compatíveis com o Spacebar:", + "createAccount": "Criar conta", + "dobField": "Data de nascimento:", + "emailField": "E-mail:", + "idpermissions": "Permite que o bot:", + "instanceField": "Instância:", + "loaddesc": "Não deve levar muito tempo", + "loadingText": "Fermi está carregando", + "loginButton": "Entrar", + "noAccount": "Não possui uma conta?", + "openClient": "Abrir Cliente", + "pw2Field": "Digite a senha novamente:", + "pwField": "Senha:", + "switchaccounts": "Trocar Contas", + "trans": "Traduzir", + "transDesc": "Você pode ajudar com a tradução do Fermi para o seu idioma!", + "transTitle": "Traduzir o Fermi", + "userField": "Nome de usuário:", + "welcomeJank": "Bem-vindo(a) ao Fermi" }, - "settings": { - "unsaved": "Cuidado, você tem mudanças que não foram salvas", - "save": "Salvar mudanças", - "img": "Enviar imagem", - "clear": "Limpar" + "incorrectURLS": "## Esta instância provávelmente enviou as URLs incorretas.\n### Se você for o dono da instância por favor veja [isso](https://docs.spacebar.chat/setup/server/) após *Connecting from remote machines* para corrigir o problema.\n Você gostaria que o Fermi corigisse esse problema automáticamente para permitir que conecte a instância?", + "instInfo": "Informação da Instância", + "instanceInfo": { + "contact": "Escrever um e-mail para os Administradores da Instância", + "frontPage": "[Página Inicial]($1)", + "name": "Informações da Instância", + "publicUrl": "[URL Pública]($1)", + "tosPage": "[Termos de Serviço]($1)" }, - "trace": { - "totalTime": "$2: $1ms", - "traces": "$1 ($2ms) $3" + "instanceStats": { + "members": "Membros: $1", + "messages": "Mensagens: $1", + "name": "Informações da Instância: $1", + "servers": "Guildas: $1", + "users": "Usuários registrados: $1" }, - "notiVolume": "Volume da notificação:", - "blog": { - "blog": "Blogue", - "wantUpdates": "Você gostaria de receber atualizações semanais do blog sobre o estado do Fermi?", - "blogUpdates": "Atualizações do blog:", - "gotoPost": "Ir ao post", - "fermi": "Blog do Fermi", - "desc": "Leia ou se inscreva no blogue para receber atualizações sobre o Fermi!" + "interactions": { + "ephemeralDismiss": "Ocultar Mensagem", + "failed": "Interação falhou", + "nonsence": "O servidor enviou um componente de tipo $1 que não existe", + "notImpl": "Fermi ainda não implementou componente de tipo $1 ainda", + "onlyYou": "Só você pode ver essa mensagem", + "replyline": "Iniciou interação", + "started": "Processando interação...", + "worked": "Interação sucedida" }, - "remove": "Remover", - "applications": { - "delete": "Apagar aplicativo", - "sure": "Tem certeza de que quer apagar $1?" + "invite": { + "accept": "Aceitar", + "alreadyJoined": "Já entrou", + "channel:": "Canal:", + "createInvite": "Criar convite", + "createdAt": "Criado em $1", + "expireAfter": "Expirar após:", + "expires": "Expira: $1", + "forChannel": "Para o canal: $1", + "inviteLinkCode": "Código ou link de convite", + "inviteMaker": "Criador de Convites", + "invitedBy": "Você foi convidado por $1", + "joinUsing": "Entrar usando convite", + "loginOrCreateAccount": "Entre ou crie uma conta", + "longInvitedBy": "$1 te convidou para entrar $2", + "maxUses": "Máximo de usos: $1", + "never": "Nunca", + "noAccount": "Crie uma conta para aceitar o convite", + "subtext": "para $1 em $2", + "used": "Usado $1 {{PLURAL:$1|vez|vezes}}" }, - "webauth": { - "manage": "Gerenciar chaves de segurança", - "addKey": "Adicionar chave", - "keyname": "Nome da chave:" + "inviteOptions": { + "12h": "12 Horas", + "1d": "1 Dia", + "1h": "1 Hora", + "30d": "30 Dias", + "30m": "30 Minutos", + "6h": "6 Horas", + "7d": "7 Dias", + "limit": "$1 {{PLURAL:$1|uso|usos}}", + "never": "Nunca", + "noLimit": "Sem limite", + "title": "Convidar pessoas" }, - "updateAv": "Atualizações Disponíveis", + "jankInfo": "Informação do Cliente", + "leaveGuild": "Sair da Guilda", + "leaving": "Você está saindo do Spacebar", + "loaded": "Carregado", "localuser": { - "noUpdates": "Nenhuma atualização encontrada", - "updatesYay": "Atualizações foram encontradas!", - "refreshPage": "Recarregue para aplicar", - "trusted": "Domínios Confiados", - "trustedDesc": "Esses domínios não vão te perguntar por permissão ao clicá-los como outros links, só permita links que você confia.", - "trace": "Trilhas", - "install": "Instalar", - "installJank": "Instalar Fermi", - "installDesc": "Instalar o Fermi te permite abrir ele em uma janela e que ele aja como um app próprio! Você também pode só continuar a usar o Fermi no navegador e irá funcionar do mesmo jeito.", - "addStatus": "Adicionar status", - "status": "Status", - "customStatusWarn": "Spacebar não tem suporte a status customizados no momento, então enquanto será aceito, nada será feito com ele.", - "settings": "Configurações", - "userSettings": "Configurações do Usuário", - "themesAndSounds": "Temas & Sons", - "theme:": "Tema", - "notisound": "Som de notificação:", - "customSound": "Som Customizado", - "soundTooLarge": "O som que você tentou enviar é grande demais, tente novamente", - "accentColor": "Cor de destaque:", - "VoiceWarning": "Você tem certeza que quer habilitar isto? É bem experimental e pode causar problemas. (esta função é somente para desenvolvedores, não a ative se não sabe o que está fazendo)", - "updateSettings": "Configurações de atualização", - "swSettings": "Configuração do Trabalhador de Serviço", - "SWOff": "Desligado", - "SWOffline": "Somente offline", - "SWOn": "Ligado", - "clearCache": "Limpar cache", + "2faCode:": "Código:", + "2faCodeGive": "Seu segredo é: $1 e tem 6 digitos, com um período de token de 30 segundos", + "2faDisable": "Desabilitar 2FA", + "2faEnable": "Habilitar 2FA", "CheckUpdate": "Checar atualizações", + "PasswordsNoMatch": "As senhas não coincidem", + "TOSURL": "URL dos Termos de Serviço:", + "VoiceWarning": "Você tem certeza que quer habilitar isto? É bem experimental e pode causar problemas. (esta função é somente para desenvolvedores, não a ative se não sabe o que está fazendo)", + "accentColor": "Cor de destaque:", "accountSettings": "Configurações da conta", - "2faDisable": "Desabilitar 2FA", + "addBot": "Adicionar bot", + "addStatus": "Adicionar status", + "advancedBot": "Configurações de bot avançadas", + "appName": "Nome do aplicativo:", + "areYouSureDelete": "Você tem certeza que quer apagar sua conta? Se sim, digite $1", "badCode": "Código inválido", - "2faEnable": "Habilitar 2FA", - "2faCode:": "Código:", - "setUp2fa": "Configuração do 2FA", "badPassword": "Senha incorreta", - "setUp2faInstruction": "Copiar este segredo para seu aplicativo totp (gerenciador de senhas temporárias)", - "2faCodeGive": "Seu segredo é: $1 e tem 6 digitos, com um período de token de 30 segundos", + "botAvatar": "Avatar do bot:", + "botInviteCreate": "Criador de convite de bot", + "botUsername": "Nome do bot:", "changeDiscriminator": "Mudar discriminador", - "newDiscriminator": "Novo discriminador:", "changeEmail": "Alterar e-mail", - "password:": "Senha", + "changePassword": "Mudar senha", + "changeUsername": "Mudar nome de usuário", + "clearCache": "Limpar cache", + "confirmAddBot": "Tem certeza de que quer adicionar um bot a esta aplicação? Não tem volta.", + "confirmReset": "Tem certeza que quer resetar o token do bot? Seu bot vai parar de funcionar até que o atualize.", + "confuseNoBot": "Por algum motivo, esta aplicação não tem um bot (ainda)", + "connections": "Conexões", + "createApp": "Criar aplicativo", + "customSound": "Som Customizado", + "customStatusWarn": "Spacebar não tem suporte a status customizados no momento, então enquanto será aceito, nada será feito com ele.", + "deleteAccount": "Apagar conta", + "deleteAccountButton": "Apagar conta", + "description": "Descrição:", + "devPortal": "Portal de desenvolvedores", + "disableConnection": "Essa conexão foi desabilitada no lado do servidor", + "editingBot": "Editando bot $1", + "install": "Instalar", + "installDesc": "Instalar o Fermi te permite abrir ele em uma janela e que ele aja como um app próprio! Você também pode só continuar a usar o Fermi no navegador e irá funcionar do mesmo jeito.", + "installJank": "Instalar Fermi", + "language": "Língua:", + "manageBot": "Gerenciar bot", + "manageInstance": "Gerenciar Instância", + "mustTypePhrase": "Para apagar sua conta, você deve digitar a frase.", + "newDiscriminator": "Novo discriminador:", "newEmail:": "Novo e-mail", - "changeUsername": "Mudar nome de usuário", + "newPassword:": "Nova senha:", "newUsername": "Novo nome de usuário:", - "changePassword": "Mudar senha", + "noToken": "Não sabemos o token então não podemos salvá-lo para o localStorage, foi mal", + "noUpdates": "Nenhuma atualização encontrada", + "notisound": "Som de notificação:", "oldPassword:": "Senha antiga:", - "newPassword:": "Nova senha:", - "PasswordsNoMatch": "As senhas não coincidem", - "disableConnection": "Essa conexão foi desabilitada no lado do servidor", - "devPortal": "Portal de desenvolvedores", - "createApp": "Criar aplicativo", - "team:": "Time:", - "appName": "Nome do aplicativo:", - "description": "Descrição:", + "password:": "Senha", "privacyPolcyURL": "URL da Política de Privacidade:", - "TOSURL": "URL dos Termos de Serviço:", "publicAvaliable": "Criar bot publicamente convidável?", + "refreshPage": "Recarregue para aplicar", "requireCode": "Exigir código para convidar o bot?", - "manageBot": "Gerenciar bot", - "addBot": "Adicionar bot", - "confirmAddBot": "Tem certeza de que quer adicionar um bot a esta aplicação? Não tem volta.", - "confuseNoBot": "Por algum motivo, esta aplicação não tem um bot (ainda)", - "editingBot": "Editando bot $1", - "botUsername": "Nome do bot:", - "botAvatar": "Avatar do bot:", "resetToken": "Reiniciar o Token", - "confirmReset": "Tem certeza que quer resetar o token do bot? Seu bot vai parar de funcionar até que o atualize.", - "tokenDisplay": "Token: $1", "saveToken": "Salvar token para o localStorage", - "noToken": "Não sabemos o token então não podemos salvá-lo para o localStorage, foi mal", - "advancedBot": "Configurações de bot avançadas", - "botInviteCreate": "Criador de convite de bot", - "language": "Língua:", - "connections": "Conexões", - "deleteAccount": "Apagar conta", - "areYouSureDelete": "Você tem certeza que quer apagar sua conta? Se sim, digite $1", + "setUp2fa": "Configuração do 2FA", + "setUp2faInstruction": "Copiar este segredo para seu aplicativo totp (gerenciador de senhas temporárias)", + "settings": "Configurações", "sillyDeleteConfirmPhrase": "Shrek é amor, shrek é vida", - "deleteAccountButton": "Apagar conta", - "mustTypePhrase": "Para apagar sua conta, você deve digitar a frase.", - "manageInstance": "Gerenciar Instância" + "soundTooLarge": "O som que você tentou enviar é grande demais, tente novamente", + "status": "Status", + "team:": "Time:", + "theme:": "Tema", + "themesAndSounds": "Temas & Sons", + "tokenDisplay": "Token: $1", + "trace": "Trilhas", + "trusted": "Domínios Confiados", + "trustedDesc": "Esses domínios não vão te perguntar por permissão ao clicá-los como outros links, só permita links que você confia.", + "updateSettings": "Configurações de atualização", + "updatesYay": "Atualizações foram encontradas!", + "userSettings": "Configurações do Usuário" }, - "search": { - "back": "Voltar", - "next": "Próximo", - "page": "Página $1", - "new": "Novo", - "old": "Antigo", - "search": "Pesquisar", - "nofind": "Parece ter nenhuma mensagem que bate com sua pesquisa, talvez tente deixar sua pesquisa mais ampla para encontrar o que você quer" + "login": { + "allGood": "Tudo certo", + "checking": "Checando instância", + "enterPAgain": "Digite a senha novamente:", + "invalid": "Instância inválida, tente novamente", + "login": "Login", + "newPassword": "Nova senha:", + "pasteInfo": "Cole o URL de recuperação aqui:", + "recover": "Esqueceu a senha?", + "recovery": "Esqueceu a senha", + "waiting": "Esperando para checar instância" + }, + "logout": { + "error": { + "cancel": "Cancelar", + "cont": "Continuar mesmo assim", + "desc": "Fermi não conseguiu encerrar a sessão,\n deseja remover a conta mesmo assim?", + "title": "Ocorreu um erro ao tentar encerrar a sessão" + }, + "logout": "Encerrar a sessão" }, "manageInstance": { - "stop": "Parar instância", "AreYouSureStop": "Você tem certeza que quer parar essa instância?", - "createTokens": "Criar tokens de registro", - "count": "Contagem:", - "length": "Tamanho:", - "format": "Formato:", "TokenFormats": { - "plain": "Simples", "JSON": "Formatado em JSON", - "URLs": "URLs de convite" + "URLs": "URLs de convite", + "plain": "Simples" }, - "create": "Criar", "clientURL": "URL do Cliente:", - "regType": "Registrar tipo da URL do token", + "copy": "Copiar", + "count": "Contagem:", + "create": "Criar", + "createTokens": "Criar tokens de registro", + "format": "Formato:", "genericType": "Genérico", - "copy": "Copiar" + "length": "Tamanho:", + "regType": "Registrar tipo da URL do token", + "stop": "Parar instância" + }, + "media": { + "artist": "Artista: $1", + "composer": "Compositor: $1", + "download": "Baixar mídia", + "length": "Duração: $1 minutos e $2 segundos", + "loading": "Carregando", + "moreInfo": "Mais informações", + "notFound": "Não foi possível encontrar a mídia" + }, + "member": { + "ban": "Banir $1 de $2", + "kick": "Expulsar $1 de $2", + "nick:": "Apelido:", + "reason:": "Motivo:", + "timeout": "Castigo $1", + "timeoutTime": "Tempo de Castigo:" }, - "emojiSelect": "Emoji:", - "noEmojiFont": "Usar emojis do sistema", - "unpinMessage": "Desfixar essa mensagem", - "noPins": "Parece que não tem nada aqui... ainda", "message": { - "reactionAdd": "Adicionar reação", - "reactions": "Ver Reações", + "andMore": "$1, e mais!", + "attached": "Enviou um anexo", "delete": "Excluir mensagem", + "deleted": "Mensagem excluída", "edit": "Editar mensagem", "edited": "editado", - "deleted": "Mensagem excluída", - "attached": "Enviou um anexo", - "retry": "Reenviar mensagem com erro", - "pin": "$1 fixou uma mensagem", - "viewrest": "Ver o resto", "fullMessage": "Mensagem completa:", + "pin": "$1 fixou uma mensagem", + "reactedWith": "Reagiu com $1", + "reactionAdd": "Adicionar reação", + "reactions": "Ver Reações", "reactionsTitle": "Reações", - "andMore": "$1, e mais!", - "reactedWith": "Reagiu com $1" + "retry": "Reenviar mensagem com erro", + "viewrest": "Ver o resto" }, - "instanceStats": { - "name": "Informações da Instância: $1", - "users": "Usuários registrados: $1", - "servers": "Guildas: $1", - "messages": "Mensagens: $1", - "members": "Membros: $1" + "messageLink": "Mensageie # $1", + "muteDuration": "Dessilenciar em:", + "nevermind": "Deixa pra lá", + "no": "Não", + "noEmojiFont": "Usar emojis do sistema", + "noMessages": "Não tem nenhuma mensagem aqui, seja o primeiro a dizer algo!", + "noPins": "Parece que não tem nada aqui... ainda", + "noStickers": "Isso é meio estranho, não tem nenhum adesivo aqui para usar!", + "notiClump": "Você recebeu $1 notificações de $2", + "notiVolume": "Volume da notificação:", + "otherAt": "$1 às $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Permite que o usuário adicione reações às mensagens", + "ADMINISTRATOR": "Permite todas as permissões e ultrapassa permissões específicas. Esta é uma permissão perigosa!", + "ATTACH_FILES": "Permite que o usuário anexe arquivos", + "BAN_MEMBERS": "Permite que o usuário faça o banimento de membros da guilda", + "BYPASS_SLOWMODE": "Modo lento não afetará mais este usuário", + "CHANGE_NICKNAME": "Permite que o usuário mude o próprio apelido", + "CONNECT": "Permite que o usuário conecte a um canal de voz", + "CREATE_EVENTS": "Permite a criação de eventos programados e que altere e apague esses criados pelo usuário atual.", + "CREATE_GUILD_EXPRESSIONS": "Permite que o usuário crie emojis, adesivos, e sons da soundboard, e alterar e apagar esses criados pelo usuário atual.", + "CREATE_INSTANT_INVITE": "Permite que o usuário crie convites para a guilda", + "CREATE_PRIVATE_THREADS": "Permite que o usuário crie tópicos privados", + "CREATE_PUBLIC_THREADS": "Permite que o usuário crie tópicos públicos", + "DEAFEN_MEMBERS": "Permite que o usuário ensurdeça outro membros", + "EMBED_LINKS": "Permite que links enviados por este usuário mostrem um embed", + "KICK_MEMBERS": "Permite que o usuário expulse membros da guilda", + "MANAGE_CHANNELS": "Permite que o usuário gerencie e altere canais", + "MANAGE_EVENTS": "Permite que o usuário altere e gerencie eventos", + "MANAGE_GUILD": "Permite o gerenciamento e alterações da guilda", + "MANAGE_GUILD_EXPRESSIONS": "Permite que o usuário gerencie emojis, adesivos e a soundboard", + "MANAGE_MESSAGES": "Permite que o usuário apague mensagens que não são suas", + "MANAGE_NICKNAMES": "Permite que o usuário mude o apelido de outros membros", + "MANAGE_ROLES": "Permite que o usuário altere e gerencie cargos", + "MANAGE_THREADS": "Permite que o usuário apague e arquive tópicos e que veja todos os tópicos privados", + "MANAGE_WEBHOOKS": "Permite que o usuário gerencie e altere webhooks", + "MENTION_EVERYONE": "Permite que o usuário mencione everyone", + "MODERATE_MEMBERS": "Permite que o usuário deixe outros usuários de castigo para previnir que mandem ou reajam a mensagens no chat e em tópicos, e que falem em canais de voz e canais stage", + "MOVE_MEMBERS": "Permite que o usuário mova membros entre canais de voz", + "MUTE_MEMBERS": "Permite que o usuário silencie outros membros", + "PIN_MESSAGES": "Permite o usuário fixar mensagens", + "PRIORITY_SPEAKER": "Permite o uso de fala com prioridade em um canal de voz", + "READ_MESSAGE_HISTORY": "Permite que o usuário leia o histórico de mensagens", + "REQUEST_TO_SPEAK": "Permite que o usuário peça para falar em um canal stage", + "SEND_MESSAGES": "Permite que o usuário envie mensagens", + "SEND_MESSAGES_IN_THREADS": "Permite que o usuário envie mensagens em tópicos", + "SEND_POLLS": "Permite que o usuário envie enquetes", + "SEND_TTS_MESSAGES": "Permite que o usuário envie mensagens texto-para-fala", + "SEND_VOICE_MESSAGES": "Permite que o usuário envie mensagens de voz", + "SPEAK": "Permite que o usuário fale em um canal de voz", + "STREAM": "Permite que o usuário transmita", + "USE_APPLICATION_COMMANDS": "Permite que o usuário utilize comandos de aplicação", + "USE_EMBEDDED_ACTIVITIES": "Permite que o usuário use atividades embutidas", + "USE_EXTERNAL_APPS": "Permite que aplicativos instalados pelo usuário enviem respostas públicas. Quando desabilitado, usuários ainda poderão usar seus aplicativos mas as respostas serão temporárias. Isso só se aplica a aplicativos não instalados na guilda.", + "USE_EXTERNAL_EMOJIS": "Permite que o usuário use emojis externos", + "USE_EXTERNAL_SOUNDS": "Permite a utilização de sons customizados da soundboard de outras guildas", + "USE_EXTERNAL_STICKERS": "Permite que o usuário use adesivos externos", + "USE_SOUNDBOARD": "Permite que o usuário use a soundboard em um canal de voz", + "USE_VAD": "Permite que usuários falem em um canal de voz simplesmente falando", + "VIEW_AUDIT_LOG": "Permite que o usuário visualize o registro", + "VIEW_CHANNEL": "Permite que o usuário veja o canal", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Permite que o usuário visualize detalhes de assinatura de cargo", + "VIEW_GUILD_INSIGHTS": "Permite que o usuário veja detalhes da guilda" + }, + "readableNames": { + "ADD_REACTIONS": "Adicionar reações", + "ADMINISTRATOR": "Administrador", + "ATTACH_FILES": "Anexar arquivos", + "BAN_MEMBERS": "Banir membros", + "BYPASS_SLOWMODE": "Ignorar o modo lento", + "CHANGE_NICKNAME": "Mudar apelido", + "CONNECT": "Conectar", + "CREATE_EVENTS": "Criar eventos", + "CREATE_GUILD_EXPRESSIONS": "Criar expressões", + "CREATE_INSTANT_INVITE": "Criar convite", + "CREATE_PRIVATE_THREADS": "Criar tópicos privados", + "CREATE_PUBLIC_THREADS": "Criar tópicos públicos", + "DEAFEN_MEMBERS": "Ensurdecer membros", + "EMBED_LINKS": "Embutidos de links", + "KICK_MEMBERS": "Expulsar membros", + "MANAGE_CHANNELS": "Gerenciar canais", + "MANAGE_EVENTS": "Gerenciar eventos", + "MANAGE_GUILD": "Gerenciar guilda", + "MANAGE_GUILD_EXPRESSIONS": "Gerenciar expressões", + "MANAGE_MESSAGES": "Gerenciar mensagens", + "MANAGE_NICKNAMES": "Gerenciar apelidos", + "MANAGE_ROLES": "Gerenciar cargos", + "MANAGE_THREADS": "Gerenciar tópicos", + "MANAGE_WEBHOOKS": "Gerenciar webhooks", + "MENTION_EVERYONE": "Mencionar @everyone, @here e todos os cargos", + "MODERATE_MEMBERS": "Castigar membros", + "MOVE_MEMBERS": "Mover membros", + "MUTE_MEMBERS": "Silenciar membros", + "PIN_MESSAGES": "Fixar mensagens", + "PRIORITY_SPEAKER": "Falante com prioridade", + "READ_MESSAGE_HISTORY": "Ler histórico de mensagens", + "REQUEST_TO_SPEAK": "Pedir para falar", + "SEND_MESSAGES": "Enviar mensagens", + "SEND_MESSAGES_IN_THREADS": "Enviar mensagens em tópicos", + "SEND_POLLS": "Criar enquetes", + "SEND_TTS_MESSAGES": "Enviar mensagens texto-para-fala", + "SEND_VOICE_MESSAGES": "Enviar mensagens de voz", + "SPEAK": "Falar", + "STREAM": "Vídeo", + "USE_APPLICATION_COMMANDS": "Usar comandos de aplicativos", + "USE_EMBEDDED_ACTIVITIES": "Usar atividades", + "USE_EXTERNAL_APPS": "Usar aplicativos externos", + "USE_EXTERNAL_EMOJIS": "Usar emojis externos", + "USE_EXTERNAL_SOUNDS": "Usar sons externos", + "USE_EXTERNAL_STICKERS": "Usar adesivos externos", + "USE_SOUNDBOARD": "Usar soundboard", + "USE_VAD": "Usar detecção de atividade de voz", + "VIEW_AUDIT_LOG": "Ver registro", + "VIEW_CHANNEL": "Ver canais", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Ver análise de monetização de criador", + "VIEW_GUILD_INSIGHTS": "Ver detalhes da guilda" + } }, - "instanceInfo": { - "name": "Informações da Instância", - "contact": "Escrever um e-mail para os Administradores da Instância", - "tosPage": "[Termos de Serviço]($1)", - "frontPage": "[Página Inicial]($1)", - "publicUrl": "[URL Pública]($1)" + "pinMessage": "Fixar mensagem", + "profile": { + "bio": "Sobre mim:", + "joined": "Conta criada em: $1", + "joinedMember": "Entrou em $1 em: $2", + "mut": "Guildas mútuas", + "mutFriends": "Amigos mútuos", + "permInfo": "Permissões", + "userInfo": "Informações do usuário" + }, + "profileColor": "Cor do perfil:", + "pronouns": "Pronomes:", + "readableName": "Português do Brasil", + "recentEmoji": "Emojis Recentes", + "register": { + "DOBError": "Data de Nascimento: $1", + "agreeTOS": "Eu concordo com os [Termos de Serviço]($1):", + "emailError": "E-mail: $1", + "noTOS": "Essa instância não tem Termos de Serviço, aceitar de qualquer jeito:", + "passwordError:": "Senha: $1", + "register": "Registrar", + "tos": "Você deve aceitar os Termos de Serviço", + "usernameError": "Nome de usuário: $1" + }, + "remove": "Remover", + "reply": "Responder", + "replyingTo": "Respondendo a $1", + "retrying": "Tentando novamente...", + "role": { + "color": "Cor", + "colors": { + "name": "Número de cores:", + "one": "Um", + "secondColor": "Segunda cor:", + "thirdColor": "Terceira cor:", + "three": "Três", + "two": "Duas" + }, + "confirmDelete": "Tem certeza de que quer apagar $1?", + "copyId": "Copiar ID do cargo", + "delete": "Apagar cargo", + "deleting": "Apagando cargo...", + "displaySettings": "Configurações de exibição", + "hoisted": "Levantado:", + "mentionable": "Permitir que qualquer um possa marcar este cargo:", + "name": "Nome do cargo:", + "perms": "Permissões", + "remove": "Remover cargo", + "roleEmoji": "Emoji do cargo:", + "roleFileIcon": "Ícone do cargo:", + "roles": "Cargos" }, - "inviteOptions": { - "title": "Convidar pessoas", - "30m": "30 Minutos", - "1h": "1 Hora", - "6h": "6 Horas", - "12h": "12 Horas", - "1d": "1 Dia", - "7d": "7 Dias", - "30d": "30 Dias", - "never": "Nunca", - "limit": "$1 {{PLURAL:$1|uso|usos}}", - "noLimit": "Sem limite" + "search": { + "back": "Voltar", + "new": "Novo", + "next": "Próximo", + "nofind": "Parece ter nenhuma mensagem que bate com sua pesquisa, talvez tente deixar sua pesquisa mais ampla para encontrar o que você quer", + "old": "Antigo", + "page": "Página $1", + "search": "Pesquisar" }, - "2faCode": "Código 2FA:", - "invite": { - "invitedBy": "Você foi convidado por $1", - "alreadyJoined": "Já entrou", - "accept": "Aceitar", - "noAccount": "Crie uma conta para aceitar o convite", - "longInvitedBy": "$1 te convidou para entrar $2", - "loginOrCreateAccount": "Entre ou crie uma conta", - "joinUsing": "Entrar usando convite", - "inviteLinkCode": "Código ou link de convite", - "subtext": "para $1 em $2", - "expireAfter": "Expirar após:", - "channel:": "Canal:", - "inviteMaker": "Criador de Convites", - "createInvite": "Criar convite", - "used": "Usado $1 {{PLURAL:$1|vez|vezes}}", - "forChannel": "Para o canal: $1", - "createdAt": "Criado em $1", - "expires": "Expira: $1", - "never": "Nunca", - "maxUses": "Máximo de usos: $1" + "searchGifs": "Pesquisar no Tenor", + "settings": { + "clear": "Limpar", + "img": "Enviar imagem", + "save": "Salvar mudanças", + "unsaved": "Cuidado, você tem mudanças que não foram salvas", + "updates": { + "serviceWorkerMode": { + "disabled": "Desligado", + "enabled": "Ligado", + "offlineOnly": "Somente offline", + "title": "Configuração do Trabalhador de Serviço" + } + } }, - "friends": { - "blocked": "Bloqueado(a)", - "blockedusers": "Usuários bloqueados:", - "bu": "Usuário Bloqueado", - "addfriend": "Adicionar como amigo", - "removeFriend": "Remover amigo", - "addfriendpromt": "Adicionar como amigo por nome de usuário:", - "notfound": "Usuário não encontrado", - "discnotfound": "Discriminador não encontrado", - "pending": "Pendente", - "pending:": "Pedidos pendentes:", - "all": "Todos", - "all:": "Todos os amigos:", - "online": "Online", - "online:": "Amigos online:", - "friendlist": "Lista de Amigos", - "friends": "Amigos" + "showBlockedMessages": "Você bloqueou este usuário, clique para ver $1 {{PLURAL:$1|mensagem|mensagens}} bloqueadas.", + "spoiler": "Spoiler", + "sticker": { + "confirmDel": "Tem certeza que quer apagar esse adesivo?", + "del": "Apagar adesivo", + "desc": "Descrição", + "errEmjMust": "Deve incluir um emoji com seu adesivo", + "errFileMust": "Deve incluir uma imagem para seu adesivo", + "image": "Imagem:", + "name": "Nome:", + "tags": "Emoji Associado:", + "title": "Adesivos", + "upload": "Enviar Adesivos" }, - "replyingTo": "Respondendo a $1", - "DMs": { - "copyId": "Copiar ID do PV", - "markRead": "Marcar como lido", - "close": "Fechar PV", - "name": "Mensagens Privadas", - "add": "Adicione alguém para este PV" + "submit": "enviar", + "switchAccounts": "Trocar contas", + "todayAt": "Hoje às $1", + "trace": { + "totalTime": "$2: $1ms", + "traces": "$1 ($2ms) $3" }, + "typing": "$2 {{PLURAL:$1|está|estão}} digitando", + "unableToConnect": "Impossível conectar ao servidor Spacebar. Por favor tente sair e entrar novamente.", + "unableToPin": "Não foi possível fixar a mensagem", + "unpinMessage": "Desfixar essa mensagem", + "updateAv": "Atualizações Disponíveis", + "uploadBanner": "Enviar banner:", + "uploadFilesText": "Carregue seus arquivos aqui!", + "uploadPfp": "Enviar foto de perfil:", + "useTemplate": "Usar $1 como modelo", + "useTemplateButton": "Usar modelo", + "usedFermi": "Usou Fermi", "user": { - "sendMessage": "Conversar com @$1", + "addRole": "Adicionar cargos", + "ban": "Banir membro", + "block": "Bloquear usuário", + "confirmInstBan": "Tem certeza de que quer banir $1 da instância?", "copyId": "Copiar ID do usuário", - "online": "Online", - "offline": "Offline", - "invisible": "Invisível", "dnd": "Não-perturbe", - "idle": "Ausente", - "message": "Enviar mensagem", - "block": "Bloquear usuário", - "unblock": "Desbloquear usuário", + "editServerProfile": "Editar perfil da guilda", "friendReq": "Pedido de amizade", + "idle": "Ausente", + "instanceBan": "Banir da instância", + "invisible": "Invisível", "kick": "Expulsar membro", + "message": "Enviar mensagem", + "offline": "Offline", + "online": "Online", + "remove": "Remover usuário", + "removeRole": "Remover cargos", + "sendMessage": "Conversar com @$1", "timeout": "Castigar membro", "unTimeout": "Remover Castigo do membro", - "ban": "Banir membro", - "addRole": "Adicionar cargos", - "removeRole": "Remover cargos", - "editServerProfile": "Editar perfil da guilda", - "instanceBan": "Banir da instância", - "confirmInstBan": "Tem certeza de que quer banir $1 da instância?", "unban": "Desbanir $1", - "remove": "Remover usuário" - }, - "loaded": "Carregado", - "login": { - "checking": "Checando instância", - "allGood": "Tudo certo", - "invalid": "Instância inválida, tente novamente", - "waiting": "Esperando para checar instância", - "recover": "Esqueceu a senha?", - "pasteInfo": "Cole o URL de recuperação aqui:", - "newPassword": "Nova senha:", - "enterPAgain": "Digite a senha novamente:", - "recovery": "Esqueceu a senha", - "login": "Login" - }, - "member": { - "kick": "Expulsar $1 de $2", - "timeout": "Castigo $1", - "reason:": "Motivo:", - "timeoutTime": "Tempo de Castigo:", - "ban": "Banir $1 de $2", - "nick:": "Apelido:" - }, - "commands": { - "errorNotValid": "$1 não é uma escolha válida para $2", - "required": "$1 é uma parte necessária desse comando" + "unblock": "Desbloquear usuário" }, - "badge": { - "staff": "Staff da instância", - "partner": "Parceiro da instância", - "certified_moderator": "Moderador", - "hypesquad": "Coisa com direitos autorais", - "hypesquad_house_1": "Bravura", - "hypesquad_house_2": "Brilhança", - "hypesquad_house_3": "Balança", - "bug_hunter_level_1": "Caçador de bugs nível 1", - "bug_hunter_level_2": "Caçador de bugs nível 2", - "active_developer": "Desenvolvedor Ativo", - "verified_developer": "Desenvolvedor Verificado", - "early_supporter": "Apoiador inicial", - "premium": "Premium", - "guild_booster_lvl1": "Impulsionou guilda", - "guild_booster_lvl2": "Impulsionou guilda", - "guild_booster_lvl3": "Impulsionou guilda", - "guild_booster_lvl4": "Impulsionou guilda", - "guild_booster_lvl5": "Impulsionou guilda", - "guild_booster_lvl6": "Impulsionou guilda", - "guild_booster_lvl7": "Impulsionou guilda", - "guild_booster_lvl8": "Impulsionou guilda", - "guild_booster_lvl9": "Impulsionou guilda por um bom tempo", - "bot_commands": "Suporta comandos", - "automod": "Usa o automod", - "application_guild_subscription": "Tem premium", - "legacy_username": "Tem nome de usuário legacy", - "quest_completed": "Completou uma missão" + "userping": { + "resolving": "Resolvendo usuário", + "unknown": "@Desconhecido" }, - "dms": "Mensagens Privadas", - "add": "Adicionar", - "group": { - "select": "Selecionar amigos", - "createdm": "Criar grupo!", - "edit": "Editar Grupo" + "vc": { + "joinForStream": "Entre no canal para assistir", + "joiningStream": "Juntando-se a transmissão...", + "joinstream": "Assistir transmissão", + "leavestream": "Sair da transmissão", + "stopstream": "Interromper transmissão" }, - "emoji": { - "title": "Emojis", - "upload": "Enviar Emojis", - "image:": "Imagem:", - "name:": "Nome:", - "confirmDel": "Tem certeza de que deseja excluir este emoji?", - "from": "Esse emoji é de", - "privateGuild": "Essa guilda é privada", - "join": "Entrar na Guilda", - "found": { - "this": "Esse emoji é dessa guilda.", - "other": "Esse emoji é de uma de suas outras guildas.", - "not": "Esse emoji não é de uma das suas guildas, você deve entrar para poder usá-lo", - "private": "A guilda para esse emoji não pôde ser encontrada" - } + "webauth": { + "addKey": "Adicionar chave", + "keyname": "Nome da chave:", + "manage": "Gerenciar chaves de segurança" }, - "sticker": { - "title": "Adesivos", - "upload": "Enviar Adesivos", - "image": "Imagem:", + "webhook": "WEBHOOK", + "webhooks": { + "EnterWebhookName": "Digite o nome do Webhook", + "areYouSureDelete": "Tem certeza de que quer apagar $1?", + "avatar": "Avatar", + "base": "Webhooks", + "channel": "Canal", + "copyURL": "Copiar URL do Webhook", + "createdAt": "Criado em $1", + "createdBy": "Criado por:", + "deleteWebhook": "Apagar Webhook", "name": "Nome:", - "desc": "Descrição", - "confirmDel": "Tem certeza que quer apagar esse adesivo?", - "del": "Apagar adesivo", - "errFileMust": "Deve incluir uma imagem para seu adesivo", - "errEmjMust": "Deve incluir um emoji com seu adesivo", - "tags": "Emoji Associado:" - }, - "404": { - "home": "Início", - "title": "Parece que você tá perdido", - "404": "404 Página Não Encontrada", - "listtitle": "Talvez você quis ir em um desses lugares", - "app": "Ao aplicativo", - "login": "Login", - "reset": "Página de redefinição de senha", - "blog": "O Blogue Fermi", - "whereever": "O que quer que isso seja", - "report": "Se você encontrou essa página dentro do app, por favor, denuncie:", - "whatelse": "O que mais você acha que deveria acontecer?" + "newWebHook": "Novo Webhook", + "notFound": "Usuário não está mais na guilda", + "sillyDefaults": "Capitão Gancho\nBillie Hooks\nBot-aranha", + "token": "Token do webhook: `$1`", + "type": "Tipo: $1", + "type1": "Recebido", + "type2": "Seguidor do Canal", + "type3": "Aplicativo", + "url": "URL do webhook: `$1`" }, + "welcomeMessages": "Bem-vindo(a) $1! Bom te ver!\nOlá, prazer em te conhecer $1!\nBem-vindo(a), espero que tenha trago pizza $1!", "widget": "Widget da Guilda", "widgetEnabled": "Widget habilitado", - "incorrectURLS": "## Esta instância provávelmente enviou as URLs incorretas.\n### Se você for o dono da instância por favor veja [isso](https://docs.spacebar.chat/setup/server/) após *Connecting from remote machines* para corrigir o problema.\n Você gostaria que o Fermi corigisse esse problema automáticamente para permitir que conecte a instância?", - "jankInfo": "Informação do Cliente", - "instInfo": "Informação da Instância", - "clientDesc": "Versão do cliente: $1\n\n[Entre na guilda oficial do Fermi]($2/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[Ajude a traduzir o Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc) \n\n[Ajude a criar o Fermi](https://github.com/MathMan05/Fermi)\n\n[Ajude a manter o servidor que o Fermi depende](https://github.com/spacebarchat/server)\n\n[Leia o blog](https://blog.fermi.chat/)\n\nDireitos calculados: $3", - "uploadFilesText": "Carregue seus arquivos aqui!", - "errorReconnect": "Impossível conectar ao servidor, tentando novamente em **$1** segundos...", - "retrying": "Tentando novamente...", - "unableToConnect": "Impossível conectar ao servidor Spacebar. Por favor tente sair e entrar novamente.", - "bot": "BOT", - "webhook": "WEBHOOK" + "yes": "Sim", + "yesterdayAt": "Ontem às $1" } diff --git a/translations/qqq.json b/translations/qqq.json index 8455db86..b9d21267 100644 --- a/translations/qqq.json +++ b/translations/qqq.json @@ -1,47 +1,43 @@ { "@metadata": { - "last-updated": "2024/11/4", - "locale": "en", + "authors": ["MathMan05", "McDutchie", "Vl1"], "comment": "Don't know how often I'll update this top part lol", - "authors": [ - "MathMan05", - "McDutchie", - "Vl1" - ] + "last-updated": "2024/11/4", + "locale": "en" + }, + "botGuilds": "This means \"the guilds that the bot is in\" (i.e., is a member of).", + "errorReconnect": "Uses MarkDown", + "guild": { + "disoveryTitle": "$1 is the number of guilds discovered" + }, + "htmlPages": { + "box1Items": "this string is slightly atypical, it has a list of items separated by |, please try to keep the same list size as this" + }, + "localuser": { + "description": "This object contains strings related to the logged in user, which is mostly the settings for the user", + "sillyDeleteConfirmPhrase": "This is a silly phrase, do not translate this directly, make a joke that is easy to type in your language", + "updateSettings": "Title of a page that allows you to adjust the update settings" }, - "readableName": "{{doc-important|This should be the name of the language you are translating into, in that language. Please DO NOT translate this into your language’s word for “English”!}}", "permissions": { "descriptions": { + "CREATE_GUILD_EXPRESSIONS": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear.", "DEAFEN_MEMBERS": "To deafen means to temporarily disable your ability to hear any audio from a voice channel, while also muting your own microphone so others cannot hear you. Unlike muting, which only stops others from hearing you, deafening affects both incoming and outgoing audio, completely disabling your participation in the voice channel's audio.", "MANAGE_GUILD_EXPRESSIONS": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear.", - "USE_SOUNDBOARD": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear.", - "CREATE_GUILD_EXPRESSIONS": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear.", - "USE_EXTERNAL_SOUNDS": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear." + "USE_EXTERNAL_SOUNDS": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear.", + "USE_SOUNDBOARD": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear." }, "readableNames": { "DEAFEN_MEMBERS": "To deafen means to temporarily disable your ability to hear any audio from a voice channel, while also muting your own microphone so others cannot hear you. Unlike muting, which only stops others from hearing you, deafening affects both incoming and outgoing audio, completely disabling your participation in the voice channel's audio.", "USE_SOUNDBOARD": "The soundboard is a feature that lets you play short audio clips, like sound effects or voice lines, in voice channels for everyone to hear." } }, - "botGuilds": "This means \"the guilds that the bot is in\" (i.e., is a member of).", - "typing": "$1 is the number of people typing and $2 is the names of the people typing separated by commas", - "webhooks": { - "sillyDefaults": "{{doc-important|This is just a list of silly default names for webhooks, do not feel the need to translate dirrectly, and no need for the same count}}" - }, - "htmlPages": { - "box1Items": "this string is slightly atypical, it has a list of items separated by |, please try to keep the same list size as this" - }, + "readableName": "{{doc-important|This should be the name of the language you are translating into, in that language. Please DO NOT translate this into your language’s word for “English”!}}", "register": { "agreeTOS": "uses MarkDown" }, - "guild": { - "disoveryTitle": "$1 is the number of guilds discovered" - }, - "welcomeMessages": "These are welcome messages, they are meant to be silly, you do not need to directly translated them, there may even be a different count of messages, but only have the username once per message.", - "localuser": { - "updateSettings": "Title of a page that allows you to adjust the update settings", - "description": "This object contains strings related to the logged in user, which is mostly the settings for the user", - "sillyDeleteConfirmPhrase": "This is a silly phrase, do not translate this directly, make a joke that is easy to type in your language" + "typing": "$1 is the number of people typing and $2 is the names of the people typing separated by commas", + "webhooks": { + "sillyDefaults": "{{doc-important|This is just a list of silly default names for webhooks, do not feel the need to translate dirrectly, and no need for the same count}}" }, - "errorReconnect": "Uses MarkDown" + "welcomeMessages": "These are welcome messages, they are meant to be silly, you do not need to directly translated them, there may even be a different count of messages, but only have the username once per message." } diff --git a/translations/ru.json b/translations/ru.json index b63fe95c..a37d57b1 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -1,8 +1,9 @@ { + "2faCode": "Код двухфакторной аутентификации:", + "404": { + "reset": "Страница сброса пароля" + }, "@metadata": { - "last-updated": "2024/15/24", - "locale": "ru", - "comment": "Русский перевод Jank Client", "authors": [ "Amire80", "Aprenik", @@ -17,548 +18,551 @@ "StealthTheAngryBird", "Vl1", "Yupik" - ] - }, - "vc": { - "joinstream": "Смотреть стрим", - "leavestream": "Прекратить просмотр", - "stopstream": "Прекратить стрим", - "joiningStream": "Присоединяемся к стриму..." - }, - "readableName": "Русский", - "pinMessage": "Закрепить сообщение", - "unableToPin": "Не удалось закрепить сообщение", - "reply": "Ответить", - "copyrawtext": "Скопировать текст", - "copymessageid": "Копировать ID сообщения", - "media": { - "notFound": "Медиа не найдено", - "loading": "Загружается", - "download": "Загрузить медиа", - "moreInfo": "Подробнее", - "length": "Продолжительность: $1 минут(ы) $2 секунд(ы)" + ], + "comment": "Русский перевод Jank Client", + "last-updated": "2024/15/24", + "locale": "ru" }, - "logout": { - "logout": "Выйти", - "error": { - "title": "Произошла ошибка при попытке выхода из аккаунта", - "desc": "Fermi не удалось выйти из аккаунта,\n Вы все равно хотите удалить учетную запись?", - "cancel": "Отмена", - "cont": "Всё равно продолжить" - } + "DMs": { + "close": "Закрыть ЛС", + "copyId": "Копировать ID ЛС", + "markRead": "Пометить как прочитанное", + "name": "Личные сообщения" }, - "cancel": "Отмена", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Право создавать приглашения", - "KICK_MEMBERS": "Возможность выгонять участников", - "BAN_MEMBERS": "Возможность банить участников", - "ADMINISTRATOR": "Участники с этим правом имеют все права и обходят особые права и ограничения каналов (например, эти участники получают доступ ко всем приватным каналам). Давать это право опасно!", - "MANAGE_CHANNELS": "Позволяет участникам управлять, создавать и удалять каналы", - "MANAGE_GUILD": "Возможность управлять сервером", - "ADD_REACTIONS": "Позволяет участникам добавлять реакции на сообщения", - "VIEW_AUDIT_LOG": "Позволяет участнику просматривать журнал аудита", - "PRIORITY_SPEAKER": "Даёт участникам больше шансов быть услышанными в голосовых каналах", - "STREAM": "Позволяет участникам показывать свой экран", - "VIEW_CHANNEL": "Позволяет участникам просматривать каналы (кроме приватных) по умолчанию", - "SEND_MESSAGES": "Позволяет участникам отправлять сообщения в текстовых каналах", - "SEND_TTS_MESSAGES": "Даёт участникам возможность отправлять TTS-сообщения", - "MANAGE_MESSAGES": "Позволяет пользователям удалять сообщения других пользователей", - "EMBED_LINKS": "Позволяет отображать контент ссылок в текстовых каналах", - "ATTACH_FILES": "Позволяет пользователям прикреплять файлы к сообщениям", - "READ_MESSAGE_HISTORY": "Позволяет пользователям читать историю сообщений", - "MENTION_EVERYONE": "Позволяет пользователю упоминать всех", - "USE_EXTERNAL_EMOJIS": "Позволяет пользователям использовать эмодзи из других гильдий", - "VIEW_GUILD_INSIGHTS": "Позволяет пользователям просматривать аналитику гильдии", - "CONNECT": "Позволяет пользователям подключаться к голосовым каналам", - "SPEAK": "Позволяет пользователям говорить в голосовых каналах", - "MUTE_MEMBERS": "Позволяет пользователям выключать микрофон другим пользователям", - "DEAFEN_MEMBERS": "Позволяет пользователям заглушать других пользователей", - "MOVE_MEMBERS": "Позволяет пользователям перемещать других пользователей между каналами", - "USE_VAD": "Позволяет пользователям говорить в голосовых каналах просто разговаривая", - "CHANGE_NICKNAME": "Позволяет пользователям изменять их собственные никнеймы", - "MANAGE_NICKNAMES": "Позволяет пользователям изменять никнеймы другим пользователям", - "MANAGE_ROLES": "Позволяет пользователям редактировать и управлять ролями", - "MANAGE_WEBHOOKS": "Даёт управление и изменение вебхуков", - "MANAGE_GUILD_EXPRESSIONS": "Даёт возможность прикреплять эмодзи, отправлять стикеры и использовать звуковую панель.", - "USE_APPLICATION_COMMANDS": "Позволяет пользователям исользовать команды приложений", - "REQUEST_TO_SPEAK": "Позволяет пользователям говорить в канале-трибуне", - "MANAGE_EVENTS": "Позволяет пользователям редактировать и управлять событиями", - "MANAGE_THREADS": "Позволяет пользователям удалять, архивировать, а также просматривать приватные ветки", - "CREATE_PUBLIC_THREADS": "Позволяет пользователям создавать публичные ветки", - "CREATE_PRIVATE_THREADS": "Позволяет пользователям создавать приватные ветки", - "USE_EXTERNAL_STICKERS": "Позволяет пользователям использовать внешние стикеры", - "SEND_MESSAGES_IN_THREADS": "Позволяет пользователям отправлять сообщения в ветках", - "USE_EMBEDDED_ACTIVITIES": "Позволяет пользователям использовать активности", - "MODERATE_MEMBERS": "Позволяет пользователям отключать других пользователей, чтобы запретить им отправлять или реагировать на сообщения в чате и темах, а также разговаривать в голосовых каналах и на трибунах.", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Даёт просмотр аналитики подписок на роли", - "USE_SOUNDBOARD": "Позволяет пользователям использовать звуки из звуковой панели в голосовых каналах", - "CREATE_GUILD_EXPRESSIONS": "Позволяет добавлять эмодзи, стикеры и звуки, а также удалять и изменять те, что были соданы другими пользователями.", - "CREATE_EVENTS": "Позволяет проводить события, а также удалять и изменять те, что были соданы другими пользователями.", - "USE_EXTERNAL_SOUNDS": "Даёт использование звуков из других серверов", - "SEND_VOICE_MESSAGES": "Позволяет отправлять голосовые сообщения", - "SEND_POLLS": "Позволяет создавать голосования", - "USE_EXTERNAL_APPS": "Позволяет установленным пользователем приложениям отправлять публичные ответы. Если отключено, пользователи по-прежнему смогут использовать свои приложения, но ответы будут эфемерными. Это применимо только к приложениям, которые не установлены на сервере." - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Создать приглашение", - "KICK_MEMBERS": "Выгнать участника", - "BAN_MEMBERS": "Забанить участника", - "ADMINISTRATOR": "Администратор", - "MANAGE_CHANNELS": "Управлять каналами", - "MANAGE_GUILD": "Управлять гильдией", - "ADD_REACTIONS": "Добавить реакцию", - "VIEW_AUDIT_LOG": "Посмотреть журнал аудита", - "PRIORITY_SPEAKER": "Приоритетный режим", - "STREAM": "Видео", - "VIEW_CHANNEL": "Просматривать каналы", - "SEND_MESSAGES": "Отправлять сообщения", - "SEND_TTS_MESSAGES": "Отправлять TTS-сообщения", - "MANAGE_MESSAGES": "Управлять сообщениями", - "EMBED_LINKS": "Вставлять контент ссылок", - "ATTACH_FILES": "Прикреплять файлы", - "READ_MESSAGE_HISTORY": "Читать историю сообщений", - "MENTION_EVERYONE": "Упоминать @everyone, @here и все роли", - "USE_EXTERNAL_EMOJIS": "Использовать сторонние эмодзи", - "VIEW_GUILD_INSIGHTS": "Просмотр аналитики гильдии", - "CONNECT": "Подключаться", - "SPEAK": "Говорить", - "MUTE_MEMBERS": "Замьютить участника", - "DEAFEN_MEMBERS": "Заглушить участника", - "MOVE_MEMBERS": "Переместить участника", - "USE_VAD": "Использовать режим активации по голосу", - "CHANGE_NICKNAME": "Изменять никнейм", - "MANAGE_NICKNAMES": "Управлять никнеймами", - "MANAGE_ROLES": "Управлять ролями", - "MANAGE_WEBHOOKS": "Управлять вебхуками (webhooks)", - "MANAGE_GUILD_EXPRESSIONS": "Управлять выражениями", - "USE_APPLICATION_COMMANDS": "Использовать команды приложения", - "REQUEST_TO_SPEAK": "Попросить выступить", - "MANAGE_EVENTS": "Управлять событиями", - "MANAGE_THREADS": "Управлять ветками", - "CREATE_PUBLIC_THREADS": "Создавать публичные ветки", - "CREATE_PRIVATE_THREADS": "Создавать приватные ветки", - "USE_EXTERNAL_STICKERS": "Использовать сторонние стикеры", - "SEND_MESSAGES_IN_THREADS": "Отправлять сообщения в ветках", - "USE_EMBEDDED_ACTIVITIES": "Использовать активности", - "MODERATE_MEMBERS": "Отправлять участников подумать о своём поведении", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Просматривать аналитику монетизации создателей", - "USE_SOUNDBOARD": "Использовать звуковую панель", - "CREATE_GUILD_EXPRESSIONS": "Создавать выражения", - "CREATE_EVENTS": "Создавать события", - "USE_EXTERNAL_SOUNDS": "Использовать внешние звуки", - "SEND_VOICE_MESSAGES": "Отправлять голосовые сообщения", - "SEND_POLLS": "Создавать голосования", - "USE_EXTERNAL_APPS": "Использовать внешние приложения" + "UrlGen": "Генератор URL", + "Voice": { + "status": { + "badWS": "Плохой ответ от WS", + "conectionFailed": "Ошибка соединения", + "done": "Подключен", + "left": "Левый голосовой чат", + "noSDP": "Нет СДП", + "notconnected": "Не подключен", + "sendingStreams": "Отправка аудиопотоков", + "startingRTC": "Запуск RTC-соединения" } }, - "hideBlockedMessages": "Вы заблокировали этого пользователя, нажмите чтобы скрыть эти сообщения.", - "showBlockedMessages": "Вы заблокировали этого пользователя, нажмите, чтобы просмотреть $1 заблокированное/-ых {{PLURAL:$1| сообщение|сообщений}}.", - "deleteConfirm": "Вы точно уверены в том, что хотите удалить это?", - "yes": "Да", - "no": "Нет", - "todayAt": "Сегодня, в $1", - "yesterdayAt": "Вчера, в $1", - "otherAt": "$1 в $2", - "botSettings": "Настройки бота", - "uploadPfp": "Загрузить картинку профиля:", - "uploadBanner": "Загрузить баннер:", - "pronouns": "Местоимения:", - "bio": "Обо мне:", - "profileColor": "Цвет профиля", - "botGuilds": "Сервера, в которых находится бот:", - "leaveGuild": "Покинуть сервер", - "confirmGuildLeave": "Вы уверены, что хотите покинуть $1", - "UrlGen": "Генератор URL", - "typing": "$2 {{PLURAL:$1|печатают|печатает}}", - "noMessages": "Похоже, здесь нет сообщений. Будьте первым, кто что-нибудь напишет!", - "blankMessage": "Пустое сообщение", - "spoiler": "Спойлер", "accessibility": { - "roleColors": "Отключить цвета ролей", - "playGif": "Воспроизвести GIF:", "gifSettings": { "always": "Всегда", "never": "Никогда" - } + }, + "playGif": "Воспроизвести GIF:", + "roleColors": "Отключить цвета ролей" }, - "profile": { - "userInfo": "Информация об участнике", - "permInfo": "Разрешения" + "accountNotStart": "Не удаётся запустить учётную запись", + "badge": { + "active_developer": "Активный разработчик", + "application_guild_subscription": "Имеет premium", + "automod": "Использует автомод", + "bot_commands": "Поддерживает команды", + "bug_hunter_level_1": "Охотник за ошибками 1 уровня", + "bug_hunter_level_2": "Охотник за ошибками 2 уровня", + "certified_moderator": "Модератор", + "early_supporter": "Ранее поддержавший", + "guild_booster_lvl1": "Буст гильдии", + "guild_booster_lvl2": "Буст гильдии", + "guild_booster_lvl3": "Буст гильдии", + "guild_booster_lvl4": "Буст гильдии", + "guild_booster_lvl5": "Буст гильдии", + "guild_booster_lvl6": "Буст гильдии", + "guild_booster_lvl7": "Буст гильдии", + "guild_booster_lvl8": "Буст гильдии", + "guild_booster_lvl9": "Буст гильдии довольно долго", + "hypesquad": "Вещь, защищённая авторским правом", + "hypesquad_house_1": "Bravery", + "hypesquad_house_2": "Brilliance", + "hypesquad_house_3": "Balance", + "legacy_username": "Имеет старое имя пользователя", + "partner": "Партнёр инстанции", + "premium": "Premium", + "quest_completed": "выполнил задание", + "staff": "Сотрудники инстанции", + "verified_developer": "Проверенный разработчик" + }, + "bio": "Обо мне:", + "blankMessage": "Пустое сообщение", + "blog": { + "blog": "Блог", + "desc": "Читайте или подписывайтесь на блог, чтобы быть в курсе новостей о Fermi!", + "fermi": "Блог Fermi" }, + "botGuilds": "Сервера, в которых находится бот:", + "botSettings": "Настройки бота", + "cancel": "Отмена", "channel": { + "announcement": "Объявление", "copyId": "Копировать ID канала", - "markRead": "Пометить как прочитанное", - "settings": "Настройки", + "createCatagory": "Создать категорию", + "createChannel": "Создать канал", "delete": "Удалить канал", "makeInvite": "Создать приглашение", - "settingsFor": "Настройки $1", - "voice": "Голос", - "text": "Текст", - "announcement": "Объявление", + "markRead": "Пометить как прочитанное", "name:": "Название канала:", - "topic:": "Тема канала:", "nsfw:": "Возрастное ограничение:", - "selectType": "Выберите тип канала", - "selectName": "Название канала", + "permissions": "Разрешения", "selectCatName": "Название категории", - "createChannel": "Создать канал", - "createCatagory": "Создать категорию", - "permissions": "Разрешения" - }, - "Voice": { - "status": { - "done": "Подключен", - "notconnected": "Не подключен", - "sendingStreams": "Отправка аудиопотоков", - "conectionFailed": "Ошибка соединения", - "startingRTC": "Запуск RTC-соединения", - "noSDP": "Нет СДП", - "badWS": "Плохой ответ от WS", - "left": "Левый голосовой чат" - } + "selectName": "Название канала", + "selectType": "Выберите тип канала", + "settings": "Настройки", + "settingsFor": "Настройки $1", + "text": "Текст", + "topic:": "Тема канала:", + "voice": "Голос" }, + "confirmGuildLeave": "Вы уверены, что хотите покинуть $1", + "copymessageid": "Копировать ID сообщения", + "copyrawtext": "Скопировать текст", "delete": "Удалить", - "switchAccounts": "Переключение между аккаунтами ⇌", - "accountNotStart": "Не удаётся запустить учётную запись", - "home": { - "uptimeStats": "Время онлайн: \n Всё время: $1\nЭта неделя: $2\nЭтот день: $3", - "warnOffiline": "Инстанция не в сети, невозможно подключиться" - }, + "deleteConfirm": "Вы точно уверены в том, что хотите удалить это?", "devSettings": { - "name": "Developer Settings", - "description": "Эти параметры предназначены для разработчиков Spacebar/Fermi. Если вы не уверены, что делаете, пожалуйста, не изменяйте их.", "badUser": "Включено ведение журнала некорректных пользовательских объектов, которые отправляют слишком много информации:", + "description": "Эти параметры предназначены для разработчиков Spacebar/Fermi. Если вы не уверены, что делаете, пожалуйста, не изменяйте их.", "logGateway": "Записывать полученные события шлюза (уровень журнала — info):", + "name": "Developer Settings", "traces": "Показать трассировки:" }, - "htmlPages": { - "idpermissions": "Это позволит боту:", - "addBot": "Добавить на сервер", - "loadingText": "Jank Client загружается", - "loaddesc": "Это не должно занять много времени", - "switchaccounts": "Переключение между учётными записями", - "instanceField": "Инстанция:", - "emailField": "Эл. почта:", - "pwField": "Пароль:", - "loginButton": "Войти", - "noAccount": "Нет учётной записи?", - "userField": "Имя пользователя:", - "pw2Field": "Введите пароль ещё раз:", - "dobField": "Дата рождения:", - "createAccount": "Создать учётную запись", - "alreadyHave": "Уже есть учётная запись?", - "openClient": "Открыть Клиент", - "welcomeJank": "Добро пожаловать в Jank Client", - "box1title": "Jank Client — это клиент, совместимый с Spacebar, стремящийся быть максимально хорошим и обладающий множеством функций, включая:", - "box1Items": "Личные сообщения|Поддержка реакций|Приглашения|Переключение аккаунтов|Настройки пользователя|Портал разработчиков|Приглашения ботов|Поддержка переводов", - "compatableInstances": "Инстанции, совместимые с Spacebar:", - "box3title": "Внести вклад в Jank Client", - "box3description": "Мы всегда ценим любую помощь, будь то в виде отчетов об ошибках, кода или даже просто указания на некоторые опечатки." + "emoji": { + "confirmDel": "Вы уверены, что хотите удалить этот эмодзи?", + "image:": "Изображение:", + "name:": "Имя:", + "title": "Эмодзи", + "upload": "Загрузить эмодзи" }, - "register": { - "passwordError:": "Пароль: $1", - "usernameError": "Имя пользователя: $1", - "emailError": "Эл. почта: $1", - "DOBError": "Дата рождения: $1", - "agreeTOS": "Я соглашаюсь с [Условиями Использования]($1):", - "noTOS": "На этой инстанции нет Условий Использования, но всё равно примите их:" + "errorReconnect": "Не удалось подключиться к серверу, повтор попытки через $1 секунд...", + "friends": { + "addfriend": "Добавить в друзья", + "addfriendpromt": "Добавить друзей по имени пользователя:", + "all": "Все", + "all:": "Все друзья:", + "blocked": "Заблокированные", + "blockedusers": "Заблокированные пользователи:", + "discnotfound": "Дискриминатор не найден:", + "friendlist": "Список друзей", + "friends": "Друзья", + "notfound": "Пользователь не найден", + "online": "В сети", + "online:": "Друзья в сети:", + "pending": "Ожидающие", + "pending:": "Ожидающиеся заявки в друзья:", + "removeFriend": "Удалить из друзей" }, - "leaving": "Вы покидаете Spacebar", - "goingToURL": "Вы переходите на сайт $1. Вы уверены в том, что хотите перейти туда?", "goThere": "Перейти", "goThereTrust": "Перейти и доверять в будущем", - "nevermind": "Не сейчас", - "submit": "подать", + "goingToURL": "Вы переходите на сайт $1. Вы уверены в том, что хотите перейти туда?", "guild": { - "template": "Шаблон:", "adminMenu": { - "permission": "Разрешения:", - "ownName": "Владелец" + "ownName": "Владелец", + "permission": "Разрешения:" }, + "all": "все", + "banner:": "Баннер:", + "boostMessage?": "Отправляйте сообщение, когда кто-то бустит вашу гильдию!", + "confirmDelete": "Вы уверены, что хотите удалить $1?", + "confirmLeave": "Вы уверены, что хотите выйти?", "copyId": "Копировать ID гильдии", - "markRead": "Пометить как прочитанное", - "notifications": "Уведомления", - "leave": "Покинуть сервер", - "settings": "Настройки", + "create": "Создать сервер", + "default": "По умолчанию ($1)", + "defaultNoti": "Установите настройки уведомлений по умолчанию для вашей гильдии!", "delete": "Удалить гильдию", + "description:": "Описание:", + "disoveryTitle": "Путешествие по гильдиям ($1 {{PLURAL:$1|запись|записи|записей}})", + "emptytext": "Вы в странном положении, в этой гильдии нет каналов.", + "emptytitle": "Странное место", + "helpTips?": "Отправьте полезные советы для вашей гильдии!", + "icon:": "Иконка:", + "leave": "Покинуть сервер", + "loadingDiscovery": "Загрузка...", "makeInvite": "Создать приглашение", - "settingsFor": "Настройки $1", + "markRead": "Пометить как прочитанное", "name:": "Название:", - "topic:": "Тема:", - "icon:": "Иконка:", + "noDelete": "Не сейчас", + "noLeave": "Не сейчас", + "none": "никакие", + "notifications": "Уведомления", + "onlyMentions": "только упоминания", "overview": "Обзор", - "banner:": "Баннер:", "region:": "Регион:", "roles": "Роли", "selectnoti": "Выбрать тип уведомлений", - "all": "все", - "onlyMentions": "только упоминания", - "none": "никакие", - "confirmLeave": "Вы уверены, что хотите выйти?", - "yesLeave": "Да, я уверен", - "noLeave": "Не сейчас", - "confirmDelete": "Вы уверены, что хотите удалить $1?", - "serverName": "Название сервера:", - "yesDelete": "Да, я уверен", - "noDelete": "Не сейчас", - "create": "Создать сервер", - "loadingDiscovery": "Загрузка...", - "disoveryTitle": "Путешествие по гильдиям ($1 {{PLURAL:$1|запись|записи|записей}})", - "emptytitle": "Странное место", - "emptytext": "Вы в странном положении, в этой гильдии нет каналов.", - "default": "По умолчанию ($1)", - "description:": "Описание:", - "systemSelect:": "Канал системных сообщений:", "sendrandomwelcome?": "Отправлять случайное сообщение, когда кто-то присоединяется к этой гильдии", + "serverName": "Название сервера:", + "settings": "Настройки", + "settingsFor": "Настройки $1", "stickWelcomeReact?": "Поощряйте участников вашей гильдии отправлять стикер, когда кто-то присоединяется!", - "boostMessage?": "Отправляйте сообщение, когда кто-то бустит вашу гильдию!", - "helpTips?": "Отправьте полезные советы для вашей гильдии!", - "defaultNoti": "Установите настройки уведомлений по умолчанию для вашей гильдии!" + "systemSelect:": "Канал системных сообщений:", + "template": "Шаблон:", + "topic:": "Тема:", + "yesDelete": "Да, я уверен", + "yesLeave": "Да, я уверен" }, - "role": { - "displaySettings": "Настройки отображения", - "name": "Название роли:", - "hoisted": "Отображать раздельно:", - "mentionable": "Разрешить всем упоминать эту роль:", - "color": "Цвет", - "remove": "Убрать роль", - "delete": "Удалить роль", - "confirmDelete": "Вы уверены в том, что хотите удалить роль $1?" + "hideBlockedMessages": "Вы заблокировали этого пользователя, нажмите чтобы скрыть эти сообщения.", + "home": { + "uptimeStats": "Время онлайн: \n Всё время: $1\nЭта неделя: $2\nЭтот день: $3", + "warnOffiline": "Инстанция не в сети, невозможно подключиться" }, - "settings": { - "unsaved": "Осторожно, вы не сохранили изменения", - "save": "Сохранить изменения", - "img": "Загрузить изображение" + "htmlPages": { + "addBot": "Добавить на сервер", + "alreadyHave": "Уже есть учётная запись?", + "box1Items": "Личные сообщения|Поддержка реакций|Приглашения|Переключение аккаунтов|Настройки пользователя|Портал разработчиков|Приглашения ботов|Поддержка переводов", + "box1title": "Jank Client — это клиент, совместимый с Spacebar, стремящийся быть максимально хорошим и обладающий множеством функций, включая:", + "box3description": "Мы всегда ценим любую помощь, будь то в виде отчетов об ошибках, кода или даже просто указания на некоторые опечатки.", + "box3title": "Внести вклад в Jank Client", + "compatableInstances": "Инстанции, совместимые с Spacebar:", + "createAccount": "Создать учётную запись", + "dobField": "Дата рождения:", + "emailField": "Эл. почта:", + "idpermissions": "Это позволит боту:", + "instanceField": "Инстанция:", + "loaddesc": "Это не должно занять много времени", + "loadingText": "Jank Client загружается", + "loginButton": "Войти", + "noAccount": "Нет учётной записи?", + "openClient": "Открыть Клиент", + "pw2Field": "Введите пароль ещё раз:", + "pwField": "Пароль:", + "switchaccounts": "Переключение между учётными записями", + "userField": "Имя пользователя:", + "welcomeJank": "Добро пожаловать в Jank Client" }, - "blog": { - "blog": "Блог", - "fermi": "Блог Fermi", - "desc": "Читайте или подписывайтесь на блог, чтобы быть в курсе новостей о Fermi!" + "instanceStats": { + "members": "Участники: $1", + "messages": "Сообщения: $1", + "name": "Статистика инстанции: $1", + "servers": "Сервера: $1", + "users": "Зарегистрированные пользователи: $1" + }, + "invite": { + "accept": "Принять", + "alreadyJoined": "Уже в гильдии", + "channel:": "Канал:", + "createInvite": "Создать приглашение", + "expireAfter": "Истекает через:", + "inviteLinkCode": "Ссылка-приглашение/Код", + "inviteMaker": "Создатель приглашений", + "invitedBy": "Вас пригласил пользователь $1", + "joinUsing": "Присоединиться с помощью приглашения", + "loginOrCreateAccount": "Войдите или создайте аккаунт ⇌", + "longInvitedBy": "Пользователь $1 пригласил вас на $2", + "never": "Никогда", + "noAccount": "Создайте учётную запись, чтобы принять это приглашение", + "subtext": "до $1 в $2" + }, + "inviteOptions": { + "12h": "12 часов", + "1d": "1 день", + "1h": "1 час", + "30d": "30 дней", + "30m": "30 минут", + "6h": "6 часов", + "7d": "7 дней", + "limit": "$1 {{PLURAL:$1|использование|использования|использований}}", + "never": "Никогда", + "noLimit": "Нет ограничений", + "title": "Пригласить людей" }, + "leaveGuild": "Покинуть сервер", + "leaving": "Вы покидаете Spacebar", "localuser": { - "install": "Установить", - "status": "Статус", - "settings": "Настройки", - "userSettings": "Настройки пользователя", - "themesAndSounds": "Темы и звуки", - "theme:": "Тема", - "notisound": "Звук уведомления:", - "customSound": "Пользовательский звук", - "soundTooLarge": "Звук, который вы пытались загрузить, был слишком большим, попробуйте ещё раз.", - "accentColor": "Акцентный цвет:", - "VoiceWarning": "Вы точно хотите включить это? Оно находится на стадии доработки. (Эта функция создана для разработчиков, пожалуйста, не включайте, если вы не знаете, что делаете)", - "updateSettings": "Настройки обновлений", - "swSettings": "Service Worker setting", - "SWOff": "Выкл.", - "SWOffline": "Только вне сети", - "SWOn": "Вкл.", - "clearCache": "Очистить кеш", + "2faCode:": "Код:", + "2faCodeGive": "Вот ваш шестизначный код: $1. Он имеет ограничение в 30 секунд", + "2faDisable": "Выключить двухфакторную аутентификацию", + "2faEnable": "Включить двухфакторную аутентификацию", "CheckUpdate": "Проверить наличие обновлений", + "PasswordsNoMatch": "Пароли не совпадают", + "TOSURL": "URL Условий Использования:", + "VoiceWarning": "Вы точно хотите включить это? Оно находится на стадии доработки. (Эта функция создана для разработчиков, пожалуйста, не включайте, если вы не знаете, что делаете)", + "accentColor": "Акцентный цвет:", "accountSettings": "Настройки аккаунта", - "2faDisable": "Выключить двухфакторную аутентификацию", + "addBot": "Добавить бота", + "advancedBot": "Расширенные настройки бота", + "appName": "Название приложения:", + "areYouSureDelete": "Вы уверены, что хотите удалить свою учётную запись? Если да, введите фразу $1", "badCode": "Неверный код", - "2faEnable": "Включить двухфакторную аутентификацию", - "2faCode:": "Код:", - "setUp2fa": "Настройка двухфакторной аутентификации", "badPassword": "Неверный пароль", - "setUp2faInstruction": "Скопируйте этот код в в приложение одноразового пароля по времени", - "2faCodeGive": "Вот ваш шестизначный код: $1. Он имеет ограничение в 30 секунд", + "botAvatar": "Аватар бота:", + "botInviteCreate": "Создатель приглашения бота", + "botUsername": "Название бота:", "changeDiscriminator": "Сменить дискриминатор", - "newDiscriminator": "Новый дискриминатор:", "changeEmail": "Сменить адрес эл. почты", - "password:": "Пароль", - "newEmail:": "Новый адрес эл. почты", - "changeUsername": "Сменить имя пользователя", - "newUsername": "Новое имя пользователя:", "changePassword": "Сменить пароль", - "oldPassword:": "Старый пароль:", - "newPassword:": "Новый пароль:", - "PasswordsNoMatch": "Пароли не совпадают", - "disableConnection": "Это подключение было отключено на стороне сервера", - "devPortal": "Портал разработчика", + "changeUsername": "Сменить имя пользователя", + "clearCache": "Очистить кеш", + "confirmAddBot": "Вы уверены в том, что хотите добавить бота в это приложение? Пути назад нет.", + "confirmReset": "Вы уверены в том, что хотите сбросить токен бота? Ваш бот перестанет работать до того как вы его обновите.", + "confuseNoBot": "По какой-то причине, у этого приложения нет бота (пока что).", + "connections": "Подключения", "createApp": "Создать приложение", - "team:": "Команда:", - "appName": "Название приложения:", + "customSound": "Пользовательский звук", + "deleteAccount": "Удаление учётной записи", + "deleteAccountButton": "Удалить учётную запись", "description": "Описание:", + "devPortal": "Портал разработчика", + "disableConnection": "Это подключение было отключено на стороне сервера", + "editingBot": "Изменение бота $1", + "install": "Установить", + "language": "Язык:", + "manageBot": "Управлять ботом", + "mustTypePhrase": "Чтобы удалить свою учётную запись, вам необходимо ввести фразу", + "newDiscriminator": "Новый дискриминатор:", + "newEmail:": "Новый адрес эл. почты", + "newPassword:": "Новый пароль:", + "newUsername": "Новое имя пользователя:", + "noToken": "Токен неизвестен, так что его нельзя сохранить localStorage, извините", + "notisound": "Звук уведомления:", + "oldPassword:": "Старый пароль:", + "password:": "Пароль", "privacyPolcyURL": "URL Политики безопасности:", - "TOSURL": "URL Условий Использования:", "publicAvaliable": "Сделать бота публично приглашаемым?", "requireCode": "Требовать код для приглашения бота?", - "manageBot": "Управлять ботом", - "addBot": "Добавить бота", - "confirmAddBot": "Вы уверены в том, что хотите добавить бота в это приложение? Пути назад нет.", - "confuseNoBot": "По какой-то причине, у этого приложения нет бота (пока что).", - "editingBot": "Изменение бота $1", - "botUsername": "Название бота:", - "botAvatar": "Аватар бота:", "resetToken": "Сбросить токен", - "confirmReset": "Вы уверены в том, что хотите сбросить токен бота? Ваш бот перестанет работать до того как вы его обновите.", - "tokenDisplay": "Токен: $1", "saveToken": "Сохранить токен в localStorage", - "noToken": "Токен неизвестен, так что его нельзя сохранить localStorage, извините", - "advancedBot": "Расширенные настройки бота", - "botInviteCreate": "Создатель приглашения бота", - "language": "Язык:", - "connections": "Подключения", - "deleteAccount": "Удаление учётной записи", - "areYouSureDelete": "Вы уверены, что хотите удалить свою учётную запись? Если да, введите фразу $1", + "setUp2fa": "Настройка двухфакторной аутентификации", + "setUp2faInstruction": "Скопируйте этот код в в приложение одноразового пароля по времени", + "settings": "Настройки", "sillyDeleteConfirmPhrase": "Шрек - это любовь, Шрек - это жизнь", - "deleteAccountButton": "Удалить учётную запись", - "mustTypePhrase": "Чтобы удалить свою учётную запись, вам необходимо ввести фразу" - }, - "search": { - "back": "Назад", - "next": "Далее", - "page": "Страница $1" + "soundTooLarge": "Звук, который вы пытались загрузить, был слишком большим, попробуйте ещё раз.", + "status": "Статус", + "team:": "Команда:", + "theme:": "Тема", + "themesAndSounds": "Темы и звуки", + "tokenDisplay": "Токен: $1", + "updateSettings": "Настройки обновлений", + "userSettings": "Настройки пользователя" + }, + "login": { + "allGood": "Всё в порядке", + "checking": "Проверка инстанции", + "invalid": "Неверная инстанция, попрбуйте снова", + "newPassword": "Новый пароль:", + "waiting": "Ожидание для проверки инстанции" + }, + "logout": { + "error": { + "cancel": "Отмена", + "cont": "Всё равно продолжить", + "desc": "Fermi не удалось выйти из аккаунта,\n Вы все равно хотите удалить учетную запись?", + "title": "Произошла ошибка при попытке выхода из аккаунта" + }, + "logout": "Выйти" }, "manageInstance": { - "length": "Длина:", + "copy": "Скопировать", "format": "Формат:", - "copy": "Скопировать" + "length": "Длина:" + }, + "media": { + "download": "Загрузить медиа", + "length": "Продолжительность: $1 минут(ы) $2 секунд(ы)", + "loading": "Загружается", + "moreInfo": "Подробнее", + "notFound": "Медиа не найдено" + }, + "member": { + "ban": "Забанить $1 из $2", + "kick": "Выгнать $1 из $2", + "nick:": "Псевдоним:", + "reason:": "Причина:" }, "message": { - "reactionAdd": "Добавить реакцию", + "attached": "Отправлено вложение", "delete": "Удалить сообщение", + "deleted": "Удалённое сообщение", "edit": "Редактировать сообщение", "edited": "(отредактировано)", - "deleted": "Удалённое сообщение", - "attached": "Отправлено вложение" - }, - "instanceStats": { - "name": "Статистика инстанции: $1", - "users": "Зарегистрированные пользователи: $1", - "servers": "Сервера: $1", - "messages": "Сообщения: $1", - "members": "Участники: $1" + "reactionAdd": "Добавить реакцию" }, - "inviteOptions": { - "title": "Пригласить людей", - "30m": "30 минут", - "1h": "1 час", - "6h": "6 часов", - "12h": "12 часов", - "1d": "1 день", - "7d": "7 дней", - "30d": "30 дней", - "never": "Никогда", - "limit": "$1 {{PLURAL:$1|использование|использования|использований}}", - "noLimit": "Нет ограничений" + "nevermind": "Не сейчас", + "no": "Нет", + "noMessages": "Похоже, здесь нет сообщений. Будьте первым, кто что-нибудь напишет!", + "otherAt": "$1 в $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Позволяет участникам добавлять реакции на сообщения", + "ADMINISTRATOR": "Участники с этим правом имеют все права и обходят особые права и ограничения каналов (например, эти участники получают доступ ко всем приватным каналам). Давать это право опасно!", + "ATTACH_FILES": "Позволяет пользователям прикреплять файлы к сообщениям", + "BAN_MEMBERS": "Возможность банить участников", + "CHANGE_NICKNAME": "Позволяет пользователям изменять их собственные никнеймы", + "CONNECT": "Позволяет пользователям подключаться к голосовым каналам", + "CREATE_EVENTS": "Позволяет проводить события, а также удалять и изменять те, что были соданы другими пользователями.", + "CREATE_GUILD_EXPRESSIONS": "Позволяет добавлять эмодзи, стикеры и звуки, а также удалять и изменять те, что были соданы другими пользователями.", + "CREATE_INSTANT_INVITE": "Право создавать приглашения", + "CREATE_PRIVATE_THREADS": "Позволяет пользователям создавать приватные ветки", + "CREATE_PUBLIC_THREADS": "Позволяет пользователям создавать публичные ветки", + "DEAFEN_MEMBERS": "Позволяет пользователям заглушать других пользователей", + "EMBED_LINKS": "Позволяет отображать контент ссылок в текстовых каналах", + "KICK_MEMBERS": "Возможность выгонять участников", + "MANAGE_CHANNELS": "Позволяет участникам управлять, создавать и удалять каналы", + "MANAGE_EVENTS": "Позволяет пользователям редактировать и управлять событиями", + "MANAGE_GUILD": "Возможность управлять сервером", + "MANAGE_GUILD_EXPRESSIONS": "Даёт возможность прикреплять эмодзи, отправлять стикеры и использовать звуковую панель.", + "MANAGE_MESSAGES": "Позволяет пользователям удалять сообщения других пользователей", + "MANAGE_NICKNAMES": "Позволяет пользователям изменять никнеймы другим пользователям", + "MANAGE_ROLES": "Позволяет пользователям редактировать и управлять ролями", + "MANAGE_THREADS": "Позволяет пользователям удалять, архивировать, а также просматривать приватные ветки", + "MANAGE_WEBHOOKS": "Даёт управление и изменение вебхуков", + "MENTION_EVERYONE": "Позволяет пользователю упоминать всех", + "MODERATE_MEMBERS": "Позволяет пользователям отключать других пользователей, чтобы запретить им отправлять или реагировать на сообщения в чате и темах, а также разговаривать в голосовых каналах и на трибунах.", + "MOVE_MEMBERS": "Позволяет пользователям перемещать других пользователей между каналами", + "MUTE_MEMBERS": "Позволяет пользователям выключать микрофон другим пользователям", + "PRIORITY_SPEAKER": "Даёт участникам больше шансов быть услышанными в голосовых каналах", + "READ_MESSAGE_HISTORY": "Позволяет пользователям читать историю сообщений", + "REQUEST_TO_SPEAK": "Позволяет пользователям говорить в канале-трибуне", + "SEND_MESSAGES": "Позволяет участникам отправлять сообщения в текстовых каналах", + "SEND_MESSAGES_IN_THREADS": "Позволяет пользователям отправлять сообщения в ветках", + "SEND_POLLS": "Позволяет создавать голосования", + "SEND_TTS_MESSAGES": "Даёт участникам возможность отправлять TTS-сообщения", + "SEND_VOICE_MESSAGES": "Позволяет отправлять голосовые сообщения", + "SPEAK": "Позволяет пользователям говорить в голосовых каналах", + "STREAM": "Позволяет участникам показывать свой экран", + "USE_APPLICATION_COMMANDS": "Позволяет пользователям исользовать команды приложений", + "USE_EMBEDDED_ACTIVITIES": "Позволяет пользователям использовать активности", + "USE_EXTERNAL_APPS": "Позволяет установленным пользователем приложениям отправлять публичные ответы. Если отключено, пользователи по-прежнему смогут использовать свои приложения, но ответы будут эфемерными. Это применимо только к приложениям, которые не установлены на сервере.", + "USE_EXTERNAL_EMOJIS": "Позволяет пользователям использовать эмодзи из других гильдий", + "USE_EXTERNAL_SOUNDS": "Даёт использование звуков из других серверов", + "USE_EXTERNAL_STICKERS": "Позволяет пользователям использовать внешние стикеры", + "USE_SOUNDBOARD": "Позволяет пользователям использовать звуки из звуковой панели в голосовых каналах", + "USE_VAD": "Позволяет пользователям говорить в голосовых каналах просто разговаривая", + "VIEW_AUDIT_LOG": "Позволяет участнику просматривать журнал аудита", + "VIEW_CHANNEL": "Позволяет участникам просматривать каналы (кроме приватных) по умолчанию", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Даёт просмотр аналитики подписок на роли", + "VIEW_GUILD_INSIGHTS": "Позволяет пользователям просматривать аналитику гильдии" + }, + "readableNames": { + "ADD_REACTIONS": "Добавить реакцию", + "ADMINISTRATOR": "Администратор", + "ATTACH_FILES": "Прикреплять файлы", + "BAN_MEMBERS": "Забанить участника", + "CHANGE_NICKNAME": "Изменять никнейм", + "CONNECT": "Подключаться", + "CREATE_EVENTS": "Создавать события", + "CREATE_GUILD_EXPRESSIONS": "Создавать выражения", + "CREATE_INSTANT_INVITE": "Создать приглашение", + "CREATE_PRIVATE_THREADS": "Создавать приватные ветки", + "CREATE_PUBLIC_THREADS": "Создавать публичные ветки", + "DEAFEN_MEMBERS": "Заглушить участника", + "EMBED_LINKS": "Вставлять контент ссылок", + "KICK_MEMBERS": "Выгнать участника", + "MANAGE_CHANNELS": "Управлять каналами", + "MANAGE_EVENTS": "Управлять событиями", + "MANAGE_GUILD": "Управлять гильдией", + "MANAGE_GUILD_EXPRESSIONS": "Управлять выражениями", + "MANAGE_MESSAGES": "Управлять сообщениями", + "MANAGE_NICKNAMES": "Управлять никнеймами", + "MANAGE_ROLES": "Управлять ролями", + "MANAGE_THREADS": "Управлять ветками", + "MANAGE_WEBHOOKS": "Управлять вебхуками (webhooks)", + "MENTION_EVERYONE": "Упоминать @everyone, @here и все роли", + "MODERATE_MEMBERS": "Отправлять участников подумать о своём поведении", + "MOVE_MEMBERS": "Переместить участника", + "MUTE_MEMBERS": "Замьютить участника", + "PRIORITY_SPEAKER": "Приоритетный режим", + "READ_MESSAGE_HISTORY": "Читать историю сообщений", + "REQUEST_TO_SPEAK": "Попросить выступить", + "SEND_MESSAGES": "Отправлять сообщения", + "SEND_MESSAGES_IN_THREADS": "Отправлять сообщения в ветках", + "SEND_POLLS": "Создавать голосования", + "SEND_TTS_MESSAGES": "Отправлять TTS-сообщения", + "SEND_VOICE_MESSAGES": "Отправлять голосовые сообщения", + "SPEAK": "Говорить", + "STREAM": "Видео", + "USE_APPLICATION_COMMANDS": "Использовать команды приложения", + "USE_EMBEDDED_ACTIVITIES": "Использовать активности", + "USE_EXTERNAL_APPS": "Использовать внешние приложения", + "USE_EXTERNAL_EMOJIS": "Использовать сторонние эмодзи", + "USE_EXTERNAL_SOUNDS": "Использовать внешние звуки", + "USE_EXTERNAL_STICKERS": "Использовать сторонние стикеры", + "USE_SOUNDBOARD": "Использовать звуковую панель", + "USE_VAD": "Использовать режим активации по голосу", + "VIEW_AUDIT_LOG": "Посмотреть журнал аудита", + "VIEW_CHANNEL": "Просматривать каналы", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Просматривать аналитику монетизации создателей", + "VIEW_GUILD_INSIGHTS": "Просмотр аналитики гильдии" + } }, - "2faCode": "Код двухфакторной аутентификации:", - "invite": { - "invitedBy": "Вас пригласил пользователь $1", - "alreadyJoined": "Уже в гильдии", - "accept": "Принять", - "noAccount": "Создайте учётную запись, чтобы принять это приглашение", - "longInvitedBy": "Пользователь $1 пригласил вас на $2", - "loginOrCreateAccount": "Войдите или создайте аккаунт ⇌", - "joinUsing": "Присоединиться с помощью приглашения", - "inviteLinkCode": "Ссылка-приглашение/Код", - "subtext": "до $1 в $2", - "expireAfter": "Истекает через:", - "channel:": "Канал:", - "inviteMaker": "Создатель приглашений", - "createInvite": "Создать приглашение", - "never": "Никогда" + "pinMessage": "Закрепить сообщение", + "profile": { + "permInfo": "Разрешения", + "userInfo": "Информация об участнике" }, - "friends": { - "blocked": "Заблокированные", - "blockedusers": "Заблокированные пользователи:", - "addfriend": "Добавить в друзья", - "removeFriend": "Удалить из друзей", - "addfriendpromt": "Добавить друзей по имени пользователя:", - "notfound": "Пользователь не найден", - "discnotfound": "Дискриминатор не найден:", - "pending": "Ожидающие", - "pending:": "Ожидающиеся заявки в друзья:", - "all": "Все", - "all:": "Все друзья:", - "online": "В сети", - "online:": "Друзья в сети:", - "friendlist": "Список друзей", - "friends": "Друзья" + "profileColor": "Цвет профиля", + "pronouns": "Местоимения:", + "readableName": "Русский", + "register": { + "DOBError": "Дата рождения: $1", + "agreeTOS": "Я соглашаюсь с [Условиями Использования]($1):", + "emailError": "Эл. почта: $1", + "noTOS": "На этой инстанции нет Условий Использования, но всё равно примите их:", + "passwordError:": "Пароль: $1", + "usernameError": "Имя пользователя: $1" }, + "reply": "Ответить", "replyingTo": "В ответ $1", - "DMs": { - "copyId": "Копировать ID ЛС", - "markRead": "Пометить как прочитанное", - "close": "Закрыть ЛС", - "name": "Личные сообщения" + "retrying": "Повтор...", + "role": { + "color": "Цвет", + "confirmDelete": "Вы уверены в том, что хотите удалить роль $1?", + "delete": "Удалить роль", + "displaySettings": "Настройки отображения", + "hoisted": "Отображать раздельно:", + "mentionable": "Разрешить всем упоминать эту роль:", + "name": "Название роли:", + "remove": "Убрать роль" + }, + "search": { + "back": "Назад", + "next": "Далее", + "page": "Страница $1" + }, + "settings": { + "img": "Загрузить изображение", + "save": "Сохранить изменения", + "unsaved": "Осторожно, вы не сохранили изменения", + "updates": { + "serviceWorkerMode": { + "disabled": "Выкл.", + "enabled": "Вкл.", + "offlineOnly": "Только вне сети", + "title": "Service Worker setting" + } + } }, + "showBlockedMessages": "Вы заблокировали этого пользователя, нажмите, чтобы просмотреть $1 заблокированное/-ых {{PLURAL:$1| сообщение|сообщений}}.", + "spoiler": "Спойлер", + "sticker": { + "del": "Удалить стикер", + "desc": "Описание", + "title": "Стикеры" + }, + "submit": "подать", + "switchAccounts": "Переключение между аккаунтами ⇌", + "todayAt": "Сегодня, в $1", + "typing": "$2 {{PLURAL:$1|печатают|печатает}}", + "unableToConnect": "Не удалось подключиться к серверу Spacebar. Пожалуйста, попробуйте выйти и ещё раз войти.", + "unableToPin": "Не удалось закрепить сообщение", + "uploadBanner": "Загрузить баннер:", + "uploadFilesText": "Загрузите свои файлы сюда!", + "uploadPfp": "Загрузить картинку профиля:", "user": { - "copyId": "Скопировать ID пользователя", - "online": "В сети", - "offline": "Не в сети", - "message": "Написать пользователю", + "addRole": "Добавить роли", + "ban": "Забанить участника", "block": "Заблокировать пользователя", - "unblock": "Разблокировать участника", + "copyId": "Скопировать ID пользователя", + "editServerProfile": "Редактировать профиль сервера", "friendReq": "Запрос дружбы", "kick": "Выгнать участника", - "ban": "Забанить участника", - "addRole": "Добавить роли", + "message": "Написать пользователю", + "offline": "Не в сети", + "online": "В сети", "removeRole": "Убрать роли", - "editServerProfile": "Редактировать профиль сервера" - }, - "login": { - "checking": "Проверка инстанции", - "allGood": "Всё в порядке", - "invalid": "Неверная инстанция, попрбуйте снова", - "waiting": "Ожидание для проверки инстанции", - "newPassword": "Новый пароль:" - }, - "member": { - "kick": "Выгнать $1 из $2", - "reason:": "Причина:", - "ban": "Забанить $1 из $2", - "nick:": "Псевдоним:" - }, - "badge": { - "staff": "Сотрудники инстанции", - "partner": "Партнёр инстанции", - "certified_moderator": "Модератор", - "hypesquad": "Вещь, защищённая авторским правом", - "hypesquad_house_1": "Bravery", - "hypesquad_house_2": "Brilliance", - "hypesquad_house_3": "Balance", - "bug_hunter_level_1": "Охотник за ошибками 1 уровня", - "bug_hunter_level_2": "Охотник за ошибками 2 уровня", - "active_developer": "Активный разработчик", - "verified_developer": "Проверенный разработчик", - "early_supporter": "Ранее поддержавший", - "premium": "Premium", - "guild_booster_lvl1": "Буст гильдии", - "guild_booster_lvl2": "Буст гильдии", - "guild_booster_lvl3": "Буст гильдии", - "guild_booster_lvl4": "Буст гильдии", - "guild_booster_lvl5": "Буст гильдии", - "guild_booster_lvl6": "Буст гильдии", - "guild_booster_lvl7": "Буст гильдии", - "guild_booster_lvl8": "Буст гильдии", - "guild_booster_lvl9": "Буст гильдии довольно долго", - "bot_commands": "Поддерживает команды", - "automod": "Использует автомод", - "application_guild_subscription": "Имеет premium", - "legacy_username": "Имеет старое имя пользователя", - "quest_completed": "выполнил задание" - }, - "emoji": { - "title": "Эмодзи", - "upload": "Загрузить эмодзи", - "image:": "Изображение:", - "name:": "Имя:", - "confirmDel": "Вы уверены, что хотите удалить этот эмодзи?" - }, - "sticker": { - "title": "Стикеры", - "desc": "Описание", - "del": "Удалить стикер" + "unblock": "Разблокировать участника" }, - "404": { - "reset": "Страница сброса пароля" + "vc": { + "joiningStream": "Присоединяемся к стриму...", + "joinstream": "Смотреть стрим", + "leavestream": "Прекратить просмотр", + "stopstream": "Прекратить стрим" }, - "uploadFilesText": "Загрузите свои файлы сюда!", - "errorReconnect": "Не удалось подключиться к серверу, повтор попытки через $1 секунд...", - "retrying": "Повтор...", - "unableToConnect": "Не удалось подключиться к серверу Spacebar. Пожалуйста, попробуйте выйти и ещё раз войти." + "yes": "Да", + "yesterdayAt": "Вчера, в $1" } diff --git a/translations/tok.json b/translations/tok.json index 5d95e56b..9d0f9e48 100644 --- a/translations/tok.json +++ b/translations/tok.json @@ -1,112 +1,108 @@ { - "@metadata": { - "authors": [ - "Illyria", - "Ookap", - "Sylvie" - ] - }, - "vc": { - "joinstream": "sitelen mute lukin", - "leavestream": "sitelen mute lukin weka" - }, - "favoriteGifs": "sitelen pona mute tawa sina", - "readableName": "toki pona", - "copyrawtext": "pali sin lipu", - "copyLink": "pali sin nasin lipu", - "logout": { - "logout": "o weka sijelo", - "error": { - "desc": "ilo Pemi li ken ala weka e sina tan sijelo ilo sina. taso, sina wile ala wile weka e sijelo ilo sina?", - "cont": "o awen" - } - }, - "permissions": { - "readableNames": { - "CREATE_INSTANT_INVITE": "o pali nimi kama sin", - "ADMINISTRATOR": "jan lawa", - "SEND_MESSAGES": "o pana e toki" - } + "404": { + "login": "o kama lon sijelo" }, - "messageLink": "o pana toki insa poki toki # $1", - "interactions": { - "onlyYou": "toki ni li lon tawa sina taso" + "@metadata": { + "authors": ["Illyria", "Ookap", "Sylvie"] }, "channel": { "delete": "o weka poki toki", "voice": "kalama" }, + "copyLink": "pali sin nasin lipu", + "copyrawtext": "pali sin lipu", "delete": "o weka", - "webhooks": { - "name": "nimi:" - }, - "htmlPages": { - "loadingText": "ilo Pemi li kama", - "emailField": "nimi Email:", - "pwField": "nimi open:", - "loginButton": "o kama lon sijelo", - "createAccount": "o pali e sijelo", - "welcomeJank": "o kama pona lon ilo Pemi", - "trans": "o ante toki" + "edit": "o ante", + "emoji": { + "found": { + "this": "sitelen pilin ni li tan poki toki ni." + }, + "image:": "sitelen:", + "name:": "nimi:" }, - "register": { - "register": "o pali e sijelo", - "passwordError:": "nimi open: $1", - "emailError": "nimi Email: $1" + "favoriteGifs": "sitelen pona mute tawa sina", + "folder": { + "color": "kule poki:", + "name": "nimi poki:" }, - "submit": "o pana", - "edit": "o ante", "guild": { + "all": "ale", + "icon:": "sitelen lili:", "leave": "o kama ma", "name:": "nimi:", - "icon:": "sitelen lili:", - "all": "ale", "none": "ala" }, - "role": { - "color": "kule", - "colors": { - "one": "wan", - "two": "tu", - "secondColor": "kule nanpa tu" - } - }, - "folder": { - "name": "nimi poki:", - "color": "kule poki:" + "htmlPages": { + "createAccount": "o pali e sijelo", + "emailField": "nimi Email:", + "loadingText": "ilo Pemi li kama", + "loginButton": "o kama lon sijelo", + "pwField": "nimi open:", + "trans": "o ante toki", + "welcomeJank": "o kama pona lon ilo Pemi" }, - "settings": { - "save": "o pana e ante" + "instInfo": "toki pi ilo tan", + "interactions": { + "onlyYou": "toki ni li lon tawa sina taso" }, + "jankInfo": "toki pi ilo lukin", "localuser": { "changeEmail": "o ante e nimi Email", - "password:": "nimi open", "newEmail:": "nimi Email sin", - "newPassword:": "nimi open sin:" + "newPassword:": "nimi open sin:", + "password:": "nimi open" }, "login": { "login": "o kama lon sijelo" }, + "logout": { + "error": { + "cont": "o awen", + "desc": "ilo Pemi li ken ala weka e sina tan sijelo ilo sina. taso, sina wile ala wile weka e sijelo ilo sina?" + }, + "logout": "o weka sijelo" + }, "member": { "reason:": "tan:" }, - "emoji": { - "image:": "sitelen:", - "name:": "nimi:", - "found": { - "this": "sitelen pilin ni li tan poki toki ni." + "messageLink": "o pana toki insa poki toki # $1", + "permissions": { + "readableNames": { + "ADMINISTRATOR": "jan lawa", + "CREATE_INSTANT_INVITE": "o pali nimi kama sin", + "SEND_MESSAGES": "o pana e toki" + } + }, + "readableName": "toki pona", + "register": { + "emailError": "nimi Email: $1", + "passwordError:": "nimi open: $1", + "register": "o pali e sijelo" + }, + "role": { + "color": "kule", + "colors": { + "one": "wan", + "secondColor": "kule nanpa tu", + "two": "tu" } }, + "settings": { + "save": "o pana e ante" + }, "sticker": { - "title": "sitelen suli", - "upload": "o pana e sitelen", "image": "sitelen:", - "name": "nimi:" + "name": "nimi:", + "title": "sitelen suli", + "upload": "o pana e sitelen" }, - "404": { - "login": "o kama lon sijelo" + "submit": "o pana", + "uploadFilesText": "o pana e lipu lon ni", + "vc": { + "joinstream": "sitelen mute lukin", + "leavestream": "sitelen mute lukin weka" }, - "jankInfo": "toki pi ilo lukin", - "instInfo": "toki pi ilo tan", - "uploadFilesText": "o pana e lipu lon ni" + "webhooks": { + "name": "nimi:" + } } diff --git a/translations/tr.json b/translations/tr.json index 2ae9e888..b0edce71 100644 --- a/translations/tr.json +++ b/translations/tr.json @@ -1,8 +1,6 @@ { + "2faCode": "2FA kodu:", "@metadata": { - "last-updated": "2024/11/24", - "locale": "tr", - "comment": "Sizli bizli", "authors": [ "Botorfj", "Erkin Alp Güney", @@ -12,514 +10,520 @@ "Sakblue", "SaldırganSincap", "Slickdaddy" - ] - }, - "vc": { - "joinstream": "Yayını izle", - "leavestream": "Yayından ayrıl", - "joinForStream": "İzlemek için Sesli Kanal'a katılın.", - "stopstream": "Yayını Durdur", - "joiningStream": "Yayına katılınılıyor..." - }, - "favoriteGifs": "Favori Gifler", - "recentEmoji": "En Son Emoji", - "readableName": "Türkçe", - "pinMessage": "Mesajı Sabitle", - "unableToPin": "Mesaj sabitlenemiyor", - "reply": "Yanıtla", - "copyrawtext": "Ham metni kopyala", - "copyLink": "Mesaj bağlantısını kopyala", - "copymessageid": "Mesaj kimliğini kopyala", - "media": { - "notFound": "Medya bulunamadı", - "loading": "Yükleniyor", - "download": "Medyayı indir", - "moreInfo": "Daha fazla bilgi", - "artist": "Sanatçı: $1", - "length": "Süre: $1 dakika ve $2 saniye" + ], + "comment": "Sizli bizli", + "last-updated": "2024/11/24", + "locale": "tr" }, - "logout": { - "logout": "Oturumu kapat", - "error": { - "title": "Oturumunuzu kapatmaya çalışırken bir hata oluştu", - "desc": "Fermi sizi çıkış yaptıramadı,\n hesabı yine de kaldırmak istiyor musunuz?", - "cancel": "İptal", - "cont": "Yine de devam et" - } + "DMs": { + "close": "DM'yi kapat", + "copyId": "DM kimliğini kopyala", + "markRead": "Okundu olarak işaretle" }, - "cancel": "İptal", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "Kullanıcının sunucu için davet oluşturmasına izin verir", - "KICK_MEMBERS": "Kullanıcının sunucudan üyeleri atmasına izin verir", - "BAN_MEMBERS": "Kullanıcının sunucudan üyeleri yasaklamasına izin verir", - "ADMINISTRATOR": "Tüm izinlere izin verir ve kanal izin geçersiz kılmalarını atlar. Bu tehlikeli bir izindir!", - "MANAGE_CHANNELS": "Kullanıcının kanalları yönetmesine ve düzenlemesine izin verir", - "MANAGE_GUILD": "Sunucunun yönetimine ve düzenlenmesine izin verir", - "ADD_REACTIONS": "Kullanıcının mesajlara tepki eklemesine izin verir", - "VIEW_AUDIT_LOG": "Kullanıcının denetim günlüğünü görüntülemesine izin verir", - "PRIORITY_SPEAKER": "Ses kanalında öncelikli konuşmacı kullanımına izin verir", - "STREAM": "Kullanıcının yayın yapmasına izin verir", - "VIEW_CHANNEL": "Kullanıcının kanalı görüntülemesine izin verir", - "SEND_MESSAGES": "Kullanıcının mesaj göndermesine izin verir", - "SEND_TTS_MESSAGES": "Kullanıcının metinden sese mesajlar göndermesine izin verir", - "MANAGE_MESSAGES": "Kullanıcının kendisine ait olmayan mesajları silmesine izin verir", - "EMBED_LINKS": "Bu kullanıcı tarafından gönderilen bağlantıların otomatik olarak gömülmesine izin verir", - "ATTACH_FILES": "Kullanıcının dosya eklemesine izin verir", - "READ_MESSAGE_HISTORY": "Kullanıcının mesaj geçmişini okumasına izin verir", - "MENTION_EVERYONE": "Kullanıcının herkesi etiketlemesine izin verir", - "USE_EXTERNAL_EMOJIS": "Kullanıcının harici emojileri kullanmasına izin verir", - "VIEW_GUILD_INSIGHTS": "Kullanıcının sunucu içgörülerini görmesine izin verir", - "CONNECT": "Kullanıcının bir ses kanalına bağlanmasına izin verir", - "SPEAK": "Kullanıcının bir ses kanalında konuşmasına izin verir", - "MUTE_MEMBERS": "Kullanıcının diğer üyeleri susturmasına izin verir", - "DEAFEN_MEMBERS": "Kullanıcının diğer üyeleri sağırlamasına izin verir", - "MOVE_MEMBERS": "Kullanıcının üyeleri ses kanalları arasında taşımasına izin verir", - "USE_VAD": "Kullanıcıların ses etkinliği ile konuşmasına izin verir", - "CHANGE_NICKNAME": "Kullanıcının kendi takma adını değiştirmesine izin verir", - "MANAGE_NICKNAMES": "Kullanıcının diğer üyelerin takma adlarını değiştirmesine izin verir", - "MANAGE_ROLES": "Kullanıcının rolleri düzenlemesine ve yönetmesine izin verir", - "MANAGE_WEBHOOKS": "Webhook'ların yönetimine ve düzenlenmesine izin verir", - "MANAGE_GUILD_EXPRESSIONS": "Emojileri, çıkartmaları ve ses panosunu yönetmeye olanak tanır", - "USE_APPLICATION_COMMANDS": "Kullanıcının uygulama komutlarını kullanmasına izin verir", - "REQUEST_TO_SPEAK": "Kullanıcının sahne kanalında konuşma isteğinde bulunmasına izin verir", - "MANAGE_EVENTS": "Kullanıcının etkinlikleri düzenlemesine ve yönetmesine izin verir", - "MANAGE_THREADS": "Kullanıcının konuları silmesine ve arşivlemesine ve tüm özel konuları görüntülemesine izin verir", - "CREATE_PUBLIC_THREADS": "Kullanıcının genel konular oluşturmasına izin verir", - "CREATE_PRIVATE_THREADS": "Kullanıcının özel konular oluşturmasına izin verir", - "USE_EXTERNAL_STICKERS": "Kullanıcının harici çıkartmaları kullanmasına izin verir", - "SEND_MESSAGES_IN_THREADS": "Kullanıcının konularda mesaj göndermesine izin verir", - "USE_EMBEDDED_ACTIVITIES": "Kullanıcının gömülü etkinlikleri kullanmasına izin verir", - "MODERATE_MEMBERS": "Kullanıcının diğer kullanıcıları susturmasına izin verir", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Abonelik içgörülerini görüntülemeye izin verir", - "USE_SOUNDBOARD": "Ses panosunu bir ses kanalında kullanmaya izin verir", - "CREATE_GUILD_EXPRESSIONS": "Emoji, çıkartma ve ses panosu sesleri oluşturmaya ve kullanıcının oluşturduklarını düzenlemeye ve silmeye izin verir", - "CREATE_EVENTS": "Zamanlanmış etkinlikler oluşturmaya ve kullanıcının oluşturduklarını düzenlemeye ve silmeye izin verir", - "USE_EXTERNAL_SOUNDS": "Diğer kulüplerden özel ses panosu seslerini kullanmaya izin verir", - "SEND_VOICE_MESSAGES": "Sesli mesajlar göndermeye izin verir", - "SEND_POLLS": "Anketler göndermeye izin verir", - "USE_EXTERNAL_APPS": "Kullanıcı tarafından yüklenen uygulamaların herkese açık yanıtlar göndermesine izin verir. Devre dışı bırakıldığında, kullanıcılar yine de uygulamalarını kullanabilir ancak yanıtlar geçici olacaktır. Bu, kulübe yüklenmemiş uygulamalar için geçerlidir." - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "Davet oluştur", - "KICK_MEMBERS": "Üyeleri at", - "BAN_MEMBERS": "Üyeleri yasakla", - "ADMINISTRATOR": "Yönetici", - "MANAGE_CHANNELS": "Kanalları yönet", - "MANAGE_GUILD": "Sunucuyu yönet", - "ADD_REACTIONS": "Tepkiler ekle", - "VIEW_AUDIT_LOG": "Denetim günlüğünü görüntüle", - "PRIORITY_SPEAKER": "Öncelikli konuşmacı", - "STREAM": "Video", - "VIEW_CHANNEL": "Kanalları görüntüle", - "SEND_MESSAGES": "Mesaj gönder", - "SEND_TTS_MESSAGES": "Metinden sese mesaj gönder", - "MANAGE_MESSAGES": "Mesajları yönet", - "EMBED_LINKS": "Bağlantıları göm", - "ATTACH_FILES": "Dosyaları ekle", - "READ_MESSAGE_HISTORY": "Mesaj geçmişini oku", - "MENTION_EVERYONE": "@everyone, @here ve tüm rolleri etiketle", - "USE_EXTERNAL_EMOJIS": "Harici emojileri kullan", - "VIEW_GUILD_INSIGHTS": "Sunucu içgörülerini görüntüle", - "CONNECT": "Bağlan", - "SPEAK": "Konuş", - "MUTE_MEMBERS": "Üyeleri sustur", - "DEAFEN_MEMBERS": "Üyeleri sağırla", - "MOVE_MEMBERS": "Üyeleri taşı", - "USE_VAD": "Ses etkinliği algılamayı kullan", - "CHANGE_NICKNAME": "Takma adı değiştir", - "MANAGE_NICKNAMES": "Takma adları yönet", - "MANAGE_ROLES": "Rolleri yönet", - "MANAGE_WEBHOOKS": "Webhook'ları yönet", - "MANAGE_GUILD_EXPRESSIONS": "İfadeleri yönet", - "USE_APPLICATION_COMMANDS": "Uygulama komutlarını kullan", - "REQUEST_TO_SPEAK": "Konuşma isteğinde bulun", - "MANAGE_EVENTS": "Etkinlikleri yönet", - "MANAGE_THREADS": "Konuları yönet", - "CREATE_PUBLIC_THREADS": "Genel konular oluştur", - "CREATE_PRIVATE_THREADS": "Özel konular oluştur", - "USE_EXTERNAL_STICKERS": "Harici çıkartmaları kullan", - "SEND_MESSAGES_IN_THREADS": "Konularda mesaj gönder", - "USE_EMBEDDED_ACTIVITIES": "Etkinlikleri kullan", - "MODERATE_MEMBERS": "Üyeleri zaman aşımına uğrat", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "İçerik üretici gelir analitiğini görüntüle", - "USE_SOUNDBOARD": "Ses panosunu kullan", - "CREATE_GUILD_EXPRESSIONS": "İfadeler oluştur", - "CREATE_EVENTS": "Etkinlikler oluştur", - "USE_EXTERNAL_SOUNDS": "Harici sesleri kullan", - "SEND_VOICE_MESSAGES": "Sesli mesajlar gönder", - "SEND_POLLS": "Anketler oluştur", - "USE_EXTERNAL_APPS": "Harici uygulamaları kullan" + "UrlGen": "URL oluşturucu", + "Voice": { + "status": { + "conectionFailed": "Bağlantı kurulamadı", + "done": "Bağlandı", + "left": "Sesli sohbetten ayrıldı", + "notconnected": "Bağlı değil" } }, - "hideBlockedMessages": "Bu kullanıcıyı engellediniz, bu mesajları gizlemek için tıklayın.", - "showBlockedMessages": "Bu kullanıcıyı engellediniz, $1 engellenen {{PLURAL:$1| mesaj|mesajları}} görmek için tıklayın.", - "deleteConfirm": "Bunu silmek istediğinizden emin misiniz?", - "yes": "Evet", - "no": "Hayır", - "todayAt": "Bugün saat $1", - "yesterdayAt": "Dün saat $1", - "otherAt": "$1 tarihinde saat $2", - "botSettings": "Bot Ayarları", - "uploadPfp": "Profil resmi yükle:", - "uploadBanner": "Afiş yükle:", - "pronouns": "Zamirler:", - "bio": "Biyografi:", - "profileColor": "Profil rengi", - "botGuilds": "Botun bulunduğu sunucular:", - "leaveGuild": "Sunucudan ayrıl", - "confirmGuildLeave": "$1 sunucusundan ayrılmak istediğinizden emin misiniz", - "UrlGen": "URL oluşturucu", - "typing": "$2 {{PLURAL:$1|yazıyor|yazıyorlar}}", - "noMessages": "Burada mesaj görünmüyor, ilk siz bir şey söyleyin!", - "blankMessage": "Boş Mesaj", - "spoiler": "Spoiler", "accessibility": { - "name": "Erişilebilirlik", - "roleColors": "Rol renklerini devre dışı et", - "playGif": "GIF'leri şurada oynat:", "gifSettings": { - "hover": "Üzerindeyken", "always": "Her zaman", + "hover": "Üzerindeyken", "never": "Asla" - } - }, - "profile": { - "userInfo": "Kullanıcı Bilgisi", - "bio": "Hakkımda:", - "permInfo": "İzinler", - "mut": "Ortak Guildler", - "mutFriends": "Ortak Arkadaşlar" + }, + "name": "Erişilebilirlik", + "playGif": "GIF'leri şurada oynat:", + "roleColors": "Rol renklerini devre dışı et" }, - "searchGifs": "Tenor'da Arayın", - "interactions": { - "onlyYou": "Bu mesajı yalnızca siz görebilirsiniz" + "accountNotStart": "Hesap başlatılamadı", + "bio": "Biyografi:", + "blankMessage": "Boş Mesaj", + "blog": { + "blog": "Blog" }, + "botGuilds": "Botun bulunduğu sunucular:", + "botSettings": "Bot Ayarları", + "cancel": "İptal", "channel": { - "name": "Kanal", + "announcement": "Duyurular", "copyId": "Kanal kimliğini kopyala", "copyIdCat": "Kategori kimliğini kopyala", - "markRead": "Okundu olarak işaretle", - "settings": "Ayarlar", + "createCatagory": "Kategori oluştur", + "createChannel": "Kanal oluştur", "delete": "Kanalı sil", "deleteCat": "Kategoriyi sil", + "icon": "Simge:", "makeInvite": "Davet oluştur", - "settingsFor": "$1 için ayarlar", - "voice": "Ses", - "text": "Metin", + "markRead": "Okundu olarak işaretle", "mute": "Kanalı Sessize Al", - "unmute": "Kanalın Sesini Aç", - "announcement": "Duyurular", + "name": "Kanal", "name:": "Ad:", - "icon": "Simge:", - "topic:": "Konu:", "nsfw:": "NSFW:", - "selectType": "Kanal türünü seç", - "selectName": "Kanal adı", + "permissions": "İzinler", "selectCatName": "Kategori adı", - "createChannel": "Kanal oluştur", - "createCatagory": "Kategori oluştur", - "permissions": "İzinler" + "selectName": "Kanal adı", + "selectType": "Kanal türünü seç", + "settings": "Ayarlar", + "settingsFor": "$1 için ayarlar", + "text": "Metin", + "topic:": "Konu:", + "unmute": "Kanalın Sesini Aç", + "voice": "Ses" }, - "notiClump": "$2'den $1 bildiriminiz var", - "Voice": { - "status": { - "done": "Bağlandı", - "notconnected": "Bağlı değil", - "conectionFailed": "Bağlantı kurulamadı", - "left": "Sesli sohbetten ayrıldı" - } + "commands": { + "errorNotValid": "$1 $2 için geçerli bir seçenek değildir.", + "required": "$1 bu komutun gerekli bir parçasıdır." }, + "confirmGuildLeave": "$1 sunucusundan ayrılmak istediğinizden emin misiniz", + "copyLink": "Mesaj bağlantısını kopyala", + "copymessageid": "Mesaj kimliğini kopyala", + "copyrawtext": "Ham metni kopyala", + "createAccount": "Hesap Oluştur", "delete": "Sil", - "webhooks": { - "createdAt": "$1 tarihinde oluşturuldu", - "name": "Ad:", - "channel": "Kanal", - "copyURL": "Webhook URL'sini kopyala", - "newWebHook": "Yeni Webhook", - "base": "Webhook'lar" - }, - "switchAccounts": "Hesapları Değiştir ⇌", - "accountNotStart": "Hesap başlatılamadı", - "home": { - "uptimeStats": "Çalışma Süresi: \n Tüm zamanlar: $1%\nBu hafta: $2%\nBugün: $3%", - "warnOffiline": "Örnek çevrimdışı, bağlanılamıyor" - }, + "deleteConfirm": "Bunu silmek istediğinizden emin misiniz?", "devSettings": { - "name": "Geliştirici Ayarları", + "captureTrace": "Bu ayar, Fermi’ye sunucudan _trace özelliklerini yakalamasını söyler; bunu etkinleştirmek, aşamalı JSON çözümlemenin çalışmamasına neden olabilir ve yeniden yükleme gerektirebilir.", "description": "Bunlar Spacebar/Fermi geliştiricileri içindir. Eğer ne yaptığınızı bilmiyorsanız lütfen bu ayarlarla oynamayın.", - "traces": "İzleri ortaya çıkar:", - "captureTrace": "Bu ayar, Fermi’ye sunucudan _trace özelliklerini yakalamasını söyler; bunu etkinleştirmek, aşamalı JSON çözümlemenin çalışmamasına neden olabilir ve yeniden yükleme gerektirebilir." - }, - "htmlPages": { - "idpermissions": "Bu bot şunlara izin verecek:", - "addBot": "Kulübe ekle", - "loadingText": "Jank Client yükleniyor", - "loaddesc": "Bu uzun sürmemeli", - "switchaccounts": "Hesapları Değiştir", - "instanceField": "Örnek:", - "emailField": "E-posta:", - "pwField": "Parola:", - "loginButton": "Giriş Yap", - "noAccount": "Hesabınız yok mu?", - "userField": "Kullanıcı adı:", - "pw2Field": "Parolayı tekrar girin:", - "dobField": "Doğum tarihi:", - "createAccount": "Hesap oluştur", - "alreadyHave": "Zaten bir hesabınız var mı?", - "openClient": "İstemciyi Aç", - "welcomeJank": "Jank Client'a Hoş Geldiniz", - "box1title": "Jank Client, birçok özellikle mümkün olduğunca iyi olmaya çalışan bir Spacebar uyumlu istemcidir, bunlar arasında:", - "box1Items": "Doğrudan Mesajlaşma|Tepkiler desteği|Davetler|Hesap değiştirme|Kullanıcı ayarları|Geliştirici portalı|Bot davetleri|Çeviri desteği", - "compatableInstances": "Spacebar Uyumlu Örnekler:", - "box3title": "Jank Client'a Katkıda Bulunun", - "box3description": "Her zaman yardımı takdir ederiz, ister hata raporları, ister kod şeklinde olsun, hatta sadece bazı yazım hatalarını işaret etseniz bile.", - "trans": "Çevir", - "transTitle": "Fermi'yi Çevir", - "transDesc": "Fermi'yi kendi dilinize çevirmeye yardım edebilirsiniz!" + "name": "Geliştirici Ayarları", + "traces": "İzleri ortaya çıkar:" }, + "discovery": "Keşfet", + "edit": "Düzenle", + "errorReconnect": "Sunucuya bağlanılamadı, **$1** saniye içinde yeniden denenecek...", + "favoriteGifs": "Favori Gifler", "form": { "captcha": "Bir saniye, siz insan mısınız?" }, - "register": { - "register": "Kaydol", - "passwordError:": "Parola: $1", - "usernameError": "Kullanıcı adı: $1", - "emailError": "E-posta: $1", - "DOBError": "Doğum Tarihi: $1", - "agreeTOS": "[Hizmet Şartlarını]($1) kabul ediyorum:", - "noTOS": "Bu örneğin Hizmet Şartları yok, yine de TOS'u kabul et:", - "tos": "Kullanım şartlarını kabul etmeniz gerekiyor" - }, - "leaving": "Spacebar'dan ayrılıyorsunuz", - "goingToURL": "$1 adresine gidiyorsunuz. Oraya gitmek istediğinizden emin misiniz?", "goThere": "Oraya git", "goThereTrust": "Oraya git ve gelecekte güven", - "nevermind": "Boşver", - "submit": "Gönder", - "edit": "Düzenle", - "discovery": "Keşfet", + "goingToURL": "$1 adresine gidiyorsunuz. Oraya gitmek istediğinizden emin misiniz?", "guild": { - "joinConfirm": "$1'e katıl?", - "guilds": "Guildler", - "template": "Şablon:", + "DISCOVERABLE": "Keşfet", "adminMenu": { - "permission": "İzinler:", - "ownName": "Sahip" + "ownName": "Sahip", + "permission": "İzinler:" }, - "viewTemplate": "Şablonu Görüntüle", - "invites": "Davetler", - "templateNameShort": "Şablon adı en az 2 karakter uzunluğunda olmalıdır", - "bannedBy": "Tarafından yasaklanıldı:", + "all": "hepsi", "banReason": "Yasaklanma nedeni: $1", + "bannedBy": "Tarafından yasaklanıldı:", + "banner:": "Afiş:", "community": "Topluluk", + "confirmDelete": "$1 sunucusunu silmek istediğinizden emin misiniz?", + "confirmLeave": "Ayrılmak istediğinizden emin misiniz?", "copyId": "Sunucu kimliğini kopyala", - "markRead": "Okundu olarak işaretle", - "notifications": "Bildirimler", - "mute": "Guild'i Sessize Al", - "leave": "Sunucudan ayrıl", - "settings": "Ayarlar", + "create": "Sunucu oluştur", "delete": "Sunucuyu sil", + "description:": "Açıklama:", + "disoveryTitle": "Sunucu keşfi ($1 {{PLURAL:$1|girdi}})", + "emptytext": "Garip bir durumdasınız, bu guild'de hiç kanal yok", + "emptytitle": "Garip durum", + "guilds": "Guildler", + "icon:": "Simge:", + "invites": "Davetler", + "joinConfirm": "$1'e katıl?", + "leave": "Sunucudan ayrıl", + "loadingDiscovery": "Yükleniyor...", "makeInvite": "Davet oluştur", - "settingsFor": "$1 için ayarlar", + "markRead": "Okundu olarak işaretle", + "mute": "Guild'i Sessize Al", "name:": "Ad:", - "topic:": "Konu:", - "icon:": "Simge:", + "noDelete": "Boşver", + "noLeave": "Boşver", + "none": "hiçbiri", + "notifications": "Bildirimler", + "onlyMentions": "sadece bahsetmeler", "overview": "Genel Bakış", - "banner:": "Afiş:", "region:": "Bölge:", "roles": "Roller", "selectnoti": "Bildirim türünü seç", - "all": "hepsi", - "onlyMentions": "sadece bahsetmeler", - "none": "hiçbiri", - "confirmLeave": "Ayrılmak istediğinizden emin misiniz?", - "yesLeave": "Evet, eminim", - "noLeave": "Boşver", - "confirmDelete": "$1 sunucusunu silmek istediğinizden emin misiniz?", + "sendrandomwelcome?": "Birisi guild'e katılınca rastgele cümle gönder", "serverName": "Kulüp adı:", - "yesDelete": "Evet, eminim", - "noDelete": "Boşver", - "create": "Sunucu oluştur", - "loadingDiscovery": "Yükleniyor...", - "disoveryTitle": "Sunucu keşfi ($1 {{PLURAL:$1|girdi}})", - "emptytitle": "Garip durum", - "emptytext": "Garip bir durumdasınız, bu guild'de hiç kanal yok", - "description:": "Açıklama:", + "settings": "Ayarlar", + "settingsFor": "$1 için ayarlar", "systemSelect:": "Sistem mesajları kanalı:", - "sendrandomwelcome?": "Birisi guild'e katılınca rastgele cümle gönder", - "DISCOVERABLE": "Keşfet" + "template": "Şablon:", + "templateNameShort": "Şablon adı en az 2 karakter uzunluğunda olmalıdır", + "topic:": "Konu:", + "viewTemplate": "Şablonu Görüntüle", + "yesDelete": "Evet, eminim", + "yesLeave": "Evet, eminim" }, - "createAccount": "Hesap Oluştur", - "role": { - "displaySettings": "Görüntü Ayarları", - "name": "Rol adı:", - "copyId": "Rol kimliğini kopyala", - "roles": "Roller", - "perms": "İzinler", - "hoisted": "Listede göster:", - "mentionable": "Herkes bu rolü etiketleyebilir:", - "color": "Renk", - "remove": "Rolü kaldır", - "delete": "Rolü Sil", - "confirmDelete": "$1 silmek istediğinizden emin misiniz?", - "roleEmoji": "Rol emojisi:", - "roleFileIcon": "Rol Simgesi:", - "deleting": "Rol siliniyor..." + "hideBlockedMessages": "Bu kullanıcıyı engellediniz, bu mesajları gizlemek için tıklayın.", + "home": { + "uptimeStats": "Çalışma Süresi: \n Tüm zamanlar: $1%\nBu hafta: $2%\nBugün: $3%", + "warnOffiline": "Örnek çevrimdışı, bağlanılamıyor" }, - "settings": { - "unsaved": "Dikkatli olun, kaydedilmemiş değişiklikleriniz var", - "save": "Değişiklikleri kaydet", - "img": "Resim yükle", - "clear": "Temizle" + "htmlPages": { + "addBot": "Kulübe ekle", + "alreadyHave": "Zaten bir hesabınız var mı?", + "box1Items": "Doğrudan Mesajlaşma|Tepkiler desteği|Davetler|Hesap değiştirme|Kullanıcı ayarları|Geliştirici portalı|Bot davetleri|Çeviri desteği", + "box1title": "Jank Client, birçok özellikle mümkün olduğunca iyi olmaya çalışan bir Spacebar uyumlu istemcidir, bunlar arasında:", + "box3description": "Her zaman yardımı takdir ederiz, ister hata raporları, ister kod şeklinde olsun, hatta sadece bazı yazım hatalarını işaret etseniz bile.", + "box3title": "Jank Client'a Katkıda Bulunun", + "compatableInstances": "Spacebar Uyumlu Örnekler:", + "createAccount": "Hesap oluştur", + "dobField": "Doğum tarihi:", + "emailField": "E-posta:", + "idpermissions": "Bu bot şunlara izin verecek:", + "instanceField": "Örnek:", + "loaddesc": "Bu uzun sürmemeli", + "loadingText": "Jank Client yükleniyor", + "loginButton": "Giriş Yap", + "noAccount": "Hesabınız yok mu?", + "openClient": "İstemciyi Aç", + "pw2Field": "Parolayı tekrar girin:", + "pwField": "Parola:", + "switchaccounts": "Hesapları Değiştir", + "trans": "Çevir", + "transDesc": "Fermi'yi kendi dilinize çevirmeye yardım edebilirsiniz!", + "transTitle": "Fermi'yi Çevir", + "userField": "Kullanıcı adı:", + "welcomeJank": "Jank Client'a Hoş Geldiniz" }, - "notiVolume": "Bildirim sesi:", - "blog": { - "blog": "Blog" + "instanceStats": { + "members": "Üyeler: $1", + "messages": "Mesajlar: $1", + "name": "Örnek istatistikleri: $1", + "servers": "Kulüpler: $1", + "users": "Kayıtlı kullanıcılar: $1" + }, + "interactions": { + "onlyYou": "Bu mesajı yalnızca siz görebilirsiniz" + }, + "invite": { + "accept": "Kabul et", + "alreadyJoined": "Zaten katıldınız", + "inviteLinkCode": "Davet Bağlantısı/Kodu", + "invitedBy": "$1 sizi davet etti", + "joinUsing": "Daveti kullanarak katıl", + "loginOrCreateAccount": "Giriş yapın veya hesap oluşturun ⇌", + "longInvitedBy": "$1 sizi $2'ya katılmaya davet etti", + "never": "Asla", + "noAccount": "Daveti kabul etmek için bir hesap oluşturun" + }, + "inviteOptions": { + "12h": "12 Saat", + "1d": "1 Gün", + "1h": "1 Saat", + "30d": "30 Gün", + "30m": "30 Dakika", + "6h": "6 Saat", + "7d": "7 Gün", + "limit": "$1 {{PLURAL:$1|kullanım}}", + "never": "Asla", + "noLimit": "Sınırsız", + "title": "Kişileri Davet Et" }, + "leaveGuild": "Sunucudan ayrıl", + "leaving": "Spacebar'dan ayrılıyorsunuz", "localuser": { - "install": "Yükle", - "installJank": "Fermi'yi yükle", - "installDesc": "Fermi'yi yüklemek onu farklı bir uygulama gibi açmanıza sağlayacaktır! Ayrıca Fermi'yi web tarayıcınızda kullanmaya devam edebilirsiniz ve aynı şekilde çalışacaktır.", - "addStatus": "Durum ekle", - "status": "Durum", - "settings": "Ayarlar", - "userSettings": "Kullanıcı Ayarları", - "themesAndSounds": "Temalar & Sesler", - "theme:": "Tema", - "notisound": "Bildirim sesi:", - "customSound": "Özel Ses", - "soundTooLarge": "Yüklemeye çalıştığınız ses çok büyük, tekrar deneyin", - "accentColor": "Vurgu rengi:", - "VoiceWarning": "Bunu etkinleştirmek istediğinizden emin misiniz, bu çok deneysel ve sorunlara neden olabilir. (bu özellik geliştiriciler içindir, ne yaptığınızı bilmiyorsanız lütfen etkinleştirmeyin)", - "updateSettings": "Ayarları Güncelle", - "swSettings": "Servis Çalışanı ayarı", - "SWOff": "Kapalı", - "SWOffline": "Yalnızca Çevrimdışı", - "SWOn": "Açık", - "clearCache": "Önbelleği temizle", + "2faCode:": "Kod:", + "2faCodeGive": "Gizli anahtarınız: $1 ve 6 haneli, 30 saniyelik bir token süresi var", + "2faDisable": "2FA'yı Devre Dışı Bırak", + "2faEnable": "2FA'yı Etkinleştir", "CheckUpdate": "Güncellemeleri kontrol et", + "PasswordsNoMatch": "Parolalar eşleşmiyor", + "TOSURL": "Hizmet Şartları URL'si:", + "VoiceWarning": "Bunu etkinleştirmek istediğinizden emin misiniz, bu çok deneysel ve sorunlara neden olabilir. (bu özellik geliştiriciler içindir, ne yaptığınızı bilmiyorsanız lütfen etkinleştirmeyin)", + "accentColor": "Vurgu rengi:", "accountSettings": "Hesap Ayarları", - "2faDisable": "2FA'yı Devre Dışı Bırak", + "addBot": "Bot ekle", + "addStatus": "Durum ekle", + "advancedBot": "Gelişmiş Bot Ayarları", + "appName": "Uygulama adı:", "badCode": "Geçersiz kod", - "2faEnable": "2FA'yı Etkinleştir", - "2faCode:": "Kod:", - "setUp2fa": "2FA Kurulumu", "badPassword": "Yanlış parola", - "setUp2faInstruction": "Bu gizli anahtarı TOTP uygulamanıza kopyalayın", - "2faCodeGive": "Gizli anahtarınız: $1 ve 6 haneli, 30 saniyelik bir token süresi var", + "botAvatar": "Bot avatarı:", + "botInviteCreate": "Bot Davet Oluşturucu", + "botUsername": "Bot kullanıcı adı:", "changeDiscriminator": "Ayırıcıyı değiştir", - "newDiscriminator": "Yeni ayırıcı:", "changeEmail": "E-postayı değiştir", - "password:": "Parola", - "newEmail:": "Yeni e-posta", - "changeUsername": "Kullanıcı adını değiştir", - "newUsername": "Yeni kullanıcı adı:", "changePassword": "Parolayı değiştir", - "oldPassword:": "Eski parola:", - "newPassword:": "Yeni parola:", - "PasswordsNoMatch": "Parolalar eşleşmiyor", - "disableConnection": "Bu bağlantı sunucu tarafından devre dışı bırakıldı", - "devPortal": "Geliştirici Portalı", + "changeUsername": "Kullanıcı adını değiştir", + "clearCache": "Önbelleği temizle", + "confirmAddBot": "Bu uygulamaya bir bot eklemek istediğinizden emin misiniz? Geri dönüşü yok.", + "confirmReset": "Bot token'ini sıfırlamak istediğinizden emin misiniz? Botunuz, güncelleyene kadar çalışmayı durduracak.", + "confuseNoBot": "Nedense, bu uygulamanın henüz bir botu yok.", + "connections": "Bağlantılar", "createApp": "Uygulama oluştur", - "team:": "Takım:", - "appName": "Uygulama adı:", + "customSound": "Özel Ses", "description": "Açıklama:", + "devPortal": "Geliştirici Portalı", + "disableConnection": "Bu bağlantı sunucu tarafından devre dışı bırakıldı", + "editingBot": "Bot $1 düzenleniyor", + "install": "Yükle", + "installDesc": "Fermi'yi yüklemek onu farklı bir uygulama gibi açmanıza sağlayacaktır! Ayrıca Fermi'yi web tarayıcınızda kullanmaya devam edebilirsiniz ve aynı şekilde çalışacaktır.", + "installJank": "Fermi'yi yükle", + "language": "Dil:", + "manageBot": "Botu yönet", + "newDiscriminator": "Yeni ayırıcı:", + "newEmail:": "Yeni e-posta", + "newPassword:": "Yeni parola:", + "newUsername": "Yeni kullanıcı adı:", + "noToken": "Token'i bilmiyorum, bu yüzden localStorage'a kaydedemem, üzgünüm", + "notisound": "Bildirim sesi:", + "oldPassword:": "Eski parola:", + "password:": "Parola", "privacyPolcyURL": "Gizlilik politikası URL'si:", - "TOSURL": "Hizmet Şartları URL'si:", "publicAvaliable": "Botun herkese açık olarak davet edilmesine izin verilsin mi?", "requireCode": "Botu davet etmek için kod izni gerekiyor mu?", - "manageBot": "Botu yönet", - "addBot": "Bot ekle", - "confirmAddBot": "Bu uygulamaya bir bot eklemek istediğinizden emin misiniz? Geri dönüşü yok.", - "confuseNoBot": "Nedense, bu uygulamanın henüz bir botu yok.", - "editingBot": "Bot $1 düzenleniyor", - "botUsername": "Bot kullanıcı adı:", - "botAvatar": "Bot avatarı:", "resetToken": "Token'i sıfırla", - "confirmReset": "Bot token'ini sıfırlamak istediğinizden emin misiniz? Botunuz, güncelleyene kadar çalışmayı durduracak.", - "tokenDisplay": "Token: $1", "saveToken": "Token'i localStorage'a kaydet", - "noToken": "Token'i bilmiyorum, bu yüzden localStorage'a kaydedemem, üzgünüm", - "advancedBot": "Gelişmiş Bot Ayarları", - "botInviteCreate": "Bot Davet Oluşturucu", - "language": "Dil:", - "connections": "Bağlantılar" + "setUp2fa": "2FA Kurulumu", + "setUp2faInstruction": "Bu gizli anahtarı TOTP uygulamanıza kopyalayın", + "settings": "Ayarlar", + "soundTooLarge": "Yüklemeye çalıştığınız ses çok büyük, tekrar deneyin", + "status": "Durum", + "team:": "Takım:", + "theme:": "Tema", + "themesAndSounds": "Temalar & Sesler", + "tokenDisplay": "Token: $1", + "updateSettings": "Ayarları Güncelle", + "userSettings": "Kullanıcı Ayarları" + }, + "login": { + "allGood": "Her şey yolunda", + "checking": "Örnek kontrol ediliyor", + "invalid": "Geçersiz örnek, tekrar deneyin", + "waiting": "Örneği kontrol etmek için bekleniyor" + }, + "logout": { + "error": { + "cancel": "İptal", + "cont": "Yine de devam et", + "desc": "Fermi sizi çıkış yaptıramadı,\n hesabı yine de kaldırmak istiyor musunuz?", + "title": "Oturumunuzu kapatmaya çalışırken bir hata oluştu" + }, + "logout": "Oturumu kapat" + }, + "media": { + "artist": "Sanatçı: $1", + "download": "Medyayı indir", + "length": "Süre: $1 dakika ve $2 saniye", + "loading": "Yükleniyor", + "moreInfo": "Daha fazla bilgi", + "notFound": "Medya bulunamadı" + }, + "member": { + "ban": "$1'ı $2'dan yasakla", + "kick": "$1'ı $2'dan at", + "reason:": "Sebep:" }, "message": { "delete": "Mesajı Sil", + "deleted": "Silinmiş mesaj", "edit": "Mesajı Düzenle", "edited": "(düzenlendi)", - "deleted": "Silinmiş mesaj", "reactionsTitle": "Tepkiler" }, - "instanceStats": { - "name": "Örnek istatistikleri: $1", - "users": "Kayıtlı kullanıcılar: $1", - "servers": "Kulüpler: $1", - "messages": "Mesajlar: $1", - "members": "Üyeler: $1" + "nevermind": "Boşver", + "no": "Hayır", + "noMessages": "Burada mesaj görünmüyor, ilk siz bir şey söyleyin!", + "notiClump": "$2'den $1 bildiriminiz var", + "notiVolume": "Bildirim sesi:", + "otherAt": "$1 tarihinde saat $2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "Kullanıcının mesajlara tepki eklemesine izin verir", + "ADMINISTRATOR": "Tüm izinlere izin verir ve kanal izin geçersiz kılmalarını atlar. Bu tehlikeli bir izindir!", + "ATTACH_FILES": "Kullanıcının dosya eklemesine izin verir", + "BAN_MEMBERS": "Kullanıcının sunucudan üyeleri yasaklamasına izin verir", + "CHANGE_NICKNAME": "Kullanıcının kendi takma adını değiştirmesine izin verir", + "CONNECT": "Kullanıcının bir ses kanalına bağlanmasına izin verir", + "CREATE_EVENTS": "Zamanlanmış etkinlikler oluşturmaya ve kullanıcının oluşturduklarını düzenlemeye ve silmeye izin verir", + "CREATE_GUILD_EXPRESSIONS": "Emoji, çıkartma ve ses panosu sesleri oluşturmaya ve kullanıcının oluşturduklarını düzenlemeye ve silmeye izin verir", + "CREATE_INSTANT_INVITE": "Kullanıcının sunucu için davet oluşturmasına izin verir", + "CREATE_PRIVATE_THREADS": "Kullanıcının özel konular oluşturmasına izin verir", + "CREATE_PUBLIC_THREADS": "Kullanıcının genel konular oluşturmasına izin verir", + "DEAFEN_MEMBERS": "Kullanıcının diğer üyeleri sağırlamasına izin verir", + "EMBED_LINKS": "Bu kullanıcı tarafından gönderilen bağlantıların otomatik olarak gömülmesine izin verir", + "KICK_MEMBERS": "Kullanıcının sunucudan üyeleri atmasına izin verir", + "MANAGE_CHANNELS": "Kullanıcının kanalları yönetmesine ve düzenlemesine izin verir", + "MANAGE_EVENTS": "Kullanıcının etkinlikleri düzenlemesine ve yönetmesine izin verir", + "MANAGE_GUILD": "Sunucunun yönetimine ve düzenlenmesine izin verir", + "MANAGE_GUILD_EXPRESSIONS": "Emojileri, çıkartmaları ve ses panosunu yönetmeye olanak tanır", + "MANAGE_MESSAGES": "Kullanıcının kendisine ait olmayan mesajları silmesine izin verir", + "MANAGE_NICKNAMES": "Kullanıcının diğer üyelerin takma adlarını değiştirmesine izin verir", + "MANAGE_ROLES": "Kullanıcının rolleri düzenlemesine ve yönetmesine izin verir", + "MANAGE_THREADS": "Kullanıcının konuları silmesine ve arşivlemesine ve tüm özel konuları görüntülemesine izin verir", + "MANAGE_WEBHOOKS": "Webhook'ların yönetimine ve düzenlenmesine izin verir", + "MENTION_EVERYONE": "Kullanıcının herkesi etiketlemesine izin verir", + "MODERATE_MEMBERS": "Kullanıcının diğer kullanıcıları susturmasına izin verir", + "MOVE_MEMBERS": "Kullanıcının üyeleri ses kanalları arasında taşımasına izin verir", + "MUTE_MEMBERS": "Kullanıcının diğer üyeleri susturmasına izin verir", + "PRIORITY_SPEAKER": "Ses kanalında öncelikli konuşmacı kullanımına izin verir", + "READ_MESSAGE_HISTORY": "Kullanıcının mesaj geçmişini okumasına izin verir", + "REQUEST_TO_SPEAK": "Kullanıcının sahne kanalında konuşma isteğinde bulunmasına izin verir", + "SEND_MESSAGES": "Kullanıcının mesaj göndermesine izin verir", + "SEND_MESSAGES_IN_THREADS": "Kullanıcının konularda mesaj göndermesine izin verir", + "SEND_POLLS": "Anketler göndermeye izin verir", + "SEND_TTS_MESSAGES": "Kullanıcının metinden sese mesajlar göndermesine izin verir", + "SEND_VOICE_MESSAGES": "Sesli mesajlar göndermeye izin verir", + "SPEAK": "Kullanıcının bir ses kanalında konuşmasına izin verir", + "STREAM": "Kullanıcının yayın yapmasına izin verir", + "USE_APPLICATION_COMMANDS": "Kullanıcının uygulama komutlarını kullanmasına izin verir", + "USE_EMBEDDED_ACTIVITIES": "Kullanıcının gömülü etkinlikleri kullanmasına izin verir", + "USE_EXTERNAL_APPS": "Kullanıcı tarafından yüklenen uygulamaların herkese açık yanıtlar göndermesine izin verir. Devre dışı bırakıldığında, kullanıcılar yine de uygulamalarını kullanabilir ancak yanıtlar geçici olacaktır. Bu, kulübe yüklenmemiş uygulamalar için geçerlidir.", + "USE_EXTERNAL_EMOJIS": "Kullanıcının harici emojileri kullanmasına izin verir", + "USE_EXTERNAL_SOUNDS": "Diğer kulüplerden özel ses panosu seslerini kullanmaya izin verir", + "USE_EXTERNAL_STICKERS": "Kullanıcının harici çıkartmaları kullanmasına izin verir", + "USE_SOUNDBOARD": "Ses panosunu bir ses kanalında kullanmaya izin verir", + "USE_VAD": "Kullanıcıların ses etkinliği ile konuşmasına izin verir", + "VIEW_AUDIT_LOG": "Kullanıcının denetim günlüğünü görüntülemesine izin verir", + "VIEW_CHANNEL": "Kullanıcının kanalı görüntülemesine izin verir", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "Abonelik içgörülerini görüntülemeye izin verir", + "VIEW_GUILD_INSIGHTS": "Kullanıcının sunucu içgörülerini görmesine izin verir" + }, + "readableNames": { + "ADD_REACTIONS": "Tepkiler ekle", + "ADMINISTRATOR": "Yönetici", + "ATTACH_FILES": "Dosyaları ekle", + "BAN_MEMBERS": "Üyeleri yasakla", + "CHANGE_NICKNAME": "Takma adı değiştir", + "CONNECT": "Bağlan", + "CREATE_EVENTS": "Etkinlikler oluştur", + "CREATE_GUILD_EXPRESSIONS": "İfadeler oluştur", + "CREATE_INSTANT_INVITE": "Davet oluştur", + "CREATE_PRIVATE_THREADS": "Özel konular oluştur", + "CREATE_PUBLIC_THREADS": "Genel konular oluştur", + "DEAFEN_MEMBERS": "Üyeleri sağırla", + "EMBED_LINKS": "Bağlantıları göm", + "KICK_MEMBERS": "Üyeleri at", + "MANAGE_CHANNELS": "Kanalları yönet", + "MANAGE_EVENTS": "Etkinlikleri yönet", + "MANAGE_GUILD": "Sunucuyu yönet", + "MANAGE_GUILD_EXPRESSIONS": "İfadeleri yönet", + "MANAGE_MESSAGES": "Mesajları yönet", + "MANAGE_NICKNAMES": "Takma adları yönet", + "MANAGE_ROLES": "Rolleri yönet", + "MANAGE_THREADS": "Konuları yönet", + "MANAGE_WEBHOOKS": "Webhook'ları yönet", + "MENTION_EVERYONE": "@everyone, @here ve tüm rolleri etiketle", + "MODERATE_MEMBERS": "Üyeleri zaman aşımına uğrat", + "MOVE_MEMBERS": "Üyeleri taşı", + "MUTE_MEMBERS": "Üyeleri sustur", + "PRIORITY_SPEAKER": "Öncelikli konuşmacı", + "READ_MESSAGE_HISTORY": "Mesaj geçmişini oku", + "REQUEST_TO_SPEAK": "Konuşma isteğinde bulun", + "SEND_MESSAGES": "Mesaj gönder", + "SEND_MESSAGES_IN_THREADS": "Konularda mesaj gönder", + "SEND_POLLS": "Anketler oluştur", + "SEND_TTS_MESSAGES": "Metinden sese mesaj gönder", + "SEND_VOICE_MESSAGES": "Sesli mesajlar gönder", + "SPEAK": "Konuş", + "STREAM": "Video", + "USE_APPLICATION_COMMANDS": "Uygulama komutlarını kullan", + "USE_EMBEDDED_ACTIVITIES": "Etkinlikleri kullan", + "USE_EXTERNAL_APPS": "Harici uygulamaları kullan", + "USE_EXTERNAL_EMOJIS": "Harici emojileri kullan", + "USE_EXTERNAL_SOUNDS": "Harici sesleri kullan", + "USE_EXTERNAL_STICKERS": "Harici çıkartmaları kullan", + "USE_SOUNDBOARD": "Ses panosunu kullan", + "USE_VAD": "Ses etkinliği algılamayı kullan", + "VIEW_AUDIT_LOG": "Denetim günlüğünü görüntüle", + "VIEW_CHANNEL": "Kanalları görüntüle", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "İçerik üretici gelir analitiğini görüntüle", + "VIEW_GUILD_INSIGHTS": "Sunucu içgörülerini görüntüle" + } }, - "inviteOptions": { - "title": "Kişileri Davet Et", - "30m": "30 Dakika", - "1h": "1 Saat", - "6h": "6 Saat", - "12h": "12 Saat", - "1d": "1 Gün", - "7d": "7 Gün", - "30d": "30 Gün", - "never": "Asla", - "limit": "$1 {{PLURAL:$1|kullanım}}", - "noLimit": "Sınırsız" + "pinMessage": "Mesajı Sabitle", + "profile": { + "bio": "Hakkımda:", + "mut": "Ortak Guildler", + "mutFriends": "Ortak Arkadaşlar", + "permInfo": "İzinler", + "userInfo": "Kullanıcı Bilgisi" }, - "2faCode": "2FA kodu:", - "invite": { - "invitedBy": "$1 sizi davet etti", - "alreadyJoined": "Zaten katıldınız", - "accept": "Kabul et", - "noAccount": "Daveti kabul etmek için bir hesap oluşturun", - "longInvitedBy": "$1 sizi $2'ya katılmaya davet etti", - "loginOrCreateAccount": "Giriş yapın veya hesap oluşturun ⇌", - "joinUsing": "Daveti kullanarak katıl", - "inviteLinkCode": "Davet Bağlantısı/Kodu", - "never": "Asla" + "profileColor": "Profil rengi", + "pronouns": "Zamirler:", + "readableName": "Türkçe", + "recentEmoji": "En Son Emoji", + "register": { + "DOBError": "Doğum Tarihi: $1", + "agreeTOS": "[Hizmet Şartlarını]($1) kabul ediyorum:", + "emailError": "E-posta: $1", + "noTOS": "Bu örneğin Hizmet Şartları yok, yine de TOS'u kabul et:", + "passwordError:": "Parola: $1", + "register": "Kaydol", + "tos": "Kullanım şartlarını kabul etmeniz gerekiyor", + "usernameError": "Kullanıcı adı: $1" }, + "reply": "Yanıtla", "replyingTo": "$1 yanıtlıyor", - "DMs": { - "copyId": "DM kimliğini kopyala", - "markRead": "Okundu olarak işaretle", - "close": "DM'yi kapat" + "retrying": "Yeniden deneniyor...", + "role": { + "color": "Renk", + "confirmDelete": "$1 silmek istediğinizden emin misiniz?", + "copyId": "Rol kimliğini kopyala", + "delete": "Rolü Sil", + "deleting": "Rol siliniyor...", + "displaySettings": "Görüntü Ayarları", + "hoisted": "Listede göster:", + "mentionable": "Herkes bu rolü etiketleyebilir:", + "name": "Rol adı:", + "perms": "İzinler", + "remove": "Rolü kaldır", + "roleEmoji": "Rol emojisi:", + "roleFileIcon": "Rol Simgesi:", + "roles": "Roller" }, + "searchGifs": "Tenor'da Arayın", + "settings": { + "clear": "Temizle", + "img": "Resim yükle", + "save": "Değişiklikleri kaydet", + "unsaved": "Dikkatli olun, kaydedilmemiş değişiklikleriniz var", + "updates": { + "serviceWorkerMode": { + "disabled": "Kapalı", + "enabled": "Açık", + "offlineOnly": "Yalnızca Çevrimdışı", + "title": "Servis Çalışanı ayarı" + } + } + }, + "showBlockedMessages": "Bu kullanıcıyı engellediniz, $1 engellenen {{PLURAL:$1| mesaj|mesajları}} görmek için tıklayın.", + "spoiler": "Spoiler", + "submit": "Gönder", + "switchAccounts": "Hesapları Değiştir ⇌", + "todayAt": "Bugün saat $1", + "typing": "$2 {{PLURAL:$1|yazıyor|yazıyorlar}}", + "unableToConnect": "Spacebar sunucusuna bağlanılamıyor. Lütfen çıkış yapıp tekrar deneyin.", + "unableToPin": "Mesaj sabitlenemiyor", + "uploadBanner": "Afiş yükle:", + "uploadPfp": "Profil resmi yükle:", "user": { - "copyId": "Kullanıcı kimliğini kopyala", - "online": "Çevrimiçi", - "offline": "Çevrimdışı", - "message": "Kullanıcıya mesaj gönder", + "addRole": "Roller ekle", + "ban": "Üyeyi yasakla", "block": "Kullanıcıyı engelle", - "unblock": "Engeli kaldır", + "copyId": "Kullanıcı kimliğini kopyala", "friendReq": "Arkadaşlık isteği", "kick": "Üyeyi at", - "ban": "Üyeyi yasakla", - "addRole": "Roller ekle", - "removeRole": "Roller kaldır" - }, - "login": { - "checking": "Örnek kontrol ediliyor", - "allGood": "Her şey yolunda", - "invalid": "Geçersiz örnek, tekrar deneyin", - "waiting": "Örneği kontrol etmek için bekleniyor" + "message": "Kullanıcıya mesaj gönder", + "offline": "Çevrimdışı", + "online": "Çevrimiçi", + "removeRole": "Roller kaldır", + "unblock": "Engeli kaldır" }, - "member": { - "kick": "$1'ı $2'dan at", - "reason:": "Sebep:", - "ban": "$1'ı $2'dan yasakla" + "vc": { + "joinForStream": "İzlemek için Sesli Kanal'a katılın.", + "joiningStream": "Yayına katılınılıyor...", + "joinstream": "Yayını izle", + "leavestream": "Yayından ayrıl", + "stopstream": "Yayını Durdur" }, - "commands": { - "errorNotValid": "$1 $2 için geçerli bir seçenek değildir.", - "required": "$1 bu komutun gerekli bir parçasıdır." + "webhooks": { + "base": "Webhook'lar", + "channel": "Kanal", + "copyURL": "Webhook URL'sini kopyala", + "createdAt": "$1 tarihinde oluşturuldu", + "name": "Ad:", + "newWebHook": "Yeni Webhook" }, - "errorReconnect": "Sunucuya bağlanılamadı, **$1** saniye içinde yeniden denenecek...", - "retrying": "Yeniden deneniyor...", - "unableToConnect": "Spacebar sunucusuna bağlanılamıyor. Lütfen çıkış yapıp tekrar deneyin." + "yes": "Evet", + "yesterdayAt": "Dün saat $1" } diff --git a/translations/vi.json b/translations/vi.json index fa6e8a6c..9b9d09d9 100644 --- a/translations/vi.json +++ b/translations/vi.json @@ -1,17 +1,14 @@ { "@metadata": { - "authors": [ - "Bapham123", - "Duongvu" - ] + "authors": ["Bapham123", "Duongvu"] }, - "readableName": "Tiếng Anh", - "pinMessage": "Ghim tin nhắn", - "reply": "Trả lời", "logout": { - "logout": "Đăng xuất", "error": { "cancel": "Hủy bỏ" - } - } + }, + "logout": "Đăng xuất" + }, + "pinMessage": "Ghim tin nhắn", + "readableName": "Tiếng Anh", + "reply": "Trả lời" } diff --git a/translations/zh-hant.json b/translations/zh-hant.json index 97623684..f8401259 100644 --- a/translations/zh-hant.json +++ b/translations/zh-hant.json @@ -1,863 +1,864 @@ { - "@metadata": { - "authors": [ - "Kly", - "張詠涵" - ] - }, - "vc": { - "joinstream": "觀看直播", - "leavestream": "離開直播", - "joinForStream": "加入 VC 來觀看", - "stopstream": "停止直播", - "joiningStream": "正在加入直播…" + "2faCode": "雙因素驗證代碼:", + "404": { + "404": "404 找不到頁面", + "app": "前往應用程式", + "blog": "Fermi 部落格", + "home": "首頁", + "listtitle": "也許您是想去這些地方", + "login": "登入", + "report": "如果您在客戶端發現此頁面,請回報:", + "reset": "重設密碼頁面", + "title": "看來您迷路了", + "whatelse": "您認為應該還會發生什麼事?", + "whereever": "無論這在哪裡" }, - "favoriteGifs": "收藏的 Gif 圖檔", - "recentEmoji": "近期的表情符號", - "noStickers": "您似乎處在一個奇怪的位置,這裡沒有貼圖可以供您使用!", - "readableName": "繁體中文", - "pinMessage": "置頂訊息", - "unableToPin": "無法置頂訊息", - "reply": "回覆", - "copyrawtext": "複製原始文字", - "copyLink": "複製訊息連結", - "copymessageid": "複製訊息 ID", - "media": { - "notFound": "找不到媒體", - "loading": "載入中", - "download": "下載媒體", - "moreInfo": "更多資訊", - "artist": "藝術家:$1", - "composer": "作曲家:$1", - "length": "時長:$1 分 $2 秒" + "@metadata": { + "authors": ["Kly", "張詠涵"] }, - "logout": { - "logout": "登出", - "error": { - "title": "嘗試將您登出時發生錯誤", - "desc": "Fermi 無法將您登出,您是否仍要移除該帳號?", - "cancel": "取消", - "cont": "仍要繼續" - } + "DMs": { + "add": "將某人添加到此私訊", + "close": "關閉私訊", + "copyId": "複製私訊 ID", + "markRead": "標記為已讀", + "name": "直接訊息" }, - "cancel": "取消", - "permissions": { - "descriptions": { - "CREATE_INSTANT_INVITE": "允許使用者為公會建立邀請", - "KICK_MEMBERS": "允許使用者將成員踢出公會", - "BAN_MEMBERS": "允許使用者禁止公會成員", - "ADMINISTRATOR": "允許所有權限並繞過頻道權限覆蓋。(這是一個有風險的權限!)", - "MANAGE_CHANNELS": "允許使用者管理和編輯頻道", - "MANAGE_GUILD": "允許管理和編輯公會", - "ADD_REACTIONS": "允許使用者添加對訊息的反應", - "VIEW_AUDIT_LOG": "允許使用者查看稽核日誌", - "PRIORITY_SPEAKER": "允許在語音頻道中優先發言", - "STREAM": "允許使用者直播", - "VIEW_CHANNEL": "允許使用者查看頻道", - "SEND_MESSAGES": "允許使用者發送訊息", - "SEND_TTS_MESSAGES": "允許使用者發送文字轉語音訊息", - "MANAGE_MESSAGES": "允許使用者刪除不屬於自己的訊息", - "EMBED_LINKS": "允許此使用者發送的連結自動內嵌", - "ATTACH_FILES": "允許使用者附加檔案", - "READ_MESSAGE_HISTORY": "允許使用者讀取訊息歷史記錄", - "MENTION_EVERYONE": "允許使用者提及所有人", - "USE_EXTERNAL_EMOJIS": "允許使用者使用外部表情符號", - "VIEW_GUILD_INSIGHTS": "允許使用者查看公會洞見", - "CONNECT": "允許使用者連接到語音頻道", - "SPEAK": "允許使用者在語音頻道中發言", - "MUTE_MEMBERS": "允許使用者噤聲其他成員", - "DEAFEN_MEMBERS": "允許使用者蒙蔽其他成員", - "MOVE_MEMBERS": "允許使用者在語音頻道之間移動成員", - "USE_VAD": "允許使用者在語音頻道中透過簡易對話來發言", - "CHANGE_NICKNAME": "允許使用者更改自己的暱稱", - "MANAGE_NICKNAMES": "允許使用者更改其他成員的暱稱", - "MANAGE_ROLES": "允許使用者編輯和管理角色", - "MANAGE_WEBHOOKS": "允許管理和編輯 webhook", - "MANAGE_GUILD_EXPRESSIONS": "允許管理表情符號、貼圖和音效板", - "USE_APPLICATION_COMMANDS": "允許使用者使用應用程式指令", - "REQUEST_TO_SPEAK": "允許使用者請求在表演頻道中發言", - "MANAGE_EVENTS": "允許使用者編輯和管理事件", - "MANAGE_THREADS": "允許使用者刪除和存檔討論串,並查看所有非公開討論串", - "CREATE_PUBLIC_THREADS": "允許使用者建立公開討論串", - "CREATE_PRIVATE_THREADS": "允許使用者建立非公開討論串", - "USE_EXTERNAL_STICKERS": "允許使用者使用外部貼圖", - "SEND_MESSAGES_IN_THREADS": "允許使用者在討論串發送訊息", - "USE_EMBEDDED_ACTIVITIES": "允許使用者使用內嵌活動", - "MODERATE_MEMBERS": "允許使用者暫停其他使用者,以防止他們在聊天和討論串中發送或回覆訊息,以及在語音和表演頻道中發言", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "允許查看角色訂閱洞見", - "USE_SOUNDBOARD": "允許在語頻道中使用音效面板", - "CREATE_GUILD_EXPRESSIONS": "允許建立表情符號、貼圖、音效面板用音效,以及編輯和刪除由目前使用者所建立以上內容。", - "CREATE_EVENTS": "允許建立計劃事件,以及編輯和刪除目前使用者建立的事件。", - "USE_EXTERNAL_SOUNDS": "允許使用來自其他公會的自訂音效面板音效", - "SEND_VOICE_MESSAGES": "允許發送語音訊息", - "SEND_POLLS": "允許發送投票調查", - "USE_EXTERNAL_APPS": "允許使用者安裝的應用程式發送公開回應。當停用後,使用者仍可使用該應用程式,但僅能短暫回應。此設定僅適用於未安裝到公會的應用程式。", - "PIN_MESSAGES": "允許使用者置頂訊息", - "BYPASS_SLOWMODE": "延遲模式不再影響此名使用者" - }, - "readableNames": { - "CREATE_INSTANT_INVITE": "建立邀請", - "KICK_MEMBERS": "踢出成員", - "BAN_MEMBERS": "禁止成員", - "ADMINISTRATOR": "管理員", - "MANAGE_CHANNELS": "管理頻道", - "MANAGE_GUILD": "管理公會", - "ADD_REACTIONS": "添加反應", - "VIEW_AUDIT_LOG": "查看稽核日誌", - "PRIORITY_SPEAKER": "優先發言者", - "STREAM": "影片", - "VIEW_CHANNEL": "查看頻道", - "SEND_MESSAGES": "發送訊息", - "SEND_TTS_MESSAGES": "發送文字轉語音訊息", - "MANAGE_MESSAGES": "管理訊息", - "EMBED_LINKS": "內嵌連結", - "ATTACH_FILES": "附加檔案", - "READ_MESSAGE_HISTORY": "閱讀訊息歷史紀錄", - "MENTION_EVERYONE": "提及 @everyone、@here 和所有角色", - "USE_EXTERNAL_EMOJIS": "使用外部表情符號", - "VIEW_GUILD_INSIGHTS": "查看公會洞見", - "CONNECT": "連接", - "SPEAK": "發言", - "MUTE_MEMBERS": "噤聲成員", - "DEAFEN_MEMBERS": "蒙蔽成員", - "MOVE_MEMBERS": "移動成員", - "USE_VAD": "使用語音活動偵測", - "CHANGE_NICKNAME": "更改暱稱", - "MANAGE_NICKNAMES": "管理暱稱", - "MANAGE_ROLES": "管理角色", - "MANAGE_WEBHOOKS": "管理 webhook", - "MANAGE_GUILD_EXPRESSIONS": "管理表達", - "USE_APPLICATION_COMMANDS": "使用應用程式指令", - "REQUEST_TO_SPEAK": "請求發言", - "MANAGE_EVENTS": "管理事件", - "MANAGE_THREADS": "管理討論串", - "CREATE_PUBLIC_THREADS": "建立公開討論串", - "CREATE_PRIVATE_THREADS": "建立非公開討論串", - "USE_EXTERNAL_STICKERS": "使用外部貼圖", - "SEND_MESSAGES_IN_THREADS": "在討論串中發送訊息", - "USE_EMBEDDED_ACTIVITIES": "使用活動", - "MODERATE_MEMBERS": "暫停成員", - "VIEW_CREATOR_MONETIZATION_ANALYTICS": "查看建立者變現分析", - "USE_SOUNDBOARD": "使用音效面板", - "CREATE_GUILD_EXPRESSIONS": "建立表達", - "CREATE_EVENTS": "建立事件", - "USE_EXTERNAL_SOUNDS": "使用外部音效", - "SEND_VOICE_MESSAGES": "傳送語音訊息", - "SEND_POLLS": "建立投票", - "USE_EXTERNAL_APPS": "使用外部應用程式", - "PIN_MESSAGES": "置頂訊息", - "BYPASS_SLOWMODE": "繞過延遲模式" + "UrlGen": "URL 產生", + "Voice": { + "status": { + "badWS": "WS 回應不佳", + "conectionFailed": "連接失敗", + "done": "已連接", + "left": "已離開語音聊天", + "makingOffer": "產生 offer", + "noSDP": "無 SDP", + "notconnected": "未連接", + "sendingStreams": "傳送音訊串流", + "startingRTC": "開始 RTC 連接", + "waitingMainWS": "等待主要 WS", + "waitingURL": "等待語音 URL", + "wsAuth": "等待 WS 授權", + "wsOpen": "等待 WS 開啟" } }, - "userping": { - "unknown": "@不明", - "resolving": "解析使用者" - }, - "hideBlockedMessages": "您已封鎖該名使用者,點擊即可隱藏這些訊息。", - "showBlockedMessages": "您已封鎖該名使用者,點擊查看已封鎖的 $1 件{{PLURAL:$1|訊息}}。", - "deleteConfirm": "您確定要刪除這個嗎?", - "yes": "是", - "no": "否", - "todayAt": "今日於$1", - "yesterdayAt": "昨日$1", - "otherAt": "$1於$2", - "botSettings": "機器人設定", - "uploadPfp": "上傳 pfp:", - "uploadBanner": "上傳橫幅:", - "pronouns": "稱謂:", - "bio": "個人簡介:", - "profileColor": "個人檔案色彩", - "botGuilds": "公會機器人位於:", - "leaveGuild": "離開公會", - "confirmGuildLeave": "您確定您要離開$1", - "UrlGen": "URL 產生", - "typing": "$2{{PLURAL:$1|正在}}輸入", - "noMessages": "這裡看起來還沒有訊息,請搶先發表意見!", - "blankMessage": "空白訊息", - "spoiler": "劇透", "accessibility": { - "name": "無障礙", - "roleColors": "停用角色顏色", - "playGif": "播放動圖於:", - "playIcon": "播放動態圖示於:", "gifSettings": { - "hover": "覆蓋", "always": "總是", + "hover": "覆蓋", "never": "永不" - } + }, + "name": "無障礙", + "playGif": "播放動圖於:", + "playIcon": "播放動態圖示於:", + "roleColors": "停用角色顏色" }, - "profile": { - "userInfo": "使用者資訊", - "bio": "關於我:", - "permInfo": "權限", - "mut": "互助公會", - "mutFriends": "共同好友", - "joined": "已建立帳號:$1", - "joinedMember": "已加入$1:$2" + "accountNotStart": "帳號無法啟動", + "add": "添加", + "applications": { + "delete": "刪除應用程式", + "sure": "您確定要刪除$1嗎?" }, - "channelLink": "# $1", - "messageLink": "在 # $1 的訊息", - "searchGifs": "搜尋 Tenor", - "muteDuration": "取消噤聲:", - "interactions": { - "replyline": "開始互動", - "ephemeralDismiss": "忽略訊息", - "onlyYou": "僅有您才能查看此訊息", - "started": "處理互動…", - "worked": "互動成功", - "failed": "互動失敗", - "notImpl": "Fermi 尚不可執行類型成分「$1」", - "nonsence": "伺服器傳送的類型成分「$1」不存在" + "badge": { + "active_developer": "活躍開發者", + "application_guild_subscription": "有溢價", + "automod": "使用自動模式", + "bot_commands": "支援指令", + "bug_hunter_level_1": "程式錯誤獵人 1 級", + "bug_hunter_level_2": "程式錯誤獵人 2 級", + "certified_moderator": "版主", + "early_supporter": "早期支援者", + "guild_booster_lvl1": "促進公會", + "guild_booster_lvl2": "促進公會", + "guild_booster_lvl3": "促進公會", + "guild_booster_lvl4": "促進公會", + "guild_booster_lvl5": "促進公會", + "guild_booster_lvl6": "促進公會", + "guild_booster_lvl7": "促進公會", + "guild_booster_lvl8": "促進公會", + "guild_booster_lvl9": "已促進了公會一段時間", + "hypesquad": "受版權保護東西", + "hypesquad_house_1": "勇敢之家", + "hypesquad_house_2": "光輝之家", + "hypesquad_house_3": "平衡之家", + "legacy_username": "擁有舊使用者名稱", + "partner": "實例合作夥伴", + "premium": "溢價", + "quest_completed": "做出一個任務", + "staff": "實例人員", + "verified_developer": "已驗證開發者" + }, + "bio": "個人簡介:", + "blankMessage": "空白訊息", + "blog": { + "blog": "部落格", + "blogUpdates": "部落格更新:", + "desc": "閱讀或訂閱部落格來獲得 Fermi 的最新資訊!", + "fermi": "Fermi 部落格", + "gotoPost": "前往文章", + "wantUpdates": "您想取得有關 Fermi 狀態的每週部落格更新嗎?" }, + "bot": "機器人", + "botGuilds": "公會機器人位於:", + "botSettings": "機器人設定", + "cancel": "取消", "channel": { - "timedOutUntil": "逾時至:$1", "SlowmodeCool": "逾時模式緩和時間:$1", "TimeOutCool": "逾時至:$1", - "slowmode": "延遲模式:", - "typebox": "在$1的訊息", - "creating": "建立頻道", - "name": "頻道", + "allowIcons": "允許自訂頻道圖示", + "announcement": "公告", "copyId": "複製頻道 ID", "copyIdCat": "複製分類 ID", - "markRead": "標記為已讀", - "settings": "設定", + "createCatagory": "建立分類", + "createChannel": "建立頻道", + "creating": "建立頻道", "delete": "刪除頻道", "deleteCat": "刪除分類", + "icon": "圖示:", "makeInvite": "做出邀請", - "settingsFor": "$1的設定", - "voice": "語音", - "text": "文字", + "markRead": "標記為已讀", "mute": "噤聲頻道", - "unmute": "取消噤聲頻道", - "announcement": "公告", - "name:": "名稱:", - "icon": "圖示:", - "topic:": "主題:", - "nsfw:": "工作場所不宜:", - "selectType": "選擇頻道類型", - "selectName": "頻道名稱", - "selectCatName": "分類名稱", - "createChannel": "建立頻道", - "createCatagory": "建立分類", + "name": "頻道", + "name:": "名稱:", + "nsfw:": "工作場所不宜:", "permissions": "權限", - "allowIcons": "允許自訂頻道圖示" + "selectCatName": "分類名稱", + "selectName": "頻道名稱", + "selectType": "選擇頻道類型", + "settings": "設定", + "settingsFor": "$1的設定", + "slowmode": "延遲模式:", + "text": "文字", + "timedOutUntil": "逾時至:$1", + "topic:": "主題:", + "typebox": "在$1的訊息", + "unmute": "取消噤聲頻道", + "voice": "語音" }, - "notiClump": "您已收到來自$2的$1通知", - "Voice": { - "status": { - "done": "已連接", - "notconnected": "未連接", - "sendingStreams": "傳送音訊串流", - "conectionFailed": "連接失敗", - "makingOffer": "產生 offer", - "startingRTC": "開始 RTC 連接", - "noSDP": "無 SDP", - "waitingMainWS": "等待主要 WS", - "badWS": "WS 回應不佳", - "waitingURL": "等待語音 URL", - "wsOpen": "等待 WS 開啟", - "wsAuth": "等待 WS 授權", - "left": "已離開語音聊天" - } + "channelLink": "# $1", + "clientDesc": "客戶端版本:$1 \n\n[加入 Fermi 官方公會]($2/invite\n/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[協助翻譯 Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc)\n\n[協助開發 Fermi](https://github.com/MathMan05/Fermi)\n\n[協助維護 Fermi 所依賴的伺服器](https://github.com/spacebarchat/server)\n\n[閱讀部落格](https://blog.fermi.chat/)\n\n計算權限:$3", + "commands": { + "errorNotValid": "$1不是$2的有效選擇", + "required": "$1是此指令的必需部分" }, - "usedFermi": "已使用 Fermi", + "confirmGuildLeave": "您確定您要離開$1", + "copyLink": "複製訊息連結", + "copymessageid": "複製訊息 ID", + "copyrawtext": "複製原始文字", + "createAccount": "建立帳號", "delete": "刪除", - "webhooks": { - "createdAt": "建立於 $1", - "name": "名稱:", - "token": "Webhook 權杖:`$1`", - "url": "Webhook url:`$1`", - "avatar": "頭像", - "createdBy": "建立由:", - "notFound": "使用者不再屬於該公會", - "channel": "頻道", - "copyURL": "複製 Webhook URL", - "newWebHook": "新 Webhook", - "EnterWebhookName": "輸入 Webhook 名稱", - "base": "Webhook", - "sillyDefaults": "Captain Hook\nBillie Hooks\nSpidey bot", - "type1": "傳入", - "type2": "頻道追蹤者", - "type3": "應用程式", - "type": "類型:$1", - "deleteWebhook": "刪除 Webhook", - "areYouSureDelete": "您確定要刪除$1嗎?" - }, - "switchAccounts": "切換帳號 ⇌", - "accountNotStart": "帳號無法啟動", - "home": { - "uptimeStats": "運作時間:\n 所有時間:$1%\n本週:$2%\n今日:$3%", - "warnOffiline": "實例為離線狀態,無法連接", - "icon": "$1的實例圖示" - }, + "deleteConfirm": "您確定要刪除這個嗎?", "devSettings": { - "name": "開發人員設定", - "description": "這些是給 Spacebar/Fermi 的開發人員使用,若您不清楚用途,請不要變動這些設定。", "badUser": "啟用記錄發送過多資訊的惡意使用者對象:", - "logGateway": "記錄接收到的閘道器事件(日誌等級資訊):", - "traces": "暴露痕跡:", "cache": "啟用 Service Worker 快取映射檔:", "cacheDesc": "映射檔案在任何情況都會載入,這樣是為了確保在新版本發佈時能已快取。", "captureTrace": "此設定會指示 Fermi 從伺服器擷取 _trace 屬性,啟用此可能會導致漸進式 JSON 解碼無法運作(可能需要重新載入)。", - "gatewayComp": "停用閘道器壓縮" + "description": "這些是給 Spacebar/Fermi 的開發人員使用,若您不清楚用途,請不要變動這些設定。", + "gatewayComp": "停用閘道器壓縮", + "logGateway": "記錄接收到的閘道器事件(日誌等級資訊):", + "name": "開發人員設定", + "traces": "暴露痕跡:" }, - "htmlPages": { - "idpermissions": "這將允許機器人:", - "addBot": "新增到公會", - "loadingText": "Fermi 載入中", - "loaddesc": "這應該不會花很長時間", - "switchaccounts": "切換帳號", - "instanceField": "實例:", - "emailField": "電子郵件:", - "pwField": "密碼:", - "loginButton": "登入", - "noAccount": "還沒有帳號?", - "userField": "使用者名稱:", - "pw2Field": "再次輸入密碼:", - "dobField": "出生日期:", - "createAccount": "建立帳號", - "alreadyHave": "已經有帳號了嗎?", - "openClient": "開啟客戶端", - "welcomeJank": "歡迎來到 Fermi", - "box1title": "Fermi 是一款與 Spacebar 相容的客戶端,致力於盡所能提供多項功能,包括:", - "box1Items": "直接訊息傳遞|反應支援|邀請|帳號切換|使用者設定|開發者入口網站|機器人邀請|翻譯支援", - "compatableInstances": "Spacebar 相容實例:", - "box3title": "為 Fermi 做出貢獻", - "box3description": "我們一向感謝任何協助,無論是錯誤報告、程式碼,或是指出一些拼字錯誤。", - "trans": "翻譯", - "transTitle": "翻譯 Fermi", - "transDesc": "您可以協助將 Fermi 翻譯成您自己的語言!" + "deviceManage": { + "city": "城市:$1", + "continent": "大陸:$1", + "country": "國家:$1", + "curSes": "此為目前連線階段,您需要透過另一個選單登出。", + "estimateWarn": "提醒:以上資訊僅為推測,可能有誤。", + "ip": "最後已知 IP:$1", + "last": "上次大約使用:$1", + "latitude": "緯度:$1", + "logout": "登出", + "longitude": "經度:$1", + "manageDev": "管理裝置", + "postal": "郵遞區號:$1", + "region": "地區:$1", + "title": "管理連線階段" + }, + "discovery": "探索", + "dms": "私訊", + "edit": "編輯", + "emoji": { + "confirmDel": "您確定要刪除這個表情符號?", + "found": { + "not": "此表情符號不屬於您的公會,您必須加入該公會才能使用", + "other": "這個表情符號來自您的另一個公會。", + "private": "找不到此表情符號的公會", + "this": "這個表情符號來自此公會。" + }, + "from": "這個表情符號來自", + "image:": "圖片:", + "join": "加入公會", + "name:": "名稱:", + "privateGuild": "此為私人公會", + "title": "表情符號", + "upload": "上傳表情符號" + }, + "emojiSelect": "表情符號:", + "errorReconnect": "無法連接到伺服器,將在 **$1** 秒後重試…", + "favoriteGifs": "收藏的 Gif 圖檔", + "folder": { + "color": "資料夾色彩:", + "create": "建立新資料夾", + "edit": "編輯資料夾", + "name": "資料夾名稱:" }, "form": { "captcha": "請等一下,您是人類嗎?" }, - "useTemplate": "使用$1作為模板", - "useTemplateButton": "使用模板", - "register": { - "register": "註冊", - "passwordError:": "密碼:$1", - "usernameError": "使用者名稱:$1", - "emailError": "電子郵件:$1", - "DOBError": "出生日期:$1", - "agreeTOS": "我同意[服務條款]($1):", - "noTOS": "此實例沒有服務條款,無論如何請接受服務條款:", - "tos": "您必須同意服務條款" + "friends": { + "addfriend": "新增好友", + "addfriendpromt": "透過使用者名稱新增好友:", + "all": "全部", + "all:": "全部好友:", + "blocked": "已封鎖", + "blockedusers": "已封鎖使用者:", + "bu": "已封禁使用者", + "discnotfound": "找不到鑑別器", + "friendlist": "好友清單", + "friends": "好友", + "notfound": "找不到使用者", + "online": "線上", + "online:": "線上好友:", + "pending": "待辦", + "pending:": "待辦的好友請求:", + "removeFriend": "移除好友" }, - "leaving": "您正在離開 Spacebar", - "goingToURL": "您正要前往$1。您確定要去那裡嗎?", "goThere": "前往那裡", "goThereTrust": "前往那裡並相信一切沒問題", - "nevermind": "沒事", - "submit": "提交", - "edit": "編輯", - "discovery": "探索", + "goingToURL": "您正要前往$1。您確定要去那裡嗎?", + "group": { + "createdm": "建立私訊!", + "edit": "編輯群組聊天", + "select": "選擇好友" + }, "guild": { - "unknownRole": "@不明角色", - "memberCount": "$1 個{{PLURAL:$1|成員}}", - "joinConfirm": "加入$1?", - "guilds": "公會", - "template": "模板:", - "admins": "尋找管理員", + "COMMUNITY": "申請加入", + "DISCOVERABLE": "發現", + "INVITES_DISABLED": "僅邀請", "adminMenu": { - "finding": "尋找管理員", - "permission": "權限:", "changePerms": "更改權限來尋找", + "finding": "尋找管理員", + "ownName": "擁有者", "owner": "尋找擁有者", - "ownName": "擁有者" + "permission": "權限:" }, - "nameNoMatch": "名稱不符", - "viewTemplate": "查看模板", - "createFromTemplate": "公會模板", - "tempUseCount": "模板已使用 $1 {{PLURAL:$1|次}}", - "tempCreatedBy": "模板建立者:", - "editingTemplate": "編輯$1", - "createNewTemplate": "建立新模板", - "templates": "模板", - "templateName": "模板名稱:", - "templateDesc": "模板描述:", - "templcateMetaDesc": "模板允許其他人使用該公會作為自己公會的基礎內容,這會複製該公會的頻道、角色、設定,但不會複製公會內部的訊息、機器人或公會圖示。", - "invites": "邀請", - "templateNameShort": "模板名稱必須至少包含 2 個字元", - "templateURL": "模板 URL:$1", - "bannedBy": "被禁止由:", + "admins": "尋找管理員", + "all": "全部", "banReason": "禁止原因:$1", + "bannedBy": "被禁止由:", + "banner:": "橫幅:", "bans": "禁止", - "ruleId": "規則頻道:", + "boostMessage?": "當有人促進您的公會時發送訊息!", "community": "社群", - "creating": "建立公會", + "confirmDelete": "您確定要刪除$1嗎?", + "confirmLeave": "您確定您要離開嗎?", "copyId": "複製公會 ID", - "markRead": "標記為已讀", - "notifications": "通知", - "mute": "噤聲公會", - "leave": "離開公會", - "settings": "設定", + "create": "建立公會", + "createFromTemplate": "公會模板", + "createNewTemplate": "建立新模板", + "creating": "建立公會", + "default": "預設($1)", + "defaultNoti": "設定您的公會的預設通知設定!", "delete": "刪除公會", + "description:": "描述:", + "disoveryTitle": "公會發現($1 {{PLURAL:$1|項目}})", + "editingTemplate": "編輯$1", + "emptytext": "您處在奇怪的地方,這個公會沒有頻道", + "emptytitle": "奇怪地方", + "guilds": "公會", + "helpTips?": "為您的公會發送有用的提示!", + "howJoin": "其他人如何加入您的公會?", + "icon:": "圖示:", + "invites": "邀請", + "joinConfirm": "加入$1?", + "leave": "離開公會", + "loadingDiscovery": "載入中…", "makeInvite": "做出邀請", - "settingsFor": "$1的設定", + "markRead": "標記為已讀", + "memberCount": "$1 個{{PLURAL:$1|成員}}", + "mute": "噤聲公會", "name:": "名稱:", - "topic:": "主題:", - "icon:": "圖示:", - "overview": "概要", - "banner:": "橫幅:", - "region:": "區域:", - "roles": "角色", - "selectnoti": "選擇通知類型", - "all": "全部", - "onlyMentions": "僅提及", - "none": "無", - "confirmLeave": "您確定您要離開嗎?", - "yesLeave": "是的,我確定", - "noLeave": "沒事", - "confirmDelete": "您確定要刪除$1嗎?", - "serverName": "公會名稱:", - "yesDelete": "是的,我確定", + "nameNoMatch": "名稱不符", "noDelete": "沒事", - "create": "建立公會", - "loadingDiscovery": "載入中…", - "disoveryTitle": "公會發現($1 {{PLURAL:$1|項目}})", - "emptytitle": "奇怪地方", - "emptytext": "您處在奇怪的地方,這個公會沒有頻道", - "default": "預設($1)", - "description:": "描述:", - "systemSelect:": "系統訊息頻道:", + "noLeave": "沒事", + "none": "無", + "notifications": "通知", + "onlyMentions": "僅提及", + "overview": "概要", + "region:": "區域:", + "roles": "角色", + "ruleId": "規則頻道:", + "selectnoti": "選擇通知類型", "sendrandomwelcome?": "當有人加入此公會時發送隨機訊息", + "serverName": "公會名稱:", + "settings": "設定", + "settingsFor": "$1的設定", + "splash": "發現亮點:", "stickWelcomeReact?": "當有人加入時,提示您的公會成員用貼圖做出反應!", - "boostMessage?": "當有人促進您的公會時發送訊息!", - "helpTips?": "為您的公會發送有用的提示!", - "defaultNoti": "設定您的公會的預設通知設定!", - "howJoin": "其他人如何加入您的公會?", - "COMMUNITY": "申請加入", - "INVITES_DISABLED": "僅邀請", - "DISCOVERABLE": "發現", - "splash": "發現亮點:" + "systemSelect:": "系統訊息頻道:", + "tempCreatedBy": "模板建立者:", + "tempUseCount": "模板已使用 $1 {{PLURAL:$1|次}}", + "template": "模板:", + "templateDesc": "模板描述:", + "templateName": "模板名稱:", + "templateNameShort": "模板名稱必須至少包含 2 個字元", + "templateURL": "模板 URL:$1", + "templates": "模板", + "templcateMetaDesc": "模板允許其他人使用該公會作為自己公會的基礎內容,這會複製該公會的頻道、角色、設定,但不會複製公會內部的訊息、機器人或公會圖示。", + "topic:": "主題:", + "unknownRole": "@不明角色", + "viewTemplate": "查看模板", + "yesDelete": "是的,我確定", + "yesLeave": "是的,我確定" }, - "welcomeMessages": "歡迎,$1!很高興看到您!\n您好,很高興見到您,$1!\n歡迎,希望您有帶了些披薩,$1!", - "createAccount": "建立帳號", - "role": { - "displaySettings": "顯示設定", - "name": "角色名稱:", - "copyId": "複製角色 ID", - "roles": "角色", - "perms": "權限", - "hoisted": "已提升:", - "mentionable": "允許任何人 ping 該角色:", - "color": "色彩", - "remove": "移除角色", - "delete": "刪除角色", - "confirmDelete": "您確定要刪除$1嗎?", - "roleEmoji": "角色表情符號:", - "roleFileIcon": "角色圖示:", - "deleting": "正在刪除角色…", - "colors": { - "name": "顏色數量:", - "one": "一", - "two": "二", - "three": "三", - "secondColor": "第二種顏色:", - "thirdColor": "第三種顏色:" - } + "hideBlockedMessages": "您已封鎖該名使用者,點擊即可隱藏這些訊息。", + "home": { + "icon": "$1的實例圖示", + "uptimeStats": "運作時間:\n 所有時間:$1%\n本週:$2%\n今日:$3%", + "warnOffiline": "實例為離線狀態,無法連接" }, - "folder": { - "name": "資料夾名稱:", - "color": "資料夾色彩:", - "create": "建立新資料夾", - "edit": "編輯資料夾" + "htmlPages": { + "addBot": "新增到公會", + "alreadyHave": "已經有帳號了嗎?", + "box1Items": "直接訊息傳遞|反應支援|邀請|帳號切換|使用者設定|開發者入口網站|機器人邀請|翻譯支援", + "box1title": "Fermi 是一款與 Spacebar 相容的客戶端,致力於盡所能提供多項功能,包括:", + "box3description": "我們一向感謝任何協助,無論是錯誤報告、程式碼,或是指出一些拼字錯誤。", + "box3title": "為 Fermi 做出貢獻", + "compatableInstances": "Spacebar 相容實例:", + "createAccount": "建立帳號", + "dobField": "出生日期:", + "emailField": "電子郵件:", + "idpermissions": "這將允許機器人:", + "instanceField": "實例:", + "loaddesc": "這應該不會花很長時間", + "loadingText": "Fermi 載入中", + "loginButton": "登入", + "noAccount": "還沒有帳號?", + "openClient": "開啟客戶端", + "pw2Field": "再次輸入密碼:", + "pwField": "密碼:", + "switchaccounts": "切換帳號", + "trans": "翻譯", + "transDesc": "您可以協助將 Fermi 翻譯成您自己的語言!", + "transTitle": "翻譯 Fermi", + "userField": "使用者名稱:", + "welcomeJank": "歡迎來到 Fermi" }, - "settings": { - "unsaved": "請留意,您有尚未儲存的更改", - "save": "儲存更改", - "img": "上傳圖片", - "clear": "清除" + "incorrectURLS": "## 此實例可能發送了錯誤的 URL。 \n### 如果您是實例擁有者,請參閱[此處](https://docs.spacebar.chat/setup/server/)下的「從遠端電腦連線」來修正此問題。 \n 您想要 Fermi 自動嘗試修復此錯誤,以讓您連接到實例嗎?", + "instInfo": "實例資訊", + "instanceInfo": { + "contact": "電子郵件實例管理員", + "frontPage": "[前端頁面]($1)", + "name": "實例資訊", + "publicUrl": "[公共網址]($1)", + "tosPage": "[服務條款頁面]($1)" }, - "trace": { - "totalTime": "$2:$1 毫秒", - "traces": "$1($2 毫秒)$3" + "instanceStats": { + "members": "成員:$1", + "messages": "訊息:$1", + "name": "實例統計:$1", + "servers": "公會:$1", + "users": "已註冊的使用者:$1" }, - "notiVolume": "通知音量:", - "blog": { - "blog": "部落格", - "wantUpdates": "您想取得有關 Fermi 狀態的每週部落格更新嗎?", - "blogUpdates": "部落格更新:", - "gotoPost": "前往文章", - "fermi": "Fermi 部落格", - "desc": "閱讀或訂閱部落格來獲得 Fermi 的最新資訊!" + "interactions": { + "ephemeralDismiss": "忽略訊息", + "failed": "互動失敗", + "nonsence": "伺服器傳送的類型成分「$1」不存在", + "notImpl": "Fermi 尚不可執行類型成分「$1」", + "onlyYou": "僅有您才能查看此訊息", + "replyline": "開始互動", + "started": "處理互動…", + "worked": "互動成功" }, - "remove": "移除", - "applications": { - "delete": "刪除應用程式", - "sure": "您確定要刪除$1嗎?" + "invite": { + "accept": "接受", + "alreadyJoined": "已加入", + "channel:": "頻道:", + "createInvite": "建立邀請", + "createdAt": "建立於 $1", + "expireAfter": "期限至:", + "expires": "期限:$1", + "forChannel": "用於頻道:$1", + "inviteLinkCode": "邀請連結/代碼", + "inviteMaker": "邀請製作者", + "invitedBy": "您已收到來自$1的邀請", + "joinUsing": "加入使用邀請", + "loginOrCreateAccount": "登入或建立帳號⇌", + "longInvitedBy": "$1邀請您加入$2", + "maxUses": "最多:$1", + "never": "永不", + "noAccount": "建立帳號來接受邀請", + "notFound": "找不到邀請", + "subtext": "到$2裡的$1", + "used": "使用過 $1 {{PLURAL:$1|次}}" }, - "webauth": { - "manage": "管理安全金鑰", - "addKey": "新增金鑰:", - "keyname": "金鑰名稱:" + "inviteOptions": { + "12h": "12 小時", + "1d": "1 天", + "1h": "1 小時", + "30d": "30 天", + "30m": "30 分", + "6h": "6 小時", + "7d": "7 天", + "limit": "$1 次{{PLURAL:$1|使用}}", + "never": "永不", + "noLimit": "無限制", + "title": "邀請他人" }, - "updateAv": "有更新可用", + "jankInfo": "客戶端資訊", + "leaveGuild": "離開公會", + "leaving": "您正在離開 Spacebar", + "loaded": "已載入", "localuser": { - "noUpdates": "無更新可用", - "updatesYay": "已找到更新!", - "refreshPage": "重整以套用", - "trusted": "信任網域", - "trustedDesc": "當您點擊來自這些網域的連結時,他們***不會***像其他連結那樣提示您允許開啟,這僅在您信任的 URL 出現提示", - "trace": "軌跡", - "install": "安裝", - "installJank": "安裝 Fermi", - "installDesc": "安裝 Fermi 後,您可以在其獨立的視窗中開啟,就像 Femi 自己的應用程式一樣!您也可以像以前那樣在網頁瀏覽器中使用 Fermi,功能是相同的。", - "addStatus": "新增狀態", - "status": "狀態", - "customStatusWarn": "Spacebar 目前不支援顯示自訂狀態,因此雖然會接受狀態但不會對此做出任何行為", - "settings": "設定", - "userSettings": "使用者設定", - "themesAndSounds": "主題與音效", - "theme:": "主題", - "notisound": "通知音效:", - "customSound": "自訂音效", - "soundTooLarge": "您嘗試上傳的音效太大,請重試", - "accentColor": "強調色彩:", - "VoiceWarning": "您確定要啟用這個功能嗎?這是非常實驗性的,可能會引發問題。(此功能僅供開發者使用,如果您不確定操作,請不要啟用。)", - "updateSettings": "更新設定", - "swSettings": "Service Worker 設定", - "SWOff": "關", - "SWOffline": "僅離線", - "SWOn": "開", - "clearCache": "清除快取", + "2faCode:": "代碼:", + "2faCodeGive": "您的密碼是:$1(6 位數字),權杖週期為 30 秒", + "2faDisable": "停用雙因素驗證", + "2faEnable": "啟用雙因素驗證", "CheckUpdate": "檢查更新", + "PasswordsNoMatch": "密碼不符合", + "TOSURL": "服務條款 URL:", + "VoiceWarning": "您確定要啟用這個功能嗎?這是非常實驗性的,可能會引發問題。(此功能僅供開發者使用,如果您不確定操作,請不要啟用。)", + "accentColor": "強調色彩:", "accountSettings": "帳號設定", - "2faDisable": "停用雙因素驗證", + "addBot": "新增機器人", + "addStatus": "新增狀態", + "advancedBot": "進階機器人設定", + "appName": "應用程式名稱:", + "areYouSureDelete": "您確定要刪除您的帳號嗎?如果是,請輸入詞組$1", "badCode": "無效代碼", - "2faEnable": "啟用雙因素驗證", - "2faCode:": "代碼:", - "setUp2fa": "雙因素驗證設定", "badPassword": "密碼不正確", - "setUp2faInstruction": "將此密碼複製到您的 totp(基於時間的一次性密碼)應用程式中", - "2faCodeGive": "您的密碼是:$1(6 位數字),權杖週期為 30 秒", + "botAvatar": "機器人頭像:", + "botInviteCreate": "機器人邀請建立者", + "botUsername": "機器人使用者名稱:", "changeDiscriminator": "更改鑑別器", - "newDiscriminator": "新鑑別器:", "changeEmail": "更改電子郵件", - "password:": "密碼", - "newEmail:": "新電子郵件", - "changeUsername": "更改使用者名稱", - "newUsername": "新使用者名稱:", "changePassword": "更改密碼", - "oldPassword:": "舊密碼:", - "newPassword:": "新密碼:", - "PasswordsNoMatch": "密碼不符合", - "disableConnection": "此連接已被伺服器端禁用", - "devPortal": "開發者入口網站", + "changeUsername": "更改使用者名稱", + "clearCache": "清除快取", + "confirmAddBot": "您確定要在此應用程式中新增機器人嗎?此操作無法取消。", + "confirmReset": "您確定要重新設定機器人的權杖嗎?您的機器人將停止運作,直到您更新為止。", + "confuseNoBot": "由於某種原因,此應用程式目前還沒有機器人。", + "connections": "連接", "createApp": "建立應用程式", - "team:": "團隊:", - "appName": "應用程式名稱:", + "customSound": "自訂音效", + "customStatusWarn": "Spacebar 目前不支援顯示自訂狀態,因此雖然會接受狀態但不會對此做出任何行為", + "deleteAccount": "帳號刪除", + "deleteAccountButton": "刪除帳號", "description": "描述:", + "devPortal": "開發者入口網站", + "disableConnection": "此連接已被伺服器端禁用", + "editingBot": "編輯機器人$1", + "install": "安裝", + "installDesc": "安裝 Fermi 後,您可以在其獨立的視窗中開啟,就像 Femi 自己的應用程式一樣!您也可以像以前那樣在網頁瀏覽器中使用 Fermi,功能是相同的。", + "installJank": "安裝 Fermi", + "language": "語言:", + "manageBot": "管理機器人", + "manageInstance": "管理實例", + "mustTypePhrase": "要刪除您的帳號,您必須輸入片語", + "newDiscriminator": "新鑑別器:", + "newEmail:": "新電子郵件", + "newPassword:": "新密碼:", + "newUsername": "新使用者名稱:", + "noToken": "很抱歉,因無從得知權杖沒辦法儲存到本地端裝置", + "noUpdates": "無更新可用", + "notisound": "通知音效:", + "oldPassword:": "舊密碼:", + "password:": "密碼", "privacyPolcyURL": "隱私政策 URL:", - "TOSURL": "服務條款 URL:", "publicAvaliable": "讓機器人可以公開邀請?", + "refreshPage": "重整以套用", "requireCode": "需要代碼授予才能邀請機器人?", - "manageBot": "管理機器人", - "addBot": "新增機器人", - "confirmAddBot": "您確定要在此應用程式中新增機器人嗎?此操作無法取消。", - "confuseNoBot": "由於某種原因,此應用程式目前還沒有機器人。", - "editingBot": "編輯機器人$1", - "botUsername": "機器人使用者名稱:", - "botAvatar": "機器人頭像:", - "resetToken": "重新設定權杖", - "confirmReset": "您確定要重新設定機器人的權杖嗎?您的機器人將停止運作,直到您更新為止。", - "tokenDisplay": "權杖:$1", - "saveToken": "將權杖儲存到本地端裝置", - "noToken": "很抱歉,因無從得知權杖沒辦法儲存到本地端裝置", - "advancedBot": "進階機器人設定", - "botInviteCreate": "機器人邀請建立者", - "language": "語言:", - "connections": "連接", - "deleteAccount": "帳號刪除", - "areYouSureDelete": "您確定要刪除您的帳號嗎?如果是,請輸入詞組$1", + "resetToken": "重新設定權杖", + "saveToken": "將權杖儲存到本地端裝置", + "setUp2fa": "雙因素驗證設定", + "setUp2faInstruction": "將此密碼複製到您的 totp(基於時間的一次性密碼)應用程式中", + "settings": "設定", "sillyDeleteConfirmPhrase": "Shrek is love, Shrek is life", - "deleteAccountButton": "刪除帳號", - "mustTypePhrase": "要刪除您的帳號,您必須輸入片語", - "manageInstance": "管理實例" + "soundTooLarge": "您嘗試上傳的音效太大,請重試", + "status": "狀態", + "team:": "團隊:", + "theme:": "主題", + "themesAndSounds": "主題與音效", + "tokenDisplay": "權杖:$1", + "trace": "軌跡", + "trusted": "信任網域", + "trustedDesc": "當您點擊來自這些網域的連結時,他們***不會***像其他連結那樣提示您允許開啟,這僅在您信任的 URL 出現提示", + "updateSettings": "更新設定", + "updatesYay": "已找到更新!", + "userSettings": "使用者設定" }, - "search": { - "back": "上一頁", - "next": "下一頁", - "page": "第 $1 頁", - "new": "新", - "old": "舊", - "search": "搜尋", - "nofind": "似乎沒有符合您搜尋條件的訊息,請嘗試擴大搜尋條件,以找出您想要的內容" + "login": { + "allGood": "一切都好", + "checking": "檢查實例", + "enterPAgain": "再次輸入新密碼:", + "invalid": "無效實例,請重試", + "login": "登入", + "newPassword": "新密碼:", + "pasteInfo": "將恢復 URL 貼到此處:", + "recover": "忘記密碼?", + "recovery": "忘記密碼", + "waiting": "等待檢查實例" + }, + "logout": { + "error": { + "cancel": "取消", + "cont": "仍要繼續", + "desc": "Fermi 無法將您登出,您是否仍要移除該帳號?", + "title": "嘗試將您登出時發生錯誤" + }, + "logout": "登出" }, "manageInstance": { - "stop": "停止實例", "AreYouSureStop": "您確定要停止此實例嗎?", - "createTokens": "建立註冊權杖", - "count": "數量:", - "length": "長度:", - "format": "格式:", "TokenFormats": { - "plain": "純文字", "JSON": "JSON 格式", - "URLs": "邀請 URL" + "URLs": "邀請 URL", + "plain": "純文字" }, - "create": "建立", "clientURL": "客戶端 URL:", - "regType": "註冊權杖 URL 類型", + "copy": "複製", + "count": "數量:", + "create": "建立", + "createTokens": "建立註冊權杖", + "format": "格式:", "genericType": "通用", - "copy": "複製" + "length": "長度:", + "regType": "註冊權杖 URL 類型", + "stop": "停止實例" + }, + "media": { + "artist": "藝術家:$1", + "composer": "作曲家:$1", + "download": "下載媒體", + "length": "時長:$1 分 $2 秒", + "loading": "載入中", + "moreInfo": "更多資訊", + "notFound": "找不到媒體" + }, + "member": { + "ban": "從$2禁止$1", + "kick": "從$2踢出$1", + "nick:": "暱稱:", + "persist": "僅刪除使用者:", + "reason:": "原因:", + "timeout": "逾時 $1", + "timeoutTime": "逾時時間:" }, - "emojiSelect": "表情符號:", - "noEmojiFont": "使用系統表情符號", - "unpinMessage": "取消置頂訊息", - "noPins": "這裡目前似乎什麼都沒有…", "message": { - "reactionAdd": "添加反應", - "reactions": "查看反應", + "andMore": "$1,還有更多!", + "attached": "已發送附件", "delete": "删除訊息", + "deleted": "删除訊息", "edit": "編輯訊息", "edited": "(已編輯)", - "deleted": "删除訊息", - "attached": "已發送附件", - "retry": "重新發送錯誤訊息", - "pin": "$1已置頂一則訊息", - "viewrest": "查看剩餘內容", "fullMessage": "完整訊息:", + "pin": "$1已置頂一則訊息", + "reactedWith": "以$1反應", + "reactionAdd": "添加反應", + "reactions": "查看反應", "reactionsTitle": "反應", - "andMore": "$1,還有更多!", - "reactedWith": "以$1反應" + "retry": "重新發送錯誤訊息", + "viewrest": "查看剩餘內容" }, - "instanceStats": { - "name": "實例統計:$1", - "users": "已註冊的使用者:$1", - "servers": "公會:$1", - "messages": "訊息:$1", - "members": "成員:$1" + "messageLink": "在 # $1 的訊息", + "muteDuration": "取消噤聲:", + "nevermind": "沒事", + "no": "否", + "noEmojiFont": "使用系統表情符號", + "noMessages": "這裡看起來還沒有訊息,請搶先發表意見!", + "noPins": "這裡目前似乎什麼都沒有…", + "noStickers": "您似乎處在一個奇怪的位置,這裡沒有貼圖可以供您使用!", + "notiClump": "您已收到來自$2的$1通知", + "notiVolume": "通知音量:", + "otherAt": "$1於$2", + "permissions": { + "descriptions": { + "ADD_REACTIONS": "允許使用者添加對訊息的反應", + "ADMINISTRATOR": "允許所有權限並繞過頻道權限覆蓋。(這是一個有風險的權限!)", + "ATTACH_FILES": "允許使用者附加檔案", + "BAN_MEMBERS": "允許使用者禁止公會成員", + "BYPASS_SLOWMODE": "延遲模式不再影響此名使用者", + "CHANGE_NICKNAME": "允許使用者更改自己的暱稱", + "CONNECT": "允許使用者連接到語音頻道", + "CREATE_EVENTS": "允許建立計劃事件,以及編輯和刪除目前使用者建立的事件。", + "CREATE_GUILD_EXPRESSIONS": "允許建立表情符號、貼圖、音效面板用音效,以及編輯和刪除由目前使用者所建立以上內容。", + "CREATE_INSTANT_INVITE": "允許使用者為公會建立邀請", + "CREATE_PRIVATE_THREADS": "允許使用者建立非公開討論串", + "CREATE_PUBLIC_THREADS": "允許使用者建立公開討論串", + "DEAFEN_MEMBERS": "允許使用者蒙蔽其他成員", + "EMBED_LINKS": "允許此使用者發送的連結自動內嵌", + "KICK_MEMBERS": "允許使用者將成員踢出公會", + "MANAGE_CHANNELS": "允許使用者管理和編輯頻道", + "MANAGE_EVENTS": "允許使用者編輯和管理事件", + "MANAGE_GUILD": "允許管理和編輯公會", + "MANAGE_GUILD_EXPRESSIONS": "允許管理表情符號、貼圖和音效板", + "MANAGE_MESSAGES": "允許使用者刪除不屬於自己的訊息", + "MANAGE_NICKNAMES": "允許使用者更改其他成員的暱稱", + "MANAGE_ROLES": "允許使用者編輯和管理角色", + "MANAGE_THREADS": "允許使用者刪除和存檔討論串,並查看所有非公開討論串", + "MANAGE_WEBHOOKS": "允許管理和編輯 webhook", + "MENTION_EVERYONE": "允許使用者提及所有人", + "MODERATE_MEMBERS": "允許使用者暫停其他使用者,以防止他們在聊天和討論串中發送或回覆訊息,以及在語音和表演頻道中發言", + "MOVE_MEMBERS": "允許使用者在語音頻道之間移動成員", + "MUTE_MEMBERS": "允許使用者噤聲其他成員", + "PIN_MESSAGES": "允許使用者置頂訊息", + "PRIORITY_SPEAKER": "允許在語音頻道中優先發言", + "READ_MESSAGE_HISTORY": "允許使用者讀取訊息歷史記錄", + "REQUEST_TO_SPEAK": "允許使用者請求在表演頻道中發言", + "SEND_MESSAGES": "允許使用者發送訊息", + "SEND_MESSAGES_IN_THREADS": "允許使用者在討論串發送訊息", + "SEND_POLLS": "允許發送投票調查", + "SEND_TTS_MESSAGES": "允許使用者發送文字轉語音訊息", + "SEND_VOICE_MESSAGES": "允許發送語音訊息", + "SPEAK": "允許使用者在語音頻道中發言", + "STREAM": "允許使用者直播", + "USE_APPLICATION_COMMANDS": "允許使用者使用應用程式指令", + "USE_EMBEDDED_ACTIVITIES": "允許使用者使用內嵌活動", + "USE_EXTERNAL_APPS": "允許使用者安裝的應用程式發送公開回應。當停用後,使用者仍可使用該應用程式,但僅能短暫回應。此設定僅適用於未安裝到公會的應用程式。", + "USE_EXTERNAL_EMOJIS": "允許使用者使用外部表情符號", + "USE_EXTERNAL_SOUNDS": "允許使用來自其他公會的自訂音效面板音效", + "USE_EXTERNAL_STICKERS": "允許使用者使用外部貼圖", + "USE_SOUNDBOARD": "允許在語頻道中使用音效面板", + "USE_VAD": "允許使用者在語音頻道中透過簡易對話來發言", + "VIEW_AUDIT_LOG": "允許使用者查看稽核日誌", + "VIEW_CHANNEL": "允許使用者查看頻道", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "允許查看角色訂閱洞見", + "VIEW_GUILD_INSIGHTS": "允許使用者查看公會洞見" + }, + "readableNames": { + "ADD_REACTIONS": "添加反應", + "ADMINISTRATOR": "管理員", + "ATTACH_FILES": "附加檔案", + "BAN_MEMBERS": "禁止成員", + "BYPASS_SLOWMODE": "繞過延遲模式", + "CHANGE_NICKNAME": "更改暱稱", + "CONNECT": "連接", + "CREATE_EVENTS": "建立事件", + "CREATE_GUILD_EXPRESSIONS": "建立表達", + "CREATE_INSTANT_INVITE": "建立邀請", + "CREATE_PRIVATE_THREADS": "建立非公開討論串", + "CREATE_PUBLIC_THREADS": "建立公開討論串", + "DEAFEN_MEMBERS": "蒙蔽成員", + "EMBED_LINKS": "內嵌連結", + "KICK_MEMBERS": "踢出成員", + "MANAGE_CHANNELS": "管理頻道", + "MANAGE_EVENTS": "管理事件", + "MANAGE_GUILD": "管理公會", + "MANAGE_GUILD_EXPRESSIONS": "管理表達", + "MANAGE_MESSAGES": "管理訊息", + "MANAGE_NICKNAMES": "管理暱稱", + "MANAGE_ROLES": "管理角色", + "MANAGE_THREADS": "管理討論串", + "MANAGE_WEBHOOKS": "管理 webhook", + "MENTION_EVERYONE": "提及 @everyone、@here 和所有角色", + "MODERATE_MEMBERS": "暫停成員", + "MOVE_MEMBERS": "移動成員", + "MUTE_MEMBERS": "噤聲成員", + "PIN_MESSAGES": "置頂訊息", + "PRIORITY_SPEAKER": "優先發言者", + "READ_MESSAGE_HISTORY": "閱讀訊息歷史紀錄", + "REQUEST_TO_SPEAK": "請求發言", + "SEND_MESSAGES": "發送訊息", + "SEND_MESSAGES_IN_THREADS": "在討論串中發送訊息", + "SEND_POLLS": "建立投票", + "SEND_TTS_MESSAGES": "發送文字轉語音訊息", + "SEND_VOICE_MESSAGES": "傳送語音訊息", + "SPEAK": "發言", + "STREAM": "影片", + "USE_APPLICATION_COMMANDS": "使用應用程式指令", + "USE_EMBEDDED_ACTIVITIES": "使用活動", + "USE_EXTERNAL_APPS": "使用外部應用程式", + "USE_EXTERNAL_EMOJIS": "使用外部表情符號", + "USE_EXTERNAL_SOUNDS": "使用外部音效", + "USE_EXTERNAL_STICKERS": "使用外部貼圖", + "USE_SOUNDBOARD": "使用音效面板", + "USE_VAD": "使用語音活動偵測", + "VIEW_AUDIT_LOG": "查看稽核日誌", + "VIEW_CHANNEL": "查看頻道", + "VIEW_CREATOR_MONETIZATION_ANALYTICS": "查看建立者變現分析", + "VIEW_GUILD_INSIGHTS": "查看公會洞見" + } }, - "instanceInfo": { - "name": "實例資訊", - "contact": "電子郵件實例管理員", - "tosPage": "[服務條款頁面]($1)", - "frontPage": "[前端頁面]($1)", - "publicUrl": "[公共網址]($1)" + "pinMessage": "置頂訊息", + "profile": { + "bio": "關於我:", + "joined": "已建立帳號:$1", + "joinedMember": "已加入$1:$2", + "mut": "互助公會", + "mutFriends": "共同好友", + "permInfo": "權限", + "userInfo": "使用者資訊" }, - "inviteOptions": { - "title": "邀請他人", - "30m": "30 分", - "1h": "1 小時", - "6h": "6 小時", - "12h": "12 小時", - "1d": "1 天", - "7d": "7 天", - "30d": "30 天", - "never": "永不", - "limit": "$1 次{{PLURAL:$1|使用}}", - "noLimit": "無限制" + "profileColor": "個人檔案色彩", + "pronouns": "稱謂:", + "readableName": "繁體中文", + "recentEmoji": "近期的表情符號", + "register": { + "DOBError": "出生日期:$1", + "agreeTOS": "我同意[服務條款]($1):", + "emailError": "電子郵件:$1", + "noTOS": "此實例沒有服務條款,無論如何請接受服務條款:", + "passwordError:": "密碼:$1", + "register": "註冊", + "tos": "您必須同意服務條款", + "usernameError": "使用者名稱:$1" + }, + "remove": "移除", + "reply": "回覆", + "replyingTo": "正在回覆給$1", + "retrying": "正在重試…", + "role": { + "color": "色彩", + "colors": { + "name": "顏色數量:", + "one": "一", + "secondColor": "第二種顏色:", + "thirdColor": "第三種顏色:", + "three": "三", + "two": "二" + }, + "confirmDelete": "您確定要刪除$1嗎?", + "copyId": "複製角色 ID", + "delete": "刪除角色", + "deleting": "正在刪除角色…", + "displaySettings": "顯示設定", + "hoisted": "已提升:", + "mentionable": "允許任何人 ping 該角色:", + "name": "角色名稱:", + "perms": "權限", + "remove": "移除角色", + "roleEmoji": "角色表情符號:", + "roleFileIcon": "角色圖示:", + "roles": "角色" }, - "2faCode": "雙因素驗證代碼:", - "invite": { - "invitedBy": "您已收到來自$1的邀請", - "alreadyJoined": "已加入", - "accept": "接受", - "noAccount": "建立帳號來接受邀請", - "longInvitedBy": "$1邀請您加入$2", - "loginOrCreateAccount": "登入或建立帳號⇌", - "joinUsing": "加入使用邀請", - "inviteLinkCode": "邀請連結/代碼", - "subtext": "到$2裡的$1", - "expireAfter": "期限至:", - "channel:": "頻道:", - "inviteMaker": "邀請製作者", - "createInvite": "建立邀請", - "used": "使用過 $1 {{PLURAL:$1|次}}", - "forChannel": "用於頻道:$1", - "createdAt": "建立於 $1", - "expires": "期限:$1", - "never": "永不", - "maxUses": "最多:$1", - "notFound": "找不到邀請" + "search": { + "back": "上一頁", + "new": "新", + "next": "下一頁", + "nofind": "似乎沒有符合您搜尋條件的訊息,請嘗試擴大搜尋條件,以找出您想要的內容", + "old": "舊", + "page": "第 $1 頁", + "search": "搜尋" }, - "friends": { - "blocked": "已封鎖", - "blockedusers": "已封鎖使用者:", - "bu": "已封禁使用者", - "addfriend": "新增好友", - "removeFriend": "移除好友", - "addfriendpromt": "透過使用者名稱新增好友:", - "notfound": "找不到使用者", - "discnotfound": "找不到鑑別器", - "pending": "待辦", - "pending:": "待辦的好友請求:", - "all": "全部", - "all:": "全部好友:", - "online": "線上", - "online:": "線上好友:", - "friendlist": "好友清單", - "friends": "好友" + "searchGifs": "搜尋 Tenor", + "settings": { + "clear": "清除", + "img": "上傳圖片", + "save": "儲存更改", + "unsaved": "請留意,您有尚未儲存的更改", + "updates": { + "serviceWorkerMode": { + "disabled": "關", + "enabled": "開", + "offlineOnly": "僅離線", + "title": "Service Worker 設定" + } + } }, - "replyingTo": "正在回覆給$1", - "DMs": { - "copyId": "複製私訊 ID", - "markRead": "標記為已讀", - "close": "關閉私訊", - "name": "直接訊息", - "add": "將某人添加到此私訊" + "showBlockedMessages": "您已封鎖該名使用者,點擊查看已封鎖的 $1 件{{PLURAL:$1|訊息}}。", + "spoiler": "劇透", + "sticker": { + "confirmDel": "您確定要刪除這個貼圖嗎?", + "del": "刪除貼圖", + "desc": "描述", + "errEmjMust": "必須包含帶有您的貼圖的表情符號", + "errFileMust": "必須包含用於您的貼圖的圖片", + "image": "圖片:", + "name": "名稱:", + "tags": "相關表情符號:", + "title": "貼圖", + "upload": "上傳貼圖" + }, + "submit": "提交", + "switchAccounts": "切換帳號 ⇌", + "todayAt": "今日於$1", + "trace": { + "totalTime": "$2:$1 毫秒", + "traces": "$1($2 毫秒)$3" }, + "typing": "$2{{PLURAL:$1|正在}}輸入", + "unableToConnect": "無法連接到 Spacebar 伺服器。請嘗試登出並重新登入。", + "unableToPin": "無法置頂訊息", + "unpinMessage": "取消置頂訊息", + "updateAv": "有更新可用", + "uploadBanner": "上傳橫幅:", + "uploadFilesText": "在此上傳您的檔案!", + "uploadPfp": "上傳 pfp:", + "useTemplate": "使用$1作為模板", + "useTemplateButton": "使用模板", + "usedFermi": "已使用 Fermi", "user": { - "sendMessage": "發送訊息@$1", - "editNick": "編輯暱稱", + "addRole": "新增角色", + "ban": "禁止成員", + "block": "封鎖使用者", + "confirmInstBan": "您確定要禁止實例$1嗎?", "copyId": "複製使用者 ID", - "online": "線上", - "offline": "離線", - "invisible": "不可見", "dnd": "請勿打擾", - "idle": "閒置", - "message": "訊息給使用者", - "block": "封鎖使用者", - "unblock": "解除封鎖使用者", - "friendReq": "好友請求", - "kick": "踢出成員", - "timeout": "逾時成員", - "unTimeout": "移除成員上的逾時", - "ban": "禁止成員", - "addRole": "新增角色", - "removeRole": "移除角色", + "editNick": "編輯暱稱", "editServerProfile": "編輯公會設定檔", + "friendReq": "好友請求", + "idle": "閒置", "instanceBan": "禁止實例", - "confirmInstBan": "您確定要禁止實例$1嗎?", - "unban": "解禁$1", - "remove": "移除使用者", + "invisible": "不可見", + "kick": "踢出成員", + "message": "訊息給使用者", "nick": { - "friend": "設定好友暱稱", "foe": "設定仇家暱稱", + "friend": "設定好友暱稱", "stalker": "設定請求者的暱稱", "stalking": "設定請求的暱稱" - } - }, - "loaded": "已載入", - "login": { - "checking": "檢查實例", - "allGood": "一切都好", - "invalid": "無效實例,請重試", - "waiting": "等待檢查實例", - "recover": "忘記密碼?", - "pasteInfo": "將恢復 URL 貼到此處:", - "newPassword": "新密碼:", - "enterPAgain": "再次輸入新密碼:", - "recovery": "忘記密碼", - "login": "登入" - }, - "member": { - "kick": "從$2踢出$1", - "timeout": "逾時 $1", - "reason:": "原因:", - "persist": "僅刪除使用者:", - "timeoutTime": "逾時時間:", - "ban": "從$2禁止$1", - "nick:": "暱稱:" - }, - "commands": { - "errorNotValid": "$1不是$2的有效選擇", - "required": "$1是此指令的必需部分" + }, + "offline": "離線", + "online": "線上", + "remove": "移除使用者", + "removeRole": "移除角色", + "sendMessage": "發送訊息@$1", + "timeout": "逾時成員", + "unTimeout": "移除成員上的逾時", + "unban": "解禁$1", + "unblock": "解除封鎖使用者" }, - "badge": { - "staff": "實例人員", - "partner": "實例合作夥伴", - "certified_moderator": "版主", - "hypesquad": "受版權保護東西", - "hypesquad_house_1": "勇敢之家", - "hypesquad_house_2": "光輝之家", - "hypesquad_house_3": "平衡之家", - "bug_hunter_level_1": "程式錯誤獵人 1 級", - "bug_hunter_level_2": "程式錯誤獵人 2 級", - "active_developer": "活躍開發者", - "verified_developer": "已驗證開發者", - "early_supporter": "早期支援者", - "premium": "溢價", - "guild_booster_lvl1": "促進公會", - "guild_booster_lvl2": "促進公會", - "guild_booster_lvl3": "促進公會", - "guild_booster_lvl4": "促進公會", - "guild_booster_lvl5": "促進公會", - "guild_booster_lvl6": "促進公會", - "guild_booster_lvl7": "促進公會", - "guild_booster_lvl8": "促進公會", - "guild_booster_lvl9": "已促進了公會一段時間", - "bot_commands": "支援指令", - "automod": "使用自動模式", - "application_guild_subscription": "有溢價", - "legacy_username": "擁有舊使用者名稱", - "quest_completed": "做出一個任務" + "userping": { + "resolving": "解析使用者", + "unknown": "@不明" }, - "dms": "私訊", - "add": "添加", - "group": { - "select": "選擇好友", - "createdm": "建立私訊!", - "edit": "編輯群組聊天" + "vc": { + "joinForStream": "加入 VC 來觀看", + "joiningStream": "正在加入直播…", + "joinstream": "觀看直播", + "leavestream": "離開直播", + "stopstream": "停止直播" }, - "emoji": { - "title": "表情符號", - "upload": "上傳表情符號", - "image:": "圖片:", - "name:": "名稱:", - "confirmDel": "您確定要刪除這個表情符號?", - "from": "這個表情符號來自", - "privateGuild": "此為私人公會", - "join": "加入公會", - "found": { - "this": "這個表情符號來自此公會。", - "other": "這個表情符號來自您的另一個公會。", - "not": "此表情符號不屬於您的公會,您必須加入該公會才能使用", - "private": "找不到此表情符號的公會" - } + "webauth": { + "addKey": "新增金鑰:", + "keyname": "金鑰名稱:", + "manage": "管理安全金鑰" }, - "sticker": { - "title": "貼圖", - "upload": "上傳貼圖", - "image": "圖片:", + "webhook": "WEBHOOK", + "webhooks": { + "EnterWebhookName": "輸入 Webhook 名稱", + "areYouSureDelete": "您確定要刪除$1嗎?", + "avatar": "頭像", + "base": "Webhook", + "channel": "頻道", + "copyURL": "複製 Webhook URL", + "createdAt": "建立於 $1", + "createdBy": "建立由:", + "deleteWebhook": "刪除 Webhook", "name": "名稱:", - "desc": "描述", - "confirmDel": "您確定要刪除這個貼圖嗎?", - "del": "刪除貼圖", - "errFileMust": "必須包含用於您的貼圖的圖片", - "errEmjMust": "必須包含帶有您的貼圖的表情符號", - "tags": "相關表情符號:" - }, - "404": { - "home": "首頁", - "title": "看來您迷路了", - "404": "404 找不到頁面", - "listtitle": "也許您是想去這些地方", - "app": "前往應用程式", - "login": "登入", - "reset": "重設密碼頁面", - "blog": "Fermi 部落格", - "whereever": "無論這在哪裡", - "report": "如果您在客戶端發現此頁面,請回報:", - "whatelse": "您認為應該還會發生什麼事?" - }, - "deviceManage": { - "title": "管理連線階段", - "manageDev": "管理裝置", - "ip": "最後已知 IP:$1", - "estimateWarn": "提醒:以上資訊僅為推測,可能有誤。", - "country": "國家:$1", - "region": "地區:$1", - "city": "城市:$1", - "postal": "郵遞區號:$1", - "continent": "大陸:$1", - "latitude": "緯度:$1", - "longitude": "經度:$1", - "last": "上次大約使用:$1", - "logout": "登出", - "curSes": "此為目前連線階段,您需要透過另一個選單登出。" + "newWebHook": "新 Webhook", + "notFound": "使用者不再屬於該公會", + "sillyDefaults": "Captain Hook\nBillie Hooks\nSpidey bot", + "token": "Webhook 權杖:`$1`", + "type": "類型:$1", + "type1": "傳入", + "type2": "頻道追蹤者", + "type3": "應用程式", + "url": "Webhook url:`$1`" }, + "welcomeMessages": "歡迎,$1!很高興看到您!\n您好,很高興見到您,$1!\n歡迎,希望您有帶了些披薩,$1!", "widget": "公會小工具", "widgetEnabled": "已啟用小工具", - "incorrectURLS": "## 此實例可能發送了錯誤的 URL。 \n### 如果您是實例擁有者,請參閱[此處](https://docs.spacebar.chat/setup/server/)下的「從遠端電腦連線」來修正此問題。 \n 您想要 Fermi 自動嘗試修復此錯誤,以讓您連接到實例嗎?", - "jankInfo": "客戶端資訊", - "instInfo": "實例資訊", - "clientDesc": "客戶端版本:$1 \n\n[加入 Fermi 官方公會]($2/invite\n/USgYJo?instance=https%3A%2F%2Fspacebar.chat)\n\n[協助翻譯 Fermi](https://translatewiki.net/wiki/Translating:JankClient#sortable:3=desc)\n\n[協助開發 Fermi](https://github.com/MathMan05/Fermi)\n\n[協助維護 Fermi 所依賴的伺服器](https://github.com/spacebarchat/server)\n\n[閱讀部落格](https://blog.fermi.chat/)\n\n計算權限:$3", - "uploadFilesText": "在此上傳您的檔案!", - "errorReconnect": "無法連接到伺服器,將在 **$1** 秒後重試…", - "retrying": "正在重試…", - "unableToConnect": "無法連接到 Spacebar 伺服器。請嘗試登出並重新登入。", - "bot": "機器人", - "webhook": "WEBHOOK" + "yes": "是", + "yesterdayAt": "昨日$1" } From deb731720fdd18acf3db536ae2652f4e09c2835b Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:37:24 +0100 Subject: [PATCH 15/24] setTheme async (prefs storage) --- src/webpage/404.ts | 2 +- src/webpage/audio/page.ts | 2 +- src/webpage/index.ts | 2 +- src/webpage/localuser.ts | 10 ++++++---- src/webpage/utils/utils.ts | 12 ++++-------- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/webpage/404.ts b/src/webpage/404.ts index ee579459..c84aae0d 100644 --- a/src/webpage/404.ts +++ b/src/webpage/404.ts @@ -1,7 +1,7 @@ import {I18n} from "./i18n"; import {setTheme, SW} from "./utils/utils"; -setTheme(); +await setTheme(); await I18n.done; I18n.translatePage(); diff --git a/src/webpage/audio/page.ts b/src/webpage/audio/page.ts index 10826343..16e7f34b 100644 --- a/src/webpage/audio/page.ts +++ b/src/webpage/audio/page.ts @@ -2,7 +2,7 @@ import {BinWrite} from "../utils/binaryUtils.js"; import {setTheme} from "../utils/utils.js"; import {Play} from "./play.js"; -setTheme(); +await setTheme(); const w = new BinWrite(2 ** 12); w.writeStringNo("jasf"); w.write8(4); diff --git a/src/webpage/index.ts b/src/webpage/index.ts index b954ca31..f9fee3fc 100644 --- a/src/webpage/index.ts +++ b/src/webpage/index.ts @@ -304,7 +304,7 @@ document.addEventListener("paste", async (e: ClipboardEvent) => { } }); -setTheme(); +await setTheme(); function userSettings(): void { thisUser.showusersettings(); diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 77d9423a..35be51d9 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -2246,6 +2246,8 @@ class Localuser { }; } async showusersettings() { + const prefs = await getPreferences(); + const localSettings = getLocalSettings(); const settings = new Settings(I18n.localuser.settings()); { const userOptions = settings.addButton(I18n.localuser.userSettings(), { @@ -2375,13 +2377,13 @@ class Localuser { const themes = ["Dark", "WHITE", "Light", "Dark-Accent"]; tas.addSelect( I18n.localuser["theme:"](), - (_) => { - localStorage.setItem("theme", themes[_]); - setTheme(); + async (_) => { + prefs.theme = themes[_] as ThemeOption; + await setTheme(); }, themes, { - defaultIndex: themes.indexOf(localStorage.getItem("theme") as string), + defaultIndex: themes.indexOf(prefs.theme), }, ); } diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 550d0589..243c995f 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -26,14 +26,10 @@ let instances: }; }[] | null = null; -setTheme(); -export function setTheme() { - let name = localStorage.getItem("theme"); - if (!name) { - localStorage.setItem("theme", "Dark"); - name = "Dark"; - } - document.body.className = name + "-theme"; +await setTheme(); +export async function setTheme() { + const prefs = await getPreferences(); + document.body.className = prefs.theme + "-theme"; } export function getBulkUsers() { const json = getBulkInfo(); From 0903266deeb7d7e43249c8882a93aa3cd981bfaf Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:40:12 +0100 Subject: [PATCH 16/24] visable -> visible --- src/webpage/channel.ts | 18 ++++++++-------- src/webpage/contextmenu.ts | 44 +++++++++++++++++++------------------- src/webpage/direct.ts | 7 +++--- src/webpage/guild.ts | 16 +++++++------- src/webpage/index.ts | 4 ++-- src/webpage/localuser.ts | 2 +- src/webpage/message.ts | 16 +++++++------- src/webpage/role.ts | 4 ++-- src/webpage/user.ts | 28 ++++++++++++------------ 9 files changed, 69 insertions(+), 70 deletions(-) diff --git a/src/webpage/channel.ts b/src/webpage/channel.ts index f1b13005..6ecd857d 100644 --- a/src/webpage/channel.ts +++ b/src/webpage/channel.ts @@ -99,7 +99,7 @@ class Channel extends SnowFlake { this.createInvite(); }, { - visable: function () { + visible: function () { return this.hasPermission("CREATE_INSTANT_INVITE") && this.type !== 4; }, color: "blue", @@ -119,7 +119,7 @@ class Channel extends SnowFlake { this.muteChannel(); }, { - visable: function () { + visible: function () { return !this.muted && this.type !== 4; }, }, @@ -130,7 +130,7 @@ class Channel extends SnowFlake { this.unmuteChannel(); }, { - visable: function () { + visible: function () { return this.muted; }, }, @@ -142,7 +142,7 @@ class Channel extends SnowFlake { this.generateSettings(); }, { - visable: function () { + visible: function () { return this.hasPermission("MANAGE_CHANNELS"); }, icon: { @@ -162,7 +162,7 @@ class Channel extends SnowFlake { this.deleteChannel(); }, { - visable: function () { + visible: function () { return this.hasPermission("MANAGE_CHANNELS"); }, icon: { @@ -741,7 +741,7 @@ class Channel extends SnowFlake { } static dragged: [Channel, HTMLDivElement] | [] = []; html: WeakRef | undefined; - get visable() { + get visible() { return this.hasPermission("VIEW_CHANNEL"); } voiceUsers = new WeakRef(document.createElement("div")); @@ -807,10 +807,10 @@ class Channel extends SnowFlake { ); } this.html = new WeakRef(div); - if (!this.visable) { + if (!this.visible) { let quit = true; for (const thing of this.children) { - if (thing.visable) { + if (thing.visible) { quit = false; } } @@ -1706,7 +1706,7 @@ class Channel extends SnowFlake { command.render(typebox, this); } async getHTML(addstate = true, getMessages: boolean | void = undefined, aroundMessage?: string) { - if (!this.visable) { + if (!this.visible) { this.guild.loadChannel(); return; } diff --git a/src/webpage/contextmenu.ts b/src/webpage/contextmenu.ts index 7af50679..e351d668 100644 --- a/src/webpage/contextmenu.ts +++ b/src/webpage/contextmenu.ts @@ -25,7 +25,7 @@ class ContextButton implements menuPart { private text: string | ((this: x, arg: y) => string); private onClick: (this: x, arg: y, e: MouseEvent) => void; private icon?: iconJson; - private visable?: (this: x, arg: y) => boolean; + private visible?: (this: x, arg: y) => boolean; private enabled?: (this: x, arg: y) => boolean; //TODO there *will* be more colors private color?: "red" | "blue"; @@ -35,7 +35,7 @@ class ContextButton implements menuPart { onClick: ContextButton["onClick"], addProps: { icon?: iconJson; - visable?: (this: x, arg: y) => boolean; + visible?: (this: x, arg: y) => boolean; enabled?: (this: x, arg: y) => boolean; color?: "red" | "blue"; group?: string; @@ -44,17 +44,17 @@ class ContextButton implements menuPart { this.text = text; this.onClick = onClick; this.icon = addProps.icon; - this.visable = addProps.visable; + this.visible = addProps.visible; this.enabled = addProps.enabled; this.color = addProps.color; this.group = addProps.group; } - isVisable(obj1: x, obj2: y): boolean { - if (!this.visable) return true; - return this.visable.call(obj1, obj2); + isVisible(obj1: x, obj2: y): boolean { + if (!this.visible) return true; + return this.visible.call(obj1, obj2); } makeContextHTML(obj1: x, obj2: y, menu: HTMLDivElement) { - if (!this.isVisable(obj1, obj2)) { + if (!this.isVisible(obj1, obj2)) { return; } @@ -113,22 +113,22 @@ class ContextButton implements menuPart { } } class ContextGroup implements menuPart { - private visable?: (this: x, arg: y) => boolean; + private visible?: (this: x, arg: y) => boolean; groupSel: string; group = undefined; constructor( group: string, addProps: { - visable?: (this: x, arg: y) => boolean; + visible?: (this: x, arg: y) => boolean; } = {}, ) { - this.visable = addProps.visable; + this.visible = addProps.visible; this.groupSel = group; } - isVisable(obj1: x, obj2: y): boolean { - if (!this.visable) return true; - return this.visable.call(obj1, obj2); + isVisible(obj1: x, obj2: y): boolean { + if (!this.visible) return true; + return this.visible.call(obj1, obj2); } makeContextHTML( x: x, @@ -137,7 +137,7 @@ class ContextGroup implements menuPart { layered: contextCluster[], processed: WeakSet>, ) { - if (!this.isVisable(x, y)) { + if (!this.isVisible(x, y)) { return; } for (const [menu, x, y] of layered) { @@ -151,14 +151,14 @@ class ContextGroup implements menuPart { } } class Seperator implements menuPart { - private visable?: (obj1: x, obj2: y) => boolean; + private visible?: (obj1: x, obj2: y) => boolean; group?: string; - constructor(visable?: (obj1: x, obj2: y) => boolean, group?: string) { - this.visable = visable; + constructor(visible?: (obj1: x, obj2: y) => boolean, group?: string) { + this.visible = visible; this.group = group; } makeContextHTML(obj1: x, obj2: y, menu: HTMLDivElement): void { - if (!this.visable || this.visable(obj1, obj2)) { + if (!this.visible || this.visible(obj1, obj2)) { if (menu.children[menu.children.length - 1].tagName === "HR") { return; } @@ -236,7 +236,7 @@ class Contextmenu { onClick: ContextButton["onClick"], addProps: { icon?: iconJson; - visable?: (this: x, arg: y) => boolean; + visible?: (this: x, arg: y) => boolean; enabled?: (this: x, arg: y) => boolean; color?: "red" | "blue"; group?: string; @@ -244,13 +244,13 @@ class Contextmenu { ) { this.buttons.push(new ContextButton(text, onClick, addProps)); } - addSeperator(visable?: (obj1: x, obj2: y) => boolean, group?: string) { - this.buttons.push(new Seperator(visable, group)); + addSeperator(visible?: (obj1: x, obj2: y) => boolean, group?: string) { + this.buttons.push(new Seperator(visible, group)); } addGroup( group: string, addprops?: { - visable?: (this: x, arg: y) => boolean; + visible?: (this: x, arg: y) => boolean; }, ) { this.buttons.push(new ContextGroup(group, addprops)); diff --git a/src/webpage/direct.ts b/src/webpage/direct.ts index f1cb656e..b264f039 100644 --- a/src/webpage/direct.ts +++ b/src/webpage/direct.ts @@ -410,7 +410,7 @@ class Group extends Channel { }, { group: "default", - visable: function (user) { + visible: function (user) { return this.localuser.user.id !== user.id && this.owner_id === this.localuser.user.id; }, color: "red", @@ -435,7 +435,7 @@ class Group extends Channel { this.edit(); }, { - visable: function () { + visible: function () { return this.type !== 1; }, }, @@ -466,7 +466,7 @@ class Group extends Channel { navigator.clipboard.writeText(this.users[0].id); }, { - visable: function () { + visible: function () { return this.type === 1; }, }, @@ -576,7 +576,6 @@ class Group extends Channel { } else if (this.lastmessage) { this.position = this.lastmessage.getTimeStamp(); } else if (this.lastmessageid) { - console.log(this.lastmessageid); this.position = SnowFlake.stringToUnixTime(this.lastmessageid); } else { this.position = 0; diff --git a/src/webpage/guild.ts b/src/webpage/guild.ts index 806c01e6..a3f079a3 100644 --- a/src/webpage/guild.ts +++ b/src/webpage/guild.ts @@ -235,7 +235,7 @@ class Guild extends SnowFlake { this.confirmleave(); }, { - visable: function (_) { + visible: function (_) { return this.properties.owner_id !== this.member.user.id; }, color: "red", @@ -248,7 +248,7 @@ class Guild extends SnowFlake { this.confirmDelete(); }, { - visable: function (_) { + visible: function (_) { return this.properties.owner_id === this.member.user.id; }, color: "red", @@ -264,7 +264,7 @@ class Guild extends SnowFlake { this.generateSettings(); }, { - visable: function () { + visible: function () { return this.member.hasPermission("MANAGE_GUILD"); }, icon: { @@ -287,7 +287,7 @@ class Guild extends SnowFlake { this.createchannels(); }, { - visable: function () { + visible: function () { return this.member.hasPermission("MANAGE_CHANNELS"); }, }, @@ -298,7 +298,7 @@ class Guild extends SnowFlake { this.createcategory(); }, { - visable: function () { + visible: function () { return this.member.hasPermission("MANAGE_CHANNELS"); }, }, @@ -1723,14 +1723,14 @@ class Guild extends SnowFlake { return; } } - if (this.prevchannel && ID !== null && this.prevchannel.visable) { + if (this.prevchannel && ID !== null && this.prevchannel.visible) { console.log(this.prevchannel); await this.prevchannel.getHTML(addstate, undefined, message); return; } if (this.id !== "@me") { for (const thing of this.channels) { - if (thing.type !== 4 && thing.visable) { + if (thing.type !== 4 && thing.visible) { await thing.getHTML(addstate, undefined, message); return; } @@ -1762,7 +1762,7 @@ class Guild extends SnowFlake { } noChannel(addstate: boolean) { for (const c of this.channels) { - if (c.visable) { + if (c.visible) { this.loadChannel(c.id, addstate); return; } diff --git a/src/webpage/index.ts b/src/webpage/index.ts index f9fee3fc..62c30409 100644 --- a/src/webpage/index.ts +++ b/src/webpage/index.ts @@ -97,7 +97,7 @@ menu.addButton( thisUser.lookingguild.createchannels(); } }, - {visable: () => thisUser.isAdmin()}, + {visible: () => thisUser.isAdmin()}, ); menu.addButton( @@ -107,7 +107,7 @@ menu.addButton( thisUser.lookingguild.createcategory(); } }, - {visable: () => thisUser.isAdmin()}, + {visible: () => thisUser.isAdmin()}, ); const channelw = document.getElementById("channelw"); console.log(channelw); diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 35be51d9..02ecfc98 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -1443,7 +1443,7 @@ class Localuser { if (this.channelfocus.guild.id === "@me") { return; } - if (!this.channelfocus.visable) return; + if (!this.channelfocus.visible) return; this.ws.send( JSON.stringify({ d: { diff --git a/src/webpage/message.ts b/src/webpage/message.ts index cbb1c835..aead5de8 100644 --- a/src/webpage/message.ts +++ b/src/webpage/message.ts @@ -77,7 +77,7 @@ class Message extends SnowFlake { icon: { css: "svg-reply", }, - visable: function () { + visible: function () { return !this.ephemeral && this.channel.hasPermission("SEND_MESSAGES"); }, }, @@ -89,7 +89,7 @@ class Message extends SnowFlake { this.setEdit(); }, { - visable: function () { + visible: function () { return this.author.id === this.localuser.user.id && editTypes.has(this.type); }, @@ -110,7 +110,7 @@ class Message extends SnowFlake { icon: { css: "svg-emoji", }, - visable: function () { + visible: function () { return this.channel.hasPermission("ADD_REACTIONS"); }, }, @@ -121,7 +121,7 @@ class Message extends SnowFlake { this.viewReactions(); }, { - visable: function () { + visible: function () { return !!this.reactions.length; }, }, @@ -163,7 +163,7 @@ class Message extends SnowFlake { icon: { css: "svg-pin", }, - visable: function () { + visible: function () { if (this.pinned) return false; if (this.channel.guild.id === "@me") return true; return this.channel.hasPermission("MANAGE_MESSAGES"); @@ -184,7 +184,7 @@ class Message extends SnowFlake { icon: { css: "svg-pin", }, - visable: function () { + visible: function () { if (!this.pinned) return false; if (this.channel.guild.id === "@me") return true; return this.channel.hasPermission("MANAGE_MESSAGES"); @@ -206,7 +206,7 @@ class Message extends SnowFlake { this.confirmDelete(); }, { - visable: function () { + visible: function () { return this.canDelete(); }, icon: { @@ -221,7 +221,7 @@ class Message extends SnowFlake { () => I18n.usedFermi(), () => {}, { - visable: function () { + visible: function () { return !!this.nonce && this.nonce.length <= 9 && this.nonce.length !== 0; }, enabled: () => false, diff --git a/src/webpage/role.ts b/src/webpage/role.ts index a4b4ff42..4de32d32 100644 --- a/src/webpage/role.ts +++ b/src/webpage/role.ts @@ -425,7 +425,7 @@ class RoleList extends Buttons { }); }, { - visable: function (role) { + visible: function (role) { //TODO, maybe this needs a check if the user is above/bellow the other user, hard to say return role.id !== this.guild.id; }, @@ -475,7 +475,7 @@ class RoleList extends Buttons { this.deleteRole(role); }, { - visable: (role) => role.id !== role.guild.id, + visible: (role) => role.id !== role.guild.id, }, ); menu.addButton( diff --git a/src/webpage/user.ts b/src/webpage/user.ts index 2efd3609..367c6a0e 100644 --- a/src/webpage/user.ts +++ b/src/webpage/user.ts @@ -298,7 +298,7 @@ class User extends SnowFlake { this.block(); }, { - visable: function () { + visible: function () { return this.relationshipType !== 2 && this.id !== this.localuser.user.id; }, }, @@ -310,7 +310,7 @@ class User extends SnowFlake { this.unblock(); }, { - visable: function () { + visible: function () { return this.relationshipType === 2 && this.id !== this.localuser.user.id; }, }, @@ -321,7 +321,7 @@ class User extends SnowFlake { this.changeRelationship(1); }, { - visable: function () { + visible: function () { return ( (this.relationshipType === 0 || this.relationshipType === 3) && this.id !== this.localuser.user.id && @@ -339,7 +339,7 @@ class User extends SnowFlake { this.changeRelationship(0); }, { - visable: function () { + visible: function () { return this.relationshipType === 1 && this.id !== this.localuser.user.id; }, }, @@ -363,7 +363,7 @@ class User extends SnowFlake { this.setFriendNick(); }, { - visable: function () { + visible: function () { return new Set([1, 2, 3, 4]).has(this.relationshipType); }, }, @@ -378,7 +378,7 @@ class User extends SnowFlake { member.showEditProfile(); }, { - visable: function (member) { + visible: function (member) { return member?.id === this.localuser.user.id; }, }, @@ -391,7 +391,7 @@ class User extends SnowFlake { member.showEditNick(); }, { - visable: function (member) { + visible: function (member) { return ( !!member && member?.id !== this.localuser.user.id && @@ -407,7 +407,7 @@ class User extends SnowFlake { member?.timeout(); }, { - visable: function (member) { + visible: function (member) { if (!member) return false; if (member.hasPermission("MODERATE_MEMBERS")) return false; @@ -428,7 +428,7 @@ class User extends SnowFlake { memb?.removeTimeout(); }, { - visable: function (member) { + visible: function (member) { if (!member) return false; return ( @@ -447,7 +447,7 @@ class User extends SnowFlake { member?.kick(); }, { - visable: function (member) { + visible: function (member) { if (!member) return false; const us = member.guild.member; if (member.id === us.id) { @@ -469,7 +469,7 @@ class User extends SnowFlake { member?.ban(); }, { - visable: function (member) { + visible: function (member) { if (!member) return false; const us = member.guild.member; if (member.id === us.id) { @@ -505,7 +505,7 @@ class User extends SnowFlake { } }, { - visable: (member) => { + visible: (member) => { if (!member) return false; const us = member.guild.member; console.log(us.hasPermission("MANAGE_ROLES")); @@ -532,7 +532,7 @@ class User extends SnowFlake { } }, { - visable: (member) => { + visible: (member) => { if (!member) return false; const us = member.guild.member; console.log(us.hasPermission("MANAGE_ROLES")); @@ -584,7 +584,7 @@ class User extends SnowFlake { menu.show(); }, { - visable: function () { + visible: function () { return this.localuser.rights.hasPermission("MANAGE_USERS"); }, color: "red", From beec7fa8564f2a64f2bfed123a604b36925df31f Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:41:28 +0100 Subject: [PATCH 17/24] instanceinfo -> InstanceInfo --- src/webpage/login.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/webpage/login.ts b/src/webpage/login.ts index 9463e099..77bb011c 100644 --- a/src/webpage/login.ts +++ b/src/webpage/login.ts @@ -1,4 +1,4 @@ -import {instanceinfo, adduser, Specialuser} from "./utils/utils.js"; +import {InstanceInfo, adduser, Specialuser} from "./utils/utils.js"; import {I18n} from "./i18n.js"; import {Dialog, FormError} from "./settings.js"; import {makeRegister} from "./register.js"; @@ -15,7 +15,7 @@ function generateRecArea(recover = document.getElementById("recover")) { } } const recMap = new Map>(); -async function recover(e: instanceinfo, recover = document.getElementById("recover")) { +async function recover(e: InstanceInfo, recover = document.getElementById("recover")) { const prom = new Promise(async (res) => { if (!recover) { res(false); From 226bb281f729a1254403d73ca8760fae87cb77d5 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:42:21 +0100 Subject: [PATCH 18/24] i18n: async storage, fallback for regionalized locales --- src/webpage/i18n.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/webpage/i18n.ts b/src/webpage/i18n.ts index d44b5648..f0e25354 100644 --- a/src/webpage/i18n.ts +++ b/src/webpage/i18n.ts @@ -16,6 +16,14 @@ class I18n { res = res2; }); static async create(lang: string) { + if (!(lang + ".json" in langs)) { + if (lang.includes("-")) lang = lang.split("-")[0]; + if (!(lang + ".json" in langs)) { + console.warn("Language " + lang + " not found, defaulting to en"); + lang = "en"; + } + } + const json = (await (await fetch("/translations/" + lang + ".json")).json()) as translation; const translations: translation[] = []; translations.push(json); @@ -107,8 +115,11 @@ class I18n { } static setLanguage(lang: string) { if (this.options().indexOf(userLocale) !== -1) { - localStorage.setItem("lang", lang); - I18n.create(lang); + getPreferences().then(async (prefs) => { + prefs.locale = lang; + await I18n.create(lang); + await setPreferences(prefs); + }); } } } @@ -117,11 +128,13 @@ let userLocale = navigator.language.slice(0, 2) || "en"; if (I18n.options().indexOf(userLocale) === -1) { userLocale = "en"; } -const storage = localStorage.getItem("lang"); +const prefs = await getPreferences(); +const storage = prefs.locale; if (storage) { userLocale = storage; } else { - localStorage.setItem("lang", userLocale); + prefs.locale = userLocale; + await setPreferences(prefs); } I18n.create(userLocale); function makeWeirdProxy(obj: [string, translation | void] = ["", undefined]) { @@ -162,6 +175,7 @@ function makeWeirdProxy(obj: [string, translation | void] = ["", undefined]) { }); } import jsonType from "./../../translations/en.json"; +import {getPreferences, setPreferences} from "./utils/storage/userPreferences"; type beforeType = typeof jsonType; type DoTheThing = { From db64ccefbe957c66aea61d8d9a508540b4cbc3f9 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:43:03 +0100 Subject: [PATCH 19/24] clear cdn cache option --- src/webpage/service.ts | 3 +++ src/webpage/utils/serviceType.ts | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/webpage/service.ts b/src/webpage/service.ts index d80eaedc..0b0069a3 100644 --- a/src/webpage/service.ts +++ b/src/webpage/service.ts @@ -343,6 +343,9 @@ self.addEventListener("message", (message) => { case "ForceClear": deleteoldcache(); break; + case "clearCdnCache": + caches.delete("cdn"); + break; case "port": { const port = data.port as MessagePort; ports.add(port); diff --git a/src/webpage/utils/serviceType.ts b/src/webpage/utils/serviceType.ts index 46015f43..e49480bf 100644 --- a/src/webpage/utils/serviceType.ts +++ b/src/webpage/utils/serviceType.ts @@ -11,6 +11,9 @@ export type messageTo = | { code: "CheckUpdate"; } + | { + code: "clearCdnCache"; + } | { code: "isValid"; url: string; From 81817dddd5f59ec0010d5d67d0a3d94a971f8913 Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:43:25 +0100 Subject: [PATCH 20/24] storages --- src/webpage/localuser.ts | 226 +++++++++++++++++++------------------ src/webpage/user.ts | 3 +- src/webpage/utils/utils.ts | 37 +++--- 3 files changed, 140 insertions(+), 126 deletions(-) diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 02ecfc98..9a73c2b3 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -36,6 +36,14 @@ import {Sticker} from "./sticker.js"; import {Hover} from "./hover.js"; import {AccountSwitcher} from "./utils/switcher.js"; import {Favorites} from "./favorites.js"; +import { + AnimateTristateValues, + getPreferences, + setPreferences, + ThemeOption, +} from "./utils/storage/userPreferences"; +import {getDeveloperSettings, setDeveloperSettings} from "./utils/storage/devSettings"; +import {getLocalSettings, ServiceWorkerModeValues} from "./utils/storage/localSettings.js"; type traceObj = { micros: number; calls?: (string | traceObj)[]; @@ -289,25 +297,26 @@ class Localuser { } async queryBlog() { this.perminfo.localuser ??= {}; - const bstate = localStorage.getItem("blogUpdates") as "Yes" | "No" | "Wait" | null; - if (!bstate) { - localStorage.setItem("blogUpdates", "Wait"); - } else if (bstate === "Wait") { + const prefs = await getPreferences(); + const bstate = prefs.showBlogUpdates; + if (bstate === undefined) { const pop = new Dialog(""); pop.options.addText(I18n.blog.wantUpdates()); const opts = pop.options.addOptions("", {ltr: true}); - opts.addButtonInput("", I18n.yes(), () => { - localStorage.setItem("blogUpdates", "Yes"); + opts.addButtonInput("", I18n.yes(), async () => { + prefs.showBlogUpdates = true; + await setPreferences(prefs); this.queryBlog(); pop.hide(); }); - opts.addButtonInput("", I18n.no(), () => { - localStorage.setItem("blogUpdates", "No"); + opts.addButtonInput("", I18n.no(), async () => { + prefs.showBlogUpdates = false; + await setPreferences(prefs); this.queryBlog(); pop.hide(); }); pop.show(); - } else if (bstate === "Yes") { + } else if (bstate) { const post = (await this.getPosts()).items[0]; if (this.perminfo.localuser.mostRecent !== post.url) { this.perminfo.localuser.mostRecent = post.url; @@ -441,7 +450,7 @@ class Localuser { if (!this.resume_gateway_url || !this.session_id) { resume = false; } - const doComp = DecompressionStream && !localStorage.getItem("gateWayComp"); + const doComp = DecompressionStream && !getDeveloperSettings().gatewayCompression; const ws = new WebSocket( (resume ? this.resume_gateway_url : this.serverurls.gateway.toString()) + "?encoding=json&v=9" + @@ -674,7 +683,7 @@ class Localuser { } async handleEvent(temp: wsjson) { if (temp.d._trace) this.handleTrace(temp.d._trace); - if (localStorage.getItem("logGateway")) console.debug(temp); + if (getDeveloperSettings().gatewayLogging) console.debug(temp); if (temp.s) this.lastSequence = temp.s; if (temp.op === 9 && this.ws) { this.errorBackoff = 0; @@ -2450,31 +2459,34 @@ class Localuser { } { - let userinfos = getBulkInfo(); + const prefs = await getPreferences(); tas.addColorInput( I18n.localuser.accentColor(), - (_) => { - userinfos = getBulkInfo(); - userinfos.accent_color = _; - localStorage.setItem("userinfos", JSON.stringify(userinfos)); - document.documentElement.style.setProperty("--accent-color", userinfos.accent_color); + async (_) => { + prefs.accentColor = _; + await setPreferences(prefs); + + document.documentElement.style.setProperty("--accent-color", prefs.accentColor); }, - {initColor: userinfos.accent_color}, + {initColor: prefs.accentColor}, ); } { + const prefs = await getPreferences(); const options = [[null, I18n.noEmojiFont()], ...Localuser.fonts] as const; - const cur = localStorage.getItem("emoji-font"); + const cur = prefs.emojiFont; let index = options.findIndex((_) => _[1] == cur); if (index === -1) index = 0; tas.addSelect( I18n.emojiSelect(), - (index) => { + async (index) => { if (options[index][0]) { - localStorage.setItem("emoji-font", options[index][1]); + prefs.emojiFont = options[index][1]; } else { - localStorage.removeItem("emoji-font"); + prefs.emojiFont = undefined; } + + await setPreferences(prefs); Localuser.loadFont(); }, options.map((font) => font[1]), @@ -2483,25 +2495,34 @@ class Localuser { }, ); } + { + const cur = prefs.renderJoinAvatars; + tas.addCheckboxInput( + I18n.renderJoinAvatars(), + async (v) => { + prefs.renderJoinAvatars = v; + await setPreferences(prefs); + }, + {initState: cur}, + ); + } } { const update = settings.addButton(I18n.localuser.updateSettings()); - let index = ["false", "offlineOnly", "true"].indexOf( - localStorage.getItem("SWMode") as string, - ); + let index = ServiceWorkerModeValues.indexOf(localSettings.serviceWorkerMode); if (index === -1) { index = 2; } const sw = update.addSelect( - I18n.localuser.swSettings(), + I18n.settings.updates.serviceWorkerMode.title(), () => {}, - (["SWOff", "SWOffline", "SWOn", "SWUnregistered"] as const).map((e) => I18n.localuser[e]()), + ServiceWorkerModeValues.map((e) => I18n.settings.updates.serviceWorkerMode[e]()), { defaultIndex: index, }, ); sw.onchange = (e) => { - SW.setMode((["false", "offlineOnly", "true", "unregistered"] as const)[e]); + SW.setMode(ServiceWorkerModeValues[e]); }; update.addButtonInput("", I18n.localuser.CheckUpdate(), async () => { const update = await SW.checkUpdates(); @@ -2774,16 +2795,12 @@ class Localuser { this.updateTranslations(); }, [...langmap.values()], - { - defaultIndex: I18n.options().indexOf(I18n.lang), - }, + {defaultIndex: I18n.options().indexOf(I18n.lang)}, ); { security.addButtonInput("", I18n.logout.logout(), async () => { - if (await this.userinfo.logout()) { - window.location.href = "/"; - } + if (await this.userinfo.logout()) window.location.href = "/"; }); } }; @@ -2797,9 +2814,7 @@ class Localuser { console.log(t); this.perminfo.user.disableColors = !t; }, - { - initState: !this.perminfo.user.disableColors, - }, + {initState: !this.perminfo.user.disableColors}, ); accessibility.addCheckboxInput( I18n.channel.allowIcons(), @@ -2807,36 +2822,25 @@ class Localuser { console.log(t); this.perminfo.user.disableIcons = !t; }, - { - initState: !this.perminfo.user.disableIcons, - }, + {initState: !this.perminfo.user.disableIcons}, ); - const gifSettings = ["hover", "always", "never"] as const; accessibility.addSelect( I18n.accessibility.playGif(), - (i) => { - localStorage.setItem("gifSetting", gifSettings[i]); - }, - gifSettings.map((_) => I18n.accessibility.gifSettings[_]()), - { - defaultIndex: - ((gifSettings as readonly string[]).indexOf( - localStorage.getItem("gifSetting") as string, - ) + 1 || 1) - 1, + async (i) => { + prefs.animateGifs = AnimateTristateValues[i]; + await setPreferences(prefs); }, + AnimateTristateValues.map((_) => I18n.accessibility.gifSettings[_]()), + {defaultIndex: AnimateTristateValues.indexOf(prefs.animateGifs)}, ); accessibility.addSelect( I18n.accessibility.playIcon(), - (i) => { - localStorage.setItem("iconSetting", gifSettings[i]); - }, - gifSettings.map((_) => I18n.accessibility.gifSettings[_]()), - { - defaultIndex: - ((gifSettings as readonly string[]).indexOf( - localStorage.getItem("iconSetting") as string, - ) + 1 || 1) - 1, + async (i) => { + prefs.animateIcons = AnimateTristateValues[i]; + await setPreferences(prefs); }, + AnimateTristateValues.map((_) => I18n.accessibility.gifSettings[_]()), + {defaultIndex: AnimateTristateValues.indexOf(prefs.animateIcons)}, ); } { @@ -2909,9 +2913,7 @@ class Localuser { I18n.localuser["team:"](), "team_id", ["Personal", ...teams.map((team: {name: string}) => team.name)], - { - defaultIndex: 0, - }, + {defaultIndex: 0}, ); }); @@ -3260,14 +3262,11 @@ class Localuser { const blog = settings.addButton(I18n.blog.blog()); blog.addCheckboxInput( I18n.blog.blogUpdates(), - (check) => { - if (check) { - localStorage.setItem("blogUpdates", "Yes"); - } else { - localStorage.setItem("blogUpdates", "No"); - } + async (check) => { + prefs.showBlogUpdates = check; + await setPreferences(prefs); }, - {initState: localStorage.getItem("blogUpdates") === "Yes"}, + {initState: prefs.showBlogUpdates}, ); (async () => { const posts = await this.getPosts(); @@ -3297,74 +3296,82 @@ class Localuser { devSettings.addText(I18n.devSettings.description()); devSettings.addHR(); const box1 = devSettings.addCheckboxInput(I18n.devSettings.logGateway(), () => {}, { - initState: Boolean(localStorage.getItem("logGateway")), + initState: getDeveloperSettings().gatewayLogging, }); box1.onchange = (e) => { - if (e) { - localStorage.setItem("logGateway", "true"); - } else { - localStorage.removeItem("logGateway"); - } + const settings = getDeveloperSettings(); + settings.gatewayLogging = e; + setDeveloperSettings(settings); }; + const box2 = devSettings.addCheckboxInput(I18n.devSettings.badUser(), () => {}, { - initState: Boolean(localStorage.getItem("logbad")), + initState: getDeveloperSettings().logBannedFields, }); box2.onchange = (e) => { - if (e) { - localStorage.setItem("logbad", "true"); - } else { - localStorage.removeItem("logbad"); - } + const settings = getDeveloperSettings(); + settings.logBannedFields = e; + setDeveloperSettings(settings); }; const box3 = devSettings.addCheckboxInput(I18n.devSettings.traces(), () => {}, { - initState: Boolean(localStorage.getItem("traces")), + initState: getDeveloperSettings().showTraces, }); box3.onchange = (e) => { - if (e) { - localStorage.setItem("traces", "true"); - } else { - localStorage.removeItem("traces"); - } + const settings = getDeveloperSettings(); + settings.showTraces = e; + setDeveloperSettings(settings); }; + const box4 = devSettings.addCheckboxInput(I18n.devSettings.cache(), () => {}, { - initState: !!localStorage.getItem("isDev"), + initState: getDeveloperSettings().cacheSourceMaps, }); box4.onchange = (e) => { - if (e) { - localStorage.setItem("isDev", "true"); - } else { - localStorage.removeItem("isDev"); - } + const settings = getDeveloperSettings(); + settings.cacheSourceMaps = e; + setDeveloperSettings(settings); SW.postMessage({code: "isDev", dev: e}); }; devSettings.addText(I18n.devSettings.cacheDesc()); const box5 = devSettings.addCheckboxInput(I18n.devSettings.captureTrace(), () => {}, { - initState: !!localStorage.getItem("capTrace"), + initState: getDeveloperSettings().interceptApiTraces, }); box5.onchange = (e) => { - if (e) { - localStorage.setItem("capTrace", "true"); - } else { - localStorage.removeItem("capTrace"); - } + const settings = getDeveloperSettings(); + settings.interceptApiTraces = e; + setDeveloperSettings(settings); SW.traceInit(); }; const box6 = devSettings.addCheckboxInput(I18n.devSettings.gatewayComp(), () => {}, { - initState: !!localStorage.getItem("gateWayComp"), + initState: getDeveloperSettings().gatewayCompression, }); box6.onchange = (e) => { - if (e) { - localStorage.setItem("gateWayComp", "true"); - } else { - localStorage.removeItem("gateWayComp"); - } + const settings = getDeveloperSettings(); + settings.gatewayCompression = e; + setDeveloperSettings(settings); SW.traceInit(); }; + + devSettings.addButtonInput("", I18n.devSettings.clearWellKnowns(), async () => { + const currentUserInfos = JSON.parse(localStorage.getItem("userinfos")!); + for (const user of Object.keys(currentUserInfos.users)) { + const key = + currentUserInfos.users[user].serverurls.value ?? + currentUserInfos.users[user].serverurls.wellknown ?? + currentUserInfos.users[user].serverurls.api; + currentUserInfos.users[user].serverurls = await getapiurls(key); + console.log(key, currentUserInfos.users[user].serverurls); + localStorage.setItem("userinfos", JSON.stringify(currentUserInfos)); + } + localStorage.removeItem("instanceinfo"); + await SW.postMessage("clearCdnCache"); + + // @ts-ignore - chromium is smelly for not supporting the `forceGet` option (aka skip cache) + window.location.reload(true); + }); } - if (this.trace.length && localStorage.getItem("traces")) { + if (this.trace.length && getDeveloperSettings().showTraces) { const traces = settings.addButton(I18n.localuser.trace(), { noSubmit: true, }); @@ -4362,17 +4369,20 @@ class Localuser { readonly presences: Map = new Map(); static font?: FontFace; static async loadFont() { - const fontName = localStorage.getItem("emoji-font"); + const prefs = await getPreferences(); + const fontName = prefs.emojiFont; + if (this.font) { //TODO see when/if this can be removed //@ts-ignore this is stupid. it's been here since 2020 document.fonts.delete(this.font); } + const realname = this.fonts.find((_) => _[1] === fontName)?.[0]; if (realname) { const font = new FontFace("emojiFont", `url("/emoji/${realname}")`); await font.load(); - console.error("fun"); + console.error("Loaded font:", fontName, "/", realname); //TODO see when/if this can be removed //@ts-ignore this is stupid. it's been here since 2020 document.fonts.add(font); diff --git a/src/webpage/user.ts b/src/webpage/user.ts index 367c6a0e..8a9d476a 100644 --- a/src/webpage/user.ts +++ b/src/webpage/user.ts @@ -14,6 +14,7 @@ import {createImg, removeAni, safeImg} from "./utils/utils.js"; import {Direct} from "./direct.js"; import {Permissions} from "./permissions.js"; import {Channel} from "./channel.js"; +import {getDeveloperSettings} from "./utils/storage/devSettings"; class User extends SnowFlake { owner: Localuser; hypotheticalpfp!: boolean; @@ -45,7 +46,7 @@ class User extends SnowFlake { constructor(userjson: userjson, owner: Localuser, dontclone: boolean = false) { super(userjson.id); this.owner = owner; - if (localStorage.getItem("logbad") && owner.user && owner.user.id !== userjson.id) { + if (getDeveloperSettings().logBannedFields && owner.user && owner.user.id !== userjson.id) { this.checkfortmi(userjson); } if (!owner) { diff --git a/src/webpage/utils/utils.ts b/src/webpage/utils/utils.ts index 243c995f..70a18003 100644 --- a/src/webpage/utils/utils.ts +++ b/src/webpage/utils/utils.ts @@ -4,6 +4,9 @@ import {Dialog} from "../settings.js"; import {fix} from "./cssMagic.js"; import {messageFrom, messageTo} from "./serviceType.js"; import {isLoopback, trimTrailingSlashes} from "./netUtils"; +import {getLocalSettings, ServiceWorkerMode, setLocalSettings} from "./storage/localSettings"; +import {getPreferences} from "./storage/userPreferences"; +import {getDeveloperSettings} from "./storage/devSettings"; fix(); const apiDoms = new Set(); @@ -38,7 +41,7 @@ export function getBulkUsers() { const user = (json.users[thing] = new Specialuser(json.users[thing])); apiDoms.add(new URL(user.serverurls.api).host); } - if (localStorage.getItem("capTrace")) { + if (getDeveloperSettings().interceptApiTraces) { SW.postMessage({ code: "apiUrls", hosts: [...apiDoms], @@ -236,10 +239,6 @@ export class Specialuser { localStorage.setItem("userinfos", JSON.stringify(info)); } } -//this currently does not work, and need to be implemented better at some time. -if (!localStorage.getItem("SWMode")) { - localStorage.setItem("SWMode", "SWOn"); -} export function trimswitcher() { const json = getBulkInfo(); const map = new Map(); @@ -857,11 +856,10 @@ export {checkInstance}; export class SW { static worker: undefined | ServiceWorker; + static registration: ServiceWorkerRegistration; static port?: MessagePort; static init() { - SW.setMode( - (localStorage.getItem("SWMode") as "false" | "offlineOnly" | "true" | undefined) || "true", - ); + SW.setMode(getLocalSettings().serviceWorkerMode); const port = new MessageChannel(); SW.worker?.postMessage( { @@ -879,7 +877,7 @@ export class SW { port.port1.close(); }); this.postMessage({code: "ping"}); - this.postMessage({code: "isDev", dev: !!localStorage.getItem("isDev")}); + this.postMessage({code: "isDev", dev: getDeveloperSettings().cacheSourceMaps}); this.captureEvent("updates", (update, stop) => { this.needsUpdate ||= update.updates; if (update) { @@ -984,7 +982,7 @@ export class SW { if (!("serviceWorker" in navigator)) return; // If it's registered, it handles CDN caching regardless of settings. - if(localStorage.getItem("SWMode") === "unregistered") return; + if (getLocalSettings().serviceWorkerMode == ServiceWorkerMode.Unregistered) return; return new Promise((res) => { navigator.serviceWorker .register("/service.js", { @@ -994,32 +992,37 @@ export class SW { let serviceWorker: ServiceWorker | undefined; if (registration.installing) { serviceWorker = registration.installing; - console.log("installing"); + console.log("Service worker: installing"); } else if (registration.waiting) { serviceWorker = registration.waiting; - console.log("waiting"); + console.log("Service worker: waiting"); } else if (registration.active) { serviceWorker = registration.active; - console.log("active"); + console.log("Service worker: active"); } SW.worker = serviceWorker; + SW.registration = registration; SW.init(); if (serviceWorker) { - console.log(serviceWorker.state); + console.log("Service worker state changed:", serviceWorker.state); serviceWorker.addEventListener("statechange", (_) => { - console.log(serviceWorker.state); + console.log("Service worker state changed:", serviceWorker.state); }); res(); } }); }); } - static setMode(mode: "false" | "offlineOnly" | "true" | "unregistered") { - localStorage.setItem("SWMode", mode); + static setMode(mode: ServiceWorkerMode) { + const localSettings = getLocalSettings(); + localSettings.serviceWorkerMode = mode; + setLocalSettings(localSettings); if (this.worker) { this.worker.postMessage({data: mode, code: "setMode"}); } + + if (mode === ServiceWorkerMode.Unregistered) this.registration.unregister().then(r => console.log("Service worker unregistered:", r)); } static forceClear() { From 086c11d3cce85c2532192c78c97d1db2dedbbcbe Mon Sep 17 00:00:00 2001 From: "[it/its]@Rory&" <[it/its]@Rory&> Date: Thu, 1 Jan 2026 15:43:44 +0100 Subject: [PATCH 21/24] option to show avatars on join eevents --- src/webpage/message.ts | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/webpage/message.ts b/src/webpage/message.ts index aead5de8..c225bf91 100644 --- a/src/webpage/message.ts +++ b/src/webpage/message.ts @@ -16,6 +16,7 @@ import {Hover} from "./hover.js"; import {Dialog} from "./settings.js"; import {Sticker} from "./sticker.js"; import {Components} from "./interactions/compontents.js"; +import {ImagesDisplay} from "./disimg"; class Message extends SnowFlake { static contextmenu = new Contextmenu("message menu"); stickers!: Sticker[]; @@ -940,6 +941,42 @@ class Message extends SnowFlake { firstspan.textContent = first; text.appendChild(firstspan); + // TODO: settings how? + if (true) { + const img = document.createElement("img"); + img.classList.add("avatar"); + img.style.height = "1em"; + img.style.width = "1em"; + img.style.objectFit = "cover"; + img.src = this.author.getpfpsrc(this.guild) + "?size=1"; + img.loading = "lazy"; + img.decoding = "async"; + img.addEventListener( + "load", + () => { + img.src = this.author.getpfpsrc(this.guild) + "?size=" + firstspan.clientHeight; + }, + {once: true}, + ); + img.onclick = () => { + const full = new ImagesDisplay([ + new File( + { + content_type: "image/webp", + filename: "0", + id: "0", + size: 0, + url: this.author.getpfpsrc(this.guild), + }, + this, + ), + ]); + full.show(); + }; + + text.appendChild(img); + } + const username = document.createElement("span"); username.textContent = this.author.name; //this.author.profileclick(username); From 32b5a13b94002f776b329899981097cec4b71241 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Fri, 2 Jan 2026 11:45:20 -0600 Subject: [PATCH 22/24] some fixes --- src/webpage/localuser.ts | 4 +++- src/webpage/utils/storage/localSettings.ts | 4 ++-- src/webpage/utils/storage/userPreferences.ts | 11 +++++------ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 9a73c2b3..4e770ca0 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -3365,7 +3365,9 @@ class Localuser { localStorage.setItem("userinfos", JSON.stringify(currentUserInfos)); } localStorage.removeItem("instanceinfo"); - await SW.postMessage("clearCdnCache"); + await SW.postMessage({ + code: "CheckUpdate", + }); // @ts-ignore - chromium is smelly for not supporting the `forceGet` option (aka skip cache) window.location.reload(true); diff --git a/src/webpage/utils/storage/localSettings.ts b/src/webpage/utils/storage/localSettings.ts index 0af2cb6f..b2bd6b6c 100644 --- a/src/webpage/utils/storage/localSettings.ts +++ b/src/webpage/utils/storage/localSettings.ts @@ -1,4 +1,4 @@ -export enum ServiceWorkerMode { +export const enum ServiceWorkerMode { // Skips registering the service worker completely Unregistered = "unregistered", // Registers the service worker but does not activate it @@ -49,4 +49,4 @@ function migrateOldSettings() { } migrateOldSettings(); -//endregion \ No newline at end of file +//endregion diff --git a/src/webpage/utils/storage/userPreferences.ts b/src/webpage/utils/storage/userPreferences.ts index fb21d008..3de36ee7 100644 --- a/src/webpage/utils/storage/userPreferences.ts +++ b/src/webpage/utils/storage/userPreferences.ts @@ -1,5 +1,5 @@ // Async in order to account for maybe some day Spacebar supporting account data... -export enum AnimateTristateValue { +export const enum AnimateTristateValue { Always = "always", OnlyOnHover = "hover", Never = "never", @@ -10,7 +10,7 @@ export const AnimateTristateValues = [ AnimateTristateValue.Never, ]; -export enum ThemeOption { +export const enum ThemeOption { Dark = "Dark", White = "WHITE", Light = "Light", @@ -40,15 +40,14 @@ export class UserPreferences { } } -export async function getPreferences(): Promise{ +export async function getPreferences(): Promise { return new UserPreferences(JSON.parse(localStorage.getItem("userPreferences") || "{}")); } -export async function setPreferences(prefs: UserPreferences): Promise{ +export async function setPreferences(prefs: UserPreferences): Promise { localStorage.setItem("userPreferences", JSON.stringify(prefs)); } - //region Migration from untyped storage async function migrateOldPreferences(): Promise { const prefs = await getPreferences(); @@ -103,4 +102,4 @@ async function migrateOldPreferences(): Promise { } await migrateOldPreferences(); -//endregion \ No newline at end of file +//endregion From 256bc9f11bb56d44792c9ae6956617240b388428 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Fri, 2 Jan 2026 11:45:37 -0600 Subject: [PATCH 23/24] comment out the erroring class --- src/webpage/utils/storage/sessionStore.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/webpage/utils/storage/sessionStore.ts b/src/webpage/utils/storage/sessionStore.ts index 6ac3ba57..954605b8 100644 --- a/src/webpage/utils/storage/sessionStore.ts +++ b/src/webpage/utils/storage/sessionStore.ts @@ -7,8 +7,8 @@ export type UserAuth = { // @deprecated cachedEmail?: string; sessionId: string; -} - +}; +/* export class SessionStore { currentSession: string; sessions: Map = {}; @@ -20,4 +20,5 @@ export class SessionStore { getCurrentSession(): UserAuth | null { return this.sessions.get(this.currentSession) || null; } -} \ No newline at end of file +} +*/ From b2cbdf9dbdb8917e377ddf6fc3a99ae0ef7d7168 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Fri, 2 Jan 2026 11:46:35 -0600 Subject: [PATCH 24/24] disable that --- src/webpage/message.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webpage/message.ts b/src/webpage/message.ts index c225bf91..6a4fa52e 100644 --- a/src/webpage/message.ts +++ b/src/webpage/message.ts @@ -942,7 +942,7 @@ class Message extends SnowFlake { text.appendChild(firstspan); // TODO: settings how? - if (true) { + if (false) { const img = document.createElement("img"); img.classList.add("avatar"); img.style.height = "1em";