Compare commits

..

39 Commits

Author SHA1 Message Date
Anders Kaseorg
52a3fa6bd1 release: New release v5.12.1.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-29 13:23:54 -07:00
Anders Kaseorg
c1f2ae5ef8 context-menu: Enable macOS Writing Tools.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-29 13:23:54 -07:00
Anders Kaseorg
301fe26d80 Upgrade dependencies, including Electron 37.4.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-29 12:41:45 -07:00
Hosted Weblate
92a2b4eae9 translations: Update translations from Weblate. 2025-08-29 19:41:14 +00:00
Anders Kaseorg
6e307570d0 Replace Transifex documentation and configuration with Weblate.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-29 12:35:20 -07:00
Anders Kaseorg
dc39c68389 Modernize APT configuration format.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-28 16:38:58 -07:00
Anders Kaseorg
73cdfa7249 how-to-install: Note that the Debian package configures APT.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-28 16:38:58 -07:00
Anders Kaseorg
d9e4b0a40b Update electron-builder configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-28 16:23:57 -07:00
Anders Kaseorg
0c7ce62ce1 Update apt signing key with SHA-256 binding signatures.
Fixes #1437.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-12 20:37:06 -07:00
Anders Kaseorg
9dd5fd2aa5 Mark more strings for translation.
Fixes #1128 among many other things.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-06 14:04:43 -07:00
Anders Kaseorg
11e2635aa0 Correct node-json-db Errors.js imports.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-06 14:02:00 -07:00
Anders Kaseorg
b35cf13a77 tests: Move tests/package.json to its own folder.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-06 13:38:35 -07:00
Anders Kaseorg
814de8ad6a tests: Convert tests to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-06 13:29:46 -07:00
Anders Kaseorg
d9dbbf2359 tests: Switch from medium to p-fifo.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-06 13:29:46 -07:00
Anders Kaseorg
a9c9de2dee Convert i18next-parser configuration to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-06 13:29:46 -07:00
Anders Kaseorg
9b626950ae workflows: Use actions/setup-node.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 01:10:40 -07:00
Anders Kaseorg
45672432db Focus the webview for notification settings, keyboard shortcuts.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:57:36 -07:00
Anders Kaseorg
b5665abb3e Upgrade dependencies, including Electron 37.2.5.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:48:30 -07:00
Anders Kaseorg
5b30bb2a16 stylelint: Fix property-no-deprecated.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:40:03 -07:00
Anders Kaseorg
598aa6f4b9 webview: Adjust app.dock feature test for TypeScript friendliness.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:40:03 -07:00
Anders Kaseorg
2e7ed457f0 xo: Fix @typescript-eslint/prefer-nullish-coalescing.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:40:03 -07:00
Anders Kaseorg
bb3cad818b xo: Fix unicorn/prefer-string-raw.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:40:03 -07:00
Anders Kaseorg
e3d9308c21 xo: Fix unicorn/prefer-single-call.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:40:03 -07:00
Anders Kaseorg
098d35fc5c index: Avoid deprecated Buffer#slice.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:40:03 -07:00
Anders Kaseorg
eb849a7b3d Switch to "type": "module".
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-05 00:32:25 -07:00
Anders Kaseorg
ab3698f56c Switch i18next-scanner to i18next-parser.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-02 11:53:21 -07:00
Anders Kaseorg
0fdeb1fd17 translations: Update translations from Transifex.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-31 17:48:29 -07:00
Anders Kaseorg
d270d56309 xo: Prohibit main-only and renderer-only APIs in wrong processes.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-20 16:35:18 -07:00
Anders Kaseorg
2c5b1ad297 xo: Use eslint-import-resolver-typescript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-20 16:35:18 -07:00
Anders Kaseorg
26b226c7ae Use .ts extensions for imports.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-20 16:35:18 -07:00
Anders Kaseorg
7f6699e235 tsconfig: Enable allowImportingTsExtensions.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-20 16:35:18 -07:00
Anders Kaseorg
339f0d19c7 xo: Configure import/no-extraneous-dependencies packageDir.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-20 16:35:18 -07:00
Anders Kaseorg
86882c0741 xo: Move configuration to xo.config.cjs.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-20 16:35:18 -07:00
Anders Kaseorg
cf5a691a36 Revert "enterprise: Quit app after showing error for invalid global config."
This reverts commit 51ff949d34.

It incorrectly uses a main-only API in app/common, which is shared
between the main and renderer processes.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-20 16:35:18 -07:00
Shubham Padia
51ff949d34 enterprise: Quit app after showing error for invalid global config.
Otherwise, the error will keep showing multiple times ultimately
leading to a non-working app after multiple errors.
2025-06-17 18:07:11 -07:00
Shubham Padia
e5680b12f4 enterprise: Show error dialogbox on invalid JSON.
Fixes #1404.

Co-authored-by: sammamama <samridhsame@gmail.com>
2025-06-17 18:07:11 -07:00
Shubham Padia
b42f9de27d preferences: Increase contrast of setting text and nav items.
The text in the settings panel was unnecessarily fade, making it hard to
read. Increasing the contrast makes it more readable. The setting text
color is the same as the heading of the settings. This commit also
changes the color of the nav items to be the same as `|` bar preceding
it.
https://chat.zulip.org/#narrow/channel/101-design/topic/zulip-desktop.20preferences.20contrast
2025-06-11 12:33:00 -07:00
Shubham Padia
201faa9449 settings: Make Do not disturb icon brigther when it's on.
It was not so obvious to users when they were in DND mode, making the
icon brigther when in DND mode hopes to address that.
https://chat.zulip.org/#narrow/channel/101-design/topic/zulip-desktop.20DND.20icon.20contrast
2025-06-11 12:32:11 -07:00
Shubham Padia
4125de4a60 css: Use hsl for action-button icon colors.
We only change this for `.action-button i` and `.action-button:hover i`
since we need to make the dnd icon lighter in comparison to these two.
These are the two that are absolutely necessary to change, we can also
change others to hsl color space after discussion on CZO.
2025-06-11 12:32:11 -07:00
130 changed files with 7383 additions and 4776 deletions

View File

@@ -6,6 +6,6 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[{*.css,*.html,*.js,*.json,*.ts}]
[{*.cjs,*.css,*.html,*.js,*.json,*.ts}]
indent_style = space
indent_size = 2

View File

@@ -10,6 +10,9 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: lts/*
- uses: actions/checkout@v4
- run: npm ci
- run: npm test

3
.gitignore vendored
View File

@@ -4,9 +4,6 @@
# npm cache directory
.npm
# transifexrc - if user prefers it to be in working tree
.transifexrc
# Compiled binary build directory
/dist/
/dist-electron/

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
node-options=--experimental-strip-types

View File

@@ -1,9 +0,0 @@
[main]
host = https://www.transifex.com
[o:zulip:p:zulip:r:desktopjson]
file_filter = public/translations/<lang>.json
minimum_perc = 0
source_file = public/translations/en.json
source_lang = en
type = KEYVALUEJSON

View File

@@ -37,6 +37,7 @@ export const configSchemata = {
useProxy: z.boolean(),
useSystemProxy: z.boolean(),
};
export type ConfigSchemata = typeof configSchemata;
export const enterpriseConfigSchemata = {
...configSchemata,

View File

@@ -3,16 +3,16 @@ import path from "node:path";
import * as Sentry from "@sentry/core";
import {JsonDB} from "node-json-db";
import {DataError} from "node-json-db/dist/lib/Errors";
import {DataError} from "node-json-db/dist/lib/Errors.js";
import type {z} from "zod";
import {app, dialog} from "zulip:remote";
import {configSchemata} from "./config-schemata.js";
import * as EnterpriseUtil from "./enterprise-util.js";
import Logger from "./logger-util.js";
import {type ConfigSchemata, configSchemata} from "./config-schemata.ts";
import * as EnterpriseUtil from "./enterprise-util.ts";
import Logger from "./logger-util.ts";
export type Config = {
[Key in keyof typeof configSchemata]: z.output<(typeof configSchemata)[Key]>;
[Key in keyof ConfigSchemata]: z.output<ConfigSchemata[Key]>;
};
const logger = new Logger({
@@ -26,7 +26,7 @@ reloadDatabase();
export function getConfigItem<Key extends keyof Config>(
key: Key,
defaultValue: Config[Key],
): z.output<(typeof configSchemata)[Key]> {
): z.output<ConfigSchemata[Key]> {
try {
database.reload();
} catch (error: unknown) {
@@ -35,7 +35,13 @@ export function getConfigItem<Key extends keyof Config>(
}
try {
return configSchemata[key].parse(database.getObject<unknown>(`/${key}`));
const typedSchemata: {
[Key in keyof Config]: z.ZodType<
z.output<ConfigSchemata[Key]>,
z.input<ConfigSchemata[Key]>
>;
} = configSchemata; // https://github.com/colinhacks/zod/issues/5154
return typedSchemata[key].parse(database.getObject<unknown>(`/${key}`));
} catch (error: unknown) {
if (!(error instanceof DataError)) throw error;
setConfigItem(key, defaultValue);

View File

@@ -2,8 +2,8 @@ import process from "node:process";
import type {z} from "zod";
import type {dndSettingsSchemata} from "./config-schemata.js";
import * as ConfigUtil from "./config-util.js";
import type {dndSettingsSchemata} from "./config-schemata.ts";
import * as ConfigUtil from "./config-util.ts";
export type DndSettings = {
[Key in keyof typeof dndSettingsSchemata]: z.output<

View File

@@ -3,9 +3,10 @@ import path from "node:path";
import process from "node:process";
import {z} from "zod";
import {dialog} from "zulip:remote";
import {enterpriseConfigSchemata} from "./config-schemata.js";
import Logger from "./logger-util.js";
import {enterpriseConfigSchemata} from "./config-schemata.ts";
import Logger from "./logger-util.ts";
type EnterpriseConfig = {
[Key in keyof typeof enterpriseConfigSchemata]: z.output<
@@ -25,8 +26,7 @@ reloadDatabase();
function reloadDatabase(): void {
let enterpriseFile = "/etc/zulip-desktop-config/global_config.json";
if (process.platform === "win32") {
enterpriseFile =
"C:\\Program Files\\Zulip-Desktop-Config\\global_config.json";
enterpriseFile = String.raw`C:\Program Files\Zulip-Desktop-Config\global_config.json`;
}
enterpriseFile = path.resolve(enterpriseFile);
@@ -40,6 +40,10 @@ function reloadDatabase(): void {
.partial()
.parse(data);
} catch (error: unknown) {
dialog.showErrorBox(
"Error loading global_config",
"We encountered an error while reading global_config.json, please make sure the file contains valid JSON.",
);
logger.log("Error while JSON parsing global_config.json: ");
logger.log(error);
}

View File

@@ -3,7 +3,8 @@ import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import {html} from "./html.js";
import {Html, html} from "./html.ts";
import * as t from "./translation-util.ts";
export async function openBrowser(url: URL): Promise<void> {
if (["http:", "https:", "mailto:"].includes(url.protocol)) {
@@ -21,7 +22,7 @@ export async function openBrowser(url: URL): Promise<void> {
<head>
<meta charset="UTF-8" />
<meta http-equiv="Refresh" content="0; url=${url.href}" />
<title>Redirecting</title>
<title>${t.__("Redirecting")}</title>
<style>
html {
font-family: menu, "Helvetica Neue", sans-serif;
@@ -29,7 +30,13 @@ export async function openBrowser(url: URL): Promise<void> {
</style>
</head>
<body>
<p>Opening <a href="${url.href}">${url.href}</a>…</p>
<p>
${new Html({
html: t.__("Opening {{{link}}}…", {
link: html`<a href="${url.href}">${url.href}</a>`.html,
}),
})}
</p>
</body>
</html>
`.html,

View File

@@ -5,7 +5,7 @@ import process from "node:process";
import {app} from "zulip:remote";
import {initSetUp} from "./default-util.js";
import {initSetUp} from "./default-util.ts";
type LoggerOptions = {
file?: string;

View File

@@ -1,3 +1,5 @@
import * as t from "./translation-util.ts";
type DialogBoxError = {
title: string;
content: string;
@@ -13,26 +15,24 @@ export function invalidZulipServerError(domain: string): string {
https://zulip.readthedocs.io/en/stable/production/ssl-certificates.html`;
}
export function enterpriseOrgError(
length: number,
domains: string[],
): DialogBoxError {
export function enterpriseOrgError(domains: string[]): DialogBoxError {
let domainList = "";
for (const domain of domains) {
domainList += `${domain}\n`;
}
return {
title: `Could not add the following ${
length === 1 ? "organization" : "organizations"
}`,
content: `${domainList}\nPlease contact your system administrator.`,
title: t.__mf(
"{number, plural, one {Could not add # organization} other {Could not add # organizations}}",
{number: domains.length},
),
content: `${domainList}\n${t.__("Please contact your system administrator.")}`,
};
}
export function orgRemovalError(url: string): DialogBoxError {
return {
title: `Removing ${url} is a restricted operation.`,
content: "Please contact your system administrator.",
title: t.__("Removing {{{url}}} is a restricted operation.", {url}),
content: t.__("Please contact your system administrator."),
};
}

View File

@@ -2,8 +2,8 @@ import path from "node:path";
import i18n from "i18n";
import * as ConfigUtil from "./config-util.js";
import {publicPath} from "./paths.js";
import * as ConfigUtil from "./config-util.ts";
import {publicPath} from "./paths.ts";
i18n.configure({
directory: path.join(publicPath, "translations/"),
@@ -13,4 +13,4 @@ i18n.configure({
/* Fetches the current appLocale from settings.json */
i18n.setLocale(ConfigUtil.getConfigItem("appLanguage", "en") ?? "en");
export {__} from "i18n";
export {__, __mf} from "i18n";

View File

@@ -1,5 +1,5 @@
import type {DndSettings} from "./dnd-util.js";
import type {MenuProperties, ServerConfig} from "./types.js";
import type {DndSettings} from "./dnd-util.ts";
import type {MenuProperties, ServerConfig} from "./types.ts";
export type MainMessage = {
"clear-app-settings": () => void;

View File

@@ -9,10 +9,10 @@ import {
autoUpdater,
} from "electron-updater";
import * as ConfigUtil from "../common/config-util.js";
import * as t from "../common/translation-util.js";
import * as ConfigUtil from "../common/config-util.ts";
import * as t from "../common/translation-util.ts";
import {linuxUpdateNotification} from "./linuxupdater.js"; // Required only in case of linux
import {linuxUpdateNotification} from "./linuxupdater.ts"; // Required only in case of linux
let quitting = false;

View File

@@ -2,9 +2,9 @@ import {nativeImage} from "electron/common";
import {type BrowserWindow, app} from "electron/main";
import process from "node:process";
import * as ConfigUtil from "../common/config-util.js";
import * as ConfigUtil from "../common/config-util.ts";
import {send} from "./typed-ipc-main.js";
import {send} from "./typed-ipc-main.ts";
function showBadgeCount(messageCount: number, mainWindow: BrowserWindow): void {
if (process.platform === "win32") {

View File

@@ -9,10 +9,11 @@ import {
import fs from "node:fs";
import path from "node:path";
import * as ConfigUtil from "../common/config-util.js";
import * as LinkUtil from "../common/link-util.js";
import * as ConfigUtil from "../common/config-util.ts";
import * as LinkUtil from "../common/link-util.ts";
import * as t from "../common/translation-util.ts";
import {send} from "./typed-ipc-main.js";
import {send} from "./typed-ipc-main.ts";
function isUploadsUrl(server: string, url: URL): boolean {
return url.origin === server && url.pathname.startsWith("/user_uploads/");
@@ -125,8 +126,8 @@ export default function handleExternalLink(
downloadPath,
async completed(filePath: string, fileName: string) {
const downloadNotification = new Notification({
title: "Download Complete",
body: `Click to show ${fileName} in folder`,
title: t.__("Download Complete"),
body: t.__("Click to show {{{fileName}}} in folder", {fileName}),
silent: true, // We'll play our own sound - ding.ogg
});
downloadNotification.on("click", () => {
@@ -149,8 +150,8 @@ export default function handleExternalLink(
if (state !== "cancelled") {
if (ConfigUtil.getConfigItem("promptDownload", false)) {
new Notification({
title: "Download Complete",
body: "Download failed",
title: t.__("Download Complete"),
body: t.__("Download failed"),
}).show();
} else {
contents.downloadURL(url.href);

View File

@@ -17,22 +17,22 @@ import process from "node:process";
import * as remoteMain from "@electron/remote/main";
import windowStateKeeper from "electron-window-state";
import * as ConfigUtil from "../common/config-util.js";
import {bundlePath, bundleUrl, publicPath} from "../common/paths.js";
import * as t from "../common/translation-util.js";
import type {RendererMessage} from "../common/typed-ipc.js";
import type {MenuProperties} from "../common/types.js";
import * as ConfigUtil from "../common/config-util.ts";
import {bundlePath, bundleUrl, publicPath} from "../common/paths.ts";
import * as t from "../common/translation-util.ts";
import type {RendererMessage} from "../common/typed-ipc.ts";
import type {MenuProperties} from "../common/types.ts";
import {appUpdater, shouldQuitForUpdate} from "./autoupdater.js";
import * as BadgeSettings from "./badge-settings.js";
import handleExternalLink from "./handle-external-link.js";
import * as AppMenu from "./menu.js";
import {_getServerSettings, _isOnline, _saveServerIcon} from "./request.js";
import {sentryInit} from "./sentry.js";
import {setAutoLaunch} from "./startup.js";
import {ipcMain, send} from "./typed-ipc-main.js";
import {appUpdater, shouldQuitForUpdate} from "./autoupdater.ts";
import * as BadgeSettings from "./badge-settings.ts";
import handleExternalLink from "./handle-external-link.ts";
import * as AppMenu from "./menu.ts";
import {_getServerSettings, _isOnline, _saveServerIcon} from "./request.ts";
import {sentryInit} from "./sentry.ts";
import {setAutoLaunch} from "./startup.ts";
import {ipcMain, send} from "./typed-ipc-main.ts";
import "gatemaker/electron-setup"; // eslint-disable-line import/no-unassigned-import
import "gatemaker/electron-setup.js"; // eslint-disable-line import-x/no-unassigned-import
// eslint-disable-next-line @typescript-eslint/naming-convention
const {GDK_BACKEND} = process.env;
@@ -87,7 +87,7 @@ function createMainWindow(): BrowserWindow {
minWidth: 500,
minHeight: 400,
webPreferences: {
preload: path.join(bundlePath, "renderer.js"),
preload: path.join(bundlePath, "renderer.cjs"),
sandbox: false,
webviewTag: true,
},
@@ -239,9 +239,9 @@ function createMainWindow(): BrowserWindow {
try {
// Check that the data on the clipboard was encrypted to the key.
const data = Buffer.from(clipboard.readText(), "hex");
const iv = data.slice(0, 12);
const ciphertext = data.slice(12, -16);
const authTag = data.slice(-16);
const iv = data.subarray(0, 12);
const ciphertext = data.subarray(12, -16);
const authTag = data.subarray(-16);
const decipher = crypto.createDecipheriv("aes-256-gcm", key, iv, {
authTagLength: 16,
});

View File

@@ -3,10 +3,10 @@ import fs from "node:fs";
import path from "node:path";
import {JsonDB} from "node-json-db";
import {DataError} from "node-json-db/dist/lib/Errors";
import {DataError} from "node-json-db/dist/lib/Errors.js";
import Logger from "../common/logger-util.js";
import * as t from "../common/translation-util.js";
import Logger from "../common/logger-util.ts";
import * as t from "../common/translation-util.ts";
const logger = new Logger({
file: "linux-update-util.log",

View File

@@ -3,10 +3,11 @@ import {Notification, type Session, app} from "electron/main";
import * as semver from "semver";
import {z} from "zod";
import * as ConfigUtil from "../common/config-util.js";
import Logger from "../common/logger-util.js";
import * as ConfigUtil from "../common/config-util.ts";
import Logger from "../common/logger-util.ts";
import * as t from "../common/translation-util.ts";
import * as LinuxUpdateUtil from "./linux-update-util.js";
import * as LinuxUpdateUtil from "./linux-update-util.ts";
const logger = new Logger({
file: "linux-update-util.log",
@@ -34,8 +35,11 @@ export async function linuxUpdateNotification(session: Session): Promise<void> {
const notified = LinuxUpdateUtil.getUpdateItem(latestVersion);
if (notified === null) {
new Notification({
title: "Zulip Update",
body: `A new version ${latestVersion} is available. Please update using your package manager.`,
title: t.__("Zulip Update"),
body: t.__(
"A new version {{{version}}} is available. Please update using your package manager.",
{version: latestVersion},
),
}).show();
LinuxUpdateUtil.setUpdateItem(latestVersion, true);
}

View File

@@ -9,14 +9,14 @@ import process from "node:process";
import AdmZip from "adm-zip";
import * as ConfigUtil from "../common/config-util.js";
import * as DNDUtil from "../common/dnd-util.js";
import * as t from "../common/translation-util.js";
import type {RendererMessage} from "../common/typed-ipc.js";
import type {MenuProperties, TabData} from "../common/types.js";
import * as ConfigUtil from "../common/config-util.ts";
import * as DNDUtil from "../common/dnd-util.ts";
import * as t from "../common/translation-util.ts";
import type {RendererMessage} from "../common/typed-ipc.ts";
import type {MenuProperties, TabData} from "../common/types.ts";
import {appUpdater} from "./autoupdater.js";
import {send} from "./typed-ipc-main.js";
import {appUpdater} from "./autoupdater.ts";
import {send} from "./typed-ipc-main.ts";
const appName = app.name;

View File

@@ -8,9 +8,9 @@ import type {ReadableStream} from "node:stream/web";
import * as Sentry from "@sentry/electron/main";
import {z} from "zod";
import Logger from "../common/logger-util.js";
import * as Messages from "../common/messages.js";
import type {ServerConfig} from "../common/types.js";
import Logger from "../common/logger-util.ts";
import * as Messages from "../common/messages.ts";
import type {ServerConfig} from "../common/types.ts";
/* Request: domain-util */
@@ -59,7 +59,7 @@ export const _getServerSettings = async (
} = z
.object({
realm_name: z.string(),
realm_uri: z.string().url(),
realm_uri: z.url(),
realm_icon: z.string(),
zulip_version: z.string().default("unknown"),
zulip_feature_level: z.number().default(0),

View File

@@ -2,7 +2,7 @@ import {app} from "electron/main";
import * as Sentry from "@sentry/electron/main";
import {getConfigItem} from "../common/config-util.js";
import {getConfigItem} from "../common/config-util.ts";
export const sentryInit = (): void => {
Sentry.init({

View File

@@ -3,7 +3,7 @@ import process from "node:process";
import AutoLaunch from "auto-launch";
import * as ConfigUtil from "../common/config-util.js";
import * as ConfigUtil from "../common/config-util.ts";
export const setAutoLaunch = async (
AutoLaunchValue: boolean,

View File

@@ -85,7 +85,7 @@ body {
line-height: 1;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
overflow-wrap: normal;
white-space: nowrap;
direction: ltr;
@@ -114,12 +114,20 @@ body {
}
.action-button i {
color: rgb(108 133 146 / 100%);
color: hsl(200.53deg 14.96% 49.8%);
font-size: 28px;
}
.action-button:hover i {
color: rgb(152 169 179 / 100%);
color: hsl(202.22deg 15.08% 64.9%);
}
.action-button > .dnd-on {
color: hsl(200.53deg 14.96% 85%);
}
.action-button:hover > .dnd-on {
color: hsl(202.22deg 15.08% 95%);
}
.action-button.active {

View File

@@ -11,7 +11,7 @@
background: rgb(239 239 239 / 100%);
letter-spacing: -0.08px;
line-height: 18px;
color: rgb(139 142 143 / 100%);
color: rgb(34 44 49 / 100%);
/* Copied from https://github.com/yairEO/tagify/blob/v4.17.7/src/tagify.scss#L4-L8 */
--tagify-dd-color-primary: rgb(53 149 246);
@@ -68,7 +68,7 @@ td:nth-child(odd) {
line-height: 1;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
overflow-wrap: normal;
white-space: nowrap;
direction: ltr;
@@ -101,7 +101,7 @@ td:nth-child(odd) {
.nav {
padding: 7px 0;
color: rgb(153 153 153 / 100%);
color: rgb(70 78 90 / 100%);
cursor: pointer;
}

View File

@@ -1,4 +1,4 @@
import {ipcRenderer} from "./typed-ipc-renderer.js";
import {ipcRenderer} from "./typed-ipc-renderer.ts";
// This helper is exposed via electron_bridge for use in the social
// login flow.
@@ -33,10 +33,7 @@ export class ClipboardDecrypterImplementation implements ClipboardDecrypter {
this.pasted = new Promise((resolve) => {
let interval: NodeJS.Timeout | null = null;
const startPolling = () => {
if (interval === null) {
interval = setInterval(poll, 1000);
}
interval ??= setInterval(poll, 1000);
void poll();
};

View File

@@ -1,4 +1,4 @@
import type {Html} from "../../../common/html.js";
import type {Html} from "../../../common/html.ts";
export function generateNodeFromHtml(html: Html): Element {
const wrapper = document.createElement("div");

View File

@@ -6,9 +6,9 @@ import type {
} from "electron/renderer";
import process from "node:process";
import {Menu} from "@electron/remote";
import {BrowserWindow, Menu} from "@electron/remote";
import * as t from "../../../common/translation-util.js";
import * as t from "../../../common/translation-util.ts";
export const contextMenu = (
webContents: WebContents,
@@ -115,15 +115,6 @@ export const contextMenu = (
});
},
},
{
type: "separator",
visible: isLink || properties.mediaType === "image",
},
{
label: t.__("Services"),
visible: process.platform === "darwin",
role: "services",
},
];
if (properties.misspelledWord) {
@@ -149,5 +140,11 @@ export const contextMenu = (
(menuItem) => menuItem.visible ?? true,
);
const menu = Menu.buildFromTemplate(filteredMenuTemplate);
menu.popup();
menu.popup({
window: BrowserWindow.fromWebContents(webContents) ?? undefined,
frame: properties.frame ?? undefined,
x: properties.x,
y: properties.y,
sourceType: properties.menuSourceType,
});
};

View File

@@ -1,8 +1,8 @@
import {type Html, html} from "../../../common/html.js";
import type {TabPage} from "../../../common/types.js";
import {type Html, html} from "../../../common/html.ts";
import type {TabPage} from "../../../common/types.ts";
import {generateNodeFromHtml} from "./base.js";
import Tab, {type TabProperties} from "./tab.js";
import {generateNodeFromHtml} from "./base.ts";
import Tab, {type TabProperties} from "./tab.ts";
export type FunctionalTabProperties = {
$view: Element;

View File

@@ -1,11 +1,11 @@
import process from "node:process";
import {type Html, html} from "../../../common/html.js";
import {ipcRenderer} from "../typed-ipc-renderer.js";
import {type Html, html} from "../../../common/html.ts";
import {ipcRenderer} from "../typed-ipc-renderer.ts";
import {generateNodeFromHtml} from "./base.js";
import Tab, {type TabProperties} from "./tab.js";
import type WebView from "./webview.js";
import {generateNodeFromHtml} from "./base.ts";
import Tab, {type TabProperties} from "./tab.ts";
import type WebView from "./webview.ts";
export type ServerTabProperties = {
webview: Promise<WebView>;

View File

@@ -1,4 +1,4 @@
import type {TabPage, TabRole} from "../../../common/types.js";
import type {TabPage, TabRole} from "../../../common/types.ts";
export type TabProperties = {
role: TabRole;

View File

@@ -1,21 +1,20 @@
import type {WebContents} from "electron/main";
import fs from "node:fs";
import process from "node:process";
import * as remote from "@electron/remote";
import {app, dialog} from "@electron/remote";
import * as ConfigUtil from "../../../common/config-util.js";
import {type Html, html} from "../../../common/html.js";
import * as t from "../../../common/translation-util.js";
import type {RendererMessage} from "../../../common/typed-ipc.js";
import type {TabRole} from "../../../common/types.js";
import * as ConfigUtil from "../../../common/config-util.ts";
import {type Html, html} from "../../../common/html.ts";
import * as t from "../../../common/translation-util.ts";
import type {RendererMessage} from "../../../common/typed-ipc.ts";
import type {TabRole} from "../../../common/types.ts";
import preloadCss from "../../css/preload.css?raw";
import {ipcRenderer} from "../typed-ipc-renderer.js";
import * as SystemUtil from "../utils/system-util.js";
import {ipcRenderer} from "../typed-ipc-renderer.ts";
import * as SystemUtil from "../utils/system-util.ts";
import {generateNodeFromHtml} from "./base.js";
import {contextMenu} from "./context-menu.js";
import {generateNodeFromHtml} from "./base.ts";
import {contextMenu} from "./context-menu.ts";
const shouldSilentWebview = ConfigUtil.getConfigItem("silent", false);
@@ -143,6 +142,7 @@ export default class WebView {
showNotificationSettings(): void {
this.send("show-notification-settings");
this.focus();
}
focus(): void {
@@ -177,6 +177,7 @@ export default class WebView {
showKeyboardShortcuts(): void {
this.send("show-keyboard-shortcuts");
this.focus();
}
openDevTools(): void {
@@ -251,10 +252,7 @@ export default class WebView {
webContents.on("page-favicon-updated", (_event, favicons) => {
// This returns a string of favicons URL. If there is a PM counts in unread messages then the URL would be like
// https://chat.zulip.org/static/images/favicon/favicon-pms.png
if (
favicons[0].indexOf("favicon-pms") > 0 &&
process.platform === "darwin"
) {
if (favicons[0].indexOf("favicon-pms") > 0 && app.dock !== undefined) {
// This api is only supported on macOS
app.dock.setBadge("●");
// Bounce the dock

View File

@@ -3,9 +3,9 @@ import {EventEmitter} from "node:events";
import {
type ClipboardDecrypter,
ClipboardDecrypterImplementation,
} from "./clipboard-decrypter.js";
import {type NotificationData, newNotification} from "./notification/index.js";
import {ipcRenderer} from "./typed-ipc-renderer.js";
} from "./clipboard-decrypter.ts";
import {type NotificationData, newNotification} from "./notification/index.ts";
import {ipcRenderer} from "./typed-ipc-renderer.ts";
type ListenerType = (...arguments_: any[]) => void;

View File

@@ -1,3 +1,5 @@
import "./zod-config.ts"; // eslint-disable-line import-x/no-unassigned-import
import {clipboard} from "electron/common";
import path from "node:path";
import process from "node:process";
@@ -7,17 +9,17 @@ import {Menu, app, dialog, session} from "@electron/remote";
import * as remote from "@electron/remote";
import * as Sentry from "@sentry/electron/renderer";
import type {Config} from "../../common/config-util.js";
import * as ConfigUtil from "../../common/config-util.js";
import * as DNDUtil from "../../common/dnd-util.js";
import type {DndSettings} from "../../common/dnd-util.js";
import * as EnterpriseUtil from "../../common/enterprise-util.js";
import {html} from "../../common/html.js";
import * as LinkUtil from "../../common/link-util.js";
import Logger from "../../common/logger-util.js";
import * as Messages from "../../common/messages.js";
import {bundlePath, bundleUrl} from "../../common/paths.js";
import * as t from "../../common/translation-util.js";
import type {Config} from "../../common/config-util.ts";
import * as ConfigUtil from "../../common/config-util.ts";
import * as DNDUtil from "../../common/dnd-util.ts";
import type {DndSettings} from "../../common/dnd-util.ts";
import * as EnterpriseUtil from "../../common/enterprise-util.ts";
import {html} from "../../common/html.ts";
import * as LinkUtil from "../../common/link-util.ts";
import Logger from "../../common/logger-util.ts";
import * as Messages from "../../common/messages.ts";
import {bundlePath, bundleUrl} from "../../common/paths.ts";
import * as t from "../../common/translation-util.ts";
import type {
NavigationItem,
ServerConfig,
@@ -26,15 +28,15 @@ import type {
} from "../../common/types.js";
import defaultIcon from "../img/icon.png";
import FunctionalTab from "./components/functional-tab.js";
import ServerTab from "./components/server-tab.js";
import WebView from "./components/webview.js";
import {AboutView} from "./pages/about.js";
import {PreferenceView} from "./pages/preference/preference.js";
import {initializeTray} from "./tray.js";
import {ipcRenderer} from "./typed-ipc-renderer.js";
import * as DomainUtil from "./utils/domain-util.js";
import ReconnectUtil from "./utils/reconnect-util.js";
import FunctionalTab from "./components/functional-tab.ts";
import ServerTab from "./components/server-tab.ts";
import WebView from "./components/webview.ts";
import {AboutView} from "./pages/about.ts";
import {PreferenceView} from "./pages/preference/preference.ts";
import {initializeTray} from "./tray.ts";
import {ipcRenderer} from "./typed-ipc-renderer.ts";
import * as DomainUtil from "./utils/domain-util.ts";
import ReconnectUtil from "./utils/reconnect-util.ts";
Sentry.init({});
@@ -80,7 +82,6 @@ export class ServerManagerView {
$dndTooltip: HTMLElement;
$sidebar: Element;
$fullscreenPopup: Element;
$fullscreenEscapeKey: string;
loading: Set<string>;
activeTabIndex: number;
tabs: ServerOrFunctionalTab[];
@@ -121,8 +122,10 @@ export class ServerManagerView {
this.$sidebar = document.querySelector("#sidebar")!;
this.$fullscreenPopup = document.querySelector("#fullscreen-popup")!;
this.$fullscreenEscapeKey = process.platform === "darwin" ? "^⌘F" : "F11";
this.$fullscreenPopup.textContent = `Press ${this.$fullscreenEscapeKey} to exit full screen`;
this.$fullscreenPopup.textContent = t.__(
"Press {{{exitKey}}} to exit full screen",
{exitKey: process.platform === "darwin" ? "^⌘F" : "F11"},
);
this.loading = new Set();
this.activeTabIndex = -1;
@@ -261,7 +264,10 @@ export class ServerManagerView {
} catch (error: unknown) {
logger.error(error);
logger.error(
`Could not add ${domain}. Please contact your system administrator.`,
t.__(
"Could not add {{{domain}}}. Please contact your system administrator.",
{domain},
),
);
return false;
}
@@ -311,10 +317,7 @@ export class ServerManagerView {
failedDomains.push(org);
}
const {title, content} = Messages.enterpriseOrgError(
domainsAdded.length,
failedDomains,
);
const {title, content} = Messages.enterpriseOrgError(failedDomains);
dialog.showErrorBox(title, content);
if (DomainUtil.getDomains().length === 0) {
// No orgs present, stop showing loading gif
@@ -412,7 +415,7 @@ export class ServerManagerView {
await this.openNetworkTroubleshooting(index);
},
onTitleChange: this.updateBadge.bind(this),
preload: url.pathToFileURL(path.join(bundlePath, "preload.js")).href,
preload: url.pathToFileURL(path.join(bundlePath, "preload.cjs")).href,
unsupportedMessage: DomainUtil.getUnsupportedMessage(server),
}),
});
@@ -511,8 +514,7 @@ export class ServerManagerView {
}
$altIcon.textContent = realmName.charAt(0) || "Z";
$altIcon.classList.add("server-icon");
$altIcon.classList.add("alt-icon");
$altIcon.classList.add("server-icon", "alt-icon");
$img.remove();
$parent.append($altIcon);
@@ -796,11 +798,17 @@ export class ServerManagerView {
// Toggles the dnd button icon.
toggleDndButton(alert: boolean): void {
this.$dndTooltip.textContent =
(alert ? "Disable" : "Enable") + " Do Not Disturb";
this.$dndButton.querySelector("i")!.textContent = alert
? "notifications_off"
: "notifications";
this.$dndTooltip.textContent = alert
? t.__("Disable Do Not Disturb")
: t.__("Enable Do Not Disturb");
const $dndIcon = this.$dndButton.querySelector("i")!;
$dndIcon.textContent = alert ? "notifications_off" : "notifications";
if (alert) {
$dndIcon.classList.add("dnd-on");
} else {
$dndIcon.classList.remove("dnd-on");
}
}
async isLoggedIn(tabIndex: number): Promise<boolean> {

View File

@@ -1,4 +1,4 @@
import {ipcRenderer} from "../typed-ipc-renderer.js";
import {ipcRenderer} from "../typed-ipc-renderer.ts";
export type NotificationData = {
close: () => void;

View File

@@ -1,9 +1,9 @@
import {app} from "@electron/remote";
import {Html, html} from "../../../common/html.js";
import {bundleUrl} from "../../../common/paths.js";
import * as t from "../../../common/translation-util.js";
import {generateNodeFromHtml} from "../components/base.js";
import {Html, html} from "../../../common/html.ts";
import {bundleUrl} from "../../../common/paths.ts";
import * as t from "../../../common/translation-util.ts";
import {generateNodeFromHtml} from "../components/base.ts";
export class AboutView {
static async create(): Promise<AboutView> {

View File

@@ -1,4 +1,4 @@
import {ipcRenderer} from "../typed-ipc-renderer.js";
import {ipcRenderer} from "../typed-ipc-renderer.ts";
export function init(
$reconnectButton: Element,

View File

@@ -1,6 +1,7 @@
import {type Html, html} from "../../../../common/html.js";
import {generateNodeFromHtml} from "../../components/base.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js";
import {type Html, html} from "../../../../common/html.ts";
import * as t from "../../../../common/translation-util.ts";
import {generateNodeFromHtml} from "../../components/base.ts";
import {ipcRenderer} from "../../typed-ipc-renderer.ts";
type BaseSectionProperties = {
$element: HTMLElement;
@@ -31,7 +32,7 @@ export function generateOptionHtml(
const labelHtml = disabled
? html`<label
class="disallowed"
title="Setting locked by system administrator."
title="${t.__("Setting locked by system administrator.")}"
></label>`
: html`<label></label>`;
if (settingOption) {

View File

@@ -1,11 +1,11 @@
import {html} from "../../../../common/html.js";
import * as t from "../../../../common/translation-util.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js";
import * as DomainUtil from "../../utils/domain-util.js";
import {html} from "../../../../common/html.ts";
import * as t from "../../../../common/translation-util.ts";
import {ipcRenderer} from "../../typed-ipc-renderer.ts";
import * as DomainUtil from "../../utils/domain-util.ts";
import {reloadApp} from "./base-section.js";
import {initFindAccounts} from "./find-accounts.js";
import {initServerInfoForm} from "./server-info-form.js";
import {reloadApp} from "./base-section.ts";
import {initFindAccounts} from "./find-accounts.ts";
import {initServerInfoForm} from "./server-info-form.ts";
type ConnectedOrgSectionProperties = {
$root: Element;

View File

@@ -1,7 +1,7 @@
import {html} from "../../../../common/html.js";
import * as LinkUtil from "../../../../common/link-util.js";
import * as t from "../../../../common/translation-util.js";
import {generateNodeFromHtml} from "../../components/base.js";
import {html} from "../../../../common/html.ts";
import * as LinkUtil from "../../../../common/link-util.ts";
import * as t from "../../../../common/translation-util.ts";
import {generateNodeFromHtml} from "../../components/base.ts";
type FindAccountsProperties = {
$root: Element;

View File

@@ -9,13 +9,13 @@ import Tagify from "@yaireo/tagify";
import {z} from "zod";
import supportedLocales from "../../../../../public/translations/supported-locales.json";
import * as ConfigUtil from "../../../../common/config-util.js";
import * as EnterpriseUtil from "../../../../common/enterprise-util.js";
import {html} from "../../../../common/html.js";
import * as t from "../../../../common/translation-util.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js";
import * as ConfigUtil from "../../../../common/config-util.ts";
import * as EnterpriseUtil from "../../../../common/enterprise-util.ts";
import {html} from "../../../../common/html.ts";
import * as t from "../../../../common/translation-util.ts";
import {ipcRenderer} from "../../typed-ipc-renderer.ts";
import {generateSelectHtml, generateSettingOption} from "./base-section.js";
import {generateSelectHtml, generateSettingOption} from "./base-section.ts";
const currentBrowserWindow = remote.getCurrentWindow();
@@ -561,8 +561,9 @@ export function initGeneralSection({$root}: GeneralSectionProperties): void {
}
async function factoryResetSettings(): Promise<void> {
const clearAppDataMessage =
"When the application restarts, it will be as if you have just downloaded Zulip app.";
const clearAppDataMessage = t.__(
"When the application restarts, it will be as if you have just downloaded the Zulip app.",
);
const getAppPath = path.join(app.getPath("appData"), app.name);
const {response} = await dialog.showMessageBox({
@@ -609,7 +610,7 @@ export function initGeneralSection({$root}: GeneralSectionProperties): void {
spellDiv.innerHTML += html`
<div class="setting-description">${t.__("Spellchecker Languages")}</div>
<div id="spellcheck-langs-value">
<input name="spellcheck" placeholder="Enter Languages" />
<input name="spellcheck" placeholder="${t.__("Enter Languages")}" />
</div>
`.html;

View File

@@ -1,7 +1,7 @@
import {type Html, html} from "../../../../common/html.js";
import * as t from "../../../../common/translation-util.js";
import type {NavigationItem} from "../../../../common/types.js";
import {generateNodeFromHtml} from "../../components/base.js";
import {type Html, html} from "../../../../common/html.ts";
import * as t from "../../../../common/translation-util.ts";
import type {NavigationItem} from "../../../../common/types.ts";
import {generateNodeFromHtml} from "../../components/base.ts";
type PreferenceNavigationProperties = {
$root: Element;

View File

@@ -1,9 +1,9 @@
import * as ConfigUtil from "../../../../common/config-util.js";
import {html} from "../../../../common/html.js";
import * as t from "../../../../common/translation-util.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js";
import * as ConfigUtil from "../../../../common/config-util.ts";
import {html} from "../../../../common/html.ts";
import * as t from "../../../../common/translation-util.ts";
import {ipcRenderer} from "../../typed-ipc-renderer.ts";
import {generateSettingOption} from "./base-section.js";
import {generateSettingOption} from "./base-section.ts";
type NetworkSectionProperties = {
$root: Element;
@@ -28,7 +28,7 @@ export function initNetworkSection({$root}: NetworkSectionProperties): void {
</div>
<div class="manual-proxy-block">
<div class="setting-row" id="proxy-pac-option">
<span class="setting-input-key">PAC ${t.__("script")}</span>
<span class="setting-input-key">${t.__("PAC script")}</span>
<input
class="setting-input-value"
placeholder="e.g. foobar.com/pacfile.js"

View File

@@ -1,11 +1,11 @@
import {dialog} from "@electron/remote";
import {html} from "../../../../common/html.js";
import * as LinkUtil from "../../../../common/link-util.js";
import * as t from "../../../../common/translation-util.js";
import {generateNodeFromHtml} from "../../components/base.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js";
import * as DomainUtil from "../../utils/domain-util.js";
import {html} from "../../../../common/html.ts";
import * as LinkUtil from "../../../../common/link-util.ts";
import * as t from "../../../../common/translation-util.ts";
import {generateNodeFromHtml} from "../../components/base.ts";
import {ipcRenderer} from "../../typed-ipc-renderer.ts";
import * as DomainUtil from "../../utils/domain-util.ts";
type NewServerFormProperties = {
$root: Element;
@@ -23,7 +23,9 @@ export function initNewServerForm({
<input
class="setting-input-value"
autofocus
placeholder="your-organization.zulipchat.com or zulip.your-organization.com"
placeholder="${t.__(
"your-organization.zulipchat.com or zulip.your-organization.com",
)}"
/>
</div>
<div class="server-center">
@@ -60,12 +62,12 @@ export function initNewServerForm({
)!;
async function submitFormHandler(): Promise<void> {
$saveServerButton.textContent = "Connecting...";
$saveServerButton.textContent = t.__("Connecting…");
let serverConfig;
try {
serverConfig = await DomainUtil.checkDomain($newServerUrl.value.trim());
} catch (error: unknown) {
$saveServerButton.textContent = "Connect";
$saveServerButton.textContent = t.__("Connect");
await dialog.showMessageBox({
type: "error",
message:

View File

@@ -1,17 +1,17 @@
import type {IpcRendererEvent} from "electron/renderer";
import process from "node:process";
import type {DndSettings} from "../../../../common/dnd-util.js";
import {bundleUrl} from "../../../../common/paths.js";
import type {NavigationItem} from "../../../../common/types.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js";
import type {DndSettings} from "../../../../common/dnd-util.ts";
import {bundleUrl} from "../../../../common/paths.ts";
import type {NavigationItem} from "../../../../common/types.ts";
import {ipcRenderer} from "../../typed-ipc-renderer.ts";
import {initConnectedOrgSection} from "./connected-org-section.js";
import {initGeneralSection} from "./general-section.js";
import Nav from "./nav.js";
import {initNetworkSection} from "./network-section.js";
import {initServersSection} from "./servers-section.js";
import {initShortcutsSection} from "./shortcuts-section.js";
import {initConnectedOrgSection} from "./connected-org-section.ts";
import {initGeneralSection} from "./general-section.ts";
import Nav from "./nav.ts";
import {initNetworkSection} from "./network-section.ts";
import {initServersSection} from "./servers-section.ts";
import {initShortcutsSection} from "./shortcuts-section.ts";
export class PreferenceView {
static async create(): Promise<PreferenceView> {

View File

@@ -1,12 +1,12 @@
import {dialog} from "@electron/remote";
import {html} from "../../../../common/html.js";
import * as Messages from "../../../../common/messages.js";
import * as t from "../../../../common/translation-util.js";
import type {ServerConfig} from "../../../../common/types.js";
import {generateNodeFromHtml} from "../../components/base.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js";
import * as DomainUtil from "../../utils/domain-util.js";
import {html} from "../../../../common/html.ts";
import * as Messages from "../../../../common/messages.ts";
import * as t from "../../../../common/translation-util.ts";
import type {ServerConfig} from "../../../../common/types.ts";
import {generateNodeFromHtml} from "../../components/base.ts";
import {ipcRenderer} from "../../typed-ipc-renderer.ts";
import * as DomainUtil from "../../utils/domain-util.ts";
type ServerInfoFormProperties = {
$root: Element;

View File

@@ -1,8 +1,8 @@
import {html} from "../../../../common/html.js";
import * as t from "../../../../common/translation-util.js";
import {html} from "../../../../common/html.ts";
import * as t from "../../../../common/translation-util.ts";
import {reloadApp} from "./base-section.js";
import {initNewServerForm} from "./new-server-form.js";
import {reloadApp} from "./base-section.ts";
import {initNewServerForm} from "./new-server-form.ts";
type ServersSectionProperties = {
$root: Element;

View File

@@ -1,8 +1,8 @@
import process from "node:process";
import {html} from "../../../../common/html.js";
import * as LinkUtil from "../../../../common/link-util.js";
import * as t from "../../../../common/translation-util.js";
import {html} from "../../../../common/html.ts";
import * as LinkUtil from "../../../../common/link-util.ts";
import * as t from "../../../../common/translation-util.ts";
type ShortcutsSectionProperties = {
$root: Element;

View File

@@ -1,8 +1,8 @@
import {contextBridge} from "electron/renderer";
import electron_bridge, {bridgeEvents} from "./electron-bridge.js";
import * as NetworkError from "./pages/network.js";
import {ipcRenderer} from "./typed-ipc-renderer.js";
import electron_bridge, {bridgeEvents} from "./electron-bridge.ts";
import * as NetworkError from "./pages/network.ts";
import {ipcRenderer} from "./typed-ipc-renderer.ts";
contextBridge.exposeInMainWorld("electron_bridge", electron_bridge);

View File

@@ -5,12 +5,13 @@ import process from "node:process";
import {BrowserWindow, Menu, Tray} from "@electron/remote";
import * as ConfigUtil from "../../common/config-util.js";
import {publicPath} from "../../common/paths.js";
import type {RendererMessage} from "../../common/typed-ipc.js";
import * as ConfigUtil from "../../common/config-util.ts";
import {publicPath} from "../../common/paths.ts";
import * as t from "../../common/translation-util.ts";
import type {RendererMessage} from "../../common/typed-ipc.ts";
import type {ServerManagerView} from "./main.js";
import {ipcRenderer} from "./typed-ipc-renderer.js";
import type {ServerManagerView} from "./main.ts";
import {ipcRenderer} from "./typed-ipc-renderer.ts";
let tray: ElectronTray | null = null;
@@ -147,13 +148,13 @@ function sendAction<Channel extends keyof RendererMessage>(
const createTray = function (): void {
const contextMenu = Menu.buildFromTemplate([
{
label: "Zulip",
label: t.__("Zulip"),
click() {
ipcRenderer.send("focus-app");
},
},
{
label: "Settings",
label: t.__("Settings"),
click() {
ipcRenderer.send("focus-app");
sendAction("open-settings");
@@ -163,7 +164,7 @@ const createTray = function (): void {
type: "separator",
},
{
label: "Quit",
label: t.__("Quit"),
click() {
ipcRenderer.send("quit-app");
},
@@ -202,12 +203,17 @@ export function initializeTray(serverManagerView: ServerManagerView) {
if (argument === 0) {
unread = argument;
tray.setImage(iconPath());
tray.setToolTip("No unread messages");
tray.setToolTip(t.__("No unread messages"));
} else {
unread = argument;
const image = renderNativeImage(argument);
tray.setImage(image);
tray.setToolTip(`${argument} unread messages`);
tray.setToolTip(
t.__mf(
"{number, plural, one {# unread message} other {# unread messages}}",
{number: `${argument}`},
),
);
}
}
});

View File

@@ -4,16 +4,16 @@ import path from "node:path";
import {app, dialog} from "@electron/remote";
import * as Sentry from "@sentry/electron/renderer";
import {JsonDB} from "node-json-db";
import {DataError} from "node-json-db/dist/lib/Errors";
import {DataError} from "node-json-db/dist/lib/Errors.js";
import {z} from "zod";
import * as EnterpriseUtil from "../../../common/enterprise-util.js";
import Logger from "../../../common/logger-util.js";
import * as Messages from "../../../common/messages.js";
import * as t from "../../../common/translation-util.js";
import type {ServerConfig} from "../../../common/types.js";
import * as EnterpriseUtil from "../../../common/enterprise-util.ts";
import Logger from "../../../common/logger-util.ts";
import * as Messages from "../../../common/messages.ts";
import * as t from "../../../common/translation-util.ts";
import type {ServerConfig} from "../../../common/types.ts";
import defaultIcon from "../../img/icon.png";
import {ipcRenderer} from "../typed-ipc-renderer.js";
import {ipcRenderer} from "../typed-ipc-renderer.ts";
const logger = new Logger({
file: "domain-util.log",
@@ -24,7 +24,7 @@ const logger = new Logger({
export const defaultIconSentinel = "../renderer/img/icon.png";
const serverConfigSchema = z.object({
url: z.string().url(),
url: z.url(),
alias: z.string(),
icon: z.string(),
zulipVersion: z.string().default("unknown"),

View File

@@ -1,9 +1,10 @@
import * as backoff from "backoff";
import {html} from "../../../common/html.js";
import Logger from "../../../common/logger-util.js";
import type WebView from "../components/webview.js";
import {ipcRenderer} from "../typed-ipc-renderer.js";
import {html} from "../../../common/html.ts";
import Logger from "../../../common/logger-util.ts";
import * as t from "../../../common/translation-util.ts";
import type WebView from "../components/webview.ts";
import {ipcRenderer} from "../typed-ipc-renderer.ts";
const logger = new Logger({
file: "domain-util.log",
@@ -55,8 +56,10 @@ export default class ReconnectUtil {
const errorMessageHolder = document.querySelector("#description");
if (errorMessageHolder) {
errorMessageHolder.innerHTML = html`
<div>Your internet connection doesn't seem to work properly!</div>
<div>Verify that it works and then click try again.</div>
<div>
${t.__("Your internet connection doesn't seem to work properly!")}
</div>
<div>${t.__("Verify that it works and then click Reconnect.")}</div>
`.html;
}

View File

@@ -1,4 +1,4 @@
import {ipcRenderer} from "../typed-ipc-renderer.js";
import {ipcRenderer} from "../typed-ipc-renderer.ts";
export const connectivityError: string[] = [
"ERR_INTERNET_DISCONNECTED",

View File

@@ -0,0 +1,6 @@
import * as z from "zod";
// In an Electron preload script, Content-Security-Policy only takes effect
// after the page has loaded, which breaks Zod's detection of whether eval is
// allowed.
z.config({jitless: true});

View File

@@ -2,6 +2,18 @@
All notable changes to the Zulip desktop app are documented in this file.
### v5.12.1 --2025-08-29
**Enhancements**:
- Enabled macOS Writing Tools in the context menu.
- Marked untranslated strings for translation.
- Updated translations.
**Dependencies**:
- Upgraded all dependencies, including Electron 37.4.0.
### v5.12.0 --2025-03-13
**Enhancements**:
@@ -1134,7 +1146,6 @@ Minor improvements
**Fixes**:
- Fixed :
- Auto-updates
- Spellchecker
- Zooming functionality

View File

@@ -8,55 +8,13 @@ appropriate translation for a given string ("message") used in the UI.
To manage the set of UI messages and translations for them, and
provide a nice workflow for people to contribute translations, we use
(along with the rest of the Zulip project) a service called Transifex.
## Maintainers: syncing to/from Transifex
### Setup
You'll want Transifex's CLI client, `tx`.
- Install in your homedir with `easy_install transifex-client` or `pip3 install --user transifex-client`.
Or you can use your Zulip dev server virtualenv, which has it.
- Configure a `.transifexrc` with your API token. See [upstream
instructions](https://docs.transifex.com/client/client-configuration#transifexrc).
This can go either in your homedir, or in your working tree to make
the configuration apply only locally; it's already ignored in our
`.gitignore`.
- You'll need to be added [as a "maintainer"][tx-zulip-maintainers] to
the Zulip project on Transifex. (Upstream [recommends
this][tx-docs-maintainers] as the set of permissions on a Transifex
project needed for interacting with it as a developer.)
[tx-zulip-maintainers]: https://www.transifex.com/zulip/zulip/settings/maintainers/
[tx-docs-maintainers]: https://docs.transifex.com/teams/understanding-user-roles#project-maintainers
### Uploading strings to translate
Run `tx push -s`.
This uploads from `public/translations/en.json` to the
set of strings Transifex shows for contributors to translate.
(See `.tx/config` for how that's configured.)
### Downloading translated strings
Run `tools/tx-pull`.
This writes to files `public/translations/<lang>.json`.
(See `.tx/config` for how that's configured.)
Then look at the following sections to see if further updates are
needed to take full advantage of the new or updated translations.
(along with the rest of the Zulip project) a service called Weblate.
### Updating the languages supported in the code
Sometimes when downloading translated strings we get a file for a new
language. This happens when we've opened up a new language for people
to contribute translations into in the Zulip project on Transifex,
to contribute translations into in the Zulip project on Weblate,
which we do when someone expresses interest in contributing them.
The locales for supported languages are stored in `public/translations/supported-locales.json`

View File

@@ -41,32 +41,10 @@
1. Download [Zulip-x.x.x-amd64.deb][lr]
2. Double click and install, or run `dpkg -i Zulip-x.x.x-amd64.deb` in the terminal
3. Start the app with your app launcher or by running `zulip` in a terminal
4. Done! The app will NOT update automatically, but you can still check for updates
4. Done! You can update the app [using APT](https://documentation.ubuntu.com/server/how-to/software/package-management/#upgrading-packages).
**Other distros (Fedora, CentOS, Arch Linux etc)** :
1. Download Zulip-x.x.x-x86_64.AppImage[LR]
2. Make it executable using chmod a+x Zulip-x.x.x-x86_64.AppImage
3. Start the app with your app launcher
**You can also use `apt-get` (recommended)**:
- First download our signing key to make sure the deb you download is correct:
```bash
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 69AD12704E71A4803DCA3A682424BE5AE9BD10D9
```
- Add the repo to your apt source list :
```bash
echo "deb https://download.zulip.com/desktop/apt stable main" |
sudo tee -a /etc/apt/sources.list.d/zulip.list
```
- Now install the client :
```bash
sudo apt-get update
sudo apt-get install zulip
```

18
i18next-parser.config.ts Normal file
View File

@@ -0,0 +1,18 @@
import type {UserConfig} from "i18next-parser";
const config: UserConfig = {
createOldCatalogs: false,
defaultValue: (locale, namespace, key, value) =>
locale === "en" ? key! : value!,
indentation: "\t" as unknown as number,
input: ["app/**/*.ts"],
keySeparator: false,
lexers: {
ts: [{lexer: "JavascriptLexer", functions: ["t.__", "t.__mf"]}],
},
locales: ["en"],
namespaceSeparator: false,
output: "public/translations/$LOCALE.json",
sort: (a, b) => (a < b ? -1 : a > b ? 1 : 0),
};
export default config;

View File

@@ -1,21 +0,0 @@
"use strict";
module.exports = {
input: ["app/**/*.ts"],
options: {
debug: true,
removeUnusedKeys: true,
sort: true,
func: {list: ["t.__"], extensions: [".ts"]},
defaultLng: "en",
defaultValue: (lng, ns, key) => (lng === "en" ? key : ""),
resource: {
loadPath: "public/translations/{{lng}}.json",
savePath: "public/translations/{{lng}}.json",
jsonIndent: "\t",
},
keySeparator: false,
nsSeparator: false,
context: false,
},
};

8229
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
{
"name": "zulip",
"productName": "Zulip",
"version": "5.12.0",
"main": "./dist-electron",
"version": "5.12.1",
"main": "./dist-electron/index.cjs",
"description": "Zulip Desktop App",
"license": "Apache-2.0",
"copyright": "Kandra Labs, Inc.",
@@ -17,6 +17,7 @@
"bugs": {
"url": "https://github.com/zulip/zulip-desktop/issues"
},
"type": "module",
"engines": {
"node": ">=18"
},
@@ -28,9 +29,9 @@
"lint-css": "stylelint \"app/**/*.css\"",
"lint-html": "htmlhint \"app/**/*.html\"",
"lint-js": "xo",
"prettier-non-js": "prettier --check --log-level=warn . \"!**/*.{js,ts}\"",
"prettier-non-js": "prettier --check --log-level=warn . \"!**/*.{cjs,js,ts}\"",
"test": "tsc && npm run lint-html && npm run lint-css && npm run lint-js && npm run prettier-non-js",
"test-e2e": "vite build && tape \"tests/**/*.js\"",
"test-e2e": "vite build && tape \"tests/**/*.ts\"",
"pack": "vite build && electron-builder --dir",
"dist": "vite build && electron-builder",
"mas": "vite build && electron-builder --mac mas"
@@ -88,8 +89,8 @@
"synopsis": "Zulip Desktop App",
"afterInstall": "./packaging/deb-after-install.sh",
"fpm": [
"./packaging/deb-apt.list=/etc/apt/sources.list.d/zulip-desktop.list",
"./packaging/deb-apt.asc=/etc/apt/trusted.gpg.d/zulip-desktop.asc",
"./packaging/deb-apt.sources=/etc/apt/sources.list.d/zulip-desktop.sources",
"./packaging/deb-apt.asc=/usr/share/keyrings/zulip-desktop.asc",
"./packaging/deb-release-upgrades.cfg=/etc/update-manager/release-upgrades.d/zulip-desktop.cfg"
]
},
@@ -118,13 +119,11 @@
}
],
"icon": "build/icon.ico",
"signtoolOptions": {
"publisherName": "Kandra Labs, Inc."
},
"azureSignOptions": {
"endpoint": "https://eus.codesigning.azure.net/",
"codeSigningAccountName": "kandralabs",
"certificateProfileName": "kandralabs",
"publisherName": "Kandra Labs, Inc.",
"timestampRfc3161": "http://timestamp.acs.microsoft.com",
"timestampDigest": "SHA256"
}
@@ -154,184 +153,53 @@
},
"devDependencies": {
"@electron/remote": "^2.0.8",
"@sentry/core": "^9.5.0",
"@sentry/core": "^10.1.0",
"@sentry/electron": "^6.1.0",
"@types/adm-zip": "^0.5.0",
"@types/auto-launch": "^5.0.2",
"@types/backoff": "^2.5.2",
"@types/i18n": "^0.13.1",
"@types/node": "^22.13.10",
"@types/p-fifo": "^1.0.2",
"@types/requestidlecallback": "^0.3.4",
"@types/semver": "^7.5.8",
"@types/tape": "^5.8.1",
"@types/yaireo__tagify": "^4.3.2",
"@yaireo/tagify": "^4.5.0",
"adm-zip": "^0.5.5",
"auto-launch": "^5.0.5",
"backoff": "^2.5.0",
"electron": "^35.0.1",
"electron-builder": "^25.1.8",
"electron": "^37.2.5",
"electron-builder": "^26.0.12",
"electron-log": "^5.0.3",
"electron-updater": "^6.3.4",
"electron-window-state": "^5.0.3",
"escape-goat": "^4.0.0",
"eslint-import-resolver-typescript": "^4.4.4",
"htmlhint": "^1.1.2",
"i18n": "^0.15.1",
"i18next-scanner": "^4.6.0",
"medium": "^1.2.0",
"i18next-parser": "^9.3.0",
"node-json-db": "^1.3.0",
"p-fifo": "^1.0.0",
"playwright-core": "^1.41.0-alpha-jan-9-2024",
"pre-commit": "^1.2.2",
"prettier": "^3.0.3",
"semver": "^7.3.5",
"stylelint": "^16.1.0",
"stylelint-config-standard": "^37.0.0",
"stylelint-config-standard": "^39.0.0",
"tape": "^5.2.2",
"typescript": "^5.0.4",
"vite": "^5.0.11",
"vite-plugin-electron": "^0.28.0",
"xo": "^0.60.0",
"zod": "^3.5.1"
"xo": "^1.2.1",
"zod": "^4.1.5"
},
"overrides": {
"@types/pg": "^8.15.1"
},
"prettier": {
"bracketSpacing": false,
"singleQuote": false,
"trailingComma": "all"
},
"xo": {
"prettier": true,
"rules": {
"@typescript-eslint/no-dynamic-delete": "off",
"arrow-body-style": "error",
"import/no-restricted-paths": [
"error",
{
"zones": [
{
"target": "./app/common",
"from": "./app",
"except": [
"./common"
]
},
{
"target": "./app/main",
"from": "./app",
"except": [
"./common",
"./main"
]
},
{
"target": "./app/renderer",
"from": "./app",
"except": [
"./common",
"./renderer",
"./resources"
]
}
]
}
],
"import/order": [
"error",
{
"alphabetize": {
"order": "asc"
},
"newlines-between": "always"
}
],
"import/unambiguous": "error",
"no-restricted-imports": [
"error",
{
"paths": [
{
"name": "@sentry/electron",
"message": "Use @sentry/electron/main, @sentry/electron/renderer, or @sentry/core."
},
{
"name": "electron",
"message": "Use electron/main, electron/renderer, or electron/common."
},
{
"name": "electron/main",
"importNames": [
"ipcMain"
],
"message": "Use typed-ipc-main."
},
{
"name": "electron/renderer",
"importNames": [
"ipcRenderer"
],
"message": "Use typed-ipc-renderer."
},
{
"name": "electron-log",
"message": "Use electron-log/main or electron-log/renderer."
}
]
}
],
"no-warning-comments": "off",
"sort-imports": [
"error",
{
"ignoreDeclarationSort": true
}
],
"strict": "error",
"unicorn/prefer-module": "off",
"unicorn/prefer-top-level-await": "off"
},
"envs": [
"node",
"browser"
],
"overrides": [
{
"files": [
"**/*.ts"
],
"rules": {
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/consistent-type-imports": [
"error",
{
"disallowTypeAnnotations": false
}
],
"@typescript-eslint/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"caughtErrors": "all"
}
],
"unicorn/no-await-expression-member": "off"
}
},
{
"files": [
"i18next-scanner.config.js",
"scripts/win-sign.js",
"tests/**/*.js"
],
"parserOptions": {
"sourceType": "script"
}
},
{
"files": [
"**/*.d.ts"
],
"rules": {
"import/unambiguous": "off"
}
}
]
}
}

View File

@@ -11,3 +11,6 @@ update-desktop-database /usr/share/applications || true
# Clean up configuration for old Bintray repository
rm -f /etc/apt/zulip.list
# Clean up legacy APT configuration
rm -f /etc/apt/sources.list.d/zulip-desktop.list /etc/apt/trusted.gpg.d/zulip-desktop.asc

View File

@@ -7,24 +7,28 @@ LoJVvA7uJHcsNaQVWQF4RP0MaI4TLyjHZAJlpthQfbmq0AbZMEjDu8Th5G9KTsqE
WRyFoAj/SWwKQK2U4xpnA6jEraMcvsYYQMrCXlG+MOV7zVknLrH5tfk7JlmWB4DV
cs+QP5Z/UrVu+YpTpaoJoZV6LlEU1kNGjtq9ABEBAAG0TVp1bGlwIEFQVCBSZXBv
c2l0b3J5IFNpZ25pbmcgS2V5IEJpbnRyYXkgKFByb2R1Y3Rpb24pIDxzdXBwb3J0
QHp1bGlwY2hhdC5jb20+iQE4BBMBAgAiBQJZnc70AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgAAKCRAkJL5a6b0Q2Vg1CADJzrH0mbwKi5GiHo5+iX5/WuUkSA8S
lI7FWzkbnPD0sfxJBwBNhZnAALQUvCybHxoU8VZ5ZbU1vbU+EG7pUMzENZLgEhoC
MDl1j8uCSahjjO+bk8qHhgM1FUKpoGec2wKfPKpcz1P+/bLTRKe7aqilkPSYOjeV
u8JI713zRL0nHd9vYZDoN2HR30J5sqgjRHtK5okNhiFG+pF3HFATG7nbNOa/tv+q
ZvhbI/5S8P5VKPSK/1lmMh0UFyNIbPg6MvWiqnfy7DAvOZGJpawkiN2B0XhNZKZR
KKXvFk3qvFpNTCUrH77MlPgjn+oRbE9SYm0phj0o2jQi/s1s2r75tk/ZuQENBFmd
zvQBCACv7VNQ6x3hfaRl8YF8bbrWXN2ZWxEa353p4QryHODsa7wHtsoNR3P30TIL
yafjjcV8P6dzyDw6TpfRqqQDKLY6FtznT2HdceQSffGTXB4CRV7KURBqh81PX/Jo
dz0NwkNrd0NWqkk6BnLX6U5tGuYiqC3vLpjOHmVQezJ41xpf85ElJ2nBW0rEcmfk
fwQthJU7BbqWKd6nbt2G+xWkCVoN6q+CWLXtK0laHMKBGQnoiQpldotsKM8UnDeQ
XPqrEi28ksjVW8tBStCkLwV2hCxk49zdTvRjrhBTQ1Ff/kenuEwqbSERiKfA7I8o
mlqulSiJ6rYdDnGjNcoRgnHb50hTABEBAAGJAR8EGAECAAkFAlmdzvQCGwwACgkQ
JCS+Wum9ENnsOQgApQ2+4azOXprYQXj1ImamD30pmvvKD06Z7oDzappFpEXzRSJK
tMfNaowG7YrXujydrpqaOgv4kFzaAJizWGbmOKXTwQJnavGC1JC4Lijx0s3CLtms
OY3EC2GMNTp2rACuxZQ+26lBuPG8Nd+rNnP8DSzdQROQD2EITplqR1Rc0FLHGspu
rL0JsVTuWS3qSpR3nlmwuLjVgIs5KEaOVEa4pkH9QwyAFDsprF0uZP8xAAs8WrVr
Isg3zs7YUcAtu/i6C2jPuMsHjGfKStkYW/4+wONIynhoFjqeYrR0CiZ9lvVa3tJk
BCeqaQFskx1HhgWBT9Qqc73+i45udWUsa3issg==
=YJGK
QHp1bGlwY2hhdC5jb20+iQGSBBMBCACGBYJonATwBAsJCAcJECQkvlrpvRDZRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ5to4d/e2Ts692fK
y5pjZ8XOKTBvXckVdjBe8cSiLIkvAxUICgQWAgMBAheAAhsDAh4BFiEEaa0ScE5x
pIA9yjpoJCS+Wum9ENkAAP7XCACjGUAzUgOAbf1BJTbbR1Np4BNy31++93TNj+/3
gYPbNwSJBb99yZfI6J4KwT1WepIXRx2Ikx0ChxEU5oOjEcPoM8Xslg3/vTV76dcJ
CYtQdvIvLUBKN7MkDp6+H1LVu9AnzMYoAF8HiKk6NZNI2LjMMv1znYwod2Pp3EL7
q/TPwiaOuNVDlaRSCsmbWYNPWLXAna7PU/yZ7FYwaCAKeC079+5rY59RvA/3oOmG
nUAcADyuMaNkPPnkYW5adNfCHWEPUrIUJxyJ+yVf/E/mHoUKkqYhOs60WFPXpgpX
cnYYw8E/1kXM+kAfWIOi7dGlCFiWLyQF0wjwn/sehBXZy8yquQENBFmdzvQBCACv
7VNQ6x3hfaRl8YF8bbrWXN2ZWxEa353p4QryHODsa7wHtsoNR3P30TILyafjjcV8
P6dzyDw6TpfRqqQDKLY6FtznT2HdceQSffGTXB4CRV7KURBqh81PX/Jodz0NwkNr
d0NWqkk6BnLX6U5tGuYiqC3vLpjOHmVQezJ41xpf85ElJ2nBW0rEcmfkfwQthJU7
BbqWKd6nbt2G+xWkCVoN6q+CWLXtK0laHMKBGQnoiQpldotsKM8UnDeQXPqrEi28
ksjVW8tBStCkLwV2hCxk49zdTvRjrhBTQ1Ff/kenuEwqbSERiKfA7I8omlqulSiJ
6rYdDnGjNcoRgnHb50hTABEBAAGJAX4EGAEIAHIFgmicBPAJECQkvlrpvRDZRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ2yYQ1NoS1Il7WjP
HCfqbeXJc9dm9yLgL46FmSMjScRXAhsMFiEEaa0ScE5xpIA9yjpoJCS+Wum9ENkA
AMOECACo0hRteH+CWZDLKaufkxQvfqd0/zq+uGJ2VYOrIUkuuaA0YBe+uGaoFwgT
hxVs0UiOpMOzSyl+zC+7ShQu9t/jIm5sTmvHsgzmO11w4b1Td7Ow8dgAnAXKcbmA
O1yaMi1C40YUI1zHRt0xkrnTJB57q+8Hclum59UXiSIgU5bKVeJhsX4LVpxi67Qg
vIHgg6pL+kDzObjRuBw+8Qx/Cugf4W35IGLD6BGzLjZM98YhbaX52sFvuHj+8gAs
xFOefLGRjZNdcp3IViTcVeR41Y9mA1Pjtlvthqrq70yra+EWjR7hUFxE9/BWjb18
fQZRjlB5JKC69SdOMa5C2UTSWNbA
=5JdK
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -1 +0,0 @@
deb https://download.zulip.com/desktop/apt stable main

View File

@@ -0,0 +1,5 @@
Types: deb
URIs: https://download.zulip.com/desktop/apt/
Suites: stable
Components: main
Signed-By: /usr/share/keyrings/zulip-desktop.asc

View File

@@ -4,17 +4,17 @@ These are _generated_ files (\*) that contain translations of the strings in
the app.
You can help translate Zulip Desktop into your language! We do our
translations in Transifex, which is a nice web app for collaborating on
translations in Weblate, which is a nice web app for collaborating on
translations; a maintainer then syncs those translations into this repo.
To help out, [join the Zulip project on
Transifex](https://www.transifex.com/zulip/zulip/) and enter translations
Weblate](https://hosted.weblate.org/projects/zulip/) and enter translations
there. More details in the [Zulip contributor docs](https://zulip.readthedocs.io/en/latest/translating/translating.html#translators-workflow).
Within that Transifex project, if you'd like to focus on Zulip Desktop, look
at `desktop.json`. The other resources there are for the Zulip web/mobile
Within that Weblate project, if you'd like to focus on Zulip Desktop, look
at the **Desktop** component. The other components are for the Zulip web/mobile
app, where translations are also very welcome.
(\*) One file is an exception: `en.json` is manually maintained as a
list of (English) messages in the source code, and is used when we upload to
Transifex a list of strings to be translated. It doesn't contain any
(\*) One file is an exception: `en.json` is maintained by `i18next-parser` as a
list of (English) messages in the source code, and is used by Weblate as
a list of strings to be translated. It doesn't contain any
translations.

View File

@@ -1,28 +1,33 @@
{
"About Zulip": "حول \"زوليب\"",
"Actual Size": "الحجم الفعلي",
"Add Organization": "إضافة منظمة",
"Add a Zulip organization": "إضافة منظمة \"زوليب\"",
"Add custom CSS": "إضافة CSS معدلة",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "متقدم",
"All the connected organizations will appear here.": "جميع المنظمات المتصلة ستظهر هنا",
"Always start minimized": "دائماً إبدأ بالقليل",
"App Updates": "تحديثات التطبيق",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "المظهر",
"Application Shortcuts": "إختصارات التطبيق",
"Are you sure you want to disconnect this organization?": "هل أنت متأكد من فصل هذة المنظمة؟",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "أخف القائمة تلقائياً",
"Auto hide menu bar (Press Alt key to display)": "أخف القائمة تلقائياً (إضغط Alt لعرض القائمة)",
"Back": "رجوع",
"Bounce dock on new private message": "أخرج المنصة في حال رسالة خاصة جديدة",
"Cancel": "إلغاء",
"Change": "تغيير",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "التحقق من التحديثات",
"Close": "إغلاق",
"Connect": "اتصال",
"Connect to another organization": "التوصيل مع منظمة أخرى",
"Connected organizations": "المنظمات المتصلة",
"Copy": "نسخ",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "نسخ رابط زوليب",
"Create a new organization": "إنشاء منظمة جديدة",
"Cut": "قص",
@@ -37,13 +42,87 @@
"Emoji & Symbols": "الإيموجي و الرموز",
"Enable auto updates": "تفعيل التحديثات التلقائية",
"Enable error reporting (requires restart)": "تفعيل تقارير الأخطاء (يتطلب إعادة التشغيل)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "اعرض الشاشة كاملة",
"Factory Reset": "إعادة ضبط المصنع",
"Factory Reset Data": "Factory Reset Data",
"File": "ملف",
"Find accounts": "Find accounts",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Hard Reload": "Hard Reload",
"Help": "Help",
"Help Center": "Help Center",
"Hide": "Hide",
"Hide Others": "Hide Others",
"Hide Zulip": "أخفي زوليب",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Look Up": "Look Up",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"Network": "Network",
"Network and Proxy Settings": "الشبكة و إعدادات البروكسي",
"No Suggestion Found": "No Suggestion Found",
"OK": "حسنًا",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL",
"Organizations": "Organizations",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Reset App Settings": "أعد ضبط إعدادات التطبيق",
"Reset the application, thus deleting all the connected organizations and accounts.": "إعادة ضبط التطبيق, و بالتالي مسح جميع المنظمات المتصلة و الحسابات",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} يقوم بتشغيل نسخة قديمة من خادم زوليب {{{version}}}. قد لا يعمل بشكل كامل مع هذا التطبيق "
"Save": "Save",
"Select All": "Select All",
"Services": "Services",
"Settings": "Settings",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Undo",
"Unhide": "Unhide",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} يقوم بتشغيل نسخة قديمة من خادم زوليب {{{version}}}. قد لا يعمل بشكل كامل مع هذا التطبيق"
}

View File

@@ -51,7 +51,7 @@
"File": "Файл",
"Find accounts": "Знайсці ўліковыя запісы",
"Find accounts by email": "Знайсці ўліковыя запісы паводле email",
"Flash taskbar on new message": "Успыхваць на панэлі заданняў пры новым асабістым паведамленні ",
"Flash taskbar on new message": "Успыхваць на панэлі заданняў пры новым асабістым паведамленні",
"Forward": "Пераадрасаваць",
"Functionality": "Функцыянальнасць",
"General": "Агульныя",
@@ -74,6 +74,7 @@
"Network": "Сетка",
"Network and Proxy Settings": "Налады сеткі і проксі",
"No Suggestion Found": "Прапановы не знойдзеныя",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "У macOS выкарыстоўваецца сістэмная праверка правапісу.",
"Organization URL": "URL арганізацыі",
"Organizations": "Арганізацыі",
@@ -107,8 +108,6 @@
"Tip": "Парада",
"Toggle DevTools for Active Tab": "Увамкнуць DevTools для актыўнай укладкі",
"Toggle DevTools for Zulip App": "Перамкнуць DevTools для праграмы Zulip",
"Toggle Do Not Disturb": "Перамкнуць рэжым \"Не турбаваць\"",
"Toggle Full Screen": "Перамкнуць \"На ўвесь экран\"",
"Toggle Sidebar": "Перамкнуць бакавую панэль",
"Toggle Tray Icon": "Перамкнуць значок у вобласці паведамленняў",
"Tools": "Інструменты",
@@ -124,6 +123,5 @@
"Zoom In": "Павялічыць",
"Zoom Out": "Паменшыць",
"keyboard shortcuts": "спалучэнні клавішаў",
"script": "скрыпт",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "На {{{server}}} працуе састарэлая версія сервера Zulip {{{version}}}. У гэтай праграме ён можа працаваць часткова."
}

View File

@@ -4,26 +4,33 @@
"Add Organization": "Добавяне на организация",
"Add a Zulip organization": "Добавете организация Zulip",
"Add custom CSS": "Добавете персонализиран CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "напреднал",
"All the connected organizations will appear here.": "Всички свързани организации ще се появят тук.",
"Always start minimized": "Винаги започвайте да минимизирате",
"App Updates": "Актуализации на приложения",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Външен вид",
"Application Shortcuts": "Клавишни комбинации за приложения",
"Are you sure you want to disconnect this organization?": "Наистина ли искате да прекъснете връзката с тази организация?",
"Are you sure?": "Сигурни ли сте?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Автоматично скриване на лентата с менюта",
"Auto hide menu bar (Press Alt key to display)": "Автоматично скриване на лентата с менюта (натиснете клавиша Alt за показване)",
"Back": "обратно",
"Bounce dock on new private message": "Прескочи док в новото лично съобщение",
"Cancel": "Откажи",
"Change": "промяна",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Провери за обновления",
"Close": "Близо",
"Connect": "Свържете",
"Connect to another organization": "Свържете се с друга организация",
"Connected organizations": "Свързани организации",
"Copy": "копие",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Копирайте URL адреса на Zulip",
"Create a new organization": "Създайте нова организация",
"Cut": "Разрез",
@@ -39,6 +46,7 @@
"Enable error reporting (requires restart)": "Активиране на отчитането за грешки (изисква се рестартиране)",
"Enable spellchecker (requires restart)": "Активиране на проверката на правописа (изисква се рестартиране)",
"Factory Reset": "Фабрично нулиране",
"Factory Reset Data": "Factory Reset Data",
"File": "досие",
"Find accounts": "Намерете профили",
"Find accounts by email": "Намерете профили по имейл",
@@ -47,19 +55,26 @@
"Functionality": "Функционалност",
"General": "Общ",
"Get beta updates": "Изтеглете бета актуализации",
"Hard Reload": "Hard Reload",
"Help": "Помогне",
"Help Center": "Помощен център",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "история",
"History Shortcuts": "Преки пътища в историята",
"Keyboard Shortcuts": "Комбинация от клавиши",
"Log Out": "Излез от профила си",
"Log Out of Organization": "Излезте от организацията",
"Look Up": "Look Up",
"Manual proxy configuration": "Ръчна конфигурация на прокси",
"Minimize": "Минимизиране",
"Mute all sounds from Zulip": "Заглуши всички звуци от Zulip",
"Network": "мрежа",
"No Suggestion Found": "No Suggestion Found",
"Notification settings": "Настройки на известията",
"OK": "OK",
"OR": "ИЛИ",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL адрес на организацията",
"Organizations": "организации",
"Paste": "паста",
@@ -69,16 +84,20 @@
"Proxy rules": "Прокси правила",
"Quit": "напускам",
"Quit Zulip": "Прекрати Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "ремонтирам",
"Release Notes": "Бележки към изданието",
"Reload": "Презареди",
"Report an Issue": "Подаване на сигнал за проблем",
"Save": "Запази",
"Select All": "Избери всички",
"Services": "Services",
"Settings": "Настройки",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Показване на иконата на приложението в системната област",
"Show desktop notifications": "Показване на известията на работния плот",
"Show sidebar": "Показване на страничната лента",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Стартирайте приложението при влизане",
"Switch to Next Organization": "Превключване към следваща организация",
"Switch to Previous Organization": "Превключване към предишна организация",
@@ -92,14 +111,15 @@
"Toggle Tray Icon": "Превключете иконата на тава",
"Tools": "Инструменти",
"Undo": "премахвам",
"Unhide": "Unhide",
"Upload": "Качи",
"Use system proxy settings (requires restart)": "Използване на системните прокси настройки (изисква рестартиране)",
"View": "изглед",
"View Shortcuts": "Преглед на преки пътища",
"Window": "прозорец",
"Window Shortcuts": "Клавишни комбинации",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Увеличавам",
"Zoom Out": "Отдалечавам",
"keyboard shortcuts": "комбинация от клавиши",
"script": "писменост"
"keyboard shortcuts": "комбинация от клавиши"
}

View File

@@ -1,38 +1,38 @@
{
"About Zulip": "যুলিপ সম্পর্কে ",
"Actual Size": "প্রকৃত সাইজ ",
"About Zulip": "যুলিপ সম্পর্কে",
"Actual Size": "প্রকৃত সাইজ",
"Add Organization": "সংস্থা যুক্ত করুন",
"Add a Zulip organization": "একটি যুলিপ প্রতিষ্ঠান যুক্ত করুন",
"Add custom CSS": "কাস্টম সিএসএস যুক্ত করুন",
"Advanced": "অগ্রসর ",
"Always start minimized": "সব সময় মিনিমাইজড ভাবে শুরু করুন ",
"Advanced": "অগ্রসর",
"Always start minimized": "সব সময় মিনিমাইজড ভাবে শুরু করুন",
"App Updates": "অ্যাপ আপডেট",
"Appearance": "প্রকাশ",
"Application Shortcuts": "অ্যাপ্লিকেশান শর্টকাট ",
"Application Shortcuts": "অ্যাপ্লিকেশান শর্টকাট",
"Are you sure you want to disconnect this organization?": "আপনি কি নিশ্চিত যে আপনি এই সংস্থার সংযোগ বিচ্ছিন্ন করতে চান ?",
"Auto hide Menu bar": "অটো মেনুবার হাইড করুন ",
"Auto hide Menu bar": "অটো মেনুবার হাইড করুন",
"Auto hide menu bar (Press Alt key to display)": "অটো মেনুবার হাইড করুন (দেখার জন্য অল্টার কি চাপুন)",
"Back": "পেছন",
"Bounce dock on new private message": "ব্যাক্তিগত মেসেজে ডক বাউন্স করুন ",
"Bounce dock on new private message": "ব্যাক্তিগত মেসেজে ডক বাউন্স করুন",
"Cancel": "বাতিল",
"Change": "পরিবর্তন",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "ভাষা পরিবর্তন করতে সিস্টেম প্রেফারেন্স কীবোর্ড → টেক্সট → স্পেলিং এ যান ",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "ভাষা পরিবর্তন করতে সিস্টেম প্রেফারেন্স কীবোর্ড → টেক্সট → স্পেলিং এ যান",
"Check for Updates": "আপডেট চেক করুন",
"Close": "বন্ধ করুন",
"Connect": "সংযুক্ত করুন",
"Connect to another organization": "অন্য একটি সংস্থার সাথে সংযুক্ত করুন",
"Connected organizations": "সংযুক্ত সংস্থা সমূহ ",
"Connected organizations": "সংযুক্ত সংস্থা সমূহ",
"Copy": "কপি",
"Copy Zulip URL": "যুলিপ ইউআরএল কপি করুন ",
"Create a new organization": "নতুন সংস্থা তৈরি করুন ",
"Cut": "কাট ",
"Copy Zulip URL": "যুলিপ ইউআরএল কপি করুন",
"Create a new organization": "নতুন সংস্থা তৈরি করুন",
"Cut": "কাট",
"Delete": "ডিলিট",
"Desktop Notifications": "ডেস্কটপ নোটিফিকেশান ",
"Desktop Notifications": "ডেস্কটপ নোটিফিকেশান",
"Desktop Settings": "ডেস্কটপ সেটিংস",
"Disconnect": "সংযোগ বিছিন্ন করুন",
"Download App Logs": "অ্যাপ লগ ডাউনলোড করুন ",
"Download App Logs": "অ্যাপ লগ ডাউনলোড করুন",
"Edit": "এডিট",
"Edit Shortcuts": "শর্টকাটগুলো এডিট করুন ",
"Edit Shortcuts": "শর্টকাটগুলো এডিট করুন",
"Enable auto updates": "অটো আপডেট চালু করুন",
"Factory Reset": "ফ্যাক্টরি রিসেট",
"File": "ফাইল",
@@ -54,8 +54,7 @@
"Settings": "সেটিংস",
"Shortcuts": "শর্টকাট সমূহ",
"Tip": "টিপ",
"Undo": "অ্যান্ডু ",
"Undo": "অ্যান্ডু",
"Upload": "আপলোড",
"Zoom Out": "জুম আউট",
"script": "স্ক্রিপ্ট "
"Zoom Out": "জুম আউট"
}

View File

@@ -1,39 +1,137 @@
{
"A new update {{{version}}} has been downloaded.": "S'ha descarregat una nova actualització {{{version}}}",
"A new version {{{version}}} of Zulip Desktop is available.": "Hi ha disponible una nova versió de Zulip Escriptori {{{version}}}",
"A new update {{{version}}} has been downloaded.": "S'ha descarregat una nova actualització {{{version}}}.",
"A new version {{{version}}} of Zulip Desktop is available.": "Hi ha disponible una nova versió de Zulip Escriptori {{{version}}}.",
"About": "Sobre",
"About Zulip": "Quant a Zulip",
"Actual Size": "Mida actual",
"Add Organization": "Afegir organització",
"Add a Zulip organization": "Afegir una organització de Zulip",
"Add custom CSS": "Add custom CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Avançat",
"Always start minimized": "Always start minimized",
"App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?",
"Are you sure?": "Esteu segur/a?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "Arxiu CSS",
"Cancel": "Cancel·la",
"Certificate error": "Error de certificat",
"Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates",
"Close": "Tancar",
"Connect": "Connect",
"Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations",
"Copy": "Copia",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Crea una nova organització",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Elimina",
"Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Configuració d'escriptori",
"Disconnect": "Disconnect",
"Do Not Disturb": "No molesteu",
"Download App Logs": "Download App Logs",
"Edit": "Edita",
"Edit Shortcuts": "Edit Shortcuts",
"Emoji & Symbols": "Emojis i símbols",
"Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Entreu a pantalla sencera",
"Error saving new organization": "Error en guardar la nova organització",
"Factory Reset": "Factory Reset",
"Factory Reset Data": "Factory Reset Data",
"File": "Fitxer",
"Find accounts": "Find accounts",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Hard Reload": "Recàrrega forçada",
"Help": "Help",
"Help Center": "Centre d'ajuda",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "Historial",
"History Shortcuts": "Dreceres d'historial",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Tanca la sessió",
"Log Out of Organization": "Tanca la sessió de l'organització",
"Look Up": "Look Up",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Silencia tots els sons de Zulip",
"Network": "Network",
"No Suggestion Found": "No Suggestion Found",
"OK": "D'acord",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL d'organització",
"Organizations": "Organizations",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Recarrega",
"Report an Issue": "Report an Issue",
"Reset App Settings": "Reinicia la configuració de l'aplicació",
"Save": "Guardar",
"Select All": "Select All",
"Services": "Services",
"Settings": "Configuració",
"Unable to check for updates.": "No ha estat possible comprovar les actualitzacions",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Unable to check for updates.": "No ha estat possible comprovar les actualitzacions.",
"Unable to download the update.": "No ha estat possible descarregar l'actualització.",
"Undo": "Undo",
"Unhide": "Unhide",
"Unknown error": "Error desconegut",
"Upload": "Pujada",
"Yes": "No"
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"Yes": "No",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts"
}

View File

@@ -98,14 +98,16 @@
"New servers added. Reload app now?": "Přidány nové servery. Nahrát nyní aplikaci znovu?",
"No": "Ne",
"No Suggestion Found": "Nenalezen žádný návrh",
"No updates available.": "Žádné dostupné aktualizace",
"No updates available.": "Žádné dostupné aktualizace.",
"Notification settings": "Nastavení oznámení",
"OK": "OK",
"OR": "NEBO",
"On macOS, the OS spellchecker is used.": "Na macOS se používá kontrola pravopisu OS.",
"Organization URL": "Adresa organizace",
"Organizations": "Organizace",
"Paste": "Vložit",
"Paste and Match Style": "Vložit a ponechat styl",
"Proxy": "Proxy",
"Proxy bypass rules": "Pravidla pro obejití Proxy",
"Proxy rules": "Pravidla Proxy",
"Proxy settings saved.": "Nastavení proxy serveru je uloženo.",
@@ -138,6 +140,7 @@
"The update will be downloaded in the background. You will be notified when it is ready to be installed.": "Aktualizace se stáhne na pozadí. Až bude připravena k instalaci, budete o tom informováni.",
"There was an error while saving the new organization. You may have to add your previous organizations again.": "Při ukládání nové organizace došlo k chybě. Je možné, že budete muset předchozí organizace přidat znovu.",
"These desktop app shortcuts extend the Zulip webapp's": "Tyto zkratky rozšiřují webovou aplikaci Zulipu",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Přepnout vývojářské nástroje pro aktivní kartu",
"Toggle DevTools for Zulip App": "Přepnout vývojářské nástroje pro program Zulip",
"Toggle Do Not Disturb": "Přepnout mód Nerušit",
@@ -163,6 +166,5 @@
"Zoom In": "Přiblížit",
"Zoom Out": "Oddálit",
"keyboard shortcuts": "klávesové zkratky",
"script": "skript",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} používá zastaralou verzi serveru Zulip {{{verze}}}. V této aplikaci nemusí plně pracovat."
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} používá zastaralou verzi serveru Zulip {{{version}}}. V této aplikaci nemusí plně pracovat."
}

View File

@@ -6,7 +6,7 @@
"Add custom CSS": "Ychwanegwch CSS wedi'i ddylunio'n benodol",
"Add to Dictionary": "Ychwanegu at y Geiriadur",
"Advanced": "Uwch",
"All the connected organizations will appear here.": "Bydd yr holl sefydliadau cysylltiedig yn ymddangos yma",
"All the connected organizations will appear here.": "Bydd yr holl sefydliadau cysylltiedig yn ymddangos yma.",
"Always start minimized": "Dechreuwch gyn lleied â phosibl bob amser",
"App Updates": "Diweddariadau Ap",
"App language (requires restart)": "Iaith ap (angen ailgychwyn)",
@@ -63,7 +63,7 @@
"Hide Others": "Cuddio Eraill",
"Hide Zulip": "Cuddiwch Zulip",
"History": "Hanes",
"History Shortcuts": "Hanes Llwybrau Byr ",
"History Shortcuts": "Hanes Llwybrau Byr",
"Keyboard Shortcuts": "Llwybrau Byr Bysellfwrdd",
"Log Out": "Allgofnodi",
"Log Out of Organization": "Allgofnodi Sefydliad",
@@ -81,7 +81,7 @@
"Organization URL": "URL y sefydliad",
"Organizations": "Sefydliadau",
"Paste": "Gludo",
"Paste and Match Style": "Arddull Gludo a Paru ",
"Paste and Match Style": "Arddull Gludo a Paru",
"Proxy": "Dirprwy",
"Proxy bypass rules": "Rheolau ffordd osgoi dirprwy",
"Proxy rules": "Rheolau dirprwy",
@@ -128,6 +128,5 @@
"Zoom In": "Chwyddo Mewn",
"Zoom Out": "Chwyddo allan",
"keyboard shortcuts": "llwybrau byr bysellfwrdd",
"script": "sgript",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "Mae {{{server}}} yn rhedeg fersiwn Zulip Server {{{version}}} sydd wedi dyddio. Efallai na fydd yn gweithio'n llawn yn yr app hon."
}

View File

@@ -4,25 +4,32 @@
"Add Organization": "Tilføj organisation",
"Add a Zulip organization": "Tilføj en Zulip organisation",
"Add custom CSS": "Tilføj egen CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Avanceret",
"All the connected organizations will appear here.": "Alle forbundne organisationer vil blive vist her",
"All the connected organizations will appear here.": "Alle forbundne organisationer vil blive vist her.",
"Always start minimized": "Start altid minimeret",
"App Updates": "App-opdateringer",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Udseende",
"Application Shortcuts": "Genveje",
"Are you sure you want to disconnect this organization?": "Er du sikker på du vil frakoble denne organisation? ",
"Are you sure you want to disconnect this organization?": "Er du sikker på du vil frakoble denne organisation?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Skjul menu automatisk",
"Auto hide menu bar (Press Alt key to display)": "Skjul menu automatisk (tryk på Alt-tasten for at vise)",
"Back": "Tilbage",
"Bounce dock on new private message": "Animér dock ved ny privat meddelelse",
"Cancel": "Annuller",
"Change": "Skift",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Tjek for opdateringer",
"Close": "Luk",
"Connect": "Tilslut",
"Connect to another organization": "Forbind til en anden organisation",
"Connected organizations": "Tilsluttede organisationer",
"Copy": "Kopiér",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Kopiér Zulip URL",
"Create a new organization": "Opret ny organisation",
"Cut": "Klip",
@@ -40,6 +47,7 @@
"Enable spellchecker (requires restart)": "Aktivér stavekontrol (kræver genstart)",
"Enter Full Screen": "Fuld skærm",
"Factory Reset": "Nulstil til fabriksindstillinger",
"Factory Reset Data": "Factory Reset Data",
"File": "Fil",
"Find accounts": "Find konti",
"Find accounts by email": "Find konti via email-adresse",
@@ -59,27 +67,65 @@
"Keyboard Shortcuts": "Tastaturgenveje",
"Log Out": "Log ud",
"Log Out of Organization": "Log ud af organisation",
"Look Up": "Look Up",
"Manual proxy configuration": "Manuel proxy opsætning",
"Minimize": "Minimer",
"Mute all sounds from Zulip": "Dæmp alle lyde fra Zulip",
"Network": "Netværk",
"Network and Proxy Settings": "Netværk og proxy indstillinger",
"No Suggestion Found": "No Suggestion Found",
"Notification settings": "Indstillinger for notifikationer",
"OK": "OK",
"OR": "ELLER",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organisation URL",
"Organizations": "Organisationer",
"Paste": "Indsæt",
"Paste and Match Style": "Indsæt med samme formattering",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass regler",
"Proxy rules": "Proxy regler",
"Quit": "Luk",
"Quit Zulip": "Luk Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Reset App Settings": "Nulstil App-indstillinger",
"Reset the application, thus deleting all the connected organizations and accounts.": "Nulstil applikationen, dvs: slet alle forbundne organisationer og konti.",
"Save": "Gem",
"Select All": "Vælg alle",
"Services": "Tjenester",
"Settings": "Indstillinger",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Slå forstyr ej til eller fra",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Undo",
"Unhide": "Unhide",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} kører en ældre version {{{version}}}. Den virker måske ikke fuld ud med denne app."
}

View File

@@ -1,12 +1,13 @@
{
"A new update {{{version}}} has been downloaded.": "Ein neues Update {{{version}}} wurde heruntergeladen.",
"A new version {{{version}}} is available. Please update using your package manager.": "Die neue Version {{{version}}} ist verfügbar. Bitte aktualisiere mithile deiner Paketverwaltung.",
"A new version {{{version}}} of Zulip Desktop is available.": "Eine neue Version {{{version}}} von Zulip Desktop ist verfügbar.",
"About": "Über",
"About Zulip": "Über Zulip",
"Actual Size": "Tatsächliche Größe",
"Add Organization": "Organisation hinzufügen",
"Add a Zulip organization": "Zulip-Organisation hinzufügen",
"Add custom CSS": "Eigenes CSS hinzufügen",
"Add custom CSS": "Eigene CSS hinzufügen",
"Add to Dictionary": "Zum Wörterbuch hinzufügen",
"Advanced": "Erweitert",
"All the connected organizations will appear here.": "Alle verbundenen Organisationen werden hier angezeigt.",
@@ -29,16 +30,19 @@
"Change": "Ändern",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Ändere die Spracheinstellung über Systemeinstellungen → Tastatur → Text → Rechtschreibung.",
"Check for Updates": "Auf-Updates prüfen",
"Click to show {{{fileName}}} in folder": "Klicken, um {{{fileName}}} im Verzeichnis zu sehen",
"Close": "Schließen",
"Connect": "Verbinden",
"Connect to another organization": "Mit einer anderen Organisation verbinden",
"Connected organizations": "Verbundene Organisationen",
"Connecting…": "Verbinde …",
"Copy": "Kopieren",
"Copy Email Address": "Email-Addresse kopieren",
"Copy Image": "Bild kopieren",
"Copy Image URL": "Bild-URL kopieren",
"Copy Link": "Link kopieren",
"Copy Zulip URL": "Zulip-URL kopieren",
"Could not add {{{domain}}}. Please contact your system administrator.": "Konnte {{{domain}}} nicht hinzufügen. Bitte kontaktiere deinen Systemadminstrator.",
"Create a new organization": "Eine neue Organisation erstellen",
"Custom CSS file deleted": "Eigene CSS-Datei gelöscht",
"Cut": "Ausschneiden",
@@ -46,17 +50,22 @@
"Delete": "Löschen",
"Desktop Notifications": "Desktopbenachrichtigungen",
"Desktop Settings": "Desktop-Einstellungen",
"Disable Do Not Disturb": "Bitte nicht stören ausschalten",
"Disconnect": "Verbindung trennen",
"Disconnect organization": "Organisation trennen",
"Do Not Disturb": "Bitte nicht stören",
"Download App Logs": "Logdateien der App herunterladen",
"Download Complete": "Download vollständig",
"Download failed": "Download fehlgeschlagen",
"Edit": "Bearbeiten",
"Edit Shortcuts": "Tastenkürzel bearbeiten",
"Emoji & Symbols": "Emoji & Symbole",
"Enable Do Not Disturb": "Bitte nicht stören einschalten",
"Enable auto updates": "Automatisch aktualisieren",
"Enable error reporting (requires restart)": "Fehlerberichte aktivieren (erfordert Neustart)",
"Enable spellchecker (requires restart)": "Rechtschreibprüfung aktivieren (erfordert Neustart)",
"Enter Full Screen": "Vollbildschirm aktivieren",
"Enter Languages": "Sprachen eingeben",
"Error saving new organization": "Neue Organisation konnte nicht gespeichert werden",
"Error saving update notifications": "Update-Benachrichtigungen konnten nicht gespeichert werden",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Fehler: {{{error}}}\n\nDie neueste Version von Zulip Desktop ist hier verfügbar:\n{{{link}}}\nAktuelle Version: {{{version}}}",
@@ -98,23 +107,32 @@
"New servers added. Reload app now?": "Neue Server hinzugefügt. App jetzt erneut laden?",
"No": "Nein",
"No Suggestion Found": "Keine Vorschläge gefunden",
"No unread messages": "Keine ungelesenen Nachrichten",
"No updates available.": "Keine Updates verfügbar.",
"Notification settings": "Benachrichtigungseinstellungen",
"OK": "OK",
"OR": "ODER",
"On macOS, the OS spellchecker is used.": "In macOS wird die OS Rechtschreibprüfung verwendet.",
"Opening {{{link}}}…": "Öffne {{{link}}…",
"Organization URL": "Organisations-URL",
"Organizations": "Organisationen",
"PAC script": "PAC-Skript",
"Paste": "Einfügen",
"Paste and Match Style": "Ohne Formatierung einfügen",
"Please contact your system administrator.": "Bitte kontaktiere deinen Systemadministrator.",
"Press {{{exitKey}}} to exit full screen": "Drücke {{{exitKey}} um den Vollbildmodus zu beenden",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy-Ausnahmen",
"Proxy rules": "Proxy-Regeln",
"Proxy settings saved.": "Proxy-Einstellungen gespeichert.",
"Quit": "Beenden",
"Quit Zulip": "Zulip beenden",
"Quit when the window is closed": "Beim Schließen des Fensters beenden",
"Redirecting": "Leite um",
"Redo": "Wiederholen",
"Release Notes": "Hinweise zur Versionsfreigabe",
"Reload": "Neu laden",
"Removing {{{url}}} is a restricted operation.": "Entfernung von {{{url}} ist eine eingeschränkte Operation.",
"Report an Issue": "Ein Problem melden",
"Reset App Settings": "App-Einstellungen zurücksetzen",
"Reset the application, thus deleting all the connected organizations and accounts.": "Die Anwendung zurücksetzen. Dabei werden alle verbundenen Organisationen und Konten gelöscht.",
@@ -123,6 +141,7 @@
"Select Download Location": "Wählen Sie das Download-Ziel",
"Select file": "Datei auswählen",
"Services": "Dienste",
"Setting locked by system administrator.": "Einstellung durch Systemadministrator gesperrt.",
"Settings": "Einstellungen",
"Shortcuts": "Kurzbefehle",
"Show app icon in system tray": "App-Icon in Systemleiste anzeigen",
@@ -153,17 +172,24 @@
"Unknown error": "Unbekannter Fehler",
"Upload": "Hochladen",
"Use system proxy settings (requires restart)": "Systemweite Proxy-Einstellungen verwenden (erfordert Neustart)",
"Verify that it works and then click Reconnect.": "Prüfe, das es funktioniert und klicke auf Wiederverbinden.",
"View": "Ansicht",
"View Shortcuts": "Tastenkürzel anzeigen",
"We encountered an error while saving the update notifications.": "Beim Speichern der Update-Benachrichtigungen ist ein Fehler aufgetreten.",
"When the application restarts, it will be as if you have just downloaded the Zulip app.": "Wenn die Anwendung neu startet, wird es sein als hättest du die Zulip-App erst heruntergeladen.",
"Window": "Fenster",
"Window Shortcuts": "Kurzbefehle für Fenster",
"Yes": "Ja",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Du verwendest die neueste Version von Zulip Desktop.\nVersion: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "Du kannst höchstens 3 Sprachen für die Rechtschreibprüfung auswählen.",
"Your internet connection doesn't seem to work properly!": "Deine Internetverbindung scheint nicht ordentlich zu funktionieren!",
"Zoom In": "Vergrößern",
"Zoom Out": "Verkleinern",
"Zulip": "Zulip",
"Zulip Update": "Zulip-Aktualisierung",
"keyboard shortcuts": "Tastenkürzel",
"script": "Skript",
"your-organization.zulipchat.com or zulip.your-organization.com": "your-organization.zulipchat.com oder zulip.your-organization.com",
"{number, plural, one {# unread message} other {# unread messages}}": "{number, plural, one {# ungelesene Nachricht} other {# ungelesene Nachrichten}}",
"{number, plural, one {Could not add # organization} other {Could not add # organizations}}": "{number, plural, one {konnte # Organisation nicht hinzufügen} other {konnte # Organisationen nicht hinzufügen}}",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "Auf {{{server}}} läuft die nicht mehr aktuelle Version {{{version}}} von Zulip Server. Es kann sein, dass diese Anwendung damit nicht vollständig funktioniert."
}

View File

@@ -1,118 +1,193 @@
{
"About Zulip": "Σχετικά με το Zulip",
"A new update {{{version}}} has been downloaded.": "Έχει ληφθεί μια νέα ενημέρωση {{{version}}}.",
"A new version {{{version}}} is available. Please update using your package manager.": "Μια νέα έκδοση {{{version}}} είναι διαθέσιμη. Παρακαλούμε ενημερώστε χρησιμοποιώντας τον διαχειριστή πακέτων.",
"A new version {{{version}}} of Zulip Desktop is available.": "Μια νέα έκδοση {{{version}} του Zulip Desktop είναι διαθέσιμη.",
"About": "Περί",
"About Zulip": "Περί Zulip",
"Actual Size": "Πραγματικό μέγεθος",
"Add Organization": "Προσθήκη Οργανισμού",
"Add a Zulip organization": "Προσθήκη οργανισμού Zulip",
"Add custom CSS": "Προσθήκη προσαρμοσμένης CSS",
"Add custom CSS": "Προσθήκη προσαρμοσμένου CSS",
"Add to Dictionary": "Προσθήκη σε Λεξικό",
"Advanced": "Για προχωρημένους",
"All the connected organizations will appear here.": "Όλοι οι συνδεδεμένοι οργανισμοί θα εμφανίζονται εδώ.",
"Always start minimized": "Να ξεκινά πάντα ελαχιστοποιημένο",
"App Updates": "Ενημερώσεις Εφαρμογής",
"App language (requires restart)": "Γλώσσα εφαρμογής (χρειάζεται επανεκκίνηση)",
"App Updates": "Ενημερώσεις εφαρμογής",
"App language (requires restart)": "Γλώσσα εφαρμογής (απαιτεί επανεκκίνηση)",
"Appearance": "Εμφάνιση",
"Application Shortcuts": "Συντομεύσεις εφαρμογής",
"Are you sure you want to disconnect this organization?": "Είστε σίγουροι ότι θέλετε να αποσυνδέσετε αυτό τον οργανισμό;",
"Ask where to save files before downloading": "Να ερωτούμαι πού να αποθηκευτούν τα αρχεία προτού κατέβουν.",
"Auto hide Menu bar": "Αυτόματη απόκρυψη γραμμής Μενού",
"Auto hide menu bar (Press Alt key to display)": "Αυτόματη απόκρυψη γραμμής Μενού (Πατήστε Alt για να εμφανιστεί)",
"Are you sure?": "Είστε σίγουροι;",
"Ask where to save files before downloading": "Ρώτησε πού να αποθηκευτούν τα αρχεία πριν από τη λήψη",
"Auto hide Menu bar": "Αυτόματη απόκρυψη γραμμής μενού",
"Auto hide menu bar (Press Alt key to display)": "Αυτόματη απόκρυψη γραμμής μενού (Πατήστε Alt για να εμφανιστεί)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Διαθέσιμο υπό το {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Πίσω",
"Bounce dock on new private message": "Να χοροπηδάει το σχετικό εικονίδιο κατά τη λήψη ιδιωτικού μηνύματος",
"Bounce dock on new private message": "Να αναπηδά το εικονίδιο εφαρμογής σε νέο προσωπικό μήνυμα",
"CSS file": "Αρχείο CSS",
"Cancel": "Ακύρωση",
"Certificate error": "Σφάλμα πιστοποιητικού",
"Change": "Αλλαγή",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Αλλάξτε τη γλώσσα από τις Επιλογές Συστήματος → Πληκτρολόγιο → Κείμενο → Γραφή",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Αλλάξτε τη γλώσσα από τις Προτιμήσεις Συστήματος → Πληκτρολόγιο → Κείμενο → Γραφή.",
"Check for Updates": "Έλεγχος για Ενημερώσεις",
"Click to show {{{fileName}}} in folder": "Κάνετε κλικ για την εμφάνιση του {{{fileName}} στο φάκελο",
"Close": "Κλείσιμο",
"Connect": "Σύνδεση",
"Connect to another organization": "Σύνδεση με άλλο οργανισμό",
"Connect to another organization": "Σύνδεση με διαφορετικό οργανισμό",
"Connected organizations": "Συνδεδεμένοι οργανισμοί",
"Connecting…": "Σύνδεση…",
"Copy": "Αντιγραφή",
"Copy Zulip URL": "Αντιγραφή διεύθυνσης URL Zulip",
"Copy Email Address": "Αντιγραφή διεύθυνσης email",
"Copy Image": "Αντιγραφή εικόνας",
"Copy Image URL": "Αντιγραφή διεύθυνσης εικόνας",
"Copy Link": "Αντιγραφή συνδέσμου",
"Copy Zulip URL": "Αντιγραφή Zulip URL",
"Could not add {{{domain}}}. Please contact your system administrator.": "Αδυναμία προσθήκης {{{domain}}}. Παρακαλούμε επικοινωνήστε με τον διαχειριστή συστήματος.",
"Create a new organization": "Δημιουργία νέου οργανισμού",
"Custom CSS file deleted": "Διεγράφη το προσαρμοσμένο αρχείο CSS",
"Cut": "Αποκοπή",
"Default download location": "Προεπιλεγμένη τοποθεσία λήψης",
"Delete": "Διαγραφή",
"Desktop Notifications": "Ειδοποιήσεις στην Επιφάνεια Εργασίας",
"Desktop Settings": "Ρυθμίσεις Επιφάνειας Εργασίας",
"Disable Do Not Disturb": "Απενεργοποίηση Μην Εχνοχλείτε",
"Disconnect": "Αποσύνδεση",
"Download App Logs": "Λήψη Logs Εφαρμογής",
"Disconnect organization": "Αποσύνδεση οργανισμού",
"Do Not Disturb": "Μην ενοχλείτε",
"Download App Logs": "Λήψη καταγραφών Εφαρμογής",
"Download Complete": "Η λήψη ολοκληρώθηκε",
"Download failed": "Η λήψη απέτυχε",
"Edit": "Επεξεργασία",
"Edit Shortcuts": "Επεξεργασία Συντομεύσεων",
"Emoji & Symbols": "Φατσούλες Ιμότζι και Σύμβολα",
"Emoji & Symbols": "Emoji & Σύμβολα",
"Enable Do Not Disturb": "Ενεργοποίηση Μην Ενοχλείτε",
"Enable auto updates": "Ενεργοποίηση αυτόματων ενημερώσεων",
"Enable error reporting (requires restart)": "Ενεργοποίηση αναφοράς λαθών (χρειάζεται επανεκκίνηση)",
"Enable spellchecker (requires restart)": "Ενεργοποίηση ελέγχου ορθογραφίας (χρειάζεται επανεκκίνηση)",
"Enable error reporting (requires restart)": "Ενεργοποίηση αναφοράς σφαλμάτων (απαιτεί επανεκκίνηση)",
"Enable spellchecker (requires restart)": "Ενεργοποίηση ελέγχου ορθογραφίας (απαιτεί επανεκκίνηση)",
"Enter Full Screen": "Μετάβαση σε Πλήρη Οθόνη",
"Enter Languages": "Προσθήκη Γλωσσών",
"Error saving new organization": "Σφάλμα αποθήκευσης νέου οργανισμού",
"Error saving update notifications": "Σφάλμα αποθήκευσης ειδοποιήσεων ενημερώσεων",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Σφάλμα: {{{error}}}\n\nΗ πιο πρόσφατη έκδοση του Zulip Desktop είναι διαθέσιμη στο:\n{{{link}}}\nΤρέχουσα έκδοση: {{{version}}}",
"Factory Reset": "Επαναφορά Εργοστασιακών Ρυθμίσεων",
"Factory Reset Data": "Επαναφορά εργοστασιακών ρυθμίσεων - Δεδομένα",
"Factory Reset Data": "Διαγραφή Δεδομένων",
"File": "Αρχείο",
"Find accounts": "Εϋρεση λογαριασμών",
"Find accounts": "Εύρεση λογαριασμών",
"Find accounts by email": "Εύρεση λογαριασμών βάσει email",
"Flash taskbar on new message": "Αναλαμπή γραμμής εργασιών κατά τη λήψη νέου μηνύματος",
"Forward": "Μπροστά",
"Functionality": "Λειτουργία",
"Flash taskbar on new message": "Αναλαμπή γραμμής εργασιών σε νέο μήνυμα",
"Forward": "Εμπρός",
"Functionality": "Λειτουργικότητα",
"General": "Γενικά",
"Get beta updates": "Λήψη beta - δοκιμαστικών ενημερώσεων",
"Hard Reload": "Ολική επαναφόρτωση",
"Get beta updates": "Λήψη ενημερώσεων beta",
"Go Back": "Πίσω",
"Hard Reload": "Ολική Επαναφόρτωση",
"Help": "Βοήθεια",
"Help Center": "Κέντρο Βοήθειας",
"Hide": "Απόκρυψη",
"Hide Others": "Απόκρυψη των υπολοίπων",
"Hide Others": "Απόκρυψη των Yπολοίπων",
"Hide Zulip": "Απόκρυψη του Zulip",
"History": "Ιστορικό",
"History Shortcuts": "Συντομεύσεις Ιστορικού",
"Install Later": "Εγκατάσταση αργότερα",
"Install and Relaunch": "Εγκατάσταση και επανεκκίνηση",
"It will be installed the next time you restart the application.": "Θα εγκατασταθεί κατά την επανεκκίνηση της εφαρμογής.",
"Keyboard Shortcuts": "Συντομεύσεις Πληκτρολογίου",
"Log Out": "Αποσύνδεση",
"Log Out of Organization": "Αποσύνδεση από Οργανισμό",
"Manual proxy configuration": "Χειροκίνητη παραμετροποίηση proxy",
"Later": "Αργότερα",
"Loading": "Φόρτωση",
"Log Out": "Έξοδος",
"Log Out of Organization": "Έξοδος από Οργανισμό",
"Look Up": "Εύρεση",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Διατηρείται από {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Χειροκίνητη λήψη",
"Manual proxy configuration": "Χειροκίνητη διαμόρφωση διακομιστή μεσολάβησης",
"Minimize": "Ελαχιστοποίηση",
"Mute all sounds from Zulip": "Σίγαση όλων των ήχων του Zulip",
"Network": "Δίκτυο",
"Network and Proxy Settings": "Ρυθμίσεις Δικτύου και Proxy",
"OR": ",
"Network and Proxy Settings": "Ρυθμίσεις Δικτύου και Διακομιστή Μεσολάβησης",
"New servers added. Reload app now?": "Προστέθηκαν νέοι διακομιστές. Να γίνει επαναφόρτωση της εφαρμογής;",
"No": "Όχι",
"No Suggestion Found": "Δε βρέθηκαν Προτάσεις",
"No unread messages": "Κανένα μη αναγνωσμένο μήνυμα",
"No updates available.": "Δεν υπάρχουν διαθέσιμες ενημερώσεις.",
"Notification settings": "Ρυθμίσεις ειδοποιήσεων",
"OK": "ΟΚ",
"OR": "ή",
"On macOS, the OS spellchecker is used.": "Στο macOS, χρησιμοποιείται ο έλεγχος ορθογραφίας του λειτουργικού συστήματος.",
"Opening {{{link}}}…": "Άνοιγμα {{{link}}}…",
"Organization URL": "URL Οργανισμού",
"Organizations": "Οργανισμοί",
"PAC script": "PAC σκριπτ",
"Paste": "Επικόλληση",
"Paste and Match Style": "Επικόλληση και υιοθέτηση στυλ προορισμού",
"Proxy bypass rules": "Κανόνες παράκαμψης Proxy",
"Proxy rules": "Κανόνες Proxy",
"Quit": "Έξοδος",
"Quit Zulip": "Έξοδος από Zulip",
"Quit when the window is closed": "Έξοδος όταν κλείνει το παράθυρο",
"Paste and Match Style": "Επικόλληση και Ταίριασμα Στυλ",
"Please contact your system administrator.": "Παρακαλώ επικοινωνήστε με τον διαχειριστή συστήματος.",
"Press {{{exitKey}}} to exit full screen": "Πιέστε {{{exitKey}}} για έξοδο από πλήρη οθόνη",
"Proxy": "Διακομιστής μεσολάβησης",
"Proxy bypass rules": "Κανόνες παράκαμψης Διακομιστή Μεσολάβησης",
"Proxy rules": "Κανόνες Διακομιστή Μεσολάβησης",
"Proxy settings saved.": "Αποθηκεύτηκαν οι ρυθμίσεις διακομιστή μεσολάβησης.",
"Quit": "Τερματισμός",
"Quit Zulip": "Τερματισμός Zulip",
"Quit when the window is closed": "Τερματισμός όταν κλείνει το παράθυρο",
"Redirecting": "Ανακατεύθυνση",
"Redo": "Ακύρωση αναίρεσης",
"Release Notes": "Σημειώσεις έκδοσης",
"Release Notes": "Σημειώσεις Έκδοσης",
"Reload": "Επαναφόρτωση",
"Report an Issue": "Αναφορά ενός προβλήματος",
"Removing {{{url}}} is a restricted operation.": "Η αφαίρεση του {{{url}}} υπόκειται σε περιορισμό.",
"Report an Issue": "Αναφορά ζητήματος",
"Reset App Settings": "Επαναφορά Ρυθμίσεων Εφαρμογής",
"Reset the application, thus deleting all the connected organizations and accounts.": "Επαναφορά της εφαρμογής, με διαγραφή όλων των συνδεδεμένων οργανισμών και λογαριασμών.",
"Save": "Αποθήκευση",
"Select All": "Επιλογή Όλων",
"Select Download Location": "Επιλογή τοποθεσίας λήψης",
"Select file": "Επιλογή αρχείου",
"Services": "Υπηρεσίες",
"Setting locked by system administrator.": "Η ρύθμιση είναι κλειδωμένη από τον διαχειριστή συστήματος.",
"Settings": "Ρυθμίσεις",
"Shortcuts": "Συντομεύσεις",
"Show app icon in system tray": "Εμφάνιση εικονιδίου στη γραμμή εργασιών",
"Show desktop notifications": "Εμφάνιση ειδοποιήσεων στην Επιφάνεια Εργασίας",
"Show sidebar": "Εμφάνιση πλευρικής γραμμής εργαλείων",
"Show app icon in system tray": "Εμφάνιση εικονιδίου στην περιοχή ειδοποιήσεων",
"Show desktop notifications": "Εμφάνιση ειδοποιήσεων Επιφάνειας Εργασίας",
"Show sidebar": "Εμφάνιση πλευρικής γραμμής",
"Show unread count badge on app icon": "Εμφάνιση πλήθους μη αναγνωσμένων μηνυμάτων στο εικονίδιο της εφαρμογής",
"Spellchecker Languages": "Γλώσσες Ορθογραφικού Ελέγχου",
"Start app at login": "Έναρξη εφαρμογής κατά τη σύνδεση",
"Switch to Next Organization": "Μετάβαση σε Επόμενο Οργανισμό",
"Switch to Previous Organization": "Μετάβαση σε Προηγούμενο Οργανισμό",
"Start app at login": "Έναρξη εφαρμογής κατά την είσοδο",
"Switch to Next Organization": "Αλλαγή σε Επόμενο Οργανισμό",
"Switch to Previous Organization": "Αλλαγή σε Προηγούμενο Οργανισμό",
"The custom CSS previously set is deleted.": "Έχει διαγραφεί το προηγούμενο προσαρμοσμένο CSS.",
"The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "Ο διακομιστής παρουσίασε ένα μη έγκυρο πιστοποιητικό για {{{origin}}}:\n\n{{{error}}}",
"The update will be downloaded in the background. You will be notified when it is ready to be installed.": "Η ενημέρωση θα ληφθεί στο παρασκήνιο. Θα ειδοποιηθείτε όταν είναι έτοιμη προς εγκατάσταση.",
"There was an error while saving the new organization. You may have to add your previous organizations again.": "Παρουσιάστηκε σφάλμα κατά την αποθήκευση του νέου οργανισμού. Ενδέχεται να χρειαστεί να προσθέσετε ξανά τους προηγούμενους οργανισμούς σας.",
"These desktop app shortcuts extend the Zulip webapp's": "Αυτές οι συντομεύσεις εφαρμογών για υπολογιστές επεκτείνουν την εφαρμογή web Zulip",
"Tip": "Συμβουλή",
"Toggle Full Screen": "Ενεργοποίηση/ Απενεργοποίηση Πλήρους Οθόνης",
"Toggle Sidebar": "Εμφάνιση/Απόκρυψη πλευρικής γραμμής εργαλείων",
"Toggle Tray Icon": "Εμφάνιση/Απόκρυψη εικονιδίου γραμμής εργασιών",
"Toggle DevTools for Active Tab": "Εναλλαγή DevTools για την Ενεργή Καρτέλα",
"Toggle DevTools for Zulip App": "Εναλλαγή DevTools για την Εφαρμογή Zulip",
"Toggle Do Not Disturb": "Εναλλαγή Μην Ενοχλείτε",
"Toggle Full Screen": "Εναλλαγή Πλήρους Οθόνης",
"Toggle Sidebar": "Εναλλαγή πλευρικής γραμμής εργαλείων",
"Toggle Tray Icon": "Εναλλαγή εικονιδίου γραμμής εργασιών",
"Tools": "Εργαλεία",
"Unable to check for updates.": "Δεν είναι δυνατός ο έλεγχος για ενημερώσεις.",
"Unable to download the update.": "Δεν είναι δυνατή η λήψη της ενημέρωσης.",
"Undo": "Αναίρεση",
"Unhide": "Επανεμφάνιση",
"Unknown error": "Άγνωστο σφάλμα",
"Upload": "Ανέβασμα",
"Use system proxy settings (requires restart)": "Χρήση ρυθμίσεων proxy συστήματος (χρειάζεται επανεκκίνηση)",
"Use system proxy settings (requires restart)": "Χρήση ρυθμίσεων συστήματος για Διακομιστή Μεσολάβησης (απαιτεί επανεκκίνηση)",
"Verify that it works and then click Reconnect.": "Επιβεβαιώστε ότι λειτουργεί και στη συνέχεια κάνετε κλικ στην Επανασύνδεση.",
"View": "Προβολή",
"View Shortcuts": "Εμφάνιση Συντομεύσεων",
"We encountered an error while saving the update notifications.": "Αντιμετωπίστηκε σφάλμα κατά την αποθήκευση των ειδοποιήσεων ενημερώσεων.",
"When the application restarts, it will be as if you have just downloaded the Zulip app.": "Μετά την επανεκκίνηση της εφαρμογής θα είναι σαν να έχετε μόλις κατεβάσει το Zulip.",
"Window": "Παράθυρο",
"Window Shortcuts": "Συντομεύσεις Παραθύρου",
"Yes": "Ναι",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Εκτελείται η πιο πρόσφατη έκδοση του Zulip Desktop.\nΈκδοση: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "Μπορούν να επιλεγούν μέχρι 3 γλώσσες ορθογραφικού ελέγχου.",
"Zoom In": "Ζουμ εγγύτερα",
"Zoom Out": "Ζουμ μακρύτερα",
"Your internet connection doesn't seem to work properly!": "Η σύνδεση σας στo Internet δε φαίνεται να λειτουργεί σωστά!",
"Zoom In": "Μεγέθυνση",
"Zoom Out": "Σμίκρυνση",
"Zulip": "Zulip",
"Zulip Update": "Ενημέρωση Zulip",
"keyboard shortcuts": "συντομεύσεις πληκτρολογίου",
"your-organization.zulipchat.com or zulip.your-organization.com": "your-organization.zulipchat.com ή zulip.your-organization.com",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} τρέχει μία παρωχημένη έκδοση του Zulip Server {{{version}}}. Ενδεχομένως να μη λειτουργεί πλήρως σε αυτή την εφαρμογή."
}

View File

@@ -1 +1,195 @@
{}
{
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} is available. Please update using your package manager.": "A new version {{{version}}} is available. Please update using your package manager.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "About Zulip",
"Actual Size": "Actual Size",
"Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized",
"App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?",
"Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS file",
"Cancel": "Cancel",
"Certificate error": "Certificate error",
"Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates",
"Click to show {{{fileName}}} in folder": "Click to show {{{fileName}}} in folder",
"Close": "Close",
"Connect": "Connect",
"Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations",
"Connecting…": "Connecting…",
"Copy": "Copy",
"Copy Email Address": "Copy Email Address",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Copy Zulip URL",
"Could not add {{{domain}}}. Please contact your system administrator.": "Could not add {{{domain}}}. Please contact your system administrator.",
"Create a new organization": "Create a new organization",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Delete",
"Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings",
"Disable Do Not Disturb": "Disable Do Not Disturb",
"Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs",
"Download Complete": "Download Complete",
"Download failed": "Download failed",
"Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts",
"Emoji & Symbols": "Emoji & Symbols",
"Enable Do Not Disturb": "Enable Do Not Disturb",
"Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen",
"Enter Languages": "Enter Languages",
"Error saving new organization": "Error saving new organization",
"Error saving update notifications": "Error saving update notifications",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}",
"Factory Reset": "Factory Reset",
"Factory Reset Data": "Factory Reset Data",
"File": "File",
"Find accounts": "Find accounts",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload",
"Help": "Help",
"Help Center": "Help Center",
"Hide": "Hide",
"Hide Others": "Hide Others",
"Hide Zulip": "Hide Zulip",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Install Later": "Install Later",
"Install and Relaunch": "Install and Relaunch",
"It will be installed the next time you restart the application.": "It will be installed the next time you restart the application.",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "No",
"No Suggestion Found": "No Suggestion Found",
"No unread messages": "No unread messages",
"No updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Opening {{{link}}}…": "Opening {{{link}}}…",
"Organization URL": "Organization URL",
"Organizations": "Organizations",
"PAC script": "PAC script",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Please contact your system administrator.": "Please contact your system administrator.",
"Press {{{exitKey}}} to exit full screen": "Press {{{exitKey}}} to exit full screen",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redirecting": "Redirecting",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Removing {{{url}}} is a restricted operation.": "Removing {{{url}}} is a restricted operation.",
"Report an Issue": "Report an Issue",
"Reset App Settings": "Reset App Settings",
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Save",
"Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services",
"Setting locked by system administrator.": "Setting locked by system administrator.",
"Settings": "Settings",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"The custom CSS previously set is deleted.": "The custom CSS previously set is deleted.",
"The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}",
"The update will be downloaded in the background. You will be notified when it is ready to be installed.": "The update will be downloaded in the background. You will be notified when it is ready to be installed.",
"There was an error while saving the new organization. You may have to add your previous organizations again.": "There was an error while saving the new organization. You may have to add your previous organizations again.",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo",
"Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"Verify that it works and then click Reconnect.": "Verify that it works and then click Reconnect.",
"View": "View",
"View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"When the application restarts, it will be as if you have just downloaded the Zulip app.": "When the application restarts, it will be as if you have just downloaded the Zulip app.",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"Yes": "Yes",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Your internet connection doesn't seem to work properly!": "Your internet connection doesn't seem to work properly!",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"Zulip": "Zulip",
"Zulip Update": "Zulip Update",
"keyboard shortcuts": "keyboard shortcuts",
"your-organization.zulipchat.com or zulip.your-organization.com": "your-organization.zulipchat.com or zulip.your-organization.com",
"{number, plural, one {# unread message} other {# unread messages}}": "{number, plural, one {# unread message} other {# unread messages}}",
"{number, plural, one {Could not add # organization} other {Could not add # organizations}}": "{number, plural, one {Could not add # organization} other {Could not add # organizations}}",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app."
}

View File

@@ -166,6 +166,5 @@
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts",
"script": "script",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app."
}

View File

@@ -59,7 +59,7 @@
"Enter Full Screen": "Activar pantalla completa",
"Error saving new organization": "Ocurrió un error al guardar la nueva organización",
"Error saving update notifications": "Ocurrió un error al guardar las notificaciones de actualización",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Error: {{{error}}}\n\nLa última versión de la aplicación de escritorio de Zulip está disponible en:\n{{{link}}}\nVersión actual: {{{version}}} ",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Error: {{{error}}}\n\nLa última versión de la aplicación de escritorio de Zulip está disponible en:\n{{{link}}}\nVersión actual: {{{version}}}",
"Factory Reset": "Reinicio de Fábrica",
"Factory Reset Data": "Datos del Reinicio de Fábrica",
"File": "Archivo",
@@ -68,6 +68,7 @@
"Flash taskbar on new message": "Mostrar barra de tareas al recibir un mensaje",
"Forward": "Avanzar",
"Functionality": "Funcionalidad",
"General": "General",
"Get beta updates": "Recibir actualizaciones en beta",
"Go Back": "Volver atrás",
"Hard Reload": "Forzar Reinicio",
@@ -95,15 +96,18 @@
"Network": "Red",
"Network and Proxy Settings": "Configuración de Redes y Proxy",
"New servers added. Reload app now?": "Se agregaron nuevos servidores. ¿Reiniciar aplicación ahora?",
"No": "No",
"No Suggestion Found": "No se encontraron sugerencias",
"No updates available.": "No hay actualizaciones disponibles.",
"Notification settings": "Configuraciones de notificación",
"OK": "OK",
"OR": "O",
"On macOS, the OS spellchecker is used.": "En macOS, se utiliza el corrector del sistema.",
"Organization URL": "Link de la organización",
"Organizations": "Organizaciones",
"Paste": "Pegar",
"Paste and Match Style": "Pegar y mantener estilo",
"Proxy": "Proxy",
"Proxy bypass rules": "Reglas para ignorar proxy",
"Proxy rules": "Reglas del proxy",
"Proxy settings saved.": "Se guardó la configuración de Proxy.",
@@ -113,7 +117,7 @@
"Redo": "Rehacer",
"Release Notes": "Notas de la versión",
"Reload": "Recargar",
"Report an Issue": "Reportar un problema ",
"Report an Issue": "Reportar un problema",
"Reset App Settings": "Restaurar configuración de la aplicación",
"Reset the application, thus deleting all the connected organizations and accounts.": "Restaurar la aplicación eliminando todas las cuentas y organizaciones conectadas.",
"Save": "Guardar",
@@ -126,6 +130,7 @@
"Show app icon in system tray": "Mostrar ícono de la aplicación en la bandeja del sistema",
"Show desktop notifications": "Mostrar notificaciones de escritorio",
"Show sidebar": "Mostrar barra lateral",
"Show unread count badge on app icon": "Mostrar el recuento de no leídos en el icono de la app",
"Spellchecker Languages": "Idiomas a verificar por el corrector",
"Start app at login": "Lanzar aplicación al iniciar sistema",
"Switch to Next Organization": "Pasar a la siguiente organización",
@@ -135,6 +140,7 @@
"The update will be downloaded in the background. You will be notified when it is ready to be installed.": "La actualización se descargará en segundo plano. Se notificará cuando esté lista para su instalación.",
"There was an error while saving the new organization. You may have to add your previous organizations again.": "Ocurrió un error mientras se guardaba la nueva organización. Se recomienda volver a agregar las organizaciones anteriores.",
"These desktop app shortcuts extend the Zulip webapp's": "Los atajos de la aplicación son los mismos que al utilizar Zulip en el navegador",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Activar o desactivar herramientas de desarrollador en la pestaña seleccionada",
"Toggle DevTools for Zulip App": "Activar o desactivar herramientas de desarrollador en toda la aplicación",
"Toggle Do Not Disturb": "Activar o desactivar no Molestar",
@@ -143,7 +149,7 @@
"Toggle Tray Icon": "Activar o desactivar ícono en barra de herramientas",
"Tools": "Herramientas",
"Unable to check for updates.": "No se pudieron buscar actualizaciones.",
"Unable to download the update.": "No se pudo descargar la actualización",
"Unable to download the update.": "No se pudo descargar la actualización.",
"Undo": "Deshacer",
"Unhide": "Mostrar",
"Unknown error": "Error desconocido",
@@ -156,9 +162,9 @@
"Window Shortcuts": "Atajos de ventana",
"Yes": "Sí",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Tienes la última versión de la aplicación de escritorio de Zulip.\nVersion: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "Se pueden seleccionar hasta 3 idiomas para la verificación ortográfica",
"You can select a maximum of 3 languages for spellchecking.": "Se pueden seleccionar hasta 3 idiomas para la verificación ortográfica.",
"Zoom In": "Aumentar zoom",
"Zoom Out": "Reducir zoom ",
"Zoom Out": "Reducir zoom",
"keyboard shortcuts": "Atajos de teclado",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "El servidor {{{server}}} se ejecuta en la versión {{{version}}}, la cual está desactuzliada. Su funcionamiento puede ser inesperado."
}

View File

@@ -19,7 +19,7 @@
"Edit": "Editatu",
"General": "Orokorra",
"Help": "Laguntza",
"Help Center": "Laguntza gunea\n",
"Help Center": "Laguntza gunea",
"History": "Historia",
"Network": "Sarea",
"OR": "EDO",

View File

@@ -1,9 +1,13 @@
{
"A new update {{{version}}} has been downloaded.": "به‌روزرسانی جدیدی، {{{version}}} دانلود شده است.",
"A new version {{{version}}} of Zulip Desktop is available.": "نسخه جدیدی از زولیپ دسکتاپ، {{{version}}} در دسترس است.",
"About": "درباره",
"About Zulip": "درباره زولیپ",
"Actual Size": "اندازه واقعی",
"Add Organization": "اضافه کردن سازمان",
"Add a Zulip organization": "اضافه کردن سازمان زولیپ",
"Add custom CSS": "اضافه کردن CSS دلخواه",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "پیشرفته",
"All the connected organizations will appear here.": "همه سازمان‌های مرتبط در اینجا ظاهر می‌شوند.",
"Always start minimized": "همواره به صورت کوچک شده اجرا شو",
@@ -12,12 +16,16 @@
"Appearance": "شمایل",
"Application Shortcuts": "میانبرهای برنامه",
"Are you sure you want to disconnect this organization?": "آیا از قطع ارتباط از سازمان اطمینان دارید؟",
"Ask where to save files before downloading": "قبل از دانلود بپرس که کجا ذخیره شود.",
"Are you sure?": "آیا مطمئن هستید؟",
"Ask where to save files before downloading": "قبل از دانلود بپرس که کجا ذخیره شود",
"Auto hide Menu bar": "مخفی‌سازی خودکار نوار منو",
"Auto hide menu bar (Press Alt key to display)": "مخفی‌سازی خودکار نوار منو (برای نمایش دکمه Alt را بزنید)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "برای {{{link}}}مجوز Aapche 2.0{{{endLink}}} به پایین، در دسترس است",
"Back": "عقب",
"Bounce dock on new private message": "جهش پرش در پیام خصوصی جدید",
"CSS file": "فایل CSS",
"Cancel": "لغو کردن",
"Certificate error": "خطای مجوز",
"Change": "تغییر دادن",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "زبان را از اولویت‌ها ← صفحه کلید ← متن ← املا تغییر دهید.",
"Check for Updates": "بررسی برای به‌روز‌رسانی",
@@ -26,14 +34,21 @@
"Connect to another organization": "اتصال به یک سازمان دیگر",
"Connected organizations": "سازمان‌های وصل‌شده",
"Copy": "رونوشت",
"Copy Email Address": "کپی کردن آدرس ایمیل",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "کپی از URL زولیپ",
"Create a new organization": "ایجاد سازمان جدید",
"Custom CSS file deleted": "فایل CSS اختصاصی شده پاک شد",
"Cut": "بریدن",
"Default download location": "محل پیش‌فرض دانلود",
"Delete": "حذف",
"Desktop Notifications": "اطلاع‌رسانی‌های دسکتاپ",
"Desktop Settings": "تنظیمات دسکتاپ",
"Disconnect": "قطع اتصال",
"Disconnect organization": "قطع ارتباط سازمان",
"Do Not Disturb": "مزاحم نشو",
"Download App Logs": "دانلود لاگ های اپلیکیشن",
"Edit": "ویرایش",
"Edit Shortcuts": "ویرایش میانبرها",
@@ -42,35 +57,50 @@
"Enable error reporting (requires restart)": "فعال کردن گزارش خطا (نیاز به راه اندازی مجدد)",
"Enable spellchecker (requires restart)": "فعال کردن غلط‌گیر املا (نیاز به راه‌اندازی مجدد)",
"Enter Full Screen": "ورود به حالت تمام صفحه",
"Error saving new organization": "خطا در ذخیره کردن سازمان جدید",
"Error saving update notifications": "خطا در ذخیره کردن به‌روز‌رسانی اطلاع‌رسانی‌ها",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "خطا: {{{error}}}\n\nآخرین نسخه زولیپ دسکتاپ در اینجا در دسترس است:\n{{{link}}}\nنسخه جاری: {{{version}}}",
"Factory Reset": "تنظیم مجدد کارخانه",
"Factory Reset Data": "بازگشت به تنظیمات کارخانه",
"File": "فایل",
"Find accounts": "پیدا کردن حساب‌های کاربری ",
"Find accounts": "پیدا کردن حساب‌های کاربری",
"Find accounts by email": "اکانت ها را از طریق ایمیل پیدا کنید",
"Flash taskbar on new message": "فلش نوار وظیفه در پیام جدید",
"Forward": "رفتن به جلو",
"Functionality": "عملکرد",
"General": "عمومی",
"Get beta updates": "دریافت بروز رسانی بتا",
"Go Back": "برگشت به عقب",
"Hard Reload": "بارگذاری مجدد",
"Help": "کمک",
"Help Center": "مرکز کمک‌رسانی",
"Hide": "مخفی کردن",
"Hide Others": "پنهان کردن دیگران",
"Hide Zulip": "پنهان کردن زولیپ",
"History": "تاریخچه ",
"History": "تاریخچه",
"History Shortcuts": "تاریخچه میانبرها",
"Install Later": "بعداً نصب کن",
"Install and Relaunch": "نصب و راه‌اندازی دوباره",
"It will be installed the next time you restart the application.": "اولین باری که برنامه را ریستارت کنید، نصب خواهد شد.",
"Keyboard Shortcuts": "میانبرهای صفحه‌کلید",
"Later": "بعداً",
"Loading": "بارگیری",
"Log Out": "خروج",
"Log Out of Organization": "خروج از سازمان",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "نگهداری توسط {{{link}}}زولیپ{{{endLink}}}",
"Manual Download": "دانلود دستی",
"Manual proxy configuration": "پیکربندی دستی پروکسی",
"Minimize": "کوچک کردن",
"Mute all sounds from Zulip": "غیرفعال کردن همه صداها در زولیپ",
"Network": "شبکه",
"Network and Proxy Settings": "تنظیمات شبکه و پروکسی",
"New servers added. Reload app now?": "سرور‌های جدید اضافه شدند، آیا برنامه دوباره لود شود؟",
"No": "نه",
"No Suggestion Found": "No Suggestion Found",
"No updates available.": "به‌روزرسانی جدید در دسترس نیست.",
"Notification settings": "تنظیمات اطلاع‌رسانی",
"OK": "باشه ",
"OK": "باشه",
"OR": "یا",
"On macOS, the OS spellchecker is used.": "در macOS از غلط‌گیر املای سیستم‌عامل استفاده می‌شود.",
"Organization URL": "URL سازمان",
@@ -80,6 +110,7 @@
"Proxy": "پروکسی",
"Proxy bypass rules": "قوانین دور زدن پروکسی",
"Proxy rules": "قوانین پروکسی",
"Proxy settings saved.": "تنظیمات پراکسی ذخیره شد.",
"Quit": "خروج",
"Quit Zulip": "خروج از زولیپ",
"Quit when the window is closed": "وقتی پنجره بسته است از آن خارج شوید",
@@ -91,16 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "برنامه را بازنشانی کنید، بنابراین تمام سازمان ها و حساب های متصل حذف می شوند.",
"Save": "ذخیره",
"Select All": "انتخاب همه",
"Select Download Location": "محل دانلود را انتخاب کنید",
"Select file": "فایل را انتخاب کنید",
"Services": "خدمات",
"Settings": "تنظیمات",
"Shortcuts": "میانبرها",
"Show app icon in system tray": "نمایش نماد برنامه در ناحیه اعلان سیستم",
"Show desktop notifications": "نمایش اعلان های دسکتاپ",
"Show sidebar": "نمایش ستون کناری",
"Show unread count badge on app icon": "تعداد پیام خوانده نشده را روی آیکون برنامه نمایش بده",
"Spellchecker Languages": "غلط یاب املایی زبان‌ها",
"Start app at login": "برنامه را در هنگام ورود شروع کنید",
"Switch to Next Organization": "جابجایی به سازمان بعدی",
"Switch to Previous Organization": "جابجایی به سازمان قبلی",
"The custom CSS previously set is deleted.": "فایل CSS اختصاصی شده که قبلا تنظیم شده بود، حذف شد.",
"The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "سرور، یک خطای نامعتبر در مجوز را نشان می‌دهد {{{origin}}}:\n\n{{{error}}}",
"The update will be downloaded in the background. You will be notified when it is ready to be installed.": "به‌روز‌رسانی در پس‌زمینه دانلود خواهد شد. هنگامی که آماده نصب باشد شما مطلع خواهید شد.",
"There was an error while saving the new organization. You may have to add your previous organizations again.": "هنگام ذخیره سازمان جدید خطایی رخ داده است. ممکن است مجبور شوید سازمان‌های قبلی خود را دوباره اضافه کنید.",
"These desktop app shortcuts extend the Zulip webapp's": "این میانبرهای برنامه دسکتاپ، برنامه وب زولیپ را گسترش می دهند",
"Tip": "نکته",
"Toggle DevTools for Active Tab": "تغییر ابزارهای توسعه برای تب فعال",
@@ -110,14 +148,20 @@
"Toggle Sidebar": "تغییر نوار کناری",
"Toggle Tray Icon": "تغییر آیکون کازیه",
"Tools": "ابزارها",
"Unable to check for updates.": "امکان بررسی به‌روزرسانی‌ها وجود ندارد.",
"Unable to download the update.": "امکان دانلود به‌روزرسانی‌ها وجود ندارد.",
"Undo": "بازگشت به عقب",
"Unhide": "ظاهر کردن",
"Unknown error": "خطای ناشناخته",
"Upload": "آپلود",
"Use system proxy settings (requires restart)": "استفاده از تنظیمات پراکسی سیستم (نیاز به راه اندازی مجدد)",
"View": "مشاهده",
"View Shortcuts": "مشاهده میانبرها",
"We encountered an error while saving the update notifications.": "هنگام ذخیره اعلان‌های به‌روزرسانی با خطایی مواجه شدیم.",
"Window": "پنجره",
"Window Shortcuts": "میانبرهای پنجره",
"Yes": "بله",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "شما آخرین نسخه از زولیپ دسکتاپ را اجرا می‌کنید.\nنسخه: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "شما می توانید حداکثر 3 زبان را برای بررسی املا انتخاب کنید.",
"Zoom In": "بزرگنمایی",
"Zoom Out": "کوچک نمایی",

View File

@@ -1,5 +1,6 @@
{
"A new update {{{version}}} has been downloaded.": "Uusi päivitys {{{version}}} on ladattu.",
"A new version {{{version}}} is available. Please update using your package manager.": "Uusi versio {{{version}} saatavilla. Päivitä paketinhallinasta.",
"A new version {{{version}}} of Zulip Desktop is available.": "Uusi versio {{{version}}} Zulip Desktopista on saatavilla.",
"About": "Tietoja",
"About Zulip": "Tietoa Zulipista",
@@ -7,6 +8,7 @@
"Add Organization": "Lisää organisaatio",
"Add a Zulip organization": "Lisää Zulip-organisaatio",
"Add custom CSS": "Lisää oma CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Lisäasetukset",
"All the connected organizations will appear here.": "Kaikki yhdistetyt organisaatiot näkyvät täällä.",
"Always start minimized": "Aloita aina pienennettynä",
@@ -21,21 +23,26 @@
"Auto hide menu bar (Press Alt key to display)": "Piilota automaattisesti Menu-valikko (Näytä painamalla Alt-näppäintä)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Saatavilla lisenssillä {{{link}}}Apache 2.0{{{endLink}}}",
"Back": "Takaisin",
"Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS-tiedosto",
"Cancel": "Peruuta",
"Certificate error": "Sertifikaattivirhe",
"Change": "Muuta",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Tarkista päivitykset",
"Click to show {{{fileName}}} in folder": "Paina nähdäksesis tiedoston {{{fileName}} kansiossaan",
"Close": "Sulje",
"Connect": "Yhdistä",
"Connect to another organization": "Yhdistä toiseen organisaatioon",
"Connected organizations": "Yhdistetyt organisaatiot",
"Connecting…": "Yhdistetään…",
"Copy": "Kopioi",
"Copy Email Address": "Kopioi sähköpostiosoite",
"Copy Image": "Kopioi kuva",
"Copy Image URL": "Kopioi kuvan URL",
"Copy Link": "Kopioi linkki",
"Copy Zulip URL": "Kopioi Zulip-URL",
"Could not add {{{domain}}}. Please contact your system administrator.": "Ei voitu lisätä kohdetta {{{domain}}. Ota yhteys järjesstelmänvalvojaan.",
"Create a new organization": "Luo uusi organisaatio",
"Custom CSS file deleted": "Mukautettu CSS-tiedosto poistettu",
"Cut": "Leikkaa",
@@ -43,17 +50,22 @@
"Delete": "Poista",
"Desktop Notifications": "Työpöydän ilmoitukset",
"Desktop Settings": "Työpöytä asetukset",
"Disable Do Not Disturb": "Poista käytöstä Älä häiritse",
"Disconnect": "Katkaise yhteys",
"Disconnect organization": "Katkaise yhteys organisaatioon",
"Do Not Disturb": "Älä häiritse",
"Download App Logs": "Lataushistoria",
"Download Complete": "Lataus valmis",
"Download failed": "Lataus epäonnistui",
"Edit": "Muokkaa",
"Edit Shortcuts": "Muokkauksen pikanäppäimet",
"Emoji & Symbols": "Emojit ja symbolit",
"Enable Do Not Disturb": "Siirry Älä häiritse -tilaan",
"Enable auto updates": "Salli automaattiset päivitykset",
"Enable error reporting (requires restart)": "Ota virheraportointi käyttöön (uudelleenkäynnistys tarvitaan) ",
"Enable error reporting (requires restart)": "Ota virheraportointi käyttöön (uudelleenkäynnistys tarvitaan)",
"Enable spellchecker (requires restart)": "Ota oikoluku käyttöön (uudelleenkäynnistys tarvitaan)",
"Enter Full Screen": "Vaihda koko näytön tilaan",
"Enter Languages": "Anna kielet",
"Error saving new organization": "Virhe uutta organisaatiota tallennettaessa",
"Error saving update notifications": "Virhe päivitysilmoituksia tallennettaessa",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Virhe: {{{error}}}\n\nTuorein version Zulip Desktopista on saatavilla:\n{{{link}}}\nNykyinen versio: {{{version}}}",
@@ -78,12 +90,13 @@
"History Shortcuts": "Historian pikanäppäimet",
"Install Later": "Asenna myöhemmin",
"Install and Relaunch": "Asenna ja uudelleenkäynnistä",
"It will be installed the next time you restart the application.": "Se asennetaan seuraavalla kerralla kun uudelleenkäynnistät sovelluksen",
"It will be installed the next time you restart the application.": "Se asennetaan seuraavalla kerralla kun uudelleenkäynnistät sovelluksen.",
"Keyboard Shortcuts": "Pikanäppäimet",
"Later": "Myöhemmin",
"Loading": "Ladataan",
"Log Out": "Kirjaudu ulos",
"Log Out of Organization": "Kirjaudu ulos organisaatiosta",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Ylläpitäjä {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Lataa käsin",
"Manual proxy configuration": "Manualiset välityspalvelin-asetukset",
@@ -94,13 +107,20 @@
"New servers added. Reload app now?": "Uusia palvelimia on lisätty, ladataanko sovellus uudestaan?",
"No": "Ei",
"No Suggestion Found": "Ei ehdotuksia",
"No unread messages": "Ei lukemattomia viestejä",
"No updates available.": "Ei päivityksiä saatavilla.",
"Notification settings": "Ilmoitusasetukset",
"OK": "OK",
"OR": "TAI",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Opening {{{link}}}…": "Avataan {{{link}}…",
"Organization URL": "Organisaation URL",
"Organizations": "Organisaatiot",
"PAC script": "PAC-skripti",
"Paste": "Liitä",
"Paste and Match Style": "Liitä ja täsmää tyylit",
"Please contact your system administrator.": "Ota yhteys järjestelmänvalvojaan.",
"Press {{{exitKey}}} to exit full screen": "Paina {{{exitKey}} poistuaksesi koko näytön tilasta",
"Proxy": "Välityspalvelin",
"Proxy bypass rules": "Välityspalvelimen ohituksen säännöt",
"Proxy rules": "Välityspalvelimen-säännöt",
@@ -108,9 +128,11 @@
"Quit": "Lopeta",
"Quit Zulip": "Lopeta Zulip",
"Quit when the window is closed": "Sulje sovellus, kun ikkuna suljetaan",
"Redirecting": "Uudelleenohjataan",
"Redo": "Tee uudelleen",
"Release Notes": "Julkaisutiedot",
"Reload": "Lataa uudelleen",
"Removing {{{url}}} is a restricted operation.": "Osoitteen {{{url}} poisto on rajoitettu operaatio.",
"Report an Issue": "Raportoi ongelmasta",
"Reset App Settings": "Nollaa asetukset",
"Reset the application, thus deleting all the connected organizations and accounts.": "Nollaa sovelluksen, ja poistaa kaikki liitetyt organisaatiot ja tilit.",
@@ -118,6 +140,8 @@
"Select All": "Valitse kaikki",
"Select Download Location": "Valitse latauksen sijainti",
"Select file": "Valitse tiedosto",
"Services": "Services",
"Setting locked by system administrator.": "Asetus on lukittu järjestelmänvalvojan toimesta.",
"Settings": "Asetukset",
"Shortcuts": "Oikopolut",
"Show app icon in system tray": "Näytä sovellus ilmoituspaneelissa",
@@ -132,7 +156,7 @@
"The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "Palvelin lähetti virheellisen sertifikaatin kohteelle {{{origin}}}\n\n{{{error}}}",
"The update will be downloaded in the background. You will be notified when it is ready to be installed.": "Päivitystä ladataan taustalla, saat ilmoituksen kun se on asennettu.",
"There was an error while saving the new organization. You may have to add your previous organizations again.": "Uuden organisaation tallennuksessa tapahtui virhe. Organisaatiot saattaa pitää lisätä uudelleen.",
"These desktop app shortcuts extend the Zulip webapp's": "Nämä työpöytäsovelluksen pikanäppäimet laajentavat Zulip web-sovelluksen ",
"These desktop app shortcuts extend the Zulip webapp's": "Nämä työpöytäsovelluksen pikanäppäimet laajentavat Zulip web-sovelluksen",
"Tip": "Vinkki",
"Toggle DevTools for Active Tab": "Kehitystyökalut / aktiivinen ikkuna",
"Toggle DevTools for Zulip App": "Kehitystyökalut / Zulip sovellus",
@@ -148,16 +172,24 @@
"Unknown error": "Tuntematon virhe",
"Upload": "Lähetä tiedosto",
"Use system proxy settings (requires restart)": "Käytä järjestelmän välityspalvelimen asetuksia (uudelleenkäynnistys tarvitaan)",
"Verify that it works and then click Reconnect.": "Varmista että se toimii ja paina Uudelleenyhdistä.",
"View": "Näytä",
"View Shortcuts": "Katselun pikanäppäimet",
"We encountered an error while saving the update notifications.": "Virhe tallennettaessa päivitysilmoituksia",
"We encountered an error while saving the update notifications.": "Virhe tallennettaessa päivitysilmoituksia.",
"When the application restarts, it will be as if you have just downloaded the Zulip app.": "Kun sovellus käynnistyy uudestaan se on kuin vasta ladattu Zulip-sovellus.",
"Window": "Ikkuna",
"Window Shortcuts": "Näkymän pikanäppäimet",
"Yes": "Kyllä",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Käytössä Zulip Desktopin tuorein versio.\nVersio: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "Voit valita oikolukua varten enintään 3 kieltä.",
"Your internet connection doesn't seem to work properly!": "Internet-yhteys ei vaikuta toimivalta.",
"Zoom In": "Lähennä",
"Zoom Out": "Loitonna",
"Zulip": "Zulip",
"Zulip Update": "Zulip-päivitys",
"keyboard shortcuts": "Pikanäppäimet",
"your-organization.zulipchat.com or zulip.your-organization.com": "organsiaatiosi.zulipchat.com tai zulip.organisaatiosi.com",
"{number, plural, one {# unread message} other {# unread messages}}": "{number, plural, one {# lukematon viesti} other {# lukematonta viestiä}}",
"{number, plural, one {Could not add # organization} other {Could not add # organizations}}": "{number, plural, one {Ei voitu lisätä #:tä organisaatiota} other {Ei voitu lisätä useampaa organisaatiota: #}}",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} käyttää vanhentutta versiota Zulipista: {{{version}}}. Se ei välttämättä toimi tämän sovelluksen kanssa yhteen."
}

View File

@@ -1,4 +1,6 @@
{
"A new update {{{version}}} has been downloaded.": "Une nouvelle mise à jour {{{version}}} a été téléchargée.",
"A new version {{{version}}} of Zulip Desktop is available.": "Une nouvelle version {{{version}}} de Zulip Desktop est disponible.",
"About": "À propos",
"About Zulip": "À propos de Zulip",
"Actual Size": "Taille actuelle",
@@ -13,13 +15,17 @@
"App language (requires restart)": "Langue de l'application (nécessite redémarrage)",
"Appearance": "Apparence",
"Application Shortcuts": "Raccourcis de l'application",
"Are you sure you want to disconnect this organization?": "Êtes-vous certain de vouloir déconnecter cette organisation?",
"Are you sure you want to disconnect this organization?": "Êtes-vous certain de vouloir déconnecter cette organisation?",
"Are you sure?": "Êtes-vous sûr ?",
"Ask where to save files before downloading": "Demander où sauvegarder les fichiers avant de télécharger",
"Auto hide Menu bar": "Cacher automatiquement la barre de menu",
"Auto hide menu bar (Press Alt key to display)": "Cacher automatiquement la barre de menu (Appuyez sur la touche Alt pour l'afficher)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Disponible sous {{{link}}} licence Apache 2.0 {{{endLink}}}",
"Back": "Précédent",
"Bounce dock on new private message": "Animer l'horloge à la réception d'un nouveau message privé",
"CSS file": "fichier CSS",
"Cancel": "Annuler",
"Certificate error": "Erreur de certificat",
"Change": "Changer",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Modifier la langue à partir des Préférences Système → Clavier → Text → Orthographe.",
"Check for Updates": "Vérifier les mises à jour",
@@ -28,17 +34,21 @@
"Connect to another organization": "Se connecter à une autre organisation",
"Connected organizations": "Organisations connectées",
"Copy": "Copier",
"Copy Email Address": "copier l'adresse e-mail",
"Copy Image": "Copier l'image",
"Copy Image URL": "Copier l'URL de l'image",
"Copy Link": "Copier le lien",
"Copy Zulip URL": "Copier l'URL de Zulip",
"Create a new organization": "Créer une nouvelle organisation",
"Custom CSS file deleted": "Fichier personnalisé CSS supprimé",
"Cut": "Couper",
"Default download location": "Destination de téléchargement par défaut",
"Delete": "Supprimer",
"Desktop Notifications": "Notifications de bureau",
"Desktop Settings": "Paramètres de bureau",
"Disconnect": "Déconnecter",
"Disconnect organization": "Déconnecter la société",
"Do Not Disturb": "Ne pas déranger",
"Download App Logs": "Télécharger le journal de l'application",
"Edit": "Modifier",
"Edit Shortcuts": "Modifier les raccourcis",
@@ -47,7 +57,11 @@
"Enable error reporting (requires restart)": "Activer le rapport d'erreur (redémarrage nécessaire)",
"Enable spellchecker (requires restart)": "Activer le correcteur orthographique (redémarrage nécessaire)",
"Enter Full Screen": "Accéder au plein écran",
"Error saving new organization": "Erreur de sauvegarde Nouvelle Société",
"Error saving update notifications": "Erreur de mise à jour des notifications",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Erreur : {{{error}}}\n\nLa dernière version de Zulip bureau est disponible à :\n{{{link}}}\nVersion actuelle : {{{version}}}",
"Factory Reset": "Réinitialiser aux paramètres par défaut",
"Factory Reset Data": "Factory Reset Data",
"File": "Fichier",
"Find accounts": "Rechercher un compte",
"Find accounts by email": "Rechercher un compte par adresse courriel",
@@ -56,6 +70,7 @@
"Functionality": "Fonctionnalités",
"General": "Général",
"Get beta updates": "Recevoir les mises à jour Beta",
"Go Back": "Retour",
"Hard Reload": "Forcer un rechargement",
"Help": "Aide",
"Help Center": "Centre d'aide",
@@ -64,10 +79,16 @@
"Hide Zulip": "Cacher Zulip",
"History": "Historique",
"History Shortcuts": "Historique des raccourcis",
"Install Later": "Installer plus tard",
"Install and Relaunch": "Installer et redémarrer",
"Keyboard Shortcuts": "Raccourcis clavier",
"Later": "Plus tard",
"Loading": "Chargement",
"Log Out": "Se déconnecter",
"Log Out of Organization": "Se déconnecter de l'organisation",
"Look Up": "Chercher",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintenu par {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "téléchargement manuel",
"Manual proxy configuration": "Configuration manuelle du proxy",
"Minimize": "Minimiser",
"Mute all sounds from Zulip": "Couper tous les sons de Zulip",
@@ -75,12 +96,16 @@
"Network and Proxy Settings": "Paramètres réseau et proxy",
"No": "Non",
"No Suggestion Found": "Aucune suggestion trouvée",
"No updates available.": "Pas de mises à jour disponible.",
"Notification settings": "Paramètres de notification",
"OK": "OK",
"OR": "OU",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL de l'organisation",
"Organizations": "Organisations",
"Paste": "Coller",
"Paste and Match Style": "Coller et Conserver le style",
"Proxy": "Proxy",
"Proxy bypass rules": "Règles de contournement du proxy",
"Proxy rules": "Règles du proxy",
"Quit": "Quitter",
@@ -94,6 +119,7 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Réinitialiser l'application, supprimant ainsi toutes les organisations et tous les comptes connectés.",
"Save": "Sauvegarder",
"Select All": "Sélectionner tout",
"Services": "Services",
"Settings": "Paramètres",
"Shortcuts": "Raccourcis",
"Show app icon in system tray": "Afficher l'icone de l'application dans la barre d'état",
@@ -125,6 +151,5 @@
"Zoom In": "Zoom avant",
"Zoom Out": "Zoom arrière",
"keyboard shortcuts": "Raccourcis clavier",
"script": "scénario",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} fonctionne sur une version de Zulip Server qui n'est plus à jour.\n{{{version}}} Il se peut qu'il ne fonctionne pas entièrement dans cette application."
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} fonctionne sur une version de Zulip Server, {{{version}}}, qui n'est plus à jour. Il se peut qu'il ne fonctionne pas entièrement dans cette application."
}

View File

@@ -1,7 +1,122 @@
{
"About Zulip": "About Zulip",
"Actual Size": "Actual Size",
"Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced",
"Always start minimized": "Always start minimized",
"App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"Cancel": "Cancelar",
"Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates",
"Close": "Close",
"Connect": "Connect",
"Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations",
"Copy": "Copy",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Delete",
"Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect",
"Download App Logs": "Download App Logs",
"Edit": "Editar",
"Edit Shortcuts": "Edit Shortcuts",
"Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Factory Reset": "Factory Reset",
"Factory Reset Data": "Factory Reset Data",
"File": "File",
"Find accounts": "Find accounts",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Hard Reload": "Hard Reload",
"Help": "Help",
"Help Center": "Help Center",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Look Up": "Look Up",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"Network": "Network",
"No Suggestion Found": "No Suggestion Found",
"OK": "Aceptar",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL",
"Organizations": "Organizations",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Save": "Gardar",
"Settings": "Configuración"
"Select All": "Select All",
"Services": "Services",
"Settings": "Configuración",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Undo",
"Unhide": "Unhide",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts"
}

View File

@@ -120,6 +120,5 @@
"Zoom In": "ઝૂમ ઇન",
"Zoom Out": "ઝૂમ આઉટ",
"keyboard shortcuts": "કીબોર્ડ શોર્ટકટ્સ",
"script": "લિપિ",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} એ જુલિપ સર્વર આવૃત્તિ {{{version}}} ચલાવે છે. તે આ એપમાં પૂર્ણ રીતે કામ કરી શકતી નથી."
}

View File

@@ -4,24 +4,31 @@
"Add Organization": "संगठन जोड़ें",
"Add a Zulip organization": "एक जूलिप संगठन जोड़ें",
"Add custom CSS": "कस्टम CSS जोड़ें",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "उन्नत",
"Always start minimized": "हमेशा कम से कम शुरू करें",
"App Updates": "ऐप अपडेट",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "दिखावट",
"Application Shortcuts": "आवेदन शॉर्टकट",
"Are you sure you want to disconnect this organization?": "क्या आप वाकई इस संगठन को डिस्कनेक्ट करना चाहते हैं?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "ऑटो मेनू मेनू छुपाएँ",
"Auto hide menu bar (Press Alt key to display)": "ऑटो छिपाने मेनू बार (प्रेस Alt कुंजी प्रदर्शित करने के लिए)",
"Back": "वापस",
"Bounce dock on new private message": "नए निजी संदेश पर बाउंस डॉक",
"Cancel": "रद्द करना",
"Change": "परिवर्तन",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "अद्यतन के लिए जाँच",
"Close": "बंद करे",
"Connect": "जुडिये",
"Connect to another organization": "किसी अन्य संगठन से कनेक्ट करें",
"Connected organizations": "जुड़े हुए संगठन",
"Copy": "प्रतिलिपि",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Zulip URL को कॉपी करें",
"Create a new organization": "एक नया संगठन बनाएं",
"Cut": "कट गया",
@@ -37,6 +44,7 @@
"Enable error reporting (requires restart)": "त्रुटि रिपोर्टिंग सक्षम करें (पुनरारंभ की आवश्यकता है)",
"Enable spellchecker (requires restart)": "वर्तनी जाँचक सक्षम करें (पुनः आरंभ करने की आवश्यकता है)",
"Factory Reset": "नए यंत्र जैसी सेटिंग",
"Factory Reset Data": "Factory Reset Data",
"File": "फ़ाइल",
"Find accounts": "खाते ढूंढे",
"Find accounts by email": "ईमेल द्वारा खाते ढूंढें",
@@ -49,17 +57,21 @@
"Help": "मदद",
"Help Center": "सहायता केंद्र",
"Hide": "छिपाना",
"Hide Others": "Hide Others",
"History": "इतिहास",
"History Shortcuts": "इतिहास शॉर्टकट",
"Keyboard Shortcuts": "कुंजीपटल अल्प मार्ग",
"Log Out": "लोग आउट",
"Log Out of Organization": "संगठन से बाहर प्रवेश करें",
"Look Up": "Look Up",
"Manual proxy configuration": "मैनुअल प्रॉक्सी कॉन्फ़िगरेशन",
"Minimize": "छोटा करना",
"Mute all sounds from Zulip": "ज़ूलिप से सभी ध्वनियों को म्यूट करें",
"Network": "नेटवर्क",
"No Suggestion Found": "No Suggestion Found",
"OK": "ठीक",
"OR": "या",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "संगठन का URL",
"Organizations": "संगठन",
"Paste": "चिपकाएं",
@@ -69,17 +81,20 @@
"Proxy rules": "प्रॉक्सी नियम",
"Quit": "छोड़ना",
"Quit Zulip": "जूलिप छोड़ दें",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "फिर से करना",
"Release Notes": "रिलीज नोट्स",
"Reload": "पुनः लोड करें",
"Report an Issue": "मामले की रिपोर्ट करें",
"Save": "बचाना / सहेजें",
"Select All": "सभी का चयन करे",
"Services": "Services",
"Settings": "सेटिंग्स",
"Shortcuts": "शॉर्टकट",
"Show app icon in system tray": "सिस्टम ट्रे में ऐप आइकन दिखाएं",
"Show desktop notifications": "डेस्कटॉप सूचनाएं दिखाएं",
"Show sidebar": "साइडबार दिखाओ",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "लॉगिन पर ऐप शुरू करें",
"Switch to Next Organization": "अगला संगठन पर स्विच करें",
"Switch to Previous Organization": "पिछले संगठन पर स्विच करें",
@@ -100,8 +115,8 @@
"View Shortcuts": "शॉर्टकट देखें",
"Window": "खिड़की",
"Window Shortcuts": "विंडो शॉर्टकट",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "ज़ूम इन",
"Zoom Out": "ज़ूम आउट",
"keyboard shortcuts": "कुंजीपटल अल्प मार्ग",
"script": "लिपि"
"keyboard shortcuts": "कुंजीपटल अल्प मार्ग"
}

120
public/translations/hr.json Normal file
View File

@@ -0,0 +1,120 @@
{
"About Zulip": "About Zulip",
"Actual Size": "Actual Size",
"Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced",
"Always start minimized": "Always start minimized",
"App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates",
"Close": "Close",
"Connect": "Connect",
"Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations",
"Copy": "Copy",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Delete",
"Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect",
"Download App Logs": "Download App Logs",
"Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts",
"Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Factory Reset": "Factory Reset",
"Factory Reset Data": "Factory Reset Data",
"File": "File",
"Find accounts": "Find accounts",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Hard Reload": "Hard Reload",
"Help": "Help",
"Help Center": "Help Center",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Look Up": "Look Up",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"Network": "Network",
"No Suggestion Found": "No Suggestion Found",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL",
"Organizations": "Organizations",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Save": "Save",
"Select All": "Select All",
"Services": "Services",
"Settings": "Settings",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Undo",
"Unhide": "Unhide",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts"
}

View File

@@ -70,12 +70,14 @@
"Network": "Hálózat",
"No Suggestion Found": "Nem találtunk javaslatot",
"Notification settings": "Értesítési beállítások",
"OK": "OK",
"OR": "VAGY",
"On macOS, the OS spellchecker is used.": "MacOS rendszereken az operációs rendszer helyesírásellenőrzőjét használjuk.",
"Organization URL": "Szervezet URL-je",
"Organizations": "Szervezetek",
"Paste": "Beillesztése",
"Paste and Match Style": "Beillesztés stílus illesztésével",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass szabályok",
"Proxy rules": "Proxy szabályok",
"Quit": "Kilépés",
@@ -98,7 +100,7 @@
"Start app at login": "Indítsa el az alkalmazást bejelentkezéskor",
"Switch to Next Organization": "Váltás a következő szervezetre",
"Switch to Previous Organization": "Váltás az előző szervezetre",
"These desktop app shortcuts extend the Zulip webapp's": "Az alábbi asztali gyorsbillentyűk kiegészítik a Zulip webapp gyorsbillentyűket.",
"These desktop app shortcuts extend the Zulip webapp's": "Az alábbi asztali gyorsbillentyűk kiegészítik a Zulip webapp gyorsbillentyűket",
"Tip": "Tipp",
"Toggle DevTools for Active Tab": "DevTools bekapcsolása az aktív fülön",
"Toggle DevTools for Zulip App": "DevTools bekapcsolása a Zulip App számára",
@@ -119,6 +121,5 @@
"You can select a maximum of 3 languages for spellchecking.": "Maximum 3 nyelv választható ki helyesírásellenőrzéshez.",
"Zoom In": "Nagyítása",
"Zoom Out": "Kicsinyítés",
"keyboard shortcuts": "gyorsbillentyűk",
"script": "parancsfájl"
"keyboard shortcuts": "gyorsbillentyűk"
}

View File

@@ -1,10 +1,122 @@
{
"About Zulip": "Tentang Zulip",
"Actual Size": "Actual Size",
"Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced",
"Always start minimized": "Always start minimized",
"App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"Cancel": "Batal",
"Change": "Ubah",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates",
"Close": "Tutup",
"Connect": "Connect",
"Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations",
"Copy": "Copy",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Delete",
"Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect",
"Download App Logs": "Download App Logs",
"Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts",
"Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Factory Reset": "Factory Reset",
"Factory Reset Data": "Factory Reset Data",
"File": "File",
"Find accounts": "Temukan akun",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Hard Reload": "Hard Reload",
"Help": "Help",
"Help Center": "Help Center",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Look Up": "Look Up",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"Network": "Network",
"No Suggestion Found": "No Suggestion Found",
"OK": "OK",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL Organisasi",
"Organizations": "Organizations",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Save": "Simpan",
"Settings": "Pengaturan"
"Select All": "Select All",
"Services": "Services",
"Settings": "Pengaturan",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Undo",
"Unhide": "Unhide",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts"
}

View File

@@ -59,8 +59,10 @@
"Enter Full Screen": "Accedi a Schermo intero",
"Error saving new organization": "Errore durante il salvataggio della nuova organizzazione",
"Error saving update notifications": "Errore durante il salvataggio delle notifiche di aggiornamento",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Errore: {{{errore}}} \n\nL'ultima versione di Zulip Desktop è disponibile all'indirizzo: \n{{{collegamento}}} \nVersione corrente: {{{version}}}",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Errore: {{{error}}} \n\nL'ultima versione di Zulip Desktop è disponibile all'indirizzo: \n{{{link}}} \nVersione corrente: {{{version}}}",
"Factory Reset": "Reset di fabbrica",
"Factory Reset Data": "Factory Reset Data",
"File": "File",
"Find accounts": "Trova account",
"Find accounts by email": "Trova account tramite email",
"Flash taskbar on new message": "Generali",
@@ -85,6 +87,7 @@
"Loading": "Caricamento",
"Log Out": "Esci",
"Log Out of Organization": "Esci dall'organizzazione",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Gestito da {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Scaricamento manuale",
"Manual proxy configuration": "Configurazione proxy manuale",
@@ -93,15 +96,18 @@
"Network": "Rete",
"Network and Proxy Settings": "Impostazioni di rete e proxy",
"New servers added. Reload app now?": "Aggiunti nuovi server. Ricaricare l'app ora?",
"No": "No",
"No Suggestion Found": "Nessun suggerimento trovato",
"No updates available.": "Nessun aggiornamento disponibile.",
"Notification settings": "Impostazioni di notifica",
"OK": "OK",
"OR": "O",
"On macOS, the OS spellchecker is used.": "Su macOS, è usato il correttore ortografico di sistema.",
"Organization URL": "URL dell'organizzazione",
"Organizations": "Organizzazioni",
"Paste": "Incolla",
"Paste and Match Style": "Incolla e abbina lo stile",
"Proxy": "Proxy",
"Proxy bypass rules": "Regole di bypass proxy",
"Proxy rules": "Regole Proxy",
"Proxy settings saved.": "Impostazioni proxy salvate.",
@@ -130,7 +136,7 @@
"Switch to Next Organization": "Passa alla Prossima Organizzazione",
"Switch to Previous Organization": "Passa alla Precedente Organizzazione",
"The custom CSS previously set is deleted.": "Il CSS personalizzato impostato in precedenza viene eliminato.",
"The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "Il server ha presentato un certificato non valido per {{{origin}}}:{{{errore}}}",
"The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "Il server ha presentato un certificato non valido per {{{origin}}}:\n\n{{{error}}}",
"The update will be downloaded in the background. You will be notified when it is ready to be installed.": "L'aggiornamento verrà scaricato in background. Riceverai una notifica quando sarà pronto per essere installato.",
"There was an error while saving the new organization. You may have to add your previous organizations again.": "Si è verificato un errore durante il salvataggio della nuova organizzazione. potresti dover aggiungere di nuovo le tue organizzazioni precedenti.",
"These desktop app shortcuts extend the Zulip webapp's": "Queste scorciatoie per l'app desktop, estendono le webapp di Zulip",
@@ -155,8 +161,8 @@
"Window": "Finestra",
"Window Shortcuts": "Scorciatoie finestra",
"Yes": "Sì",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Stai utilizzando l'ultima versione di Zulip Desktop.Versione: {{{versione}}}",
"You can select a maximum of 3 languages for spellchecking.": "Puoi selezionare fino ad un massimo di 3 lingue per il correttore ortografico",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Stai utilizzando l'ultima versione di Zulip Desktop.\nVersione: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "Puoi selezionare fino ad un massimo di 3 lingue per il correttore ortografico.",
"Zoom In": "Ingrandisci",
"Zoom Out": "Riduci",
"keyboard shortcuts": "scorciatoie tastiera",

View File

@@ -1,10 +1,12 @@
{
"A new update {{{version}}} has been downloaded.": "新しいアップデート {{{version}}} がダウンロードされました。",
"About": "Zulipについて",
"About Zulip": "Zulip について",
"Actual Size": "サイズを元に戻す",
"Add Organization": "組織を追加",
"Add a Zulip organization": "新しいZulip組織を追加",
"Add custom CSS": "カスタムCSSを追加",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "その他",
"Always start minimized": "常に最小化して起動",
"App Updates": "アプリのアップデート",
@@ -19,6 +21,7 @@
"Bounce dock on new private message": "新しいプライベートメッセージがあると Dock アイコンが跳ねる",
"Cancel": "キャンセル",
"Change": "変更",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "アップデートを確認",
"Close": "閉じる",
"Connect": "接続",
@@ -45,6 +48,7 @@
"Enable error reporting (requires restart)": "エラー報告を有効にする (再起動が必要です)",
"Enable spellchecker (requires restart)": "スペルチェックを有効にする (再起動が必要です)",
"Factory Reset": "ファクトリーリセット",
"Factory Reset Data": "Factory Reset Data",
"File": "ファイル",
"Find accounts": "アカウントを探す",
"Find accounts by email": "メールでアカウントを探す",
@@ -58,19 +62,23 @@
"Help": "ヘルプ",
"Help Center": "ヘルプセンター",
"Hide": "非表示",
"Hide Others": "Hide Others",
"History": "履歴",
"History Shortcuts": "履歴ショートカット",
"Keyboard Shortcuts": "キーボードショートカット",
"Loading": "ロード中",
"Log Out": "ログアウト",
"Log Out of Organization": "組織からログアウトする",
"Look Up": "Look Up",
"Manual proxy configuration": "手動プロキシ設定",
"Minimize": "最小化",
"Mute all sounds from Zulip": "Zulip からのすべてのサウンドをミュート",
"Network": "ネットワーク",
"Network and Proxy Settings": "ネットワークとプロキシ",
"No": "いいえ",
"No Suggestion Found": "No Suggestion Found",
"Notification settings": "通知設定",
"OK": "OK",
"OR": "または",
"On macOS, the OS spellchecker is used.": "macOSでは、OSのスペルチェックが使用されます。",
"Organization URL": "組織のURL",
@@ -102,7 +110,7 @@
"Start app at login": "ログイン時にアプリを起動する",
"Switch to Next Organization": "次の組織に切り替える",
"Switch to Previous Organization": "前の組織に切り替える",
"These desktop app shortcuts extend the Zulip webapp's": "これらのデスクトップアプリのショートカットは Zulip Web アプリケーションのショートカットを拡張します",
"These desktop app shortcuts extend the Zulip webapp's": "これらのデスクトップアプリのショートカットは Zulip Web アプリケーションのショートカットを拡張します",
"Tip": "ヒント",
"Toggle DevTools for Active Tab": "アクティブなタブの DevTools を切り替え",
"Toggle DevTools for Zulip App": "Zulip App の DevTools を切り替え",
@@ -123,6 +131,5 @@
"You can select a maximum of 3 languages for spellchecking.": "最大で3つの言語のスペルチェックを選択できます。",
"Zoom In": "拡大",
"Zoom Out": "縮小",
"keyboard shortcuts": "キーボードショートカット",
"script": "スクリプト"
"keyboard shortcuts": "キーボードショートカット"
}

View File

@@ -7,7 +7,7 @@
"Add custom CSS": "맞춤 CSS 추가",
"Add to Dictionary": "사전에 추가하기",
"Advanced": "많은",
"Always start minimized": "항상 최소화 된 상태로 시작하십시오.",
"Always start minimized": "항상 최소화 된 상태로 시작하십시오",
"App Updates": "앱 업데이트",
"App language (requires restart)": "앱 언어 (재시작 필요함)",
"Appearance": "외관",
@@ -67,11 +67,12 @@
"Look Up": "찾아보기",
"Manual proxy configuration": "수동 프록시 구성",
"Minimize": "최소화",
"Mute all sounds from Zulip": "Zulip에서 모든 소리를 음소거합니다.",
"Mute all sounds from Zulip": "Zulip에서 모든 소리를 음소거합니다",
"Network": "네트워크",
"No": "아니오",
"No Suggestion Found": "추천을 찾지 못했습니다",
"Notification settings": "알림 설정",
"OK": "OK",
"OR": "또는",
"On macOS, the OS spellchecker is used.": "macOS에서는 운영체제의 맞춤법 검사기가 사용됩니다.",
"Organization URL": "조직 URL",
@@ -82,7 +83,7 @@
"Proxy bypass rules": "프록시 우회 규칙",
"Proxy rules": "프록시 규칙",
"Quit": "종료",
"Quit Zulip": "Zulip 을 종료합니다.",
"Quit Zulip": "Zulip 을 종료합니다",
"Quit when the window is closed": "윈도우가 닫히면 종료",
"Redo": "다시실행",
"Release Notes": "릴리즈 노트",
@@ -100,7 +101,7 @@
"Start app at login": "로그인시 앱 시작",
"Switch to Next Organization": "다음 조직으로 전환",
"Switch to Previous Organization": "이전 조직으로 전환",
"These desktop app shortcuts extend the Zulip webapp's": "데스크톱 앱 바로 가기들은 Zulip 웹 앱을 확장합니다.",
"These desktop app shortcuts extend the Zulip webapp's": "데스크톱 앱 바로 가기들은 Zulip 웹 앱을 확장합니다",
"Tip": "팁",
"Toggle DevTools for Active Tab": "DevTools for Active Tab 토글",
"Toggle DevTools for Zulip App": "Zulip App 용 DevTools 토글",
@@ -121,6 +122,5 @@
"You can select a maximum of 3 languages for spellchecking.": "최대 3개 언어에 대한 맞춤법 검사기를 선택할수 있습니다.",
"Zoom In": "확대",
"Zoom Out": "축소",
"keyboard shortcuts": "키보드 단축키",
"script": "스크립트"
"keyboard shortcuts": "키보드 단축키"
}

View File

@@ -1,5 +1,121 @@
{
"About Zulip": "About Zulip",
"Actual Size": "Actual Size",
"Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced",
"Always start minimized": "Always start minimized",
"App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"Cancel": "Atšaukti",
"Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates",
"Close": "Uždaryti",
"Settings": "Nustatymai"
"Connect": "Connect",
"Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations",
"Copy": "Copy",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Delete",
"Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect",
"Download App Logs": "Download App Logs",
"Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts",
"Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Factory Reset": "Factory Reset",
"Factory Reset Data": "Factory Reset Data",
"File": "File",
"Find accounts": "Find accounts",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Hard Reload": "Hard Reload",
"Help": "Help",
"Help Center": "Help Center",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Look Up": "Look Up",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"Network": "Network",
"No Suggestion Found": "No Suggestion Found",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL",
"Organizations": "Organizations",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Save": "Save",
"Select All": "Select All",
"Services": "Services",
"Settings": "Nustatymai",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Undo",
"Unhide": "Unhide",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts"
}

View File

@@ -8,7 +8,7 @@
"Add custom CSS": "Pievienot pielāgotu CSS",
"Add to Dictionary": "Pievienot vārdnīcai",
"Advanced": "Papildus",
"All the connected organizations will appear here.": "Šeit tiks parādītas visas organizācijas, kurām esmu pievienojies",
"All the connected organizations will appear here.": "Šeit tiks parādītas visas organizācijas, kurām esmu pievienojies.",
"Always start minimized": "Vienmēr palaist samazinātu",
"App Updates": "Programmas atjauninājumi",
"App language (requires restart)": "Programmas valoda (nepieciešama restartēšana)",
@@ -157,6 +157,5 @@
"Zoom In": "Pietuvināt",
"Zoom Out": "Attālināt",
"keyboard shortcuts": "īsinājumtaustiņus",
"script": "skripts",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} serveris izmanto novecojušu Zulip Server {{{version}}} versiju. Tas varētu pilnībā nedarboties šajā programmā."
}

View File

@@ -4,24 +4,31 @@
"Add Organization": "ഓർഗനൈസേഷൻ ചേർക്കുക",
"Add a Zulip organization": "ഒരു സുലിപ്പ് ഓർഗനൈസേഷൻ ചേർക്കുക",
"Add custom CSS": "ഇഷ്‌ടാനുസൃത CSS ചേർക്കുക",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "വിപുലമായത്",
"Always start minimized": "എല്ലായ്പ്പോഴും ചെറുതാക്കാൻ ആരംഭിക്കുക",
"App Updates": "അപ്ലിക്കേഷൻ അപ്‌ഡേറ്റുകൾ",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "രൂപം",
"Application Shortcuts": "അപ്ലിക്കേഷൻ കുറുക്കുവഴികൾ",
"Are you sure you want to disconnect this organization?": "ഈ ഓർഗനൈസേഷൻ വിച്ഛേദിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "യാന്ത്രികമായി മറയ്‌ക്കുക മെനു ബാർ",
"Auto hide menu bar (Press Alt key to display)": "യാന്ത്രികമായി മറയ്‌ക്കുക മെനു ബാർ (പ്രദർശിപ്പിക്കുന്നതിന് Alt കീ അമർത്തുക)",
"Back": "തിരികെ",
"Bounce dock on new private message": "പുതിയ സ്വകാര്യ സന്ദേശത്തിൽ ഡോക്ക് ബൗൺസ് ചെയ്യുക",
"Cancel": "റദ്ദാക്കുക",
"Change": "മാറ്റുക",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "അപ്‌ഡേറ്റുകൾക്കായി പരിശോധിക്കുക",
"Close": "അടയ്‌ക്കുക",
"Connect": "ബന്ധിപ്പിക്കുക",
"Connect to another organization": "മറ്റൊരു ഓർഗനൈസേഷനിലേക്ക് കണക്റ്റുചെയ്യുക",
"Connected organizations": "ബന്ധിപ്പിച്ച ഓർഗനൈസേഷനുകൾ",
"Copy": "പകർത്തുക",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Zulip URL പകർത്തുക",
"Create a new organization": "ഒരു പുതിയ ഓർഗനൈസേഷൻ സൃഷ്ടിക്കുക",
"Cut": "മുറിക്കുക",
@@ -37,6 +44,7 @@
"Enable error reporting (requires restart)": "പിശക് റിപ്പോർട്ടിംഗ് പ്രാപ്തമാക്കുക (പുനരാരംഭിക്കേണ്ടതുണ്ട്)",
"Enable spellchecker (requires restart)": "അക്ഷരത്തെറ്റ് പരിശോധന പ്രാപ്തമാക്കുക (പുനരാരംഭിക്കേണ്ടതുണ്ട്)",
"Factory Reset": "ഫാക്ടറി പുന .സജ്ജമാക്കുക",
"Factory Reset Data": "Factory Reset Data",
"File": "ഫയൽ",
"Find accounts": "അക്കൗണ്ടുകൾ കണ്ടെത്തുക",
"Find accounts by email": "ഇമെയിൽ വഴി അക്കൗണ്ടുകൾ കണ്ടെത്തുക",
@@ -48,17 +56,22 @@
"Hard Reload": "ഹാർഡ് റീലോഡ്",
"Help": "സഹായിക്കൂ",
"Help Center": "സഹായകേന്ദ്രം",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "ചരിത്രം",
"History Shortcuts": "ചരിത്രം കുറുക്കുവഴികൾ",
"Keyboard Shortcuts": "കീബോർഡ് കുറുക്കുവഴികൾ",
"Log Out": "ലോഗ് .ട്ട് ചെയ്യുക",
"Log Out of Organization": "ഓർഗനൈസേഷനിൽ നിന്ന് പുറത്തുകടക്കുക",
"Look Up": "Look Up",
"Manual proxy configuration": "സ്വമേധയാലുള്ള പ്രോക്സി കോൺഫിഗറേഷൻ",
"Minimize": "ചെറുതാക്കുക",
"Mute all sounds from Zulip": "സുലിപ്പിൽ നിന്നുള്ള എല്ലാ ശബ്ദങ്ങളും നിശബ്ദമാക്കുക",
"Network": "നെറ്റ്‌വർക്ക്",
"No": "ഇല്ല",
"No Suggestion Found": "No Suggestion Found",
"OR": "അഥവാ",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "ഓർ‌ഗനൈസേഷൻ‌ URL",
"Organizations": "ഓർഗനൈസേഷനുകൾ",
"Paste": "പേസ്റ്റ്",
@@ -68,17 +81,20 @@
"Proxy rules": "പ്രോക്സി നിയമങ്ങൾ",
"Quit": "ഉപേക്ഷിക്കുക",
"Quit Zulip": "സുലിപ്പ് ഉപേക്ഷിക്കുക",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "വീണ്ടും ചെയ്യുക",
"Release Notes": "പ്രകാശന കുറിപ്പുകൾ",
"Reload": "വീണ്ടും ലോഡുചെയ്യുക",
"Report an Issue": "ഒരു പ്രശ്നം റിപ്പോർട്ട് ചെയ്യുക",
"Save": "രക്ഷിക്കും",
"Select All": "എല്ലാം തിരഞ്ഞെടുക്കുക",
"Services": "Services",
"Settings": "ക്രമീകരണങ്ങൾ",
"Shortcuts": "കുറുക്കുവഴികൾ",
"Show app icon in system tray": "സിസ്റ്റം ട്രേയിൽ അപ്ലിക്കേഷൻ ഐക്കൺ കാണിക്കുക",
"Show desktop notifications": "ഡെസ്ക്ടോപ്പ് അറിയിപ്പുകൾ കാണിക്കുക",
"Show sidebar": "സൈഡ്‌ബാർ കാണിക്കുക",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "ലോഗിൻ ചെയ്യുമ്പോൾ അപ്ലിക്കേഷൻ ആരംഭിക്കുക",
"Switch to Next Organization": "അടുത്ത ഓർഗനൈസേഷനിലേക്ക് മാറുക",
"Switch to Previous Organization": "മുമ്പത്തെ ഓർഗനൈസേഷനിലേക്ക് മാറുക",
@@ -92,6 +108,7 @@
"Toggle Tray Icon": "ട്രേ ഐക്കൺ ടോഗിൾ ചെയ്യുക",
"Tools": "ഉപകരണങ്ങൾ",
"Undo": "പഴയപടിയാക്കുക",
"Unhide": "Unhide",
"Upload": "അപ്‌ലോഡുചെയ്യുക",
"Use system proxy settings (requires restart)": "സിസ്റ്റം പ്രോക്സി ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക (പുനരാരംഭിക്കേണ്ടതുണ്ട്)",
"View": "കാണുക",
@@ -99,8 +116,8 @@
"Window": "ജാലകം",
"Window Shortcuts": "വിൻഡോ കുറുക്കുവഴികൾ",
"Yes": "ശരി",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "വലുതാക്കുക",
"Zoom Out": "സൂം .ട്ട് ചെയ്യുക",
"keyboard shortcuts": "കീബോർഡ് കുറുക്കുവഴികൾ",
"script": "സ്ക്രിപ്റ്റ്"
"keyboard shortcuts": "കീബോർഡ് കുറുക്കുവഴികൾ"
}

View File

@@ -10,11 +10,13 @@
"App Updates": "App шинэчлэлт",
"App language (requires restart)": "Хэл (Унтрааж асаах шаарлагатай)",
"Appearance": "Харагдах байдал",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Та энэ бүлгээс гарахдаа итгэлтэй байна уу?",
"Ask where to save files before downloading": "Файл хаана татагдахыг асуух",
"Auto hide Menu bar": "Цэс автоматаар нуух",
"Auto hide menu bar (Press Alt key to display)": "Цэс автоматаар нуух ( Alt товч даран харна уу)",
"Back": "Буцах",
"Bounce dock on new private message": "Bounce dock on new private message",
"Cancel": "Цуцлах",
"Change": "Өөрчлөа",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Хэл солих бол System preferences → Keyboard → Text → Spelling.",
@@ -62,21 +64,27 @@
"Log Out": "Гарах",
"Log Out of Organization": "Бүлгээс гарах",
"Look Up": "Харах",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Бүх дууг хаах",
"Network": "Сүлжээ",
"No Suggestion Found": "Санал болголт олдсонгүй",
"Notification settings": "Мэдэгдэлийн тохиргоо",
"OK": "OK",
"OR": "OR",
"On macOS, the OS spellchecker is used.": ".",
"Organization URL": "Бүлгийн холбоос",
"Organizations": "Бүлгүүд",
"Paste": "Хуулж тавих",
"Paste and Match Style": "Хуулж тавих",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass дүрмүүд",
"Proxy rules": "Proxy дүрмүүд",
"Quit": "Хаах",
"Quit Zulip": "Чатыг хаах",
"Quit when the window is closed": "Цонх хаагдахад гарах",
"Redo": "Дахин хийх",
"Release Notes": "Release Notes",
"Reload": "Дахин ачааллах",
"Report an Issue": "Алдааг мэдэгдэх",
"Save": "Хадгалах",
@@ -93,12 +101,21 @@
"Switch to Previous Organization": "Өмнөх бүлэг",
"These desktop app shortcuts extend the Zulip webapp's": "Browser-оор холбогдох холбоос",
"Tip": "зөвлөгөө",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Үйлдэлээ буцаах",
"Unhide": "Нуухаа болих",
"Upload": "Файл хуулах",
"Use system proxy settings (requires restart)": "Proxy систем ашиглах (Унтрааж асаах шаарлагатай)",
"View": "Харах",
"View Shortcuts": "Холбоос харах",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "Хамгийн ихдээ 3 хэл дүрэм шалгахад ашиглана.",
"Zoom In": "Сунгах",
"Zoom Out": "Жижигрүүлэх",

View File

@@ -5,25 +5,32 @@
"Add Organization": "Voeg organisatie toe",
"Add a Zulip organization": "Voeg een Zulip-organisatie toe",
"Add custom CSS": "Voeg aangepaste CSS toe",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "gevorderd",
"All the connected organizations will appear here.": "Alle verbonden organisaties verschijnen hier.",
"Always start minimized": "Begin altijd geminimaliseerd",
"App Updates": "App-updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Verschijning",
"Application Shortcuts": "Applicatiesnelkoppelingen",
"Are you sure you want to disconnect this organization?": "Weet je zeker dat je deze organisatie wilt ontkoppelen?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Menubalk automatisch verbergen",
"Auto hide menu bar (Press Alt key to display)": "Menubalk automatisch verbergen (druk op de Alt-toets om weer te geven)",
"Back": "Terug",
"Bounce dock on new private message": "Bounce dock op nieuw privébericht",
"Cancel": "Annuleren",
"Change": "Verandering",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Controleer op updates",
"Close": "Dichtbij",
"Connect": "Aansluiten",
"Connect to another organization": "Maak verbinding met een andere organisatie",
"Connected organizations": "Verbonden organisaties",
"Copy": "Kopiëren",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Kopieer Zulip-URL",
"Create a new organization": "Maak een nieuwe organisatie",
"Cut": "Besnoeiing",
@@ -41,6 +48,7 @@
"Enable spellchecker (requires restart)": "Spellingcontrole inschakelen (opnieuw opstarten vereist)",
"Enter Full Screen": "Volledig scherm gebruiken",
"Factory Reset": "Fabrieksinstellingen",
"Factory Reset Data": "Factory Reset Data",
"File": "het dossier",
"Find accounts": "Vind accounts",
"Find accounts by email": "Vind accounts per e-mail",
@@ -52,20 +60,25 @@
"Hard Reload": "Harde herladen",
"Help": "Helpen",
"Help Center": "Helpcentrum",
"Hide": "Hide",
"Hide Others": "Hide Others",
"Hide Zulip": "Zulip verbergen",
"History": "Geschiedenis",
"History Shortcuts": "Geschiedenis Sneltoetsen",
"Keyboard Shortcuts": "Toetsenbord sneltoetsen",
"Log Out": "Uitloggen",
"Log Out of Organization": "Uitloggen van organisatie",
"Look Up": "Look Up",
"Manual proxy configuration": "Handmatige proxyconfiguratie",
"Minimize": "verkleinen",
"Mute all sounds from Zulip": "Demp alle geluiden van Zulip",
"Network": "Netwerk",
"Network and Proxy Settings": "Netwerk- en Proxyinstellingen",
"No": "Nee",
"No Suggestion Found": "No Suggestion Found",
"OK": "Oké",
"OR": "OF",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organisatie-URL",
"Organizations": "organisaties",
"Paste": "Pasta",
@@ -75,6 +88,7 @@
"Proxy rules": "Proxy-regels",
"Quit": "ophouden",
"Quit Zulip": "Sluit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Opnieuw doen",
"Release Notes": "Releaseopmerkingen",
"Reload": "vernieuwen",
@@ -83,15 +97,18 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "De applicatie resetten en daarmee alle verbonden organisaties en accounts verwijderen.",
"Save": "Opslaan",
"Select All": "Selecteer alles",
"Services": "Services",
"Settings": "instellingen",
"Shortcuts": "shortcuts",
"Show app icon in system tray": "App-pictogram weergeven in systeemvak",
"Show desktop notifications": "Toon bureaubladmeldingen",
"Show sidebar": "Toon zijbalk",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start de app bij inloggen",
"Switch to Next Organization": "Schakel over naar volgende organisatie",
"Switch to Previous Organization": "Schakel over naar vorige organisatie",
"These desktop app shortcuts extend the Zulip webapp's": "Deze sneltoetsen voor bureaubladapp breiden de Zulip-webapp's uit",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "DevTools voor actieve tabblad omschakelen",
"Toggle DevTools for Zulip App": "DevTools voor Zulip-app omschakelen",
"Toggle Do Not Disturb": "Schakel Niet storen in",
@@ -100,6 +117,7 @@
"Toggle Tray Icon": "Pictogram Lade wisselen",
"Tools": "Hulpmiddelen",
"Undo": "ongedaan maken",
"Unhide": "Unhide",
"Upload": "Uploaden",
"Use system proxy settings (requires restart)": "Systeem proxy-instellingen gebruiken (opnieuw opstarten vereist)",
"View": "Uitzicht",
@@ -107,6 +125,7 @@
"Window": "Venster",
"Window Shortcuts": "Venster snelkoppelingen",
"Yes": "Ja",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "In zoomen",
"Zoom Out": "Uitzoomen",
"keyboard shortcuts": "Toetsenbord sneltoetsen",

120
public/translations/no.json Normal file
View File

@@ -0,0 +1,120 @@
{
"About Zulip": "About Zulip",
"Actual Size": "Actual Size",
"Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS",
"Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced",
"Always start minimized": "Always start minimized",
"App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Auto hide Menu bar": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates",
"Close": "Close",
"Connect": "Connect",
"Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations",
"Copy": "Copy",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Delete",
"Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect",
"Download App Logs": "Download App Logs",
"Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts",
"Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Factory Reset": "Factory Reset",
"Factory Reset Data": "Factory Reset Data",
"File": "File",
"Find accounts": "Find accounts",
"Find accounts by email": "Find accounts by email",
"Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward",
"Functionality": "Functionality",
"General": "General",
"Get beta updates": "Get beta updates",
"Hard Reload": "Hard Reload",
"Help": "Help",
"Help Center": "Help Center",
"Hide": "Hide",
"Hide Others": "Hide Others",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Look Up": "Look Up",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"Network": "Network",
"No Suggestion Found": "No Suggestion Found",
"OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL",
"Organizations": "Organizations",
"Paste": "Paste",
"Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules",
"Quit": "Quit",
"Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Save": "Save",
"Select All": "Select All",
"Services": "Services",
"Settings": "Settings",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar",
"Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous Organization",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb",
"Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools",
"Undo": "Undo",
"Unhide": "Unhide",
"Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View",
"View Shortcuts": "View Shortcuts",
"Window": "Window",
"Window Shortcuts": "Window Shortcuts",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts"
}

View File

@@ -1,5 +1,6 @@
{
"A new update {{{version}}} has been downloaded.": "Nowe wydanie {{{version}}} zostało pobrane.",
"A new version {{{version}}} is available. Please update using your package manager.": "Nowe wydanie {{{version}}} jest dostępne. Proszę zaktualizuj z użyciem menedżera pakietów.",
"A new version {{{version}}} of Zulip Desktop is available.": "Nowe wydanie Zulip {{{version}}} jest dostępne.",
"About": "Informacje",
"About Zulip": "O Zulipie",
@@ -7,6 +8,7 @@
"Add Organization": "Dodaj organizację",
"Add a Zulip organization": "Dodaj organizację Zulip",
"Add custom CSS": "Dodaj niestandardowy CSS",
"Add to Dictionary": "Dodaj do słownika",
"Advanced": "Zaawansowane",
"All the connected organizations will appear here.": "Wszystkie podłączone organizację pojawią się tutaj.",
"Always start minimized": "Zawsze zaczynaj zminimalizowany",
@@ -28,35 +30,47 @@
"Change": "Zmiana",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Zmień język poprzez Ustawienia systemu → Klawiatura → Tekst → Pisownia.",
"Check for Updates": "Sprawdź aktualizacje",
"Click to show {{{fileName}}} in folder": "Kliknij aby pokazać {{{fileName}}} w folderze",
"Close": "Zamknij",
"Connect": "Połącz",
"Connect to another organization": "Połącz się z inną organizacją",
"Connected organizations": "Połączone organizacje",
"Connecting…": "Łączenie…",
"Copy": "Kopiuj",
"Copy Email Address": "Skopiuj adres email",
"Copy Image": "Skopiuj obraz",
"Copy Image URL": "Skopiuj URL obrazu",
"Copy Link": "Skopiuj odnośnik",
"Copy Zulip URL": "Skopiuj adres URL Zulip",
"Could not add {{{domain}}}. Please contact your system administrator.": "Nie można dodać {{{domain}}}. Proszę skontaktuj się z administratorem serwera.",
"Create a new organization": "Utwórz nową organizację",
"Custom CSS file deleted": "Skasowano plik z własnym CSS",
"Cut": "Wytnij",
"Default download location": "Domyślna lokalizacja pobierania",
"Delete": "Usuń",
"Delete": "Skasuj",
"Desktop Notifications": "Powiadomienia na pulpicie",
"Desktop Settings": "Ustawienia pulpitu",
"Disable Do Not Disturb": "Wyłącz nie przeszkadzać",
"Disconnect": "Rozłącz",
"Disconnect organization": "Odłącz organizację",
"Do Not Disturb": "Nie przeszkadzać",
"Download App Logs": "Pobierz logi aplikacji",
"Download Complete": "Pobieranie zakończone",
"Download failed": "Pobieranie bez powodzenia",
"Edit": "Edytuj",
"Edit Shortcuts": "Edytuj skróty",
"Emoji & Symbols": "Emotikonki i Symbole",
"Enable Do Not Disturb": "Włącz nie przeszkadzać",
"Enable auto updates": "Włącz automatyczne aktualizacje",
"Enable error reporting (requires restart)": "Włącz raportowanie błędów (wymaga ponownego uruchomienia)",
"Enable spellchecker (requires restart)": "Włącz sprawdzanie pisowni (wymaga ponownego uruchomienia)",
"Enter Full Screen": "Włącz pełny ekran",
"Enter Languages": "Wprowadź języki",
"Error saving new organization": "Błąd zapisu nowej organizacji",
"Error saving update notifications": "Błąd zapisu powiadomień o aktualizacjach",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Błąd: {{{error}}}\n\nNajnowsze wydanie Zulip Desktop jest dostępne:\n{{{link}}}\nObecne wydanie: {{{version}}}",
"Factory Reset": "przywrócenie ustawień fabrycznych",
"Factory Reset Data": "Przywróć stan fabryczny",
"File": "Plik",
"Find accounts": "Znajdź konta",
"Find accounts by email": "Znajdź konta po adresach email",
@@ -69,6 +83,8 @@
"Hard Reload": "Twarde przeładowanie",
"Help": "Pomoc",
"Help Center": "Centrum pomocy",
"Hide": "Ukryj",
"Hide Others": "Ukryj inne",
"Hide Zulip": "Ukryj Zulip",
"History": "Historia",
"History Shortcuts": "Skróty historii",
@@ -80,6 +96,7 @@
"Loading": "Ładowanie",
"Log Out": "Wyloguj",
"Log Out of Organization": "Wyloguj się z organizacji",
"Look Up": "Spójrz w górę",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Utrzymywane przez {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Pobierz ręcznie",
"Manual proxy configuration": "Ręczna konfiguracja proxy",
@@ -89,22 +106,33 @@
"Network and Proxy Settings": "Ustawienia sieci i proxy",
"New servers added. Reload app now?": "Dodano nowe serwery. Przełądować aplikację?",
"No": "Nie",
"No Suggestion Found": "Nie odnaleziono podpowiedzi",
"No unread messages": "Brak nieprzeczytanych wiadomości",
"No updates available.": "Brak dostępnych aktualizacji.",
"Notification settings": "Ustawienia powiadomień",
"OK": "OK",
"OR": "LUB",
"On macOS, the OS spellchecker is used.": "W macOS wykorzystujemy słownik systemowy.",
"Opening {{{link}}}…": "Otwieranie {{{link}}}…",
"Organization URL": "Adres URL organizacji",
"Organizations": "Organizacje",
"PAC script": "Skrypt PAC",
"Paste": "Wklej",
"Paste and Match Style": "Wklej i dopasuj styl",
"Please contact your system administrator.": "Proszę skontaktuj się z administratorem serwera.",
"Press {{{exitKey}}} to exit full screen": "Wciśnij {{{exitKey}}} aby opuścić tryb pełnoekranowy",
"Proxy": "Proxy",
"Proxy bypass rules": "Zasady omijania proxy",
"Proxy rules": "Reguły proxy",
"Proxy settings saved.": "Zapisano ustawienia proxy.",
"Quit": "Wyjdź",
"Quit Zulip": "Zakończ Zulipa",
"Quit when the window is closed": "Wyłącz przy zamykaniu okna",
"Redirecting": "Przekierowywanie",
"Redo": "Ponów",
"Release Notes": "Informacje o wydaniu",
"Reload": "Przeładuj",
"Removing {{{url}}} is a restricted operation.": "Usuwanie {{{url}}} jest zastrzeżoną operacją.",
"Report an Issue": "Zgłoś problem",
"Reset App Settings": "Resetuj ustawienia aplikacji",
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset aplikacji, powodujący usunięcie połączonych organizacji oraz kont.",
@@ -113,6 +141,7 @@
"Select Download Location": "Gdzie zapisać pliki",
"Select file": "Wybierz plik",
"Services": "Usługi",
"Setting locked by system administrator.": "Ustawienie zablokowane przez administratora serwera.",
"Settings": "Ustawienia",
"Shortcuts": "Skróty",
"Show app icon in system tray": "Pokaż ikonę aplikacji w zasobniku systemowym",
@@ -143,17 +172,24 @@
"Unknown error": "Nieznany błąd",
"Upload": "Prześlij plik",
"Use system proxy settings (requires restart)": "Użyj ustawień systemowych proxy (wymaga ponownego uruchomienia)",
"Verify that it works and then click Reconnect.": "Sprawdź, że to działa i kliknij połącz ponownie.",
"View": "Widok",
"View Shortcuts": "Wyświetl skróty",
"We encountered an error while saving the update notifications.": "Napotkano błąd przy zapisie powiadomień o aktualizacjach.",
"When the application restarts, it will be as if you have just downloaded the Zulip app.": "Kiedy aplikacja uruchomi się ponownie znaczy to, że pobrano nowe wydanie aplikacji Zulip.",
"Window": "Okno",
"Window Shortcuts": "Skróty do okien",
"Yes": "Tak",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Używasz najnowszego wydania Zulip Desktop.\nWydanie: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "Możesz wybrać maksymalnie 3 języki do sprawdzania pisowni.",
"Your internet connection doesn't seem to work properly!": "Twoje połączenie internetowe nie działa poprawnie!",
"Zoom In": "Powiększ",
"Zoom Out": "Pomniejsz",
"Zulip": "Zulip",
"Zulip Update": "Aktualizacja Zulip",
"keyboard shortcuts": "Skróty klawiszowe",
"script": "skrypt",
"your-organization.zulipchat.com or zulip.your-organization.com": "twoja-organizacja.zulipchat.com lub zulip.twoja-orgzanizaja.com",
"{number, plural, one {# unread message} other {# unread messages}}": "{number, plural, one {# nieprzeczytana wiadomość} other {# nieprzeczytanych wiadomości}}",
"{number, plural, one {Could not add # organization} other {Could not add # organizations}}": "{number, plural, one {Nie można dodać # organizacji} other {Nie można dodać # organizacji}}",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} działanie na nieaktualnej wersji serwera Zulip {{{version}}}. Możliwe nieprawidłowe działanie w tej aplikacji."
}

Some files were not shown because too many files have changed in this diff Show More