Compare commits

..

52 Commits

Author SHA1 Message Date
Anders Kaseorg
15902e51f6 release: New release v5.12.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-13 14:06:16 -07:00
Anders Kaseorg
19705bc90b Update macOS notarization configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-13 14:06:12 -07:00
Anders Kaseorg
a9313f4756 Update Azure Trusted Signing configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-13 14:06:12 -07:00
Anders Kaseorg
13b4d2037a Upgrade dependencies, including Electron 35.0.1.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-13 13:36:26 -07:00
Anders Kaseorg
ab63ec2a4a translations: Update translations from Transifex.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-12 17:22:53 -07:00
Anders Kaseorg
1de4f88c6c webview: Address deprecation of WebContents.goBack et al.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-12 17:15:03 -07:00
Anders Kaseorg
ab4381a6bf xo: Fix unicorn/prefer-global-this.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-12 17:15:03 -07:00
Anders Kaseorg
d409a0bf33 menu: Check focusedWindow type.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-12 17:15:03 -07:00
Anders Kaseorg
c40e05646e Update macOS icon with a native appearance.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-12 16:59:49 -07:00
Anders Kaseorg
13f3818c77 supported-locales: Fix for removal of el_GR and zh-Hant.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-11 14:44:47 -05:00
Tim Abbott
4a0e590921 github: Use zulip/zulip pull request template style.
Hopefully this will help improve the quality of pull requests to this
repository.
2024-12-11 11:22:04 -08:00
Shubham Padia
eb19b20da2 preference: Rename show app unread badge setting.
The original wording was found to be confusing, see
https://chat.zulip.org/#narrow/channel/16-desktop/topic/.22app.20unread.20badge.22/near/1993426
for more details.
2024-12-11 11:18:19 -08:00
Alex Vandiver
69cb509fe5 translations: Remove control characters from zh_TW translation string. 2024-12-11 11:28:13 -05:00
Alex Vandiver
123263e5bb translations: Remove zh-Hant translation.
The `zh_TW` translation is much more complete.
2024-12-11 11:24:47 -05:00
Alex Vandiver
a26a10849d translations: Remove empty el_GR duplicate translation. 2024-12-11 11:20:20 -05:00
Anders Kaseorg
da7e026550 Mark dialog strings for translation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-02 15:53:25 -08:00
Anders Kaseorg
c70f6df096 about: Remove inexplicable ‘cursor: pointer’.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-02 15:52:29 -08:00
Anders Kaseorg
ef0110f8e7 about: Mark strings for translation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-02 15:52:29 -08:00
Anders Kaseorg
b7a7ca3e5c renderer: Mark strings for translation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-02 15:52:29 -08:00
Anders Kaseorg
467e7b11c5 functional-tab: Split ‘name’ into ‘page’ and ‘label’.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-02 15:52:29 -08:00
Anders Kaseorg
105e7e93a1 translations: Add missing translatable strings with i18next-scanner.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-02 15:52:28 -08:00
Anders Kaseorg
a736f664c6 nav: Statically mark navigation items for translation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-02 15:52:06 -08:00
Anders Kaseorg
38c7695a99 release: New release v5.11.1.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-23 16:31:21 -07:00
Anders Kaseorg
b268fe9478 Sign Windows binaries with Azure Trusted Signing.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-23 16:22:19 -07:00
Anders Kaseorg
981a262836 xo: Remove obsolete scripts/notarize.js options.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-22 16:18:05 -07:00
Anders Kaseorg
527bb5ab2f Upgrade dependencies, including Electron 32.0.1.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-22 16:13:32 -07:00
Anders Kaseorg
e2947a0ce6 translations: Update translations from Transifex.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-22 16:13:27 -07:00
Anders Kaseorg
3b2c758e09 translations: Sort supported-locales by display name.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-22 16:13:27 -07:00
Anders Kaseorg
4867fc672a preference: Sort spellchecker language names with localeCompare.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-22 16:13:27 -07:00
Anders Kaseorg
f85f05d66b preference: Show spellchecker language names from Intl.DisplayNames.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-22 16:13:27 -07:00
Anders Kaseorg
39fd0e9877 tsconfig: Work around @sentry/electron regression.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-07 14:58:13 -07:00
Anders Kaseorg
f6ff112f0e stylelint: Fix declaration-block-no-shorthand-property-overrides.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-07 14:53:08 -07:00
Anders Kaseorg
6fcd1ef0d5 Remove rimraf.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-08-06 22:55:40 -07:00
Misha Brukman
92260b0f97 ci: Replace Travis CI badge with GitHub Actions.
Travis CI was replaced with GitHub Actions in this project.
2024-07-02 15:41:59 -07:00
Anders Kaseorg
c45c9537d1 release: New release v5.11.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-22 16:19:52 -07:00
Anders Kaseorg
0eb4c9236e Upgrade dependencies, including Electron 29.1.5.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-22 16:12:34 -07:00
Anders Kaseorg
47366b7617 xo: Fix unicorn/prevent-abbreviations.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-22 16:07:32 -07:00
Anders Kaseorg
86e28f5b00 xo: Fix import/no-duplicates.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-22 15:33:00 -07:00
Anders Kaseorg
7072a41e01 Remove dialog for certificate errors on subresources.
Fixes #1119.  Closes #1277.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-22 14:56:23 -07:00
enesonus
79f6f13008 Allow hiding the window from full screen mode on macOS.
Fixes #1187.
2024-03-22 14:39:48 -07:00
Anders Kaseorg
70f0170f1d webview: Enable zooming with the mouse wheel.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-21 15:32:52 -07:00
Anders Kaseorg
bc75eba2bd webview: Use an exponential scale for zooming.
This matches the native Electron behavior.

Fixes part of #1360 by removing the separate zoomFactor state
variable.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-03-21 15:31:56 -07:00
Anders Kaseorg
af7272a439 release: New release v5.10.5.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-25 17:02:14 -08:00
Anders Kaseorg
9d08a13e64 Set a restrictive Content-Security-Policy for the app UI.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-25 15:39:05 -08:00
Anders Kaseorg
f98d6d7037 Upgrade dependencies, including Electron 28.2.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-25 14:05:37 -08:00
Anders Kaseorg
da1cad9dff autoupdater: Use a separate electron-log instance.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-23 16:09:20 -08:00
Anders Kaseorg
955a2eb6c7 Use process-specific electron-log modules.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-23 16:09:20 -08:00
Anders Kaseorg
1cf822a2b5 Use process-specific @sentry/electron modules.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-23 16:09:20 -08:00
Anders Kaseorg
b9baf140eb release: New release v5.10.4.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-08 17:12:08 -08:00
Anders Kaseorg
727c2335f6 electron-bridge: Fix unicorn/prefer-node-protocol.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-08 17:10:37 -08:00
Anders Kaseorg
e8173919f8 Upgrade dependencies, including Electron 28.1.1.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-08 17:10:37 -08:00
Anders Kaseorg
cf2f4fe9c9 Avoid deprecated ipcRenderer.sendTo.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-01-08 16:02:14 -08:00
131 changed files with 11548 additions and 5708 deletions

View File

@@ -1,18 +1,49 @@
--- <!-- Describe your pull request here.-->
<!-- Fixes: <!-- Issue link, or clear description.-->
Remove the fields that are not appropriate
Please include: <!-- If the PR makes UI changes, always include one or more still screenshots to demonstrate your changes. If it seems helpful, add a screen capture of the new functionality as well.
Tooling tips: https://zulip.readthedocs.io/en/latest/tutorials/screenshot-and-gif-software.html
--> -->
**What's this PR do?** **Screenshots and screen captures:**
**Any background context you want to provide?** **Platforms this PR was tested on:**
**Screenshots?**
**You have tested this PR on:**
- [ ] Windows - [ ] Windows
- [ ] Linux/Ubuntu
- [ ] macOS - [ ] macOS
- [ ] Linux (specify distro)
<details>
<summary>Self-review checklist</summary>
<!-- Prior to submitting a PR, follow our step-by-step guide to review your own code:
https://zulip.readthedocs.io/en/latest/contributing/code-reviewing.html#how-to-review-code -->
<!-- Once you create the PR, check off all the steps below that you have completed.
If any of these steps are not relevant or you have not completed, leave them unchecked.-->
- [ ] [Self-reviewed](https://zulip.readthedocs.io/en/latest/contributing/code-reviewing.html#how-to-review-code) the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).
Communicate decisions, questions, and potential concerns.
- [ ] Explains differences from previous plans (e.g., issue description).
- [ ] Highlights technical choices and bugs encountered.
- [ ] Calls out remaining decisions and concerns.
- [ ] Automated tests verify logic where appropriate.
Individual commits are ready for review (see [commit discipline](https://zulip.readthedocs.io/en/latest/contributing/commit-discipline.html)).
- [ ] Each commit is a coherent idea.
- [ ] Commit message(s) explain reasoning and motivation for changes.
Completed manual review and testing of the following:
- [ ] Visual appearance of the changes.
- [ ] Responsiveness and internationalization.
- [ ] Strings and tooltips.
- [ ] End-to-end functionality of buttons, interactions and flows.
- [ ] Corner cases, error conditions, and easily imagined bugs.
</details>

View File

@@ -1,6 +1,6 @@
# Zulip Desktop Client # Zulip Desktop Client
[![Build Status](https://travis-ci.com/zulip/zulip-desktop.svg?branch=main)](https://travis-ci.com/github/zulip/zulip-desktop) [![Build Status](https://github.com/zulip/zulip-desktop/actions/workflows/node.js.yml/badge.svg)](https://github.com/zulip/zulip-desktop/actions/workflows/node.js.yml?query=branch%3Amain)
[![Windows Build Status](https://ci.appveyor.com/api/projects/status/github/zulip/zulip-desktop?branch=main&svg=true)](https://ci.appveyor.com/project/zulip/zulip-desktop/branch/main) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/github/zulip/zulip-desktop?branch=main&svg=true)](https://ci.appveyor.com/project/zulip/zulip-desktop/branch/main)
[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
[![project chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://chat.zulip.org) [![project chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://chat.zulip.org)

View File

@@ -1,7 +1,7 @@
import fs from "node:fs"; import fs from "node:fs";
import path from "node:path"; import path from "node:path";
import * as Sentry from "@sentry/electron"; import * as Sentry from "@sentry/core";
import {JsonDB} from "node-json-db"; import {JsonDB} from "node-json-db";
import {DataError} from "node-json-db/dist/lib/Errors"; import {DataError} from "node-json-db/dist/lib/Errors";
import type {z} from "zod"; import type {z} from "zod";
@@ -19,23 +19,23 @@ const logger = new Logger({
file: "config-util.log", file: "config-util.log",
}); });
let db: JsonDB; let database: JsonDB;
reloadDb(); reloadDatabase();
export function getConfigItem<Key extends keyof Config>( export function getConfigItem<Key extends keyof Config>(
key: Key, key: Key,
defaultValue: Config[Key], defaultValue: Config[Key],
): z.output<(typeof configSchemata)[Key]> { ): z.output<(typeof configSchemata)[Key]> {
try { try {
db.reload(); database.reload();
} catch (error: unknown) { } catch (error: unknown) {
logger.error("Error while reloading settings.json: "); logger.error("Error while reloading settings.json: ");
logger.error(error); logger.error(error);
} }
try { try {
return configSchemata[key].parse(db.getObject<unknown>(`/${key}`)); return configSchemata[key].parse(database.getObject<unknown>(`/${key}`));
} catch (error: unknown) { } catch (error: unknown) {
if (!(error instanceof DataError)) throw error; if (!(error instanceof DataError)) throw error;
setConfigItem(key, defaultValue); setConfigItem(key, defaultValue);
@@ -46,13 +46,13 @@ export function getConfigItem<Key extends keyof Config>(
// This function returns whether a key exists in the configuration file (settings.json) // This function returns whether a key exists in the configuration file (settings.json)
export function isConfigItemExists(key: string): boolean { export function isConfigItemExists(key: string): boolean {
try { try {
db.reload(); database.reload();
} catch (error: unknown) { } catch (error: unknown) {
logger.error("Error while reloading settings.json: "); logger.error("Error while reloading settings.json: ");
logger.error(error); logger.error(error);
} }
return db.exists(`/${key}`); return database.exists(`/${key}`);
} }
export function setConfigItem<Key extends keyof Config>( export function setConfigItem<Key extends keyof Config>(
@@ -66,16 +66,16 @@ export function setConfigItem<Key extends keyof Config>(
} }
configSchemata[key].parse(value); configSchemata[key].parse(value);
db.push(`/${key}`, value, true); database.push(`/${key}`, value, true);
db.save(); database.save();
} }
export function removeConfigItem(key: string): void { export function removeConfigItem(key: string): void {
db.delete(`/${key}`); database.delete(`/${key}`);
db.save(); database.save();
} }
function reloadDb(): void { function reloadDatabase(): void {
const settingsJsonPath = path.join( const settingsJsonPath = path.join(
app.getPath("userData"), app.getPath("userData"),
"/config/settings.json", "/config/settings.json",
@@ -96,5 +96,5 @@ function reloadDb(): void {
} }
} }
db = new JsonDB(settingsJsonPath, true, true); database = new JsonDB(settingsJsonPath, true, true);
} }

View File

@@ -4,30 +4,30 @@ import {app} from "zulip:remote";
let setupCompleted = false; let setupCompleted = false;
const zulipDir = app.getPath("userData"); const zulipDirectory = app.getPath("userData");
const logDir = `${zulipDir}/Logs/`; const logDirectory = `${zulipDirectory}/Logs/`;
const configDir = `${zulipDir}/config/`; const configDirectory = `${zulipDirectory}/config/`;
export const initSetUp = (): void => { export const initSetUp = (): void => {
// If it is the first time the app is running // If it is the first time the app is running
// create zulip dir in userData folder to // create zulip dir in userData folder to
// avoid errors // avoid errors
if (!setupCompleted) { if (!setupCompleted) {
if (!fs.existsSync(zulipDir)) { if (!fs.existsSync(zulipDirectory)) {
fs.mkdirSync(zulipDir); fs.mkdirSync(zulipDirectory);
} }
if (!fs.existsSync(logDir)) { if (!fs.existsSync(logDirectory)) {
fs.mkdirSync(logDir); fs.mkdirSync(logDirectory);
} }
// Migrate config files from app data folder to config folder inside app // Migrate config files from app data folder to config folder inside app
// data folder. This will be done once when a user updates to the new version. // data folder. This will be done once when a user updates to the new version.
if (!fs.existsSync(configDir)) { if (!fs.existsSync(configDirectory)) {
fs.mkdirSync(configDir); fs.mkdirSync(configDirectory);
const domainJson = `${zulipDir}/domain.json`; const domainJson = `${zulipDirectory}/domain.json`;
const settingsJson = `${zulipDir}/settings.json`; const settingsJson = `${zulipDirectory}/settings.json`;
const updatesJson = `${zulipDir}/updates.json`; const updatesJson = `${zulipDirectory}/updates.json`;
const windowStateJson = `${zulipDir}/window-state.json`; const windowStateJson = `${zulipDirectory}/window-state.json`;
const configData = [ const configData = [
{ {
path: domainJson, path: domainJson,
@@ -44,7 +44,7 @@ export const initSetUp = (): void => {
]; ];
for (const data of configData) { for (const data of configData) {
if (fs.existsSync(data.path)) { if (fs.existsSync(data.path)) {
fs.copyFileSync(data.path, configDir + data.fileName); fs.copyFileSync(data.path, configDirectory + data.fileName);
fs.unlinkSync(data.path); fs.unlinkSync(data.path);
} }
} }

View File

@@ -20,9 +20,9 @@ const logger = new Logger({
let enterpriseSettings: Partial<EnterpriseConfig>; let enterpriseSettings: Partial<EnterpriseConfig>;
let configFile: boolean; let configFile: boolean;
reloadDb(); reloadDatabase();
function reloadDb(): void { function reloadDatabase(): void {
let enterpriseFile = "/etc/zulip-desktop-config/global_config.json"; let enterpriseFile = "/etc/zulip-desktop-config/global_config.json";
if (process.platform === "win32") { if (process.platform === "win32") {
enterpriseFile = enterpriseFile =
@@ -56,7 +56,7 @@ export function getConfigItem<Key extends keyof EnterpriseConfig>(
key: Key, key: Key,
defaultValue: EnterpriseConfig[Key], defaultValue: EnterpriseConfig[Key],
): EnterpriseConfig[Key] { ): EnterpriseConfig[Key] {
reloadDb(); reloadDatabase();
if (!configFile) { if (!configFile) {
return defaultValue; return defaultValue;
} }
@@ -66,7 +66,7 @@ export function getConfigItem<Key extends keyof EnterpriseConfig>(
} }
export function configItemExists(key: keyof EnterpriseConfig): boolean { export function configItemExists(key: keyof EnterpriseConfig): boolean {
reloadDb(); reloadDatabase();
if (!configFile) { if (!configFile) {
return false; return false;
} }

View File

@@ -11,8 +11,8 @@ export async function openBrowser(url: URL): Promise<void> {
} else { } else {
// For security, indirect links to non-whitelisted protocols // For security, indirect links to non-whitelisted protocols
// through a real web browser via a local HTML file. // through a real web browser via a local HTML file.
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "zulip-redirect-")); const directory = fs.mkdtempSync(path.join(os.tmpdir(), "zulip-redirect-"));
const file = path.join(dir, "redirect.html"); const file = path.join(directory, "redirect.html");
fs.writeFileSync( fs.writeFileSync(
file, file,
html` html`
@@ -37,7 +37,7 @@ export async function openBrowser(url: URL): Promise<void> {
await shell.openPath(file); await shell.openPath(file);
setTimeout(() => { setTimeout(() => {
fs.unlinkSync(file); fs.unlinkSync(file);
fs.rmdirSync(dir); fs.rmdirSync(directory);
}, 15_000); }, 15_000);
} }
} }

View File

@@ -13,7 +13,7 @@ type LoggerOptions = {
initSetUp(); initSetUp();
const logDir = `${app.getPath("userData")}/Logs`; const logDirectory = `${app.getPath("userData")}/Logs`;
type Level = "log" | "debug" | "info" | "warn" | "error"; type Level = "log" | "debug" | "info" | "warn" | "error";
@@ -23,7 +23,7 @@ export default class Logger {
constructor(options: LoggerOptions = {}) { constructor(options: LoggerOptions = {}) {
let {file = "console.log"} = options; let {file = "console.log"} = options;
file = `${logDir}/${file}`; file = `${logDirectory}/${file}`;
// Trim log according to type of process // Trim log according to type of process
if (process.type === "renderer") { if (process.type === "renderer") {
@@ -38,31 +38,31 @@ export default class Logger {
this.nodeConsole = nodeConsole; this.nodeConsole = nodeConsole;
} }
_log(type: Level, ...args: unknown[]): void { _log(type: Level, ...arguments_: unknown[]): void {
args.unshift(this.getTimestamp() + " |\t"); arguments_.unshift(this.getTimestamp() + " |\t");
args.unshift(type.toUpperCase() + " |"); arguments_.unshift(type.toUpperCase() + " |");
this.nodeConsole[type](...args); this.nodeConsole[type](...arguments_);
console[type](...args); console[type](...arguments_);
} }
log(...args: unknown[]): void { log(...arguments_: unknown[]): void {
this._log("log", ...args); this._log("log", ...arguments_);
} }
debug(...args: unknown[]): void { debug(...arguments_: unknown[]): void {
this._log("debug", ...args); this._log("debug", ...arguments_);
} }
info(...args: unknown[]): void { info(...arguments_: unknown[]): void {
this._log("info", ...args); this._log("info", ...arguments_);
} }
warn(...args: unknown[]): void { warn(...arguments_: unknown[]): void {
this._log("warn", ...args); this._log("warn", ...arguments_);
} }
error(...args: unknown[]): void { error(...arguments_: unknown[]): void {
this._log("error", ...args); this._log("error", ...arguments_);
} }
getTimestamp(): string { getTimestamp(): string {

View File

@@ -1,5 +1,5 @@
import type {DndSettings} from "./dnd-util.js"; import type {DndSettings} from "./dnd-util.js";
import type {MenuProps, ServerConf} from "./types.js"; import type {MenuProperties, ServerConfig} from "./types.js";
export type MainMessage = { export type MainMessage = {
"clear-app-settings": () => void; "clear-app-settings": () => void;
@@ -21,12 +21,12 @@ export type MainMessage = {
toggleAutoLauncher: (AutoLaunchValue: boolean) => void; toggleAutoLauncher: (AutoLaunchValue: boolean) => void;
"unread-count": (unreadCount: number) => void; "unread-count": (unreadCount: number) => void;
"update-badge": (messageCount: number) => void; "update-badge": (messageCount: number) => void;
"update-menu": (props: MenuProps) => void; "update-menu": (properties: MenuProperties) => void;
"update-taskbar-icon": (data: string, text: string) => void; "update-taskbar-icon": (data: string, text: string) => void;
}; };
export type MainCall = { export type MainCall = {
"get-server-settings": (domain: string) => ServerConf; "get-server-settings": (domain: string) => ServerConfig;
"is-online": (url: string) => boolean; "is-online": (url: string) => boolean;
"poll-clipboard": (key: Uint8Array, sig: Uint8Array) => string | undefined; "poll-clipboard": (key: Uint8Array, sig: Uint8Array) => string | undefined;
"save-server-icon": (iconURL: string) => string | null; "save-server-icon": (iconURL: string) => string | null;
@@ -74,7 +74,7 @@ export type RendererMessage = {
"toggle-silent": (state: boolean) => void; "toggle-silent": (state: boolean) => void;
"toggle-tray": (state: boolean) => void; "toggle-tray": (state: boolean) => void;
toggletray: () => void; toggletray: () => void;
tray: (arg: number) => void; tray: (argument: number) => void;
"update-realm-icon": (serverURL: string, iconURL: string) => void; "update-realm-icon": (serverURL: string, iconURL: string) => void;
"update-realm-name": (serverURL: string, realmName: string) => void; "update-realm-name": (serverURL: string, realmName: string) => void;
"webview-reload": () => void; "webview-reload": () => void;

View File

@@ -1,17 +1,17 @@
export type MenuProps = { export type MenuProperties = {
tabs: TabData[]; tabs: TabData[];
activeTabIndex?: number; activeTabIndex?: number;
enableMenu?: boolean; enableMenu?: boolean;
}; };
export type NavItem = export type NavigationItem =
| "General" | "General"
| "Network" | "Network"
| "AddServer" | "AddServer"
| "Organizations" | "Organizations"
| "Shortcuts"; | "Shortcuts";
export type ServerConf = { export type ServerConfig = {
url: string; url: string;
alias: string; alias: string;
icon: string; icon: string;
@@ -20,9 +20,11 @@ export type ServerConf = {
}; };
export type TabRole = "server" | "function"; export type TabRole = "server" | "function";
export type TabPage = "Settings" | "About";
export type TabData = { export type TabData = {
role: TabRole; role: TabRole;
name: string; page?: TabPage;
label: string;
index: number; index: number;
}; };

View File

@@ -2,11 +2,15 @@ import {shell} from "electron/common";
import {app, dialog, session} from "electron/main"; import {app, dialog, session} from "electron/main";
import process from "node:process"; import process from "node:process";
import log from "electron-log"; import log from "electron-log/main";
import type {UpdateDownloadedEvent, UpdateInfo} from "electron-updater"; import {
import {autoUpdater} from "electron-updater"; type UpdateDownloadedEvent,
type UpdateInfo,
autoUpdater,
} from "electron-updater";
import * as ConfigUtil from "../common/config-util.js"; import * as ConfigUtil from "../common/config-util.js";
import * as t from "../common/translation-util.js";
import {linuxUpdateNotification} from "./linuxupdater.js"; // Required only in case of linux import {linuxUpdateNotification} from "./linuxupdater.js"; // Required only in case of linux
@@ -31,9 +35,10 @@ export async function appUpdater(updateFromMenu = false): Promise<void> {
let updateAvailable = false; let updateAvailable = false;
// Log what's happening // Log what's happening
log.transports.file.fileName = "updates.log"; const updateLogger = log.create({logId: "updates"});
log.transports.file.level = "info"; updateLogger.transports.file.fileName = "updates.log";
autoUpdater.logger = log; updateLogger.transports.file.level = "info";
autoUpdater.logger = updateLogger;
// Handle auto updates for beta/pre releases // Handle auto updates for beta/pre releases
const isBetaUpdate = ConfigUtil.getConfigItem("betaUpdate", false); const isBetaUpdate = ConfigUtil.getConfigItem("betaUpdate", false);
@@ -54,9 +59,13 @@ export async function appUpdater(updateFromMenu = false): Promise<void> {
} }
await dialog.showMessageBox({ await dialog.showMessageBox({
message: `A new version ${info.version}, of Zulip Desktop is available`, message: t.__(
detail: "A new version {{{version}}} of Zulip Desktop is available.",
{version: info.version},
),
detail: t.__(
"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.",
),
}); });
} }
}); });
@@ -68,8 +77,11 @@ export async function appUpdater(updateFromMenu = false): Promise<void> {
autoUpdater.removeAllListeners(); autoUpdater.removeAllListeners();
await dialog.showMessageBox({ await dialog.showMessageBox({
message: "No updates available", message: t.__("No updates available."),
detail: `You are running the latest version of Zulip Desktop.\nVersion: ${app.getVersion()}`, detail: t.__(
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}",
{version: app.getVersion()},
),
}); });
} }
}); });
@@ -81,20 +93,20 @@ export async function appUpdater(updateFromMenu = false): Promise<void> {
autoUpdater.removeAllListeners(); autoUpdater.removeAllListeners();
const messageText = updateAvailable const messageText = updateAvailable
? "Unable to download the updates" ? t.__("Unable to download the update.")
: "Unable to check for updates"; : t.__("Unable to check for updates.");
const link = "https://zulip.com/apps/";
const {response} = await dialog.showMessageBox({ const {response} = await dialog.showMessageBox({
type: "error", type: "error",
buttons: ["Manual Download", "Cancel"], buttons: [t.__("Manual Download"), t.__("Cancel")],
message: messageText, message: messageText,
detail: `Error: ${error.message} detail: t.__(
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}",
The latest version of Zulip Desktop is available at - {error: error.message, link, version: app.getVersion()},
https://zulip.com/apps/. ),
Current Version: ${app.getVersion()}`,
}); });
if (response === 0) { if (response === 0) {
await shell.openExternal("https://zulip.com/apps/"); await shell.openExternal(link);
} }
} }
}); });
@@ -104,10 +116,14 @@ Current Version: ${app.getVersion()}`,
// Ask user to update the app // Ask user to update the app
const {response} = await dialog.showMessageBox({ const {response} = await dialog.showMessageBox({
type: "question", type: "question",
buttons: ["Install and Relaunch", "Install Later"], buttons: [t.__("Install and Relaunch"), t.__("Install Later")],
defaultId: 0, defaultId: 0,
message: `A new update ${event.version} has been downloaded`, message: t.__("A new update {{{version}}} has been downloaded.", {
detail: "It will be installed the next time you restart the application", version: event.version,
}),
detail: t.__(
"It will be installed the next time you restart the application.",
),
}); });
if (response === 0) { if (response === 0) {
quitting = true; quitting = true;

View File

@@ -1,6 +1,5 @@
import {nativeImage} from "electron/common"; import {nativeImage} from "electron/common";
import type {BrowserWindow} from "electron/main"; import {type BrowserWindow, app} from "electron/main";
import {app} from "electron/main";
import process from "node:process"; import process from "node:process";
import * as ConfigUtil from "../common/config-util.js"; import * as ConfigUtil from "../common/config-util.js";

View File

@@ -1,11 +1,11 @@
import type {Event} from "electron/common"; import {type Event, shell} from "electron/common";
import {shell} from "electron/common"; import {
import type { type HandlerDetails,
HandlerDetails, Notification,
SaveDialogOptions, type SaveDialogOptions,
WebContents, type WebContents,
app,
} from "electron/main"; } from "electron/main";
import {Notification, app} from "electron/main";
import fs from "node:fs"; import fs from "node:fs";
import path from "node:path"; import path from "node:path";

View File

@@ -1,7 +1,14 @@
import type {Event} from "electron/common";
import {clipboard} from "electron/common"; import {clipboard} from "electron/common";
import type {IpcMainEvent, WebContents} from "electron/main"; import {
import {BrowserWindow, app, dialog, powerMonitor, session} from "electron/main"; BrowserWindow,
type IpcMainEvent,
type WebContents,
app,
dialog,
powerMonitor,
session,
webContents,
} from "electron/main";
import {Buffer} from "node:buffer"; import {Buffer} from "node:buffer";
import crypto from "node:crypto"; import crypto from "node:crypto";
import path from "node:path"; import path from "node:path";
@@ -12,8 +19,9 @@ import windowStateKeeper from "electron-window-state";
import * as ConfigUtil from "../common/config-util.js"; import * as ConfigUtil from "../common/config-util.js";
import {bundlePath, bundleUrl, publicPath} from "../common/paths.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 {RendererMessage} from "../common/typed-ipc.js";
import type {MenuProps} from "../common/types.js"; import type {MenuProperties} from "../common/types.js";
import {appUpdater, shouldQuitForUpdate} from "./autoupdater.js"; import {appUpdater, shouldQuitForUpdate} from "./autoupdater.js";
import * as BadgeSettings from "./badge-settings.js"; import * as BadgeSettings from "./badge-settings.js";
@@ -103,7 +111,14 @@ function createMainWindow(): BrowserWindow {
event.preventDefault(); event.preventDefault();
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.hide(); if (win.isFullScreen()) {
win.setFullScreen(false);
win.once("leave-full-screen", () => {
app.hide();
});
} else {
app.hide();
}
} else { } else {
win.hide(); win.hide();
} }
@@ -292,18 +307,25 @@ function createMainWindow(): BrowserWindow {
app.on( app.on(
"certificate-error", "certificate-error",
( (
event: Event, event,
webContents: WebContents, webContents,
urlString: string, urlString,
error: string, error,
certificate,
callback,
isMainFrame,
// eslint-disable-next-line max-params
) => { ) => {
const url = new URL(urlString); if (isMainFrame) {
dialog.showErrorBox( const url = new URL(urlString);
"Certificate error", dialog.showErrorBox(
`The server presented an invalid certificate for ${url.origin}: t.__("Certificate error"),
t.__(
${error}`, "The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}",
); {origin: url.origin, error},
),
);
}
}, },
); );
@@ -389,11 +411,26 @@ ${error}`,
}, },
); );
ipcMain.on("update-menu", (_event, props: MenuProps) => { ipcMain.on(
AppMenu.setMenu(props); "forward-to",
if (props.activeTabIndex !== undefined) { <Channel extends keyof RendererMessage>(
const activeTab = props.tabs[props.activeTabIndex]; _event: IpcMainEvent,
mainWindow.setTitle(`Zulip - ${activeTab.name}`); webContentsId: number,
listener: Channel,
...parameters: Parameters<RendererMessage[Channel]>
) => {
const contents = webContents.fromId(webContentsId);
if (contents !== undefined) {
send(contents, listener, ...parameters);
}
},
);
ipcMain.on("update-menu", (_event, properties: MenuProperties) => {
AppMenu.setMenu(properties);
if (properties.activeTabIndex !== undefined) {
const activeTab = properties.tabs[properties.activeTabIndex];
mainWindow.setTitle(`Zulip - ${activeTab.label}`);
} }
}); });

View File

@@ -6,23 +6,24 @@ import {JsonDB} from "node-json-db";
import {DataError} from "node-json-db/dist/lib/Errors"; import {DataError} from "node-json-db/dist/lib/Errors";
import Logger from "../common/logger-util.js"; import Logger from "../common/logger-util.js";
import * as t from "../common/translation-util.js";
const logger = new Logger({ const logger = new Logger({
file: "linux-update-util.log", file: "linux-update-util.log",
}); });
let db: JsonDB; let database: JsonDB;
reloadDb(); reloadDatabase();
export function getUpdateItem( export function getUpdateItem(
key: string, key: string,
defaultValue: true | null = null, defaultValue: true | null = null,
): true | null { ): true | null {
reloadDb(); reloadDatabase();
let value: unknown; let value: unknown;
try { try {
value = db.getObject<unknown>(`/${key}`); value = database.getObject<unknown>(`/${key}`);
} catch (error: unknown) { } catch (error: unknown) {
if (!(error instanceof DataError)) throw error; if (!(error instanceof DataError)) throw error;
} }
@@ -36,16 +37,16 @@ export function getUpdateItem(
} }
export function setUpdateItem(key: string, value: true | null): void { export function setUpdateItem(key: string, value: true | null): void {
db.push(`/${key}`, value, true); database.push(`/${key}`, value, true);
reloadDb(); reloadDatabase();
} }
export function removeUpdateItem(key: string): void { export function removeUpdateItem(key: string): void {
db.delete(`/${key}`); database.delete(`/${key}`);
reloadDb(); reloadDatabase();
} }
function reloadDb(): void { function reloadDatabase(): void {
const linuxUpdateJsonPath = path.join( const linuxUpdateJsonPath = path.join(
app.getPath("userData"), app.getPath("userData"),
"/config/updates.json", "/config/updates.json",
@@ -57,13 +58,13 @@ function reloadDb(): void {
if (fs.existsSync(linuxUpdateJsonPath)) { if (fs.existsSync(linuxUpdateJsonPath)) {
fs.unlinkSync(linuxUpdateJsonPath); fs.unlinkSync(linuxUpdateJsonPath);
dialog.showErrorBox( dialog.showErrorBox(
"Error saving update notifications.", t.__("Error saving update notifications"),
"We encountered an error while saving the update notifications.", t.__("We encountered an error while saving the update notifications."),
); );
logger.error("Error while JSON parsing updates.json: "); logger.error("Error while JSON parsing updates.json: ");
logger.error(error); logger.error(error);
} }
} }
db = new JsonDB(linuxUpdateJsonPath, true, true); database = new JsonDB(linuxUpdateJsonPath, true, true);
} }

View File

@@ -1,5 +1,4 @@
import type {Session} from "electron/main"; import {Notification, type Session, app} from "electron/main";
import {Notification, app} from "electron/main";
import * as semver from "semver"; import * as semver from "semver";
import {z} from "zod"; import {z} from "zod";

View File

@@ -1,6 +1,10 @@
import {shell} from "electron/common"; import {shell} from "electron/common";
import type {MenuItemConstructorOptions} from "electron/main"; import {
import {BrowserWindow, Menu, app} from "electron/main"; BrowserWindow,
Menu,
type MenuItemConstructorOptions,
app,
} from "electron/main";
import process from "node:process"; import process from "node:process";
import AdmZip from "adm-zip"; import AdmZip from "adm-zip";
@@ -9,7 +13,7 @@ import * as ConfigUtil from "../common/config-util.js";
import * as DNDUtil from "../common/dnd-util.js"; import * as DNDUtil from "../common/dnd-util.js";
import * as t from "../common/translation-util.js"; import * as t from "../common/translation-util.js";
import type {RendererMessage} from "../common/typed-ipc.js"; import type {RendererMessage} from "../common/typed-ipc.js";
import type {MenuProps, TabData} from "../common/types.js"; import type {MenuProperties, TabData} from "../common/types.js";
import {appUpdater} from "./autoupdater.js"; import {appUpdater} from "./autoupdater.js";
import {send} from "./typed-ipc-main.js"; import {send} from "./typed-ipc-main.js";
@@ -90,7 +94,7 @@ function getToolsSubmenu(): MenuItemConstructorOptions[] {
accelerator: accelerator:
process.platform === "darwin" ? "Alt+Command+I" : "Ctrl+Shift+I", process.platform === "darwin" ? "Alt+Command+I" : "Ctrl+Shift+I",
click(_item, focusedWindow) { click(_item, focusedWindow) {
if (focusedWindow) { if (focusedWindow instanceof BrowserWindow) {
focusedWindow.webContents.openDevTools({mode: "undocked"}); focusedWindow.webContents.openDevTools({mode: "undocked"});
} }
}, },
@@ -218,7 +222,7 @@ function getViewSubmenu(): MenuItemConstructorOptions[] {
{ {
label: t.__("Toggle Tray Icon"), label: t.__("Toggle Tray Icon"),
click(_item, focusedWindow) { click(_item, focusedWindow) {
if (focusedWindow) { if (focusedWindow instanceof BrowserWindow) {
send(focusedWindow.webContents, "toggletray"); send(focusedWindow.webContents, "toggletray");
} }
}, },
@@ -227,7 +231,7 @@ function getViewSubmenu(): MenuItemConstructorOptions[] {
label: t.__("Toggle Sidebar"), label: t.__("Toggle Sidebar"),
accelerator: "CommandOrControl+Shift+S", accelerator: "CommandOrControl+Shift+S",
click(_item, focusedWindow) { click(_item, focusedWindow) {
if (focusedWindow) { if (focusedWindow instanceof BrowserWindow) {
const newValue = !ConfigUtil.getConfigItem("showSidebar", true); const newValue = !ConfigUtil.getConfigItem("showSidebar", true);
send(focusedWindow.webContents, "toggle-sidebar", newValue); send(focusedWindow.webContents, "toggle-sidebar", newValue);
ConfigUtil.setConfigItem("showSidebar", newValue); ConfigUtil.setConfigItem("showSidebar", newValue);
@@ -239,7 +243,7 @@ function getViewSubmenu(): MenuItemConstructorOptions[] {
checked: ConfigUtil.getConfigItem("autoHideMenubar", false), checked: ConfigUtil.getConfigItem("autoHideMenubar", false),
visible: process.platform !== "darwin", visible: process.platform !== "darwin",
click(_item, focusedWindow) { click(_item, focusedWindow) {
if (focusedWindow) { if (focusedWindow instanceof BrowserWindow) {
const newValue = !ConfigUtil.getConfigItem("autoHideMenubar", false); const newValue = !ConfigUtil.getConfigItem("autoHideMenubar", false);
focusedWindow.autoHideMenuBar = newValue; focusedWindow.autoHideMenuBar = newValue;
focusedWindow.setMenuBarVisibility(!newValue); focusedWindow.setMenuBarVisibility(!newValue);
@@ -314,12 +318,12 @@ function getWindowSubmenu(
if (tab === undefined) continue; if (tab === undefined) continue;
// Do not add functional tab settings to list of windows in menu bar // Do not add functional tab settings to list of windows in menu bar
if (tab.role === "function" && tab.name === "Settings") { if (tab.role === "function" && tab.page === "Settings") {
continue; continue;
} }
initialSubmenu.push({ initialSubmenu.push({
label: tab.name, label: tab.label,
accelerator: accelerator:
tab.role === "function" ? "" : `${shortcutKey} + ${tab.index + 1}`, tab.role === "function" ? "" : `${shortcutKey} + ${tab.index + 1}`,
checked: tab.index === activeTabIndex, checked: tab.index === activeTabIndex,
@@ -368,8 +372,10 @@ function getWindowSubmenu(
return initialSubmenu; return initialSubmenu;
} }
function getDarwinTpl(props: MenuProps): MenuItemConstructorOptions[] { function getDarwinTpl(
const {tabs, activeTabIndex, enableMenu = false} = props; properties: MenuProperties,
): MenuItemConstructorOptions[] {
const {tabs, activeTabIndex, enableMenu = false} = properties;
return [ return [
{ {
@@ -533,8 +539,8 @@ function getDarwinTpl(props: MenuProps): MenuItemConstructorOptions[] {
]; ];
} }
function getOtherTpl(props: MenuProps): MenuItemConstructorOptions[] { function getOtherTpl(properties: MenuProperties): MenuItemConstructorOptions[] {
const {tabs, activeTabIndex, enableMenu = false} = props; const {tabs, activeTabIndex, enableMenu = false} = properties;
return [ return [
{ {
label: t.__("File"), label: t.__("File"),
@@ -683,7 +689,7 @@ function getOtherTpl(props: MenuProps): MenuItemConstructorOptions[] {
function sendAction<Channel extends keyof RendererMessage>( function sendAction<Channel extends keyof RendererMessage>(
channel: Channel, channel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
): void { ): void {
const win = BrowserWindow.getAllWindows()[0]; const win = BrowserWindow.getAllWindows()[0];
@@ -691,7 +697,7 @@ function sendAction<Channel extends keyof RendererMessage>(
win.restore(); win.restore();
} }
send(win.webContents, channel, ...args); send(win.webContents, channel, ...arguments_);
} }
async function checkForUpdate(): Promise<void> { async function checkForUpdate(): Promise<void> {
@@ -714,9 +720,11 @@ function getPreviousServer(tabs: TabData[], activeTabIndex: number): number {
return activeTabIndex; return activeTabIndex;
} }
export function setMenu(props: MenuProps): void { export function setMenu(properties: MenuProperties): void {
const tpl = const tpl =
process.platform === "darwin" ? getDarwinTpl(props) : getOtherTpl(props); process.platform === "darwin"
? getDarwinTpl(properties)
: getOtherTpl(properties);
const menu = Menu.buildFromTemplate(tpl); const menu = Menu.buildFromTemplate(tpl);
Menu.setApplicationMenu(menu); Menu.setApplicationMenu(menu);
} }

View File

@@ -1,17 +1,16 @@
import type {Session} from "electron/main"; import {type Session, app} from "electron/main";
import {app} from "electron/main";
import fs from "node:fs"; import fs from "node:fs";
import path from "node:path"; import path from "node:path";
import {Readable} from "node:stream"; import {Readable} from "node:stream";
import {pipeline} from "node:stream/promises"; import {pipeline} from "node:stream/promises";
import type {ReadableStream} from "node:stream/web"; import type {ReadableStream} from "node:stream/web";
import * as Sentry from "@sentry/electron"; import * as Sentry from "@sentry/electron/main";
import {z} from "zod"; import {z} from "zod";
import Logger from "../common/logger-util.js"; import Logger from "../common/logger-util.js";
import * as Messages from "../common/messages.js"; import * as Messages from "../common/messages.js";
import type {ServerConf} from "../common/types.js"; import type {ServerConfig} from "../common/types.js";
/* Request: domain-util */ /* Request: domain-util */
@@ -20,7 +19,7 @@ const logger = new Logger({
}); });
const generateFilePath = (url: string): string => { const generateFilePath = (url: string): string => {
const dir = `${app.getPath("userData")}/server-icons`; const directory = `${app.getPath("userData")}/server-icons`;
const extension = path.extname(url).split("?")[0]; const extension = path.extname(url).split("?")[0];
let hash = 5381; let hash = 5381;
@@ -32,18 +31,18 @@ const generateFilePath = (url: string): string => {
} }
// Create 'server-icons' directory if not existed // Create 'server-icons' directory if not existed
if (!fs.existsSync(dir)) { if (!fs.existsSync(directory)) {
fs.mkdirSync(dir); fs.mkdirSync(directory);
} }
// eslint-disable-next-line no-bitwise // eslint-disable-next-line no-bitwise
return `${dir}/${hash >>> 0}${extension}`; return `${directory}/${hash >>> 0}${extension}`;
}; };
export const _getServerSettings = async ( export const _getServerSettings = async (
domain: string, domain: string,
session: Session, session: Session,
): Promise<ServerConf> => { ): Promise<ServerConfig> => {
const response = await session.fetch(domain + "/api/v1/server_settings"); const response = await session.fetch(domain + "/api/v1/server_settings");
if (!response.ok) { if (!response.ok) {
throw new Error(Messages.invalidZulipServerError(domain)); throw new Error(Messages.invalidZulipServerError(domain));

View File

@@ -1,6 +1,6 @@
import {app} from "electron/main"; import {app} from "electron/main";
import * as Sentry from "@sentry/electron/main"; // eslint-disable-line n/file-extension-in-import import * as Sentry from "@sentry/electron/main";
import {getConfigItem} from "../common/config-util.js"; import {getConfigItem} from "../common/config-util.js";

View File

@@ -1,9 +1,7 @@
import type {
IpcMainEvent,
IpcMainInvokeEvent,
WebContents,
} from "electron/main";
import { import {
type IpcMainEvent,
type IpcMainInvokeEvent,
type WebContents,
ipcMain as untypedIpcMain, // eslint-disable-line no-restricted-imports ipcMain as untypedIpcMain, // eslint-disable-line no-restricted-imports
} from "electron/main"; } from "electron/main";
@@ -14,14 +12,20 @@ import type {
} from "../common/typed-ipc.js"; } from "../common/typed-ipc.js";
type MainListener<Channel extends keyof MainMessage> = type MainListener<Channel extends keyof MainMessage> =
MainMessage[Channel] extends (...args: infer Args) => infer Return MainMessage[Channel] extends (...arguments_: infer Arguments) => infer Return
? (event: IpcMainEvent & {returnValue: Return}, ...args: Args) => void ? (
event: IpcMainEvent & {returnValue: Return},
...arguments_: Arguments
) => void
: never; : never;
type MainHandler<Channel extends keyof MainCall> = MainCall[Channel] extends ( type MainHandler<Channel extends keyof MainCall> = MainCall[Channel] extends (
...args: infer Args ...arguments_: infer Arguments
) => infer Return ) => infer Return
? (event: IpcMainInvokeEvent, ...args: Args) => Return | Promise<Return> ? (
event: IpcMainInvokeEvent,
...arguments_: Arguments
) => Return | Promise<Return>
: never; : never;
export const ipcMain: { export const ipcMain: {
@@ -30,7 +34,16 @@ export const ipcMain: {
listener: <Channel extends keyof RendererMessage>( listener: <Channel extends keyof RendererMessage>(
event: IpcMainEvent, event: IpcMainEvent,
channel: Channel, channel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
) => void,
): void;
on(
channel: "forward-to",
listener: <Channel extends keyof RendererMessage>(
event: IpcMainEvent,
webContentsId: number,
channel: Channel,
...arguments_: Parameters<RendererMessage[Channel]>
) => void, ) => void,
): void; ): void;
on<Channel extends keyof MainMessage>( on<Channel extends keyof MainMessage>(
@@ -60,16 +73,16 @@ export const ipcMain: {
export function send<Channel extends keyof RendererMessage>( export function send<Channel extends keyof RendererMessage>(
contents: WebContents, contents: WebContents,
channel: Channel, channel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
): void { ): void {
contents.send(channel, ...args); contents.send(channel, ...arguments_);
} }
export function sendToFrame<Channel extends keyof RendererMessage>( export function sendToFrame<Channel extends keyof RendererMessage>(
contents: WebContents, contents: WebContents,
frameId: number | [number, number], frameId: number | [number, number],
channel: Channel, channel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
): void { ): void {
contents.sendToFrame(frameId, channel, ...args); contents.sendToFrame(frameId, channel, ...arguments_);
} }

View File

@@ -6,21 +6,4 @@
<div class="about" hidden> <div class="about" hidden>
<img class="logo" src="../resources/zulip.png" /> <img class="logo" src="../resources/zulip.png" />
<p class="detail" id="version"></p> <p class="detail" id="version"></p>
<div class="maintenance-info">
<p class="detail maintainer">
Maintained by
<a href="https://zulip.com" target="_blank" rel="noopener noreferrer"
>Zulip</a
>
</p>
<p class="detail license">
Available under the
<a
href="https://github.com/zulip/zulip-desktop/blob/main/LICENSE"
target="_blank"
rel="noopener noreferrer"
>Apache 2.0 License</a
>
</p>
</div>
</div> </div>

View File

@@ -47,7 +47,6 @@
} }
.maintenance-info { .maintenance-info {
cursor: pointer;
position: absolute; position: absolute;
width: 100%; width: 100%;
left: 0; left: 0;

View File

@@ -578,7 +578,6 @@ input.toggle-round:checked + label::after {
text-align: center; text-align: center;
color: rgb(255 255 255 / 100%); color: rgb(255 255 255 / 100%);
background: rgb(78 191 172 / 100%); background: rgb(78 191 172 / 100%);
border-color: none;
border: none; border: none;
width: 98%; width: 98%;
height: 46px; height: 46px;

View File

@@ -20,7 +20,7 @@ export type ClipboardDecrypter = {
pasted: Promise<string>; pasted: Promise<string>;
}; };
export class ClipboardDecrypterImpl implements ClipboardDecrypter { export class ClipboardDecrypterImplementation implements ClipboardDecrypter {
version: number; version: number;
key: Uint8Array; key: Uint8Array;
pasted: Promise<string>; pasted: Promise<string>;

View File

@@ -1,5 +1,4 @@
import type {Event} from "electron/common"; import {type Event, clipboard} from "electron/common";
import {clipboard} from "electron/common";
import type {WebContents} from "electron/main"; import type {WebContents} from "electron/main";
import type { import type {
ContextMenuParams, ContextMenuParams,
@@ -14,11 +13,11 @@ import * as t from "../../../common/translation-util.js";
export const contextMenu = ( export const contextMenu = (
webContents: WebContents, webContents: WebContents,
event: Event, event: Event,
props: ContextMenuParams, properties: ContextMenuParams,
) => { ) => {
const isText = props.selectionText !== ""; const isText = properties.selectionText !== "";
const isLink = props.linkURL !== ""; const isLink = properties.linkURL !== "";
const linkUrl = isLink ? new URL(props.linkURL) : undefined; const linkUrl = isLink ? new URL(properties.linkURL) : undefined;
const makeSuggestion = (suggestion: string) => ({ const makeSuggestion = (suggestion: string) => ({
label: suggestion, label: suggestion,
@@ -31,19 +30,21 @@ export const contextMenu = (
let menuTemplate: MenuItemConstructorOptions[] = [ let menuTemplate: MenuItemConstructorOptions[] = [
{ {
label: t.__("Add to Dictionary"), label: t.__("Add to Dictionary"),
visible: props.isEditable && isText && props.misspelledWord.length > 0, visible:
properties.isEditable && isText && properties.misspelledWord.length > 0,
click(_item) { click(_item) {
webContents.session.addWordToSpellCheckerDictionary( webContents.session.addWordToSpellCheckerDictionary(
props.misspelledWord, properties.misspelledWord,
); );
}, },
}, },
{ {
type: "separator", type: "separator",
visible: props.isEditable && isText && props.misspelledWord.length > 0, visible:
properties.isEditable && isText && properties.misspelledWord.length > 0,
}, },
{ {
label: `${t.__("Look Up")} "${props.selectionText}"`, label: `${t.__("Look Up")} "${properties.selectionText}"`,
visible: process.platform === "darwin" && isText, visible: process.platform === "darwin" && isText,
click(_item) { click(_item) {
webContents.showDefinitionForSelection(); webContents.showDefinitionForSelection();
@@ -56,7 +57,7 @@ export const contextMenu = (
{ {
label: t.__("Cut"), label: t.__("Cut"),
visible: isText, visible: isText,
enabled: props.isEditable, enabled: properties.isEditable,
accelerator: "CommandOrControl+X", accelerator: "CommandOrControl+X",
click(_item) { click(_item) {
webContents.cut(); webContents.cut();
@@ -65,7 +66,7 @@ export const contextMenu = (
{ {
label: t.__("Copy"), label: t.__("Copy"),
accelerator: "CommandOrControl+C", accelerator: "CommandOrControl+C",
enabled: props.editFlags.canCopy, enabled: properties.editFlags.canCopy,
click(_item) { click(_item) {
webContents.copy(); webContents.copy();
}, },
@@ -73,7 +74,7 @@ export const contextMenu = (
{ {
label: t.__("Paste"), // Bug: Paste replaces text label: t.__("Paste"), // Bug: Paste replaces text
accelerator: "CommandOrControl+V", accelerator: "CommandOrControl+V",
enabled: props.isEditable, enabled: properties.isEditable,
click() { click() {
webContents.paste(); webContents.paste();
}, },
@@ -89,32 +90,34 @@ export const contextMenu = (
visible: isLink, visible: isLink,
click(_item) { click(_item) {
clipboard.write({ clipboard.write({
bookmark: props.linkText, bookmark: properties.linkText,
text: text:
linkUrl?.protocol === "mailto:" ? linkUrl.pathname : props.linkURL, linkUrl?.protocol === "mailto:"
? linkUrl.pathname
: properties.linkURL,
}); });
}, },
}, },
{ {
label: t.__("Copy Image"), label: t.__("Copy Image"),
visible: props.mediaType === "image", visible: properties.mediaType === "image",
click(_item) { click(_item) {
webContents.copyImageAt(props.x, props.y); webContents.copyImageAt(properties.x, properties.y);
}, },
}, },
{ {
label: t.__("Copy Image URL"), label: t.__("Copy Image URL"),
visible: props.mediaType === "image", visible: properties.mediaType === "image",
click(_item) { click(_item) {
clipboard.write({ clipboard.write({
bookmark: props.srcURL, bookmark: properties.srcURL,
text: props.srcURL, text: properties.srcURL,
}); });
}, },
}, },
{ {
type: "separator", type: "separator",
visible: isLink || props.mediaType === "image", visible: isLink || properties.mediaType === "image",
}, },
{ {
label: t.__("Services"), label: t.__("Services"),
@@ -123,10 +126,10 @@ export const contextMenu = (
}, },
]; ];
if (props.misspelledWord) { if (properties.misspelledWord) {
if (props.dictionarySuggestions.length > 0) { if (properties.dictionarySuggestions.length > 0) {
const suggestions: MenuItemConstructorOptions[] = const suggestions: MenuItemConstructorOptions[] =
props.dictionarySuggestions.map((suggestion: string) => properties.dictionarySuggestions.map((suggestion: string) =>
makeSuggestion(suggestion), makeSuggestion(suggestion),
); );
menuTemplate = [...suggestions, ...menuTemplate]; menuTemplate = [...suggestions, ...menuTemplate];

View File

@@ -1,26 +1,26 @@
import type {Html} from "../../../common/html.js"; import {type Html, html} from "../../../common/html.js";
import {html} from "../../../common/html.js"; import type {TabPage} from "../../../common/types.js";
import {generateNodeFromHtml} from "./base.js"; import {generateNodeFromHtml} from "./base.js";
import type {TabProps} from "./tab.js"; import Tab, {type TabProperties} from "./tab.js";
import Tab from "./tab.js";
export type FunctionalTabProps = { export type FunctionalTabProperties = {
$view: Element; $view: Element;
} & TabProps; page: TabPage;
} & TabProperties;
export default class FunctionalTab extends Tab { export default class FunctionalTab extends Tab {
$view: Element; $view: Element;
$el: Element; $el: Element;
$closeButton?: Element; $closeButton?: Element;
constructor({$view, ...props}: FunctionalTabProps) { constructor({$view, ...properties}: FunctionalTabProperties) {
super(props); super(properties);
this.$view = $view; this.$view = $view;
this.$el = generateNodeFromHtml(this.templateHtml()); this.$el = generateNodeFromHtml(this.templateHtml());
if (this.props.name !== "Settings") { if (properties.page !== "Settings") {
this.props.$root.append(this.$el); this.properties.$root.append(this.$el);
this.$closeButton = this.$el.querySelector(".server-tab-badge")!; this.$closeButton = this.$el.querySelector(".server-tab-badge")!;
this.registerListeners(); this.registerListeners();
} }
@@ -43,12 +43,12 @@ export default class FunctionalTab extends Tab {
templateHtml(): Html { templateHtml(): Html {
return html` return html`
<div class="tab functional-tab" data-tab-id="${this.props.tabIndex}"> <div class="tab functional-tab" data-tab-id="${this.properties.tabIndex}">
<div class="server-tab-badge close-button"> <div class="server-tab-badge close-button">
<i class="material-icons">close</i> <i class="material-icons">close</i>
</div> </div>
<div class="server-tab"> <div class="server-tab">
<i class="material-icons">${this.props.materialIcon}</i> <i class="material-icons">${this.properties.materialIcon}</i>
</div> </div>
</div> </div>
`; `;
@@ -66,7 +66,7 @@ export default class FunctionalTab extends Tab {
}); });
this.$closeButton?.addEventListener("click", (event) => { this.$closeButton?.addEventListener("click", (event) => {
this.props.onDestroy?.(); this.properties.onDestroy?.();
event.stopPropagation(); event.stopPropagation();
}); });
} }

View File

@@ -1,17 +1,15 @@
import process from "node:process"; import process from "node:process";
import type {Html} from "../../../common/html.js"; import {type Html, html} from "../../../common/html.js";
import {html} from "../../../common/html.js";
import {ipcRenderer} from "../typed-ipc-renderer.js"; import {ipcRenderer} from "../typed-ipc-renderer.js";
import {generateNodeFromHtml} from "./base.js"; import {generateNodeFromHtml} from "./base.js";
import type {TabProps} from "./tab.js"; import Tab, {type TabProperties} from "./tab.js";
import Tab from "./tab.js";
import type WebView from "./webview.js"; import type WebView from "./webview.js";
export type ServerTabProps = { export type ServerTabProperties = {
webview: Promise<WebView>; webview: Promise<WebView>;
} & TabProps; } & TabProperties;
export default class ServerTab extends Tab { export default class ServerTab extends Tab {
webview: Promise<WebView>; webview: Promise<WebView>;
@@ -20,12 +18,12 @@ export default class ServerTab extends Tab {
$icon: HTMLImageElement; $icon: HTMLImageElement;
$badge: Element; $badge: Element;
constructor({webview, ...props}: ServerTabProps) { constructor({webview, ...properties}: ServerTabProperties) {
super(props); super(properties);
this.webview = webview; this.webview = webview;
this.$el = generateNodeFromHtml(this.templateHtml()); this.$el = generateNodeFromHtml(this.templateHtml());
this.props.$root.append(this.$el); this.properties.$root.append(this.$el);
this.registerListeners(); this.registerListeners();
this.$name = this.$el.querySelector(".server-tooltip")!; this.$name = this.$el.querySelector(".server-tooltip")!;
this.$icon = this.$el.querySelector(".server-icons")!; this.$icon = this.$el.querySelector(".server-icons")!;
@@ -49,26 +47,26 @@ export default class ServerTab extends Tab {
templateHtml(): Html { templateHtml(): Html {
return html` return html`
<div class="tab" data-tab-id="${this.props.tabIndex}"> <div class="tab" data-tab-id="${this.properties.tabIndex}">
<div class="server-tooltip" style="display:none"> <div class="server-tooltip" style="display:none">
${this.props.name} ${this.properties.label}
</div> </div>
<div class="server-tab-badge"></div> <div class="server-tab-badge"></div>
<div class="server-tab"> <div class="server-tab">
<img class="server-icons" src="${this.props.icon}" /> <img class="server-icons" src="${this.properties.icon}" />
</div> </div>
<div class="server-tab-shortcut">${this.generateShortcutText()}</div> <div class="server-tab-shortcut">${this.generateShortcutText()}</div>
</div> </div>
`; `;
} }
setName(name: string): void { setLabel(label: string): void {
this.props.name = name; this.properties.label = label;
this.$name.textContent = name; this.$name.textContent = label;
} }
setIcon(icon: string): void { setIcon(icon: string): void {
this.props.icon = icon; this.properties.icon = icon;
this.$icon.src = icon; this.$icon.src = icon;
} }
@@ -79,11 +77,11 @@ export default class ServerTab extends Tab {
generateShortcutText(): string { generateShortcutText(): string {
// Only provide shortcuts for server [0..9] // Only provide shortcuts for server [0..9]
if (this.props.index >= 9) { if (this.properties.index >= 9) {
return ""; return "";
} }
const shownIndex = this.props.index + 1; const shownIndex = this.properties.index + 1;
// Array index == Shown index - 1 // Array index == Shown index - 1
ipcRenderer.send("switch-server-tab", shownIndex - 1); ipcRenderer.send("switch-server-tab", shownIndex - 1);

View File

@@ -1,9 +1,10 @@
import type {TabRole} from "../../../common/types.js"; import type {TabPage, TabRole} from "../../../common/types.js";
export type TabProps = { export type TabProperties = {
role: TabRole; role: TabRole;
page?: TabPage;
icon?: string; icon?: string;
name: string; label: string;
$root: Element; $root: Element;
onClick: () => void; onClick: () => void;
index: number; index: number;
@@ -17,17 +18,17 @@ export type TabProps = {
export default abstract class Tab { export default abstract class Tab {
abstract $el: Element; abstract $el: Element;
constructor(readonly props: TabProps) {} constructor(readonly properties: TabProperties) {}
registerListeners(): void { registerListeners(): void {
this.$el.addEventListener("click", this.props.onClick); this.$el.addEventListener("click", this.properties.onClick);
if (this.props.onHover !== undefined) { if (this.properties.onHover !== undefined) {
this.$el.addEventListener("mouseover", this.props.onHover); this.$el.addEventListener("mouseover", this.properties.onHover);
} }
if (this.props.onHoverOut !== undefined) { if (this.properties.onHoverOut !== undefined) {
this.$el.addEventListener("mouseout", this.props.onHoverOut); this.$el.addEventListener("mouseout", this.properties.onHoverOut);
} }
} }

View File

@@ -6,11 +6,11 @@ import * as remote from "@electron/remote";
import {app, dialog} from "@electron/remote"; import {app, dialog} from "@electron/remote";
import * as ConfigUtil from "../../../common/config-util.js"; import * as ConfigUtil from "../../../common/config-util.js";
import type {Html} from "../../../common/html.js"; import {type Html, html} from "../../../common/html.js";
import {html} from "../../../common/html.js"; import * as t from "../../../common/translation-util.js";
import type {RendererMessage} from "../../../common/typed-ipc.js"; import type {RendererMessage} from "../../../common/typed-ipc.js";
import type {TabRole} from "../../../common/types.js"; import type {TabRole} from "../../../common/types.js";
import preloadCss from "../../css/preload.css?raw"; // eslint-disable-line n/file-extension-in-import import preloadCss from "../../css/preload.css?raw";
import {ipcRenderer} from "../typed-ipc-renderer.js"; import {ipcRenderer} from "../typed-ipc-renderer.js";
import * as SystemUtil from "../utils/system-util.js"; import * as SystemUtil from "../utils/system-util.js";
@@ -19,7 +19,7 @@ import {contextMenu} from "./context-menu.js";
const shouldSilentWebview = ConfigUtil.getConfigItem("silent", false); const shouldSilentWebview = ConfigUtil.getConfigItem("silent", false);
type WebViewProps = { type WebViewProperties = {
$root: Element; $root: Element;
rootWebContents: WebContents; rootWebContents: WebContents;
index: number; index: number;
@@ -36,24 +36,24 @@ type WebViewProps = {
}; };
export default class WebView { export default class WebView {
static templateHtml(props: WebViewProps): Html { static templateHtml(properties: WebViewProperties): Html {
return html` return html`
<div class="webview-pane"> <div class="webview-pane">
<div <div
class="webview-unsupported" class="webview-unsupported"
${props.unsupportedMessage === undefined ? html`hidden` : html``} ${properties.unsupportedMessage === undefined ? html`hidden` : html``}
> >
<span class="webview-unsupported-message" <span class="webview-unsupported-message"
>${props.unsupportedMessage ?? ""}</span >${properties.unsupportedMessage ?? ""}</span
> >
<span class="webview-unsupported-dismiss">×</span> <span class="webview-unsupported-dismiss">×</span>
</div> </div>
<webview <webview
data-tab-id="${props.tabIndex}" data-tab-id="${properties.tabIndex}"
src="${props.url}" src="${properties.url}"
${props.preload === undefined ${properties.preload === undefined
? html`` ? html``
: html`preload="${props.preload}"`} : html`preload="${properties.preload}"`}
partition="persist:webviewsession" partition="persist:webviewsession"
allowpopups allowpopups
> >
@@ -62,11 +62,11 @@ export default class WebView {
`; `;
} }
static async create(props: WebViewProps): Promise<WebView> { static async create(properties: WebViewProperties): Promise<WebView> {
const $pane = generateNodeFromHtml( const $pane = generateNodeFromHtml(
WebView.templateHtml(props), WebView.templateHtml(properties),
) as HTMLElement; ) as HTMLElement;
props.$root.append($pane); properties.$root.append($pane);
const $webview: HTMLElement = $pane.querySelector(":scope > webview")!; const $webview: HTMLElement = $pane.querySelector(":scope > webview")!;
await new Promise<void>((resolve) => { await new Promise<void>((resolve) => {
@@ -90,22 +90,21 @@ export default class WebView {
} }
const selector = `webview[data-tab-id="${CSS.escape( const selector = `webview[data-tab-id="${CSS.escape(
`${props.tabIndex}`, `${properties.tabIndex}`,
)}"]`; )}"]`;
const webContentsId: unknown = const webContentsId: unknown =
await props.rootWebContents.executeJavaScript( await properties.rootWebContents.executeJavaScript(
`(${getWebContentsIdFunction.toString()})(${JSON.stringify(selector)})`, `(${getWebContentsIdFunction.toString()})(${JSON.stringify(selector)})`,
); );
if (typeof webContentsId !== "number") { if (typeof webContentsId !== "number") {
throw new TypeError("Failed to get WebContents ID"); throw new TypeError("Failed to get WebContents ID");
} }
return new WebView(props, $pane, $webview, webContentsId); return new WebView(properties, $pane, $webview, webContentsId);
} }
badgeCount = 0; badgeCount = 0;
loading = true; loading = true;
private zoomFactor = 1;
private customCss: string | false | null; private customCss: string | false | null;
private readonly $webviewsContainer: DOMTokenList; private readonly $webviewsContainer: DOMTokenList;
private readonly $unsupported: HTMLElement; private readonly $unsupported: HTMLElement;
@@ -114,7 +113,7 @@ export default class WebView {
private unsupportedDismissed = false; private unsupportedDismissed = false;
private constructor( private constructor(
readonly props: WebViewProps, readonly properties: WebViewProperties,
private readonly $pane: HTMLElement, private readonly $pane: HTMLElement,
private readonly $webview: HTMLElement, private readonly $webview: HTMLElement,
readonly webContentsId: number, readonly webContentsId: number,
@@ -161,18 +160,15 @@ export default class WebView {
} }
zoomIn(): void { zoomIn(): void {
this.zoomFactor += 0.1; this.getWebContents().zoomLevel += 0.5;
this.getWebContents().setZoomFactor(this.zoomFactor);
} }
zoomOut(): void { zoomOut(): void {
this.zoomFactor -= 0.1; this.getWebContents().zoomLevel -= 0.5;
this.getWebContents().setZoomFactor(this.zoomFactor);
} }
zoomActualSize(): void { zoomActualSize(): void {
this.zoomFactor = 1; this.getWebContents().zoomLevel = 0;
this.getWebContents().setZoomFactor(this.zoomFactor);
} }
logOut(): void { logOut(): void {
@@ -188,8 +184,8 @@ export default class WebView {
} }
back(): void { back(): void {
if (this.getWebContents().canGoBack()) { if (this.getWebContents().navigationHistory.canGoBack()) {
this.getWebContents().goBack(); this.getWebContents().navigationHistory.goBack();
this.focus(); this.focus();
} }
} }
@@ -198,12 +194,15 @@ export default class WebView {
const $backButton = document.querySelector( const $backButton = document.querySelector(
"#actions-container #back-action", "#actions-container #back-action",
)!; )!;
$backButton.classList.toggle("disable", !this.getWebContents().canGoBack()); $backButton.classList.toggle(
"disable",
!this.getWebContents().navigationHistory.canGoBack(),
);
} }
forward(): void { forward(): void {
if (this.getWebContents().canGoForward()) { if (this.getWebContents().navigationHistory.canGoForward()) {
this.getWebContents().goForward(); this.getWebContents().navigationHistory.goForward();
} }
} }
@@ -212,7 +211,7 @@ export default class WebView {
// Shows the loading indicator till the webview is reloaded // Shows the loading indicator till the webview is reloaded
this.$webviewsContainer.remove("loaded"); this.$webviewsContainer.remove("loaded");
this.loading = true; this.loading = true;
this.props.switchLoading(true, this.props.url); this.properties.switchLoading(true, this.properties.url);
this.getWebContents().reload(); this.getWebContents().reload();
} }
@@ -224,9 +223,9 @@ export default class WebView {
send<Channel extends keyof RendererMessage>( send<Channel extends keyof RendererMessage>(
channel: Channel, channel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
): void { ): void {
ipcRenderer.sendTo(this.webContentsId, channel, ...args); ipcRenderer.send("forward-to", this.webContentsId, channel, ...arguments_);
} }
private registerListeners(): void { private registerListeners(): void {
@@ -238,7 +237,7 @@ export default class WebView {
webContents.on("page-title-updated", (_event, title) => { webContents.on("page-title-updated", (_event, title) => {
this.badgeCount = this.getBadgeCount(title); this.badgeCount = this.getBadgeCount(title);
this.props.onTitleChange(); this.properties.onTitleChange();
}); });
this.$webview.addEventListener("did-navigate-in-page", () => { this.$webview.addEventListener("did-navigate-in-page", () => {
@@ -271,7 +270,7 @@ export default class WebView {
this.$webview.addEventListener("dom-ready", () => { this.$webview.addEventListener("dom-ready", () => {
this.loading = false; this.loading = false;
this.props.switchLoading(false, this.props.url); this.properties.switchLoading(false, this.properties.url);
this.show(); this.show();
}); });
@@ -280,24 +279,29 @@ export default class WebView {
SystemUtil.connectivityError.includes(errorDescription); SystemUtil.connectivityError.includes(errorDescription);
if (hasConnectivityError) { if (hasConnectivityError) {
console.error("error", errorDescription); console.error("error", errorDescription);
if (!this.props.url.includes("network.html")) { if (!this.properties.url.includes("network.html")) {
this.props.onNetworkError(this.props.index); this.properties.onNetworkError(this.properties.index);
} }
} }
}); });
this.$webview.addEventListener("did-start-loading", () => { this.$webview.addEventListener("did-start-loading", () => {
this.props.switchLoading(true, this.props.url); this.properties.switchLoading(true, this.properties.url);
}); });
this.$webview.addEventListener("did-stop-loading", () => { this.$webview.addEventListener("did-stop-loading", () => {
this.props.switchLoading(false, this.props.url); this.properties.switchLoading(false, this.properties.url);
}); });
this.$unsupportedDismiss.addEventListener("click", () => { this.$unsupportedDismiss.addEventListener("click", () => {
this.unsupportedDismissed = true; this.unsupportedDismissed = true;
this.$unsupported.hidden = true; this.$unsupported.hidden = true;
}); });
webContents.on("zoom-changed", (event, zoomDirection) => {
if (zoomDirection === "in") this.zoomIn();
else if (zoomDirection === "out") this.zoomOut();
});
} }
private getBadgeCount(title: string): number { private getBadgeCount(title: string): number {
@@ -307,7 +311,7 @@ export default class WebView {
private show(): void { private show(): void {
// Do not show WebView if another tab was selected and this tab should be in background. // Do not show WebView if another tab was selected and this tab should be in background.
if (!this.props.isActive()) { if (!this.properties.isActive()) {
return; return;
} }
@@ -316,7 +320,7 @@ export default class WebView {
this.$pane.classList.add("active"); this.$pane.classList.add("active");
this.focus(); this.focus();
this.props.onTitleChange(); this.properties.onTitleChange();
// Injecting preload css in webview to override some css rules // Injecting preload css in webview to override some css rules
(async () => this.getWebContents().insertCSS(preloadCss))(); (async () => this.getWebContents().insertCSS(preloadCss))();
@@ -328,8 +332,8 @@ export default class WebView {
this.customCss = null; this.customCss = null;
ConfigUtil.setConfigItem("customCSS", null); ConfigUtil.setConfigItem("customCSS", null);
const errorMessage = "The custom css previously set is deleted!"; const errorMessage = t.__("The custom CSS previously set is deleted.");
dialog.showErrorBox("custom css file deleted!", errorMessage); dialog.showErrorBox(t.__("Custom CSS file deleted"), errorMessage);
return; return;
} }

View File

@@ -1,16 +1,17 @@
import {EventEmitter} from "events"; // eslint-disable-line unicorn/prefer-node-protocol import {EventEmitter} from "node:events";
import type {ClipboardDecrypter} from "./clipboard-decrypter.js"; import {
import {ClipboardDecrypterImpl} from "./clipboard-decrypter.js"; type ClipboardDecrypter,
import type {NotificationData} from "./notification/index.js"; ClipboardDecrypterImplementation,
import {newNotification} from "./notification/index.js"; } from "./clipboard-decrypter.js";
import {type NotificationData, newNotification} from "./notification/index.js";
import {ipcRenderer} from "./typed-ipc-renderer.js"; import {ipcRenderer} from "./typed-ipc-renderer.js";
type ListenerType = (...args: any[]) => void; type ListenerType = (...arguments_: any[]) => void;
/* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable @typescript-eslint/naming-convention */
export type ElectronBridge = { export type ElectronBridge = {
send_event: (eventName: string | symbol, ...args: unknown[]) => boolean; send_event: (eventName: string | symbol, ...arguments_: unknown[]) => boolean;
on_event: (eventName: string, listener: ListenerType) => void; on_event: (eventName: string, listener: ListenerType) => void;
new_notification: ( new_notification: (
title: string, title: string,
@@ -35,8 +36,8 @@ export const bridgeEvents = new EventEmitter(); // eslint-disable-line unicorn/p
/* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable @typescript-eslint/naming-convention */
const electron_bridge: ElectronBridge = { const electron_bridge: ElectronBridge = {
send_event: (eventName: string | symbol, ...args: unknown[]): boolean => send_event: (eventName: string | symbol, ...arguments_: unknown[]): boolean =>
bridgeEvents.emit(eventName, ...args), bridgeEvents.emit(eventName, ...arguments_),
on_event(eventName: string, listener: ListenerType): void { on_event(eventName: string, listener: ListenerType): void {
bridgeEvents.on(eventName, listener); bridgeEvents.on(eventName, listener);
@@ -60,7 +61,7 @@ const electron_bridge: ElectronBridge = {
}, },
decrypt_clipboard: (version: number): ClipboardDecrypter => decrypt_clipboard: (version: number): ClipboardDecrypter =>
new ClipboardDecrypterImpl(version), new ClipboardDecrypterImplementation(version),
}; };
/* eslint-enable @typescript-eslint/naming-convention */ /* eslint-enable @typescript-eslint/naming-convention */

View File

@@ -5,18 +5,25 @@ import url from "node:url";
import {Menu, app, dialog, session} from "@electron/remote"; import {Menu, app, dialog, session} from "@electron/remote";
import * as remote from "@electron/remote"; import * as remote from "@electron/remote";
import * as Sentry from "@sentry/electron"; import * as Sentry from "@sentry/electron/renderer";
import type {Config} from "../../common/config-util.js"; import type {Config} from "../../common/config-util.js";
import * as ConfigUtil from "../../common/config-util.js"; import * as ConfigUtil from "../../common/config-util.js";
import * as DNDUtil from "../../common/dnd-util.js"; import * as DNDUtil from "../../common/dnd-util.js";
import type {DndSettings} from "../../common/dnd-util.js"; import type {DndSettings} from "../../common/dnd-util.js";
import * as EnterpriseUtil from "../../common/enterprise-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 * as LinkUtil from "../../common/link-util.js";
import Logger from "../../common/logger-util.js"; import Logger from "../../common/logger-util.js";
import * as Messages from "../../common/messages.js"; import * as Messages from "../../common/messages.js";
import {bundlePath, bundleUrl} from "../../common/paths.js"; import {bundlePath, bundleUrl} from "../../common/paths.js";
import type {NavItem, ServerConf, TabData} from "../../common/types.js"; import * as t from "../../common/translation-util.js";
import type {
NavigationItem,
ServerConfig,
TabData,
TabPage,
} from "../../common/types.js";
import defaultIcon from "../img/icon.png"; import defaultIcon from "../img/icon.png";
import FunctionalTab from "./components/functional-tab.js"; import FunctionalTab from "./components/functional-tab.js";
@@ -77,7 +84,7 @@ export class ServerManagerView {
loading: Set<string>; loading: Set<string>;
activeTabIndex: number; activeTabIndex: number;
tabs: ServerOrFunctionalTab[]; tabs: ServerOrFunctionalTab[];
functionalTabs: Map<string, number>; functionalTabs: Map<TabPage, number>;
tabIndex: number; tabIndex: number;
presetOrgs: string[]; presetOrgs: string[];
preferenceView?: PreferenceView; preferenceView?: PreferenceView;
@@ -156,12 +163,12 @@ export class ServerManagerView {
ConfigUtil.getConfigItem("useSystemProxy", false) ConfigUtil.getConfigItem("useSystemProxy", false)
? {mode: "system"} ? {mode: "system"}
: ConfigUtil.getConfigItem("useManualProxy", false) : ConfigUtil.getConfigItem("useManualProxy", false)
? { ? {
pacScript: ConfigUtil.getConfigItem("proxyPAC", ""), pacScript: ConfigUtil.getConfigItem("proxyPAC", ""),
proxyRules: ConfigUtil.getConfigItem("proxyRules", ""), proxyRules: ConfigUtil.getConfigItem("proxyRules", ""),
proxyBypassRules: ConfigUtil.getConfigItem("proxyBypass", ""), proxyBypassRules: ConfigUtil.getConfigItem("proxyBypass", ""),
} }
: {mode: "direct"}, : {mode: "direct"},
); );
} }
@@ -248,8 +255,8 @@ export class ServerManagerView {
// promise of addition resolves in both cases, but we consider it rejected // promise of addition resolves in both cases, but we consider it rejected
// if the resolved value is false // if the resolved value is false
try { try {
const serverConf = await DomainUtil.checkDomain(domain); const serverConfig = await DomainUtil.checkDomain(domain);
await DomainUtil.addDomain(serverConf); await DomainUtil.addDomain(serverConfig);
return true; return true;
} catch (error: unknown) { } catch (error: unknown) {
logger.error(error); logger.error(error);
@@ -283,12 +290,9 @@ export class ServerManagerView {
// ask them before reloading the app // ask them before reloading the app
const {response} = await dialog.showMessageBox({ const {response} = await dialog.showMessageBox({
type: "question", type: "question",
buttons: ["Yes", "Later"], buttons: [t.__("Yes"), t.__("Later")],
defaultId: 0, defaultId: 0,
message: message: t.__("New servers added. Reload app now?"),
"New server" +
(domainsAdded.length > 1 ? "s" : "") +
" added. Reload app now?",
}); });
if (response === 0) { if (response === 0) {
ipcRenderer.send("reload-full-app"); ipcRenderer.send("reload-full-app");
@@ -325,11 +329,14 @@ export class ServerManagerView {
for (const [i, server] of servers.entries()) { for (const [i, server] of servers.entries()) {
const tab = this.initServer(server, i); const tab = this.initServer(server, i);
(async () => { (async () => {
const serverConf = await DomainUtil.updateSavedServer(server.url, i); const serverConfig = await DomainUtil.updateSavedServer(
tab.setName(serverConf.alias); server.url,
tab.setIcon(DomainUtil.iconAsUrl(serverConf.icon)); i,
);
tab.setLabel(serverConfig.alias);
tab.setIcon(DomainUtil.iconAsUrl(serverConfig.icon));
(await tab.webview).setUnsupportedMessage( (await tab.webview).setUnsupportedMessage(
DomainUtil.getUnsupportedMessage(serverConf), DomainUtil.getUnsupportedMessage(serverConfig),
); );
})(); })();
} }
@@ -364,12 +371,12 @@ export class ServerManagerView {
} }
} }
initServer(server: ServerConf, index: number): ServerTab { initServer(server: ServerConfig, index: number): ServerTab {
const tabIndex = this.getTabIndex(); const tabIndex = this.getTabIndex();
const tab = new ServerTab({ const tab = new ServerTab({
role: "server", role: "server",
icon: DomainUtil.iconAsUrl(server.icon), icon: DomainUtil.iconAsUrl(server.icon),
name: server.alias, label: server.alias,
$root: this.$tabsContainer, $root: this.$tabsContainer,
onClick: this.activateLastTab.bind(this, index), onClick: this.activateLastTab.bind(this, index),
index, index,
@@ -398,7 +405,7 @@ export class ServerManagerView {
const tab = this.tabs[this.activeTabIndex]; const tab = this.tabs[this.activeTabIndex];
this.showLoading( this.showLoading(
tab instanceof ServerTab && tab instanceof ServerTab &&
this.loading.has((await tab.webview).props.url), this.loading.has((await tab.webview).properties.url),
); );
}, },
onNetworkError: async (index: number) => { onNetworkError: async (index: number) => {
@@ -481,7 +488,7 @@ export class ServerManagerView {
async getCurrentActiveServer(): Promise<string> { async getCurrentActiveServer(): Promise<string> {
const tab = this.tabs[this.activeTabIndex]; const tab = this.tabs[this.activeTabIndex];
return tab instanceof ServerTab ? (await tab.webview).props.url : ""; return tab instanceof ServerTab ? (await tab.webview).properties.url : "";
} }
displayInitialCharLogo($img: HTMLImageElement, index: number): void { displayInitialCharLogo($img: HTMLImageElement, index: number): void {
@@ -550,36 +557,38 @@ export class ServerManagerView {
this.$serverIconTooltip[index].style.display = "none"; this.$serverIconTooltip[index].style.display = "none";
} }
async openFunctionalTab(tabProps: { async openFunctionalTab(tabProperties: {
name: string; label: string;
page: TabPage;
materialIcon: string; materialIcon: string;
makeView: () => Promise<Element>; makeView: () => Promise<Element>;
destroyView: () => void; destroyView: () => void;
}): Promise<void> { }): Promise<void> {
if (this.functionalTabs.has(tabProps.name)) { if (this.functionalTabs.has(tabProperties.page)) {
await this.activateTab(this.functionalTabs.get(tabProps.name)!); await this.activateTab(this.functionalTabs.get(tabProperties.page)!);
return; return;
} }
const index = this.tabs.length; const index = this.tabs.length;
this.functionalTabs.set(tabProps.name, index); this.functionalTabs.set(tabProperties.page, index);
const tabIndex = this.getTabIndex(); const tabIndex = this.getTabIndex();
const $view = await tabProps.makeView(); const $view = await tabProperties.makeView();
this.$webviewsContainer.append($view); this.$webviewsContainer.append($view);
this.tabs.push( this.tabs.push(
new FunctionalTab({ new FunctionalTab({
role: "function", role: "function",
materialIcon: tabProps.materialIcon, materialIcon: tabProperties.materialIcon,
name: tabProps.name, label: tabProperties.label,
page: tabProperties.page,
$root: this.$tabsContainer, $root: this.$tabsContainer,
index, index,
tabIndex, tabIndex,
onClick: this.activateTab.bind(this, index), onClick: this.activateTab.bind(this, index),
onDestroy: async () => { onDestroy: async () => {
await this.destroyTab(tabProps.name, index); await this.destroyFunctionalTab(tabProperties.page, index);
tabProps.destroyView(); tabProperties.destroyView();
}, },
$view, $view,
}), }),
@@ -589,12 +598,15 @@ export class ServerManagerView {
// closed when the functional tab DOM is ready, handled in webview.js // closed when the functional tab DOM is ready, handled in webview.js
this.$webviewsContainer.classList.remove("loaded"); this.$webviewsContainer.classList.remove("loaded");
await this.activateTab(this.functionalTabs.get(tabProps.name)!); await this.activateTab(this.functionalTabs.get(tabProperties.page)!);
} }
async openSettings(nav: NavItem = "General"): Promise<void> { async openSettings(
navigationItem: NavigationItem = "General",
): Promise<void> {
await this.openFunctionalTab({ await this.openFunctionalTab({
name: "Settings", page: "Settings",
label: t.__("Settings"),
materialIcon: "settings", materialIcon: "settings",
makeView: async () => { makeView: async () => {
this.preferenceView = await PreferenceView.create(); this.preferenceView = await PreferenceView.create();
@@ -607,13 +619,14 @@ export class ServerManagerView {
}, },
}); });
this.$settingsButton.classList.add("active"); this.$settingsButton.classList.add("active");
this.preferenceView!.handleNavigation(nav); this.preferenceView!.handleNavigation(navigationItem);
} }
async openAbout(): Promise<void> { async openAbout(): Promise<void> {
let aboutView: AboutView; let aboutView: AboutView;
await this.openFunctionalTab({ await this.openFunctionalTab({
name: "About", page: "About",
label: t.__("About"),
materialIcon: "sentiment_very_satisfied", materialIcon: "sentiment_very_satisfied",
async makeView() { async makeView() {
aboutView = await AboutView.create(); aboutView = await AboutView.create();
@@ -646,13 +659,14 @@ export class ServerManagerView {
// Returns this.tabs in an way that does // Returns this.tabs in an way that does
// not crash app when this.tabs is passed into // not crash app when this.tabs is passed into
// ipcRenderer. Something about webview, and props.webview // ipcRenderer. Something about webview, and properties.webview
// properties in ServerTab causes the app to crash. // properties in ServerTab causes the app to crash.
get tabsForIpc(): TabData[] { get tabsForIpc(): TabData[] {
return this.tabs.map((tab) => ({ return this.tabs.map((tab) => ({
role: tab.props.role, role: tab.properties.role,
name: tab.props.name, page: tab.properties.page,
index: tab.props.index, label: tab.properties.label,
index: tab.properties.index,
})); }));
} }
@@ -670,8 +684,8 @@ export class ServerManagerView {
if (hideOldTab) { if (hideOldTab) {
// If old tab is functional tab Settings, remove focus from the settings icon at sidebar bottom // If old tab is functional tab Settings, remove focus from the settings icon at sidebar bottom
if ( if (
this.tabs[this.activeTabIndex].props.role === "function" && this.tabs[this.activeTabIndex].properties.role === "function" &&
this.tabs[this.activeTabIndex].props.name === "Settings" this.tabs[this.activeTabIndex].properties.page === "Settings"
) { ) {
this.$settingsButton.classList.remove("active"); this.$settingsButton.classList.remove("active");
} }
@@ -695,7 +709,7 @@ export class ServerManagerView {
this.showLoading( this.showLoading(
tab instanceof ServerTab && tab instanceof ServerTab &&
this.loading.has((await tab.webview).props.url), this.loading.has((await tab.webview).properties.url),
); );
ipcRenderer.send("update-menu", { ipcRenderer.send("update-menu", {
@@ -704,7 +718,7 @@ export class ServerManagerView {
tabs: this.tabsForIpc, tabs: this.tabsForIpc,
activeTabIndex: this.activeTabIndex, activeTabIndex: this.activeTabIndex,
// Following flag controls whether a menu item should be enabled or not // Following flag controls whether a menu item should be enabled or not
enableMenu: tab.props.role === "server", enableMenu: tab.properties.role === "server",
}); });
} }
@@ -713,7 +727,7 @@ export class ServerManagerView {
this.$loadingIndicator.classList.toggle("hidden", !loading); this.$loadingIndicator.classList.toggle("hidden", !loading);
} }
async destroyTab(name: string, index: number): Promise<void> { async destroyFunctionalTab(page: TabPage, index: number): Promise<void> {
const tab = this.tabs[index]; const tab = this.tabs[index];
if (tab instanceof ServerTab && (await tab.webview).loading) { if (tab instanceof ServerTab && (await tab.webview).loading) {
return; return;
@@ -721,8 +735,8 @@ export class ServerManagerView {
await tab.destroy(); await tab.destroy();
delete this.tabs[index]; delete this.tabs[index]; // eslint-disable-line @typescript-eslint/no-array-delete
this.functionalTabs.delete(name); this.functionalTabs.delete(page);
// Issue #188: If the functional tab was not focused, do not activate another tab. // Issue #188: If the functional tab was not focused, do not activate another tab.
if (this.activeTabIndex === index) { if (this.activeTabIndex === index) {
@@ -746,7 +760,7 @@ export class ServerManagerView {
async reloadView(): Promise<void> { async reloadView(): Promise<void> {
// Save and remember the index of last active tab so that we can use it later // Save and remember the index of last active tab so that we can use it later
const lastActiveTab = this.tabs[this.activeTabIndex].props.index; const lastActiveTab = this.tabs[this.activeTabIndex].properties.index;
ConfigUtil.setConfigItem("lastActiveTab", lastActiveTab); ConfigUtil.setConfigItem("lastActiveTab", lastActiveTab);
// Destroy the current view and re-initiate it // Destroy the current view and re-initiate it
@@ -802,13 +816,15 @@ export class ServerManagerView {
event.preventDefault(); event.preventDefault();
const template = [ const template = [
{ {
label: "Disconnect organization", label: t.__("Disconnect organization"),
async click() { async click() {
const {response} = await dialog.showMessageBox({ const {response} = await dialog.showMessageBox({
type: "warning", type: "warning",
buttons: ["YES", "NO"], buttons: [t.__("Yes"), t.__("No")],
defaultId: 0, defaultId: 0,
message: "Are you sure you want to disconnect this organization?", message: t.__(
"Are you sure you want to disconnect this organization?",
),
}); });
if (response === 0) { if (response === 0) {
if (DomainUtil.removeDomain(index)) { if (DomainUtil.removeDomain(index)) {
@@ -823,7 +839,7 @@ export class ServerManagerView {
}, },
}, },
{ {
label: "Notification settings", label: t.__("Notification settings"),
enabled: await this.isLoggedIn(index), enabled: await this.isLoggedIn(index),
click: async () => { click: async () => {
// Switch to tab whose icon was right-clicked // Switch to tab whose icon was right-clicked
@@ -834,7 +850,7 @@ export class ServerManagerView {
}, },
}, },
{ {
label: "Copy Zulip URL", label: t.__("Copy Zulip URL"),
click() { click() {
clipboard.writeText(DomainUtil.getDomain(index).url); clipboard.writeText(DomainUtil.getDomain(index).url);
}, },
@@ -946,7 +962,7 @@ export class ServerManagerView {
const webview = await tab.webview; const webview = await tab.webview;
return ( return (
webview.webContentsId === webContentsId && webview.webContentsId === webContentsId &&
webview.props.hasPermission?.(origin, permission) webview.properties.hasPermission?.(origin, permission)
); );
}), }),
) )
@@ -993,8 +1009,8 @@ export class ServerManagerView {
await this.loadProxy(); await this.loadProxy();
if (showAlert) { if (showAlert) {
await dialog.showMessageBox({ await dialog.showMessageBox({
message: "Proxy settings saved!", message: t.__("Proxy settings saved."),
buttons: ["OK"], buttons: [t.__("OK")],
}); });
ipcRenderer.send("reload-full-app"); ipcRenderer.send("reload-full-app");
} }
@@ -1044,7 +1060,7 @@ export class ServerManagerView {
for (const [index, domain] of DomainUtil.getDomains().entries()) { for (const [index, domain] of DomainUtil.getDomains().entries()) {
if (domain.url === serverURL) { if (domain.url === serverURL) {
const tab = this.tabs[index]; const tab = this.tabs[index];
if (tab instanceof ServerTab) tab.setName(realmName); if (tab instanceof ServerTab) tab.setLabel(realmName);
domain.alias = realmName; domain.alias = realmName;
DomainUtil.updateDomain(index, domain); DomainUtil.updateDomain(index, domain);
// Update the realm name also on the Window menu // Update the realm name also on the Window menu
@@ -1092,7 +1108,7 @@ export class ServerManagerView {
(await tab.webview).webContentsId === webviewId (await tab.webview).webContentsId === webviewId
) { ) {
const concurrentTab: HTMLButtonElement = document.querySelector( const concurrentTab: HTMLButtonElement = document.querySelector(
`div[data-tab-id="${CSS.escape(`${tab.props.tabIndex}`)}"]`, `div[data-tab-id="${CSS.escape(`${tab.properties.tabIndex}`)}"]`,
)!; )!;
concurrentTab.click(); concurrentTab.click();
} }
@@ -1107,22 +1123,22 @@ export class ServerManagerView {
canvas.height = 128; canvas.height = 128;
canvas.width = 128; canvas.width = 128;
canvas.style.letterSpacing = "-5px"; canvas.style.letterSpacing = "-5px";
const ctx = canvas.getContext("2d")!; const context = canvas.getContext("2d")!;
ctx.fillStyle = "#f42020"; context.fillStyle = "#f42020";
ctx.beginPath(); context.beginPath();
ctx.ellipse(64, 64, 64, 64, 0, 0, 2 * Math.PI); context.ellipse(64, 64, 64, 64, 0, 0, 2 * Math.PI);
ctx.fill(); context.fill();
ctx.textAlign = "center"; context.textAlign = "center";
ctx.fillStyle = "white"; context.fillStyle = "white";
if (messageCount > 99) { if (messageCount > 99) {
ctx.font = "65px Helvetica"; context.font = "65px Helvetica";
ctx.fillText("99+", 64, 85); context.fillText("99+", 64, 85);
} else if (messageCount < 10) { } else if (messageCount < 10) {
ctx.font = "90px Helvetica"; context.font = "90px Helvetica";
ctx.fillText(String(Math.min(99, messageCount)), 64, 96); context.fillText(String(Math.min(99, messageCount)), 64, 96);
} else { } else {
ctx.font = "85px Helvetica"; context.font = "85px Helvetica";
ctx.fillText(String(Math.min(99, messageCount)), 64, 90); context.fillText(String(Math.min(99, messageCount)), 64, 90);
} }
return canvas; return canvas;
@@ -1170,6 +1186,62 @@ export class ServerManagerView {
} }
window.addEventListener("load", async () => { window.addEventListener("load", async () => {
document.body.innerHTML = html`
<div id="content">
<div class="popup">
<span class="popuptext hidden" id="fullscreen-popup"></span>
</div>
<div id="sidebar" class="toggle-sidebar">
<div id="view-controls-container">
<div id="tabs-container"></div>
<div id="add-tab" class="tab functional-tab">
<div class="server-tab" id="add-action">
<i class="material-icons">add</i>
</div>
<span id="add-server-tooltip" style="display: none"
>${t.__("Add Organization")}</span
>
</div>
</div>
<div id="actions-container">
<div class="action-button" id="dnd-action">
<i class="material-icons md-48">notifications</i>
<span id="dnd-tooltip" style="display: none"
>${t.__("Do Not Disturb")}</span
>
</div>
<div class="action-button hidden" id="reload-action">
<i class="material-icons md-48">refresh</i>
<span id="reload-tooltip" style="display: none"
>${t.__("Reload")}</span
>
</div>
<div class="action-button disable" id="loading-action">
<i class="refresh material-icons md-48">loop</i>
<span id="loading-tooltip" style="display: none"
>${t.__("Loading")}</span
>
</div>
<div class="action-button disable" id="back-action">
<i class="material-icons md-48">arrow_back</i>
<span id="back-tooltip" style="display: none"
>${t.__("Go Back")}</span
>
</div>
<div class="action-button" id="settings-action">
<i class="material-icons md-48">settings</i>
<span id="setting-tooltip" style="display: none"
>${t.__("Settings")}</span
>
</div>
</div>
</div>
<div id="main-container">
<div id="webviews-container"></div>
</div>
</div>
`.html;
const serverManagerView = new ServerManagerView(); const serverManagerView = new ServerManagerView();
await serverManagerView.init(); await serverManagerView.init();
}); });

View File

@@ -18,10 +18,10 @@ export function newNotification(
): NotificationData { ): NotificationData {
const notification = new Notification(title, {...options, silent: true}); const notification = new Notification(title, {...options, silent: true});
for (const type of ["click", "close", "error", "show"]) { for (const type of ["click", "close", "error", "show"]) {
notification.addEventListener(type, (ev) => { notification.addEventListener(type, (event) => {
if (type === "click") ipcRenderer.send("focus-this-webview"); if (type === "click") ipcRenderer.send("focus-this-webview");
if (!dispatch(type, ev)) { if (!dispatch(type, event)) {
ev.preventDefault(); event.preventDefault();
} }
}); });
} }

View File

@@ -1,6 +1,9 @@
import {app} from "@electron/remote"; import {app} from "@electron/remote";
import {Html, html} from "../../../common/html.js";
import {bundleUrl} from "../../../common/paths.js"; import {bundleUrl} from "../../../common/paths.js";
import * as t from "../../../common/translation-util.js";
import {generateNodeFromHtml} from "../components/base.js";
export class AboutView { export class AboutView {
static async create(): Promise<AboutView> { static async create(): Promise<AboutView> {
@@ -16,6 +19,32 @@ export class AboutView {
const $shadow = this.$view.attachShadow({mode: "open"}); const $shadow = this.$view.attachShadow({mode: "open"});
$shadow.innerHTML = templateHtml; $shadow.innerHTML = templateHtml;
$shadow.querySelector("#version")!.textContent = `v${app.getVersion()}`; $shadow.querySelector("#version")!.textContent = `v${app.getVersion()}`;
const maintenanceInfoHtml = html`
<div class="maintenance-info">
<p class="detail maintainer">
${new Html({
html: t.__("Maintained by {{{link}}}Zulip{{{endLink}}}", {
link: '<a href="https://zulip.com" target="_blank" rel="noopener noreferrer">',
endLink: "</a>",
}),
})}
</p>
<p class="detail license">
${new Html({
html: t.__(
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
{
link: '<a href="https://github.com/zulip/zulip-desktop/blob/main/LICENSE" target="_blank" rel="noopener noreferrer">',
endLink: "</a>",
},
),
})}
</p>
</div>
`;
$shadow
.querySelector(".about")!
.append(generateNodeFromHtml(maintenanceInfoHtml));
} }
destroy() { destroy() {

View File

@@ -1,17 +1,16 @@
import type {Html} from "../../../../common/html.js"; import {type Html, html} from "../../../../common/html.js";
import {html} from "../../../../common/html.js";
import {generateNodeFromHtml} from "../../components/base.js"; import {generateNodeFromHtml} from "../../components/base.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js"; import {ipcRenderer} from "../../typed-ipc-renderer.js";
type BaseSectionProps = { type BaseSectionProperties = {
$element: HTMLElement; $element: HTMLElement;
disabled?: boolean; disabled?: boolean;
value: boolean; value: boolean;
clickHandler: () => void; clickHandler: () => void;
}; };
export function generateSettingOption(props: BaseSectionProps): void { export function generateSettingOption(properties: BaseSectionProperties): void {
const {$element, disabled, value, clickHandler} = props; const {$element, disabled, value, clickHandler} = properties;
$element.textContent = ""; $element.textContent = "";
@@ -30,8 +29,7 @@ export function generateOptionHtml(
disabled?: boolean, disabled?: boolean,
): Html { ): Html {
const labelHtml = disabled const labelHtml = disabled
? // eslint-disable-next-line unicorn/template-indent ? html`<label
html`<label
class="disallowed" class="disallowed"
title="Setting locked by system administrator." title="Setting locked by system administrator."
></label>` ></label>`

View File

@@ -7,13 +7,13 @@ import {reloadApp} from "./base-section.js";
import {initFindAccounts} from "./find-accounts.js"; import {initFindAccounts} from "./find-accounts.js";
import {initServerInfoForm} from "./server-info-form.js"; import {initServerInfoForm} from "./server-info-form.js";
type ConnectedOrgSectionProps = { type ConnectedOrgSectionProperties = {
$root: Element; $root: Element;
}; };
export function initConnectedOrgSection({ export function initConnectedOrgSection({
$root, $root,
}: ConnectedOrgSectionProps): void { }: ConnectedOrgSectionProperties): void {
$root.textContent = ""; $root.textContent = "";
const servers = DomainUtil.getDomains(); const servers = DomainUtil.getDomains();

View File

@@ -3,7 +3,7 @@ import * as LinkUtil from "../../../../common/link-util.js";
import * as t from "../../../../common/translation-util.js"; import * as t from "../../../../common/translation-util.js";
import {generateNodeFromHtml} from "../../components/base.js"; import {generateNodeFromHtml} from "../../components/base.js";
type FindAccountsProps = { type FindAccountsProperties = {
$root: Element; $root: Element;
}; };
@@ -19,7 +19,7 @@ async function findAccounts(url: string): Promise<void> {
await LinkUtil.openBrowser(new URL("/accounts/find", url)); await LinkUtil.openBrowser(new URL("/accounts/find", url));
} }
export function initFindAccounts(props: FindAccountsProps): void { export function initFindAccounts(properties: FindAccountsProperties): void {
const $findAccounts = generateNodeFromHtml(html` const $findAccounts = generateNodeFromHtml(html`
<div class="settings-card certificate-card"> <div class="settings-card certificate-card">
<div class="certificate-input"> <div class="certificate-input">
@@ -33,7 +33,7 @@ export function initFindAccounts(props: FindAccountsProps): void {
</div> </div>
</div> </div>
`); `);
props.$root.append($findAccounts); properties.$root.append($findAccounts);
const $findAccountsButton = $findAccounts.querySelector( const $findAccountsButton = $findAccounts.querySelector(
"#find-accounts-button", "#find-accounts-button",
)!; )!;

View File

@@ -6,7 +6,6 @@ import process from "node:process";
import * as remote from "@electron/remote"; import * as remote from "@electron/remote";
import {app, dialog, session} from "@electron/remote"; import {app, dialog, session} from "@electron/remote";
import Tagify from "@yaireo/tagify"; import Tagify from "@yaireo/tagify";
import ISO6391 from "iso-639-1";
import {z} from "zod"; import {z} from "zod";
import supportedLocales from "../../../../../public/translations/supported-locales.json"; import supportedLocales from "../../../../../public/translations/supported-locales.json";
@@ -20,11 +19,11 @@ import {generateSelectHtml, generateSettingOption} from "./base-section.js";
const currentBrowserWindow = remote.getCurrentWindow(); const currentBrowserWindow = remote.getCurrentWindow();
type GeneralSectionProps = { type GeneralSectionProperties = {
$root: Element; $root: Element;
}; };
export function initGeneralSection({$root}: GeneralSectionProps): void { export function initGeneralSection({$root}: GeneralSectionProperties): void {
$root.innerHTML = html` $root.innerHTML = html`
<div class="settings-pane"> <div class="settings-pane">
<div class="title">${t.__("Appearance")}</div> <div class="title">${t.__("Appearance")}</div>
@@ -57,7 +56,7 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
</div> </div>
<div class="setting-row" id="badge-option"> <div class="setting-row" id="badge-option">
<div class="setting-description"> <div class="setting-description">
${t.__("Show app unread badge")} ${t.__("Show unread count badge on app icon")}
</div> </div>
<div class="setting-control"></div> <div class="setting-control"></div>
</div> </div>
@@ -356,7 +355,8 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
const newValue = !ConfigUtil.getConfigItem("silent", true); const newValue = !ConfigUtil.getConfigItem("silent", true);
ConfigUtil.setConfigItem("silent", newValue); ConfigUtil.setConfigItem("silent", newValue);
updateSilentOption(); updateSilentOption();
ipcRenderer.sendTo( ipcRenderer.send(
"forward-to",
currentBrowserWindow.webContents.id, currentBrowserWindow.webContents.id,
"toggle-silent", "toggle-silent",
newValue, newValue,
@@ -455,9 +455,9 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
async function customCssDialog(): Promise<void> { async function customCssDialog(): Promise<void> {
const showDialogOptions: OpenDialogOptions = { const showDialogOptions: OpenDialogOptions = {
title: "Select file", title: t.__("Select file"),
properties: ["openFile"], properties: ["openFile"],
filters: [{name: "CSS file", extensions: ["css"]}], filters: [{name: t.__("CSS file"), extensions: ["css"]}],
}; };
const {filePaths, canceled} = const {filePaths, canceled} =
@@ -524,7 +524,7 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
async function downloadFolderDialog(): Promise<void> { async function downloadFolderDialog(): Promise<void> {
const showDialogOptions: OpenDialogOptions = { const showDialogOptions: OpenDialogOptions = {
title: "Select Download Location", title: t.__("Select Download Location"),
properties: ["openDirectory"], properties: ["openDirectory"],
}; };
@@ -567,9 +567,9 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
const {response} = await dialog.showMessageBox({ const {response} = await dialog.showMessageBox({
type: "warning", type: "warning",
buttons: ["YES", "NO"], buttons: [t.__("Yes"), t.__("No")],
defaultId: 0, defaultId: 0,
message: "Are you sure?", message: t.__("Are you sure?"),
detail: clearAppDataMessage, detail: clearAppDataMessage,
}); });
if (response === 0) { if (response === 0) {
@@ -618,26 +618,23 @@ export function initGeneralSection({$root}: GeneralSectionProps): void {
).availableSpellCheckerLanguages; ).availableSpellCheckerLanguages;
let languagePairs = new Map<string, string>(); let languagePairs = new Map<string, string>();
for (const l of availableLanguages) { for (const l of availableLanguages) {
if (ISO6391.validate(l)) { const locale = new Intl.Locale(l.replaceAll("_", "-"));
languagePairs.set(ISO6391.getName(l), l); let displayName = new Intl.DisplayNames([locale], {
} type: "language",
}).of(locale.language);
if (displayName === undefined) continue;
displayName = displayName.replace(/^./u, (firstChar) =>
firstChar.toLocaleUpperCase(locale),
);
if (locale.script !== undefined)
displayName += ` (${new Intl.DisplayNames([locale], {type: "script"}).of(locale.script)})`;
if (locale.region !== undefined)
displayName += ` (${new Intl.DisplayNames([locale], {type: "region"}).of(locale.region)})`;
languagePairs.set(displayName, l);
} }
// Manually set names for languages not available in ISO6391
languagePairs.set("English (AU)", "en-AU");
languagePairs.set("English (CA)", "en-CA");
languagePairs.set("English (GB)", "en-GB");
languagePairs.set("English (US)", "en-US");
languagePairs.set("Spanish (Latin America)", "es-419");
languagePairs.set("Spanish (Argentina)", "es-AR");
languagePairs.set("Spanish (Mexico)", "es-MX");
languagePairs.set("Spanish (US)", "es-US");
languagePairs.set("Portuguese (Brazil)", "pt-BR");
languagePairs.set("Portuguese (Portugal)", "pt-PT");
languagePairs.set("Serbo-Croatian", "sh");
languagePairs = new Map( languagePairs = new Map(
[...languagePairs].sort((a, b) => (a[0] < b[0] ? -1 : 1)), [...languagePairs].sort((a, b) => a[0].localeCompare(b[1])),
); );
const tagField: HTMLInputElement = $root.querySelector( const tagField: HTMLInputElement = $root.querySelector(

View File

@@ -1,74 +1,74 @@
import type {Html} from "../../../../common/html.js"; import {type Html, html} from "../../../../common/html.js";
import {html} from "../../../../common/html.js";
import * as t from "../../../../common/translation-util.js"; import * as t from "../../../../common/translation-util.js";
import type {NavItem} from "../../../../common/types.js"; import type {NavigationItem} from "../../../../common/types.js";
import {generateNodeFromHtml} from "../../components/base.js"; import {generateNodeFromHtml} from "../../components/base.js";
type PreferenceNavProps = { type PreferenceNavigationProperties = {
$root: Element; $root: Element;
onItemSelected: (navItem: NavItem) => void; onItemSelected: (navigationItem: NavigationItem) => void;
}; };
export default class PreferenceNav { export default class PreferenceNavigation {
navItems: NavItem[]; navigationItems: Array<{navigationItem: NavigationItem; label: string}>;
$el: Element; $el: Element;
constructor(private readonly props: PreferenceNavProps) { constructor(private readonly properties: PreferenceNavigationProperties) {
this.navItems = [ this.navigationItems = [
"General", {navigationItem: "General", label: t.__("General")},
"Network", {navigationItem: "Network", label: t.__("Network")},
"AddServer", {navigationItem: "AddServer", label: t.__("Add Organization")},
"Organizations", {navigationItem: "Organizations", label: t.__("Organizations")},
"Shortcuts", {navigationItem: "Shortcuts", label: t.__("Shortcuts")},
]; ];
this.$el = generateNodeFromHtml(this.templateHtml()); this.$el = generateNodeFromHtml(this.templateHtml());
this.props.$root.append(this.$el); this.properties.$root.append(this.$el);
this.registerListeners(); this.registerListeners();
} }
templateHtml(): Html { templateHtml(): Html {
const navItemsHtml = html``.join( const navigationItemsHtml = html``.join(
this.navItems.map( this.navigationItems.map(
(navItem) => html` ({navigationItem, label}) =>
<div class="nav" id="nav-${navItem}">${t.__(navItem)}</div> html`<div class="nav" id="nav-${navigationItem}">${label}</div>`,
`,
), ),
); );
return html` return html`
<div> <div>
<div id="settings-header">${t.__("Settings")}</div> <div id="settings-header">${t.__("Settings")}</div>
<div id="nav-container">${navItemsHtml}</div> <div id="nav-container">${navigationItemsHtml}</div>
</div> </div>
`; `;
} }
registerListeners(): void { registerListeners(): void {
for (const navItem of this.navItems) { for (const {navigationItem} of this.navigationItems) {
const $item = this.$el.querySelector(`#nav-${CSS.escape(navItem)}`)!; const $item = this.$el.querySelector(
`#nav-${CSS.escape(navigationItem)}`,
)!;
$item.addEventListener("click", () => { $item.addEventListener("click", () => {
this.props.onItemSelected(navItem); this.properties.onItemSelected(navigationItem);
}); });
} }
} }
select(navItemToSelect: NavItem): void { select(navigationItemToSelect: NavigationItem): void {
for (const navItem of this.navItems) { for (const {navigationItem} of this.navigationItems) {
if (navItem === navItemToSelect) { if (navigationItem === navigationItemToSelect) {
this.activate(navItem); this.activate(navigationItem);
} else { } else {
this.deactivate(navItem); this.deactivate(navigationItem);
} }
} }
} }
activate(navItem: NavItem): void { activate(navigationItem: NavigationItem): void {
const $item = this.$el.querySelector(`#nav-${CSS.escape(navItem)}`)!; const $item = this.$el.querySelector(`#nav-${CSS.escape(navigationItem)}`)!;
$item.classList.add("active"); $item.classList.add("active");
} }
deactivate(navItem: NavItem): void { deactivate(navigationItem: NavigationItem): void {
const $item = this.$el.querySelector(`#nav-${CSS.escape(navItem)}`)!; const $item = this.$el.querySelector(`#nav-${CSS.escape(navigationItem)}`)!;
$item.classList.remove("active"); $item.classList.remove("active");
} }
} }

View File

@@ -5,11 +5,11 @@ import {ipcRenderer} from "../../typed-ipc-renderer.js";
import {generateSettingOption} from "./base-section.js"; import {generateSettingOption} from "./base-section.js";
type NetworkSectionProps = { type NetworkSectionProperties = {
$root: Element; $root: Element;
}; };
export function initNetworkSection({$root}: NetworkSectionProps): void { export function initNetworkSection({$root}: NetworkSectionProperties): void {
$root.innerHTML = html` $root.innerHTML = html`
<div class="settings-pane"> <div class="settings-pane">
<div class="title">${t.__("Proxy")}</div> <div class="title">${t.__("Proxy")}</div>

View File

@@ -7,12 +7,15 @@ import {generateNodeFromHtml} from "../../components/base.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js"; import {ipcRenderer} from "../../typed-ipc-renderer.js";
import * as DomainUtil from "../../utils/domain-util.js"; import * as DomainUtil from "../../utils/domain-util.js";
type NewServerFormProps = { type NewServerFormProperties = {
$root: Element; $root: Element;
onChange: () => void; onChange: () => void;
}; };
export function initNewServerForm({$root, onChange}: NewServerFormProps): void { export function initNewServerForm({
$root,
onChange,
}: NewServerFormProperties): void {
const $newServerForm = generateNodeFromHtml(html` const $newServerForm = generateNodeFromHtml(html`
<div class="server-input-container"> <div class="server-input-container">
<div class="title">${t.__("Organization URL")}</div> <div class="title">${t.__("Organization URL")}</div>
@@ -58,9 +61,9 @@ export function initNewServerForm({$root, onChange}: NewServerFormProps): void {
async function submitFormHandler(): Promise<void> { async function submitFormHandler(): Promise<void> {
$saveServerButton.textContent = "Connecting..."; $saveServerButton.textContent = "Connecting...";
let serverConf; let serverConfig;
try { try {
serverConf = await DomainUtil.checkDomain($newServerUrl.value.trim()); serverConfig = await DomainUtil.checkDomain($newServerUrl.value.trim());
} catch (error: unknown) { } catch (error: unknown) {
$saveServerButton.textContent = "Connect"; $saveServerButton.textContent = "Connect";
await dialog.showMessageBox({ await dialog.showMessageBox({
@@ -68,13 +71,13 @@ export function initNewServerForm({$root, onChange}: NewServerFormProps): void {
message: message:
error instanceof Error error instanceof Error
? `${error.name}: ${error.message}` ? `${error.name}: ${error.message}`
: "Unknown error", : t.__("Unknown error"),
buttons: ["OK"], buttons: [t.__("OK")],
}); });
return; return;
} }
await DomainUtil.addDomain(serverConf); await DomainUtil.addDomain(serverConfig);
onChange(); onChange();
} }

View File

@@ -3,7 +3,7 @@ import process from "node:process";
import type {DndSettings} from "../../../../common/dnd-util.js"; import type {DndSettings} from "../../../../common/dnd-util.js";
import {bundleUrl} from "../../../../common/paths.js"; import {bundleUrl} from "../../../../common/paths.js";
import type {NavItem} from "../../../../common/types.js"; import type {NavigationItem} from "../../../../common/types.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js"; import {ipcRenderer} from "../../typed-ipc-renderer.js";
import {initConnectedOrgSection} from "./connected-org-section.js"; import {initConnectedOrgSection} from "./connected-org-section.js";
@@ -26,7 +26,7 @@ export class PreferenceView {
private readonly $shadow: ShadowRoot; private readonly $shadow: ShadowRoot;
private readonly $settingsContainer: Element; private readonly $settingsContainer: Element;
private readonly nav: Nav; private readonly nav: Nav;
private navItem: NavItem = "General"; private navigationItem: NavigationItem = "General";
private constructor(templateHtml: string) { private constructor(templateHtml: string) {
this.$view = document.createElement("div"); this.$view = document.createElement("div");
@@ -47,13 +47,13 @@ export class PreferenceView {
ipcRenderer.on("toggle-autohide-menubar", this.handleToggleMenubar); ipcRenderer.on("toggle-autohide-menubar", this.handleToggleMenubar);
ipcRenderer.on("toggle-dnd", this.handleToggleDnd); ipcRenderer.on("toggle-dnd", this.handleToggleDnd);
this.handleNavigation(this.navItem); this.handleNavigation(this.navigationItem);
} }
handleNavigation = (navItem: NavItem): void => { handleNavigation = (navigationItem: NavigationItem): void => {
this.navItem = navItem; this.navigationItem = navigationItem;
this.nav.select(navItem); this.nav.select(navigationItem);
switch (navItem) { switch (navigationItem) {
case "AddServer": { case "AddServer": {
initServersSection({ initServersSection({
$root: this.$settingsContainer, $root: this.$settingsContainer,
@@ -88,13 +88,9 @@ export class PreferenceView {
}); });
break; break;
} }
default: {
((n: never) => n)(navItem);
}
} }
window.location.hash = `#${navItem}`; location.hash = `#${navigationItem}`;
}; };
handleToggleTray(state: boolean) { handleToggleTray(state: boolean) {

View File

@@ -3,35 +3,35 @@ import {dialog} from "@electron/remote";
import {html} from "../../../../common/html.js"; import {html} from "../../../../common/html.js";
import * as Messages from "../../../../common/messages.js"; import * as Messages from "../../../../common/messages.js";
import * as t from "../../../../common/translation-util.js"; import * as t from "../../../../common/translation-util.js";
import type {ServerConf} from "../../../../common/types.js"; import type {ServerConfig} from "../../../../common/types.js";
import {generateNodeFromHtml} from "../../components/base.js"; import {generateNodeFromHtml} from "../../components/base.js";
import {ipcRenderer} from "../../typed-ipc-renderer.js"; import {ipcRenderer} from "../../typed-ipc-renderer.js";
import * as DomainUtil from "../../utils/domain-util.js"; import * as DomainUtil from "../../utils/domain-util.js";
type ServerInfoFormProps = { type ServerInfoFormProperties = {
$root: Element; $root: Element;
server: ServerConf; server: ServerConfig;
index: number; index: number;
onChange: () => void; onChange: () => void;
}; };
export function initServerInfoForm(props: ServerInfoFormProps): void { export function initServerInfoForm(properties: ServerInfoFormProperties): void {
const $serverInfoForm = generateNodeFromHtml(html` const $serverInfoForm = generateNodeFromHtml(html`
<div class="settings-card"> <div class="settings-card">
<div class="server-info-left"> <div class="server-info-left">
<img <img
class="server-info-icon" class="server-info-icon"
src="${DomainUtil.iconAsUrl(props.server.icon)}" src="${DomainUtil.iconAsUrl(properties.server.icon)}"
/> />
<div class="server-info-row"> <div class="server-info-row">
<span class="server-info-alias">${props.server.alias}</span> <span class="server-info-alias">${properties.server.alias}</span>
<i class="material-icons open-tab-button">open_in_new</i> <i class="material-icons open-tab-button">open_in_new</i>
</div> </div>
</div> </div>
<div class="server-info-right"> <div class="server-info-right">
<div class="server-info-row server-url"> <div class="server-info-row server-url">
<span class="server-url-info" title="${props.server.url}" <span class="server-url-info" title="${properties.server.url}"
>${props.server.url}</span >${properties.server.url}</span
> >
</div> </div>
<div class="server-info-row"> <div class="server-info-row">
@@ -48,21 +48,21 @@ export function initServerInfoForm(props: ServerInfoFormProps): void {
".server-delete-action", ".server-delete-action",
)!; )!;
const $openServerButton = $serverInfoForm.querySelector(".open-tab-button")!; const $openServerButton = $serverInfoForm.querySelector(".open-tab-button")!;
props.$root.append($serverInfoForm); properties.$root.append($serverInfoForm);
$deleteServerButton.addEventListener("click", async () => { $deleteServerButton.addEventListener("click", async () => {
const {response} = await dialog.showMessageBox({ const {response} = await dialog.showMessageBox({
type: "warning", type: "warning",
buttons: [t.__("YES"), t.__("NO")], buttons: [t.__("Yes"), t.__("No")],
defaultId: 0, defaultId: 0,
message: t.__("Are you sure you want to disconnect this organization?"), message: t.__("Are you sure you want to disconnect this organization?"),
}); });
if (response === 0) { if (response === 0) {
if (DomainUtil.removeDomain(props.index)) { if (DomainUtil.removeDomain(properties.index)) {
ipcRenderer.send("reload-full-app"); ipcRenderer.send("reload-full-app");
} else { } else {
const {title, content} = Messages.orgRemovalError( const {title, content} = Messages.orgRemovalError(
DomainUtil.getDomain(props.index).url, DomainUtil.getDomain(properties.index).url,
); );
dialog.showErrorBox(title, content); dialog.showErrorBox(title, content);
} }
@@ -70,14 +70,14 @@ export function initServerInfoForm(props: ServerInfoFormProps): void {
}); });
$openServerButton.addEventListener("click", () => { $openServerButton.addEventListener("click", () => {
ipcRenderer.send("forward-message", "switch-server-tab", props.index); ipcRenderer.send("forward-message", "switch-server-tab", properties.index);
}); });
$serverInfoAlias.addEventListener("click", () => { $serverInfoAlias.addEventListener("click", () => {
ipcRenderer.send("forward-message", "switch-server-tab", props.index); ipcRenderer.send("forward-message", "switch-server-tab", properties.index);
}); });
$serverIcon.addEventListener("click", () => { $serverIcon.addEventListener("click", () => {
ipcRenderer.send("forward-message", "switch-server-tab", props.index); ipcRenderer.send("forward-message", "switch-server-tab", properties.index);
}); });
} }

View File

@@ -4,11 +4,11 @@ import * as t from "../../../../common/translation-util.js";
import {reloadApp} from "./base-section.js"; import {reloadApp} from "./base-section.js";
import {initNewServerForm} from "./new-server-form.js"; import {initNewServerForm} from "./new-server-form.js";
type ServersSectionProps = { type ServersSectionProperties = {
$root: Element; $root: Element;
}; };
export function initServersSection({$root}: ServersSectionProps): void { export function initServersSection({$root}: ServersSectionProperties): void {
$root.innerHTML = html` $root.innerHTML = html`
<div class="add-server-modal"> <div class="add-server-modal">
<div class="modal-container"> <div class="modal-container">

View File

@@ -4,12 +4,14 @@ import {html} from "../../../../common/html.js";
import * as LinkUtil from "../../../../common/link-util.js"; import * as LinkUtil from "../../../../common/link-util.js";
import * as t from "../../../../common/translation-util.js"; import * as t from "../../../../common/translation-util.js";
type ShortcutsSectionProps = { type ShortcutsSectionProperties = {
$root: Element; $root: Element;
}; };
// eslint-disable-next-line complexity // eslint-disable-next-line complexity
export function initShortcutsSection({$root}: ShortcutsSectionProps): void { export function initShortcutsSection({
$root,
}: ShortcutsSectionProperties): void {
const cmdOrCtrl = process.platform === "darwin" ? "⌘" : "Ctrl"; const cmdOrCtrl = process.platform === "darwin" ? "⌘" : "Ctrl";
$root.innerHTML = html` $root.innerHTML = html`

View File

@@ -1,5 +1,4 @@
import type {NativeImage} from "electron/common"; import {type NativeImage, nativeImage} from "electron/common";
import {nativeImage} from "electron/common";
import type {Tray as ElectronTray} from "electron/main"; import type {Tray as ElectronTray} from "electron/main";
import path from "node:path"; import path from "node:path";
import process from "node:process"; import process from "node:process";
@@ -64,8 +63,8 @@ const config = {
thick: process.platform === "win32", thick: process.platform === "win32",
}; };
const renderCanvas = function (arg: number): HTMLCanvasElement { const renderCanvas = function (argument: number): HTMLCanvasElement {
config.unreadCount = arg; config.unreadCount = argument;
const size = config.size * config.pixelRatio; const size = config.size * config.pixelRatio;
const padding = size * 0.05; const padding = size * 0.05;
@@ -79,30 +78,34 @@ const renderCanvas = function (arg: number): HTMLCanvasElement {
const canvas = document.createElement("canvas"); const canvas = document.createElement("canvas");
canvas.width = size; canvas.width = size;
canvas.height = size; canvas.height = size;
const ctx = canvas.getContext("2d")!; const context = canvas.getContext("2d")!;
// Circle // Circle
// If (!config.thick || config.thick && hasCount) { // If (!config.thick || config.thick && hasCount) {
ctx.beginPath(); context.beginPath();
ctx.arc(center, center, size / 2 - padding, 0, 2 * Math.PI, false); context.arc(center, center, size / 2 - padding, 0, 2 * Math.PI, false);
ctx.fillStyle = backgroundColor; context.fillStyle = backgroundColor;
ctx.fill(); context.fill();
ctx.lineWidth = size / (config.thick ? 10 : 20); context.lineWidth = size / (config.thick ? 10 : 20);
ctx.strokeStyle = backgroundColor; context.strokeStyle = backgroundColor;
ctx.stroke(); context.stroke();
// Count or Icon // Count or Icon
if (hasCount) { if (hasCount) {
ctx.fillStyle = color; context.fillStyle = color;
ctx.textAlign = "center"; context.textAlign = "center";
if (config.unreadCount > 99) { if (config.unreadCount > 99) {
ctx.font = `${config.thick ? "bold " : ""}${size * 0.4}px Helvetica`; context.font = `${config.thick ? "bold " : ""}${size * 0.4}px Helvetica`;
ctx.fillText("99+", center, center + size * 0.15); context.fillText("99+", center, center + size * 0.15);
} else if (config.unreadCount < 10) { } else if (config.unreadCount < 10) {
ctx.font = `${config.thick ? "bold " : ""}${size * 0.5}px Helvetica`; context.font = `${config.thick ? "bold " : ""}${size * 0.5}px Helvetica`;
ctx.fillText(String(config.unreadCount), center, center + size * 0.2); context.fillText(String(config.unreadCount), center, center + size * 0.2);
} else { } else {
ctx.font = `${config.thick ? "bold " : ""}${size * 0.5}px Helvetica`; context.font = `${config.thick ? "bold " : ""}${size * 0.5}px Helvetica`;
ctx.fillText(String(config.unreadCount), center, center + size * 0.15); context.fillText(
String(config.unreadCount),
center,
center + size * 0.15,
);
} }
} }
@@ -114,12 +117,12 @@ const renderCanvas = function (arg: number): HTMLCanvasElement {
* @param arg: Unread count * @param arg: Unread count
* @return the native image * @return the native image
*/ */
const renderNativeImage = function (arg: number): NativeImage { const renderNativeImage = function (argument: number): NativeImage {
if (process.platform === "win32") { if (process.platform === "win32") {
return nativeImage.createFromPath(winUnreadTrayIconPath()); return nativeImage.createFromPath(winUnreadTrayIconPath());
} }
const canvas = renderCanvas(arg); const canvas = renderCanvas(argument);
const pngData = nativeImage const pngData = nativeImage
.createFromDataURL(canvas.toDataURL("image/png")) .createFromDataURL(canvas.toDataURL("image/png"))
.toPNG(); .toPNG();
@@ -130,7 +133,7 @@ const renderNativeImage = function (arg: number): NativeImage {
function sendAction<Channel extends keyof RendererMessage>( function sendAction<Channel extends keyof RendererMessage>(
channel: Channel, channel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
): void { ): void {
const win = BrowserWindow.getAllWindows()[0]; const win = BrowserWindow.getAllWindows()[0];
@@ -138,7 +141,7 @@ function sendAction<Channel extends keyof RendererMessage>(
win.restore(); win.restore();
} }
ipcRenderer.sendTo(win.webContents.id, channel, ...args); ipcRenderer.send("forward-to", win.webContents.id, channel, ...arguments_);
} }
const createTray = function (): void { const createTray = function (): void {
@@ -189,22 +192,22 @@ export function initializeTray(serverManagerView: ServerManagerView) {
} }
}); });
ipcRenderer.on("tray", (_event, arg: number): void => { ipcRenderer.on("tray", (_event, argument: number): void => {
if (!tray) { if (!tray) {
return; return;
} }
// We don't want to create tray from unread messages on macOS since it already has dock badges. // We don't want to create tray from unread messages on macOS since it already has dock badges.
if (process.platform === "linux" || process.platform === "win32") { if (process.platform === "linux" || process.platform === "win32") {
if (arg === 0) { if (argument === 0) {
unread = arg; unread = argument;
tray.setImage(iconPath()); tray.setImage(iconPath());
tray.setToolTip("No unread messages"); tray.setToolTip("No unread messages");
} else { } else {
unread = arg; unread = argument;
const image = renderNativeImage(arg); const image = renderNativeImage(argument);
tray.setImage(image); tray.setImage(image);
tray.setToolTip(`${arg} unread messages`); tray.setToolTip(`${argument} unread messages`);
} }
} }
}); });

View File

@@ -1,5 +1,5 @@
import type {IpcRendererEvent} from "electron/renderer";
import { import {
type IpcRendererEvent,
ipcRenderer as untypedIpcRenderer, // eslint-disable-line no-restricted-imports ipcRenderer as untypedIpcRenderer, // eslint-disable-line no-restricted-imports
} from "electron/renderer"; } from "electron/renderer";
@@ -10,8 +10,8 @@ import type {
} from "../../common/typed-ipc.js"; } from "../../common/typed-ipc.js";
type RendererListener<Channel extends keyof RendererMessage> = type RendererListener<Channel extends keyof RendererMessage> =
RendererMessage[Channel] extends (...args: infer Args) => void RendererMessage[Channel] extends (...arguments_: infer Arguments) => void
? (event: IpcRendererEvent, ...args: Args) => void ? (event: IpcRendererEvent, ...arguments_: Arguments) => void
: never; : never;
export const ipcRenderer: { export const ipcRenderer: {
@@ -35,19 +35,25 @@ export const ipcRenderer: {
send<Channel extends keyof RendererMessage>( send<Channel extends keyof RendererMessage>(
channel: "forward-message", channel: "forward-message",
rendererChannel: Channel, rendererChannel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
): void;
send<Channel extends keyof RendererMessage>(
channel: "forward-to",
webContentsId: number,
rendererChannel: Channel,
...arguments_: Parameters<RendererMessage[Channel]>
): void; ): void;
send<Channel extends keyof MainMessage>( send<Channel extends keyof MainMessage>(
channel: Channel, channel: Channel,
...args: Parameters<MainMessage[Channel]> ...arguments_: Parameters<MainMessage[Channel]>
): void; ): void;
invoke<Channel extends keyof MainCall>( invoke<Channel extends keyof MainCall>(
channel: Channel, channel: Channel,
...args: Parameters<MainCall[Channel]> ...arguments_: Parameters<MainCall[Channel]>
): Promise<ReturnType<MainCall[Channel]>>; ): Promise<ReturnType<MainCall[Channel]>>;
sendSync<Channel extends keyof MainMessage>( sendSync<Channel extends keyof MainMessage>(
channel: Channel, channel: Channel,
...args: Parameters<MainMessage[Channel]> ...arguments_: Parameters<MainMessage[Channel]>
): ReturnType<MainMessage[Channel]>; ): ReturnType<MainMessage[Channel]>;
postMessage<Channel extends keyof MainMessage>( postMessage<Channel extends keyof MainMessage>(
channel: Channel, channel: Channel,
@@ -56,13 +62,8 @@ export const ipcRenderer: {
: never, : never,
transfer?: MessagePort[], transfer?: MessagePort[],
): void; ): void;
sendTo<Channel extends keyof RendererMessage>(
webContentsId: number,
channel: Channel,
...args: Parameters<RendererMessage[Channel]>
): void;
sendToHost<Channel extends keyof RendererMessage>( sendToHost<Channel extends keyof RendererMessage>(
channel: Channel, channel: Channel,
...args: Parameters<RendererMessage[Channel]> ...arguments_: Parameters<RendererMessage[Channel]>
): void; ): void;
} = untypedIpcRenderer; } = untypedIpcRenderer;

View File

@@ -2,7 +2,7 @@ import fs from "node:fs";
import path from "node:path"; import path from "node:path";
import {app, dialog} from "@electron/remote"; import {app, dialog} from "@electron/remote";
import * as Sentry from "@sentry/electron"; import * as Sentry from "@sentry/electron/renderer";
import {JsonDB} from "node-json-db"; import {JsonDB} from "node-json-db";
import {DataError} from "node-json-db/dist/lib/Errors"; import {DataError} from "node-json-db/dist/lib/Errors";
import {z} from "zod"; import {z} from "zod";
@@ -11,7 +11,7 @@ import * as EnterpriseUtil from "../../../common/enterprise-util.js";
import Logger from "../../../common/logger-util.js"; import Logger from "../../../common/logger-util.js";
import * as Messages from "../../../common/messages.js"; import * as Messages from "../../../common/messages.js";
import * as t from "../../../common/translation-util.js"; import * as t from "../../../common/translation-util.js";
import type {ServerConf} from "../../../common/types.js"; import type {ServerConfig} from "../../../common/types.js";
import defaultIcon from "../../img/icon.png"; import defaultIcon from "../../img/icon.png";
import {ipcRenderer} from "../typed-ipc-renderer.js"; import {ipcRenderer} from "../typed-ipc-renderer.js";
@@ -23,7 +23,7 @@ const logger = new Logger({
// missing icon; it does not change with the actual icon location. // missing icon; it does not change with the actual icon location.
export const defaultIconSentinel = "../renderer/img/icon.png"; export const defaultIconSentinel = "../renderer/img/icon.png";
const serverConfSchema = z.object({ const serverConfigSchema = z.object({
url: z.string().url(), url: z.string().url(),
alias: z.string(), alias: z.string(),
icon: z.string(), icon: z.string(),
@@ -31,45 +31,49 @@ const serverConfSchema = z.object({
zulipFeatureLevel: z.number().default(0), zulipFeatureLevel: z.number().default(0),
}); });
let db!: JsonDB; let database!: JsonDB;
reloadDb(); reloadDatabase();
// Migrate from old schema // Migrate from old schema
try { try {
const oldDomain = db.getObject<unknown>("/domain"); const oldDomain = database.getObject<unknown>("/domain");
if (typeof oldDomain === "string") { if (typeof oldDomain === "string") {
(async () => { (async () => {
await addDomain({ await addDomain({
alias: "Zulip", alias: "Zulip",
url: oldDomain, url: oldDomain,
}); });
db.delete("/domain"); database.delete("/domain");
})(); })();
} }
} catch (error: unknown) { } catch (error: unknown) {
if (!(error instanceof DataError)) throw error; if (!(error instanceof DataError)) throw error;
} }
export function getDomains(): ServerConf[] { export function getDomains(): ServerConfig[] {
reloadDb(); reloadDatabase();
try { try {
return serverConfSchema.array().parse(db.getObject<unknown>("/domains")); return serverConfigSchema
.array()
.parse(database.getObject<unknown>("/domains"));
} catch (error: unknown) { } catch (error: unknown) {
if (!(error instanceof DataError)) throw error; if (!(error instanceof DataError)) throw error;
return []; return [];
} }
} }
export function getDomain(index: number): ServerConf { export function getDomain(index: number): ServerConfig {
reloadDb(); reloadDatabase();
return serverConfSchema.parse(db.getObject<unknown>(`/domains[${index}]`)); return serverConfigSchema.parse(
database.getObject<unknown>(`/domains[${index}]`),
);
} }
export function updateDomain(index: number, server: ServerConf): void { export function updateDomain(index: number, server: ServerConfig): void {
reloadDb(); reloadDatabase();
serverConfSchema.parse(server); serverConfigSchema.parse(server);
db.push(`/domains[${index}]`, server, true); database.push(`/domains[${index}]`, server, true);
} }
export async function addDomain(server: { export async function addDomain(server: {
@@ -80,20 +84,20 @@ export async function addDomain(server: {
if (server.icon) { if (server.icon) {
const localIconUrl = await saveServerIcon(server.icon); const localIconUrl = await saveServerIcon(server.icon);
server.icon = localIconUrl; server.icon = localIconUrl;
serverConfSchema.parse(server); serverConfigSchema.parse(server);
db.push("/domains[]", server, true); database.push("/domains[]", server, true);
reloadDb(); reloadDatabase();
} else { } else {
server.icon = defaultIconSentinel; server.icon = defaultIconSentinel;
serverConfSchema.parse(server); serverConfigSchema.parse(server);
db.push("/domains[]", server, true); database.push("/domains[]", server, true);
reloadDb(); reloadDatabase();
} }
} }
export function removeDomains(): void { export function removeDomains(): void {
db.delete("/domains"); database.delete("/domains");
reloadDb(); reloadDatabase();
} }
export function removeDomain(index: number): boolean { export function removeDomain(index: number): boolean {
@@ -101,8 +105,8 @@ export function removeDomain(index: number): boolean {
return false; return false;
} }
db.delete(`/domains[${index}]`); database.delete(`/domains[${index}]`);
reloadDb(); reloadDatabase();
return true; return true;
} }
@@ -115,7 +119,7 @@ export function duplicateDomain(domain: string): boolean {
export async function checkDomain( export async function checkDomain(
domain: string, domain: string,
silent = false, silent = false,
): Promise<ServerConf> { ): Promise<ServerConfig> {
if (!silent && duplicateDomain(domain)) { if (!silent && duplicateDomain(domain)) {
// Do not check duplicate in silent mode // Do not check duplicate in silent mode
throw new Error("This server has been added."); throw new Error("This server has been added.");
@@ -130,7 +134,7 @@ export async function checkDomain(
} }
} }
async function getServerSettings(domain: string): Promise<ServerConf> { async function getServerSettings(domain: string): Promise<ServerConfig> {
return ipcRenderer.invoke("get-server-settings", domain); return ipcRenderer.invoke("get-server-settings", domain);
} }
@@ -144,29 +148,29 @@ export async function saveServerIcon(iconURL: string): Promise<string> {
export async function updateSavedServer( export async function updateSavedServer(
url: string, url: string,
index: number, index: number,
): Promise<ServerConf> { ): Promise<ServerConfig> {
// Does not promise successful update // Does not promise successful update
const serverConf = getDomain(index); const serverConfig = getDomain(index);
const oldIcon = serverConf.icon; const oldIcon = serverConfig.icon;
try { try {
const newServerConf = await checkDomain(url, true); const newServerConfig = await checkDomain(url, true);
const localIconUrl = await saveServerIcon(newServerConf.icon); const localIconUrl = await saveServerIcon(newServerConfig.icon);
if (!oldIcon || localIconUrl !== defaultIconSentinel) { if (!oldIcon || localIconUrl !== defaultIconSentinel) {
newServerConf.icon = localIconUrl; newServerConfig.icon = localIconUrl;
updateDomain(index, newServerConf); updateDomain(index, newServerConfig);
reloadDb(); reloadDatabase();
} }
return newServerConf; return newServerConfig;
} catch (error: unknown) { } catch (error: unknown) {
logger.log("Could not update server icon."); logger.log("Could not update server icon.");
logger.log(error); logger.log(error);
Sentry.captureException(error); Sentry.captureException(error);
return serverConf; return serverConfig;
} }
} }
function reloadDb(): void { function reloadDatabase(): void {
const domainJsonPath = path.join( const domainJsonPath = path.join(
app.getPath("userData"), app.getPath("userData"),
"config/domain.json", "config/domain.json",
@@ -178,9 +182,10 @@ function reloadDb(): void {
if (fs.existsSync(domainJsonPath)) { if (fs.existsSync(domainJsonPath)) {
fs.unlinkSync(domainJsonPath); fs.unlinkSync(domainJsonPath);
dialog.showErrorBox( dialog.showErrorBox(
"Error saving new organization", t.__("Error saving new organization"),
"There seems to be error while saving new organization, " + t.__(
"you may have to re-add your previous organizations back.", "There was an error while saving the new organization. You may have to add your previous organizations again.",
),
); );
logger.error("Error while JSON parsing domain.json: "); logger.error("Error while JSON parsing domain.json: ");
logger.error(error); logger.error(error);
@@ -188,7 +193,7 @@ function reloadDb(): void {
} }
} }
db = new JsonDB(domainJsonPath, true, true); database = new JsonDB(domainJsonPath, true, true);
} }
export function formatUrl(domain: string): string { export function formatUrl(domain: string): string {
@@ -203,7 +208,9 @@ export function formatUrl(domain: string): string {
return `https://${domain}`; return `https://${domain}`;
} }
export function getUnsupportedMessage(server: ServerConf): string | undefined { export function getUnsupportedMessage(
server: ServerConfig,
): string | undefined {
if (server.zulipFeatureLevel < 65 /* Zulip Server 4.0 */) { if (server.zulipFeatureLevel < 65 /* Zulip Server 4.0 */) {
const realm = new URL(server.url).hostname; const realm = new URL(server.url).hostname;
return t.__( return t.__(

View File

@@ -15,7 +15,7 @@ export default class ReconnectUtil {
fibonacciBackoff: backoff.Backoff; fibonacciBackoff: backoff.Backoff;
constructor(webview: WebView) { constructor(webview: WebView) {
this.url = webview.props.url; this.url = webview.properties.url;
this.alreadyReloaded = false; this.alreadyReloaded = false;
this.fibonacciBackoff = backoff.fibonacci({ this.fibonacciBackoff = backoff.fibonacci({
initialDelay: 5000, initialDelay: 5000,

View File

@@ -2,55 +2,15 @@
<html lang="en" class="responsive desktop"> <html lang="en" class="responsive desktop">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta
http-equiv="Content-Security-Policy"
content="default-src 'none'; connect-src 'self'; font-src 'self'; img-src 'self' data:; script-src 'self'; style-src 'self' 'unsafe-inline'"
/>
<meta name="viewport" content="width=device-width" /> <meta name="viewport" content="width=device-width" />
<title>Zulip</title> <title>Zulip</title>
<link rel="stylesheet" href="css/fonts.css" /> <link rel="stylesheet" href="css/fonts.css" />
<link rel="stylesheet" href="css/main.css" /> <link rel="stylesheet" href="css/main.css" />
</head> </head>
<body> <body></body>
<div id="content">
<div class="popup">
<span class="popuptext hidden" id="fullscreen-popup"></span>
</div>
<div id="sidebar" class="toggle-sidebar">
<div id="view-controls-container">
<div id="tabs-container"></div>
<div id="add-tab" class="tab functional-tab">
<div class="server-tab" id="add-action">
<i class="material-icons">add</i>
</div>
<span id="add-server-tooltip" style="display: none"
>Add organization</span
>
</div>
</div>
<div id="actions-container">
<div class="action-button" id="dnd-action">
<i class="material-icons md-48">notifications</i>
<span id="dnd-tooltip" style="display: none">Do Not Disturb</span>
</div>
<div class="action-button hidden" id="reload-action">
<i class="material-icons md-48">refresh</i>
<span id="reload-tooltip" style="display: none">Reload</span>
</div>
<div class="action-button disable" id="loading-action">
<i class="refresh material-icons md-48">loop</i>
<span id="loading-tooltip" style="display: none">Loading</span>
</div>
<div class="action-button disable" id="back-action">
<i class="material-icons md-48">arrow_back</i>
<span id="back-tooltip" style="display: none">Go Back</span>
</div>
<div class="action-button" id="settings-action">
<i class="material-icons md-48">settings</i>
<span id="setting-tooltip" style="display: none">Settings</span>
</div>
</div>
</div>
<div id="main-container">
<div id="webviews-container"></div>
</div>
</div>
</body>
</html> </html>

View File

@@ -2,6 +2,10 @@
<html lang="en" class="responsive desktop"> <html lang="en" class="responsive desktop">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta
http-equiv="Content-Security-Policy"
content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'"
/>
<meta name="viewport" content="width=device-width" /> <meta name="viewport" content="width=device-width" />
<title>Zulip - Network Troubleshooting</title> <title>Zulip - Network Troubleshooting</title>
<link <link

BIN
build/icon-macos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

1
build/icon-macos.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-100 -100 1024 1024"><defs><linearGradient id="a" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#50adff"/><stop offset="1" stop-color="#7877fc"/></linearGradient><mask id="b"><rect x="-100" y="-100" width="1024" height="1024" fill="#fff"/><path d="M566.66 527.25c0 33.03-24.23 60.05-53.84 60.05H260.29c-29.61 0-53.84-27.02-53.84-60.05 0-20.22 9.09-38.2 22.93-49.09l134.37-120c2.5-2.14 5.74 1.31 3.94 4.19l-49.29 98.69c-1.38 2.76.41 6.16 3.25 6.16h191.18c29.61 0 53.83 27.03 53.83 60.05zm0-281.39c0 20.22-9.09 38.2-22.93 49.09l-134.37 120c-2.5 2.14-5.74-1.31-3.94-4.19l49.29-98.69c1.38-2.76-.41-6.16-3.25-6.16H260.29c-29.61 0-53.84-27.02-53.84-60.05s24.23-60.05 53.84-60.05h252.54c29.61 0 53.83 27.02 53.83 60.05z" transform="scale(1.0658112582781456)" fill="#000"/></mask><path id="c" d="M824 257c0-64 0-104-14-141A173 173 0 00708 14C671 0 631 0 567 0H257C193 0 153 0 116 14A173 173 0 0014 116C0 153 0 193 0 257V567c0 64 0 104 14 141A173 173 0 00116 810c37 14 77 14 141 14H567c64 0 104 0 141-14A173 173 0 00810 708c14-37 14-77 14-141Z"/><filter id="d"><feGaussianBlur in="SourceGraphic" stdDeviation="10"/></filter><filter id="e"><feGaussianBlur in="SourceGraphic" stdDeviation="5"/></filter></defs><use href="#c" transform="translate(0 10)" fill-opacity="0.3" filter="url(#d)"/><rect x="120" y="120" width="584" height="584" fill="#fff" /><g filter="url(#e)"><rect x="120" y="120" width="584" height="584" fill="#32497f" mask="url(#b)" transform="translate(0 5)"/></g><use href="#c" mask="url(#b)" fill="url(#a)"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -2,6 +2,63 @@
All notable changes to the Zulip desktop app are documented in this file. All notable changes to the Zulip desktop app are documented in this file.
### v5.12.0 --2025-03-13
**Enhancements**:
- Updated the icon in macOS with a native appearance.
- Marked untranslated strings for translation.
- Updated translations.
**Dependencies**:
- Upgraded all dependencies, including Electron 35.0.1.
**Removed features**:
- Removed support for macOS 10.15 and earlier, which reached end-of-life in 2022 and is [no longer supported](https://www.electronjs.org/blog/electron-33-0#removed-macos-1015-support) by Electron.
### v5.11.1 --2024-08-23
**Enhancements**:
- Updated translations.
**Dependencies**:
- Upgraded all dependencies, including Electron 32.0.1.
### v5.11.0 --2024-03-22
**Fixes**:
- Removed the popup dialog for certificate errors when loading subresources such as images.
- Allowed hiding the window from full screen mode on macOS.
**Enhancements**:
- Enabled zooming with Ctrl+mouse wheel on Linux and Windows.
**Dependencies**:
- Upgraded all dependencies, including Electron 29.1.5.
### v5.10.5 --2024-01-25
**Dependencies**:
- Upgraded all dependencies, including Electron 28.2.0.
**Enhancements**:
- Improved security hardening by setting a Content-Security-Policy for the app UI.
### v5.10.4 --2024-01-09
**Dependencies**:
- Upgraded all dependencies, including Electron 28.1.1.
### v5.10.3 --2023-09-30 ### v5.10.3 --2023-09-30
**Fixes**: **Fixes**:

21
i18next-scanner.config.js Normal file
View File

@@ -0,0 +1,21 @@
"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,
},
};

10853
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{ {
"name": "zulip", "name": "zulip",
"productName": "Zulip", "productName": "Zulip",
"version": "5.10.3", "version": "5.12.0",
"main": "./dist-electron", "main": "./dist-electron",
"description": "Zulip Desktop App", "description": "Zulip Desktop App",
"license": "Apache-2.0", "license": "Apache-2.0",
@@ -18,7 +18,7 @@
"url": "https://github.com/zulip/zulip-desktop/issues" "url": "https://github.com/zulip/zulip-desktop/issues"
}, },
"engines": { "engines": {
"node": ">=16.13.2" "node": ">=18"
}, },
"scripts": { "scripts": {
"start": "vite", "start": "vite",
@@ -50,6 +50,7 @@
"copyright": "©2020 Kandra Labs, Inc.", "copyright": "©2020 Kandra Labs, Inc.",
"mac": { "mac": {
"category": "public.app-category.productivity", "category": "public.app-category.productivity",
"icon": "build/icon-macos.png",
"target": [ "target": [
{ {
"target": "default", "target": "default",
@@ -67,14 +68,11 @@
} }
], ],
"darkModeSupport": true, "darkModeSupport": true,
"artifactName": "${productName}-${version}-${arch}.${ext}", "artifactName": "${productName}-${version}-${arch}.${ext}"
"notarize": {
"teamId": "66KHCWMEYB"
}
}, },
"linux": { "linux": {
"category": "Chat;GNOME;GTK;Network;InstantMessaging", "category": "Chat;GNOME;GTK;Network;InstantMessaging",
"icon": "build/icon.icns", "icon": "build/zulip.png",
"description": "Zulip Desktop Client for Linux", "description": "Zulip Desktop Client for Linux",
"target": [ "target": [
"deb", "deb",
@@ -120,7 +118,16 @@
} }
], ],
"icon": "build/icon.ico", "icon": "build/icon.ico",
"publisherName": "Kandra Labs, Inc." "signtoolOptions": {
"publisherName": "Kandra Labs, Inc."
},
"azureSignOptions": {
"endpoint": "https://eus.codesigning.azure.net/",
"codeSigningAccountName": "kandralabs",
"certificateProfileName": "kandralabs",
"timestampRfc3161": "http://timestamp.acs.microsoft.com",
"timestampDigest": "SHA256"
}
}, },
"msi": { "msi": {
"artifactName": "${productName}-${version}-${arch}.${ext}" "artifactName": "${productName}-${version}-${arch}.${ext}"
@@ -147,41 +154,42 @@
}, },
"devDependencies": { "devDependencies": {
"@electron/remote": "^2.0.8", "@electron/remote": "^2.0.8",
"@sentry/electron": "^4.1.2", "@sentry/core": "^9.5.0",
"@sentry/electron": "^6.1.0",
"@types/adm-zip": "^0.5.0", "@types/adm-zip": "^0.5.0",
"@types/auto-launch": "^5.0.2", "@types/auto-launch": "^5.0.2",
"@types/backoff": "^2.5.2", "@types/backoff": "^2.5.2",
"@types/i18n": "^0.13.1", "@types/i18n": "^0.13.1",
"@types/node": "~18.17.19", "@types/node": "^22.13.10",
"@types/requestidlecallback": "^0.3.4", "@types/requestidlecallback": "^0.3.4",
"@types/semver": "^7.5.8",
"@types/yaireo__tagify": "^4.3.2", "@types/yaireo__tagify": "^4.3.2",
"@yaireo/tagify": "^4.5.0", "@yaireo/tagify": "^4.5.0",
"adm-zip": "^0.5.5", "adm-zip": "^0.5.5",
"auto-launch": "^5.0.5", "auto-launch": "^5.0.5",
"backoff": "^2.5.0", "backoff": "^2.5.0",
"electron": "^25.8.1", "electron": "^35.0.1",
"electron-builder": "^24.6.4", "electron-builder": "^25.1.8",
"electron-log": "^4.3.5", "electron-log": "^5.0.3",
"electron-updater": "^6.1.4", "electron-updater": "^6.3.4",
"electron-window-state": "^5.0.3", "electron-window-state": "^5.0.3",
"escape-goat": "^4.0.0", "escape-goat": "^4.0.0",
"htmlhint": "^1.1.2", "htmlhint": "^1.1.2",
"i18n": "^0.15.1", "i18n": "^0.15.1",
"iso-639-1": "^3.1.0", "i18next-scanner": "^4.6.0",
"medium": "^1.2.0", "medium": "^1.2.0",
"node-json-db": "^1.3.0", "node-json-db": "^1.3.0",
"playwright-core": "^1.30.0-alpha-jan-3-2023", "playwright-core": "^1.41.0-alpha-jan-9-2024",
"pre-commit": "^1.2.2", "pre-commit": "^1.2.2",
"prettier": "^3.0.3", "prettier": "^3.0.3",
"rimraf": "^5.0.0",
"semver": "^7.3.5", "semver": "^7.3.5",
"stylelint": "^15.6.1", "stylelint": "^16.1.0",
"stylelint-config-standard": "^34.0.0", "stylelint-config-standard": "^37.0.0",
"tape": "^5.2.2", "tape": "^5.2.2",
"typescript": "^5.0.4", "typescript": "^5.0.4",
"vite": "^4.1.1", "vite": "^5.0.11",
"vite-plugin-electron": "^0.14.1", "vite-plugin-electron": "^0.28.0",
"xo": "^0.56.0", "xo": "^0.60.0",
"zod": "^3.5.1" "zod": "^3.5.1"
}, },
"prettier": { "prettier": {
@@ -239,6 +247,10 @@
"error", "error",
{ {
"paths": [ "paths": [
{
"name": "@sentry/electron",
"message": "Use @sentry/electron/main, @sentry/electron/renderer, or @sentry/core."
},
{ {
"name": "electron", "name": "electron",
"message": "Use electron/main, electron/renderer, or electron/common." "message": "Use electron/main, electron/renderer, or electron/common."
@@ -256,6 +268,10 @@
"ipcRenderer" "ipcRenderer"
], ],
"message": "Use typed-ipc-renderer." "message": "Use typed-ipc-renderer."
},
{
"name": "electron-log",
"message": "Use electron-log/main or electron-log/renderer."
} }
] ]
} }
@@ -300,7 +316,8 @@
}, },
{ {
"files": [ "files": [
"scripts/notarize.js", "i18next-scanner.config.js",
"scripts/win-sign.js",
"tests/**/*.js" "tests/**/*.js"
], ],
"parserOptions": { "parserOptions": {

Binary file not shown.

View File

@@ -1,23 +1,31 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"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": "إضافة CSS معدلة", "Add custom CSS": "إضافة CSS معدلة",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "متقدم", "Advanced": "متقدم",
"All the connected organizations will appear here.": "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)", "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", "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)": "أخف القائمة تلقائياً (إضغط Alt لعرض القائمة)", "Auto hide menu bar (Press Alt key to display)": "أخف القائمة تلقائياً (إضغط Alt لعرض القائمة)",
"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": "إلغاء",
"Certificate error": "Certificate error",
"Change": "تغيير", "Change": "تغيير",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "التحقق من التحديثات", "Check for Updates": "التحقق من التحديثات",
@@ -26,22 +34,32 @@
"Connect to another organization": "التوصيل مع منظمة أخرى", "Connect to another organization": "التوصيل مع منظمة أخرى",
"Connected organizations": "المنظمات المتصلة", "Connected organizations": "المنظمات المتصلة",
"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": "نسخ رابط زوليب",
"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": "إعدادات سطح المكتب",
"Disconnect": "قطع الاتصال", "Disconnect": "قطع الاتصال",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "تنزيل سجلات التطبيق", "Download App Logs": "تنزيل سجلات التطبيق",
"Edit": "تعديل", "Edit": "تعديل",
"Edit Shortcuts": "تعديل الاختصارات", "Edit Shortcuts": "تعديل الاختصارات",
"Emoji & Symbols": "Emoji & Symbols", "Emoji & Symbols": "الإيموجي و الرموز",
"Enable auto updates": "تفعيل التحديثات التلقائية", "Enable auto updates": "تفعيل التحديثات التلقائية",
"Enable error reporting (requires restart)": "تفعيل تقارير الأخطاء (يتطلب إعادة التشغيل)", "Enable error reporting (requires restart)": "تفعيل تقارير الأخطاء (يتطلب إعادة التشغيل)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "اعرض الشاشة كاملة",
"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", "Factory Reset Data": "Factory Reset Data",
"File": "ملف", "File": "ملف",
@@ -52,23 +70,37 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
"Hide": "Hide", "Hide": "Hide",
"Hide Others": "Hide Others", "Hide Others": "Hide Others",
"Hide Zulip": "Hide Zulip", "Hide Zulip": "أخفي زوليب",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "حسنًا",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL", "Organization URL": "Organization URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -85,21 +118,27 @@
"Release Notes": "Release Notes", "Release Notes": "Release Notes",
"Reload": "Reload", "Reload": "Reload",
"Report an Issue": "Report an Issue", "Report an Issue": "Report an Issue",
"Reset App Settings": "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.", "Reset the application, thus deleting all the connected organizations and accounts.": "إعادة ضبط التطبيق, و بالتالي مسح جميع المنظمات المتصلة و الحسابات",
"Save": "Save", "Save": "Save",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Settings", "Settings": "Settings",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,19 +148,24 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts", "keyboard shortcuts": "keyboard shortcuts",
"script": "script", "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." "{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} يقوم بتشغيل نسخة قديمة من خادم زوليب {{{version}}}. قد لا يعمل بشكل كامل مع هذا التطبيق "
} }

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Пра Zulip", "About Zulip": "Пра Zulip",
"Actual Size": "Сапраўдны памер", "Actual Size": "Сапраўдны памер",
"Add Organization": "Дадаць арганізацыю", "Add Organization": "Дадаць арганізацыю",
"Add a Zulip organization": "Дадаць арганізацыю Zulip", "Add a Zulip organization": "Дадаць арганізацыю Zulip",
"Add custom CSS": "Дадаць свой CSS", "Add custom CSS": "Дадаць свой CSS",
"AddServer": "Дадаць сэрвер", "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": "Заўсёды адкрываць згорнутым",
@@ -13,11 +16,16 @@
"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)": "Аўтаматычна хаваць радок меню (для выявы націсніце клавішу Alt)", "Auto hide menu bar (Press Alt key to display)": "Аўтаматычна хаваць радок меню (для выявы націсніце клавішу Alt)",
"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": "Подпрыгваючы dock пры новым асабістым паведамленні", "Bounce dock on new private message": "Подпрыгваючы dock пры новым асабістым паведамленні",
"CSS file": "CSS file",
"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": "Праверыць наяўнасць абнаўленняў",
@@ -26,14 +34,21 @@
"Connect to another organization": "Падлучыць да іншай арганізацыі", "Connect to another organization": "Падлучыць да іншай арганізацыі",
"Connected organizations": "Падлучаныя арганізацыі", "Connected organizations": "Падлучаныя арганізацыі",
"Copy": "Капіяваць", "Copy": "Капіяваць",
"Copy Email Address": "Copy Email Address",
"Copy Image": "Капіяваць відарыс",
"Copy Image URL": "Капіяваць URL відарысу",
"Copy Link": "Капіяваць спасылку",
"Copy Zulip URL": "Капіяваць Zulip URL", "Copy Zulip URL": "Капіяваць Zulip URL",
"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": "Налады для ПК",
"Disconnect": "Адлучыць", "Disconnect": "Адлучыць",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Сцягнуць журналы праграмаў", "Download App Logs": "Сцягнуць журналы праграмаў",
"Edit": "Рэдагаваць", "Edit": "Рэдагаваць",
"Edit Shortcuts": "Рэдагаваць cпалучэнні клавішаў", "Edit Shortcuts": "Рэдагаваць cпалучэнні клавішаў",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Увамкнуць справаздачу аб памылках (патрабуецца перазапуск)", "Enable error reporting (requires restart)": "Увамкнуць справаздачу аб памылках (патрабуецца перазапуск)",
"Enable spellchecker (requires restart)": "Увамкнуць праверку правапісу (патрабуецца перазапуск)", "Enable spellchecker (requires restart)": "Увамкнуць праверку правапісу (патрабуецца перазапуск)",
"Enter Full Screen": "Пераход у поўнаэкранны рэжым", "Enter Full Screen": "Пераход у поўнаэкранны рэжым",
"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": "Файл",
@@ -52,6 +70,7 @@
"Functionality": "Функцыянальнасць", "Functionality": "Функцыянальнасць",
"General": "Агульныя", "General": "Агульныя",
"Get beta updates": "Атрымлівць бэта-абнаўленні", "Get beta updates": "Атрымлівць бэта-абнаўленні",
"Go Back": "Go Back",
"Hard Reload": "Апаратнае пераладаванне", "Hard Reload": "Апаратнае пераладаванне",
"Help": "Даведка", "Help": "Даведка",
"Help Center": "Цэнтр даведак", "Help Center": "Цэнтр даведак",
@@ -60,15 +79,28 @@
"Hide Zulip": "Схаваць Zulip", "Hide Zulip": "Схаваць Zulip",
"History": "Гісторыя", "History": "Гісторыя",
"History Shortcuts": "Гісторыя cпалучэнняў клавішаў", "History Shortcuts": "Гісторыя cпалучэнняў клавішаў",
"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": "Шукаць",
"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": "Адключыць усе гукі з Zulip", "Mute all sounds from Zulip": "Адключыць усе гукі з Zulip",
"NO": "NO",
"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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "У macOS выкарыстоўваецца сістэмная праверка правапісу.", "On macOS, the OS spellchecker is used.": "У macOS выкарыстоўваецца сістэмная праверка правапісу.",
"Organization URL": "URL арганізацыі", "Organization URL": "URL арганізацыі",
@@ -78,6 +110,7 @@
"Proxy": "Проксі", "Proxy": "Проксі",
"Proxy bypass rules": "Правілы абыходу проксі", "Proxy bypass rules": "Правілы абыходу проксі",
"Proxy rules": "Правілы проксі", "Proxy rules": "Правілы проксі",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Выйсці", "Quit": "Выйсці",
"Quit Zulip": "Выйсці з Zulip", "Quit Zulip": "Выйсці з Zulip",
"Quit when the window is closed": "Выйсці, калі акно зачыненае", "Quit when the window is closed": "Выйсці, калі акно зачыненае",
@@ -89,17 +122,23 @@
"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": "Сэрвісы",
"Settings": "Налады", "Settings": "Налады",
"Shortcuts": "Спалучэнні клавішаў", "Shortcuts": "Спалучэнні клавішаў",
"Show app icon in system tray": "Паказаць значок праграмы ў вобласці паведамленняў", "Show app icon in system tray": "Паказаць значок праграмы ў вобласці паведамленняў",
"Show app unread badge": "Паказваць значок непрачытаных паведамленняў",
"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": "Гэтыя спалучэнні клавішаў пашыраюць магчымасці Zulip", "These desktop app shortcuts extend the Zulip webapp's": "Гэтыя спалучэнні клавішаў пашыраюць магчымасці Zulip",
"Tip": "Парада", "Tip": "Парада",
"Toggle DevTools for Active Tab": "Увамкнуць DevTools для актыўнай укладкі", "Toggle DevTools for Active Tab": "Увамкнуць DevTools для актыўнай укладкі",
@@ -109,15 +148,20 @@
"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)": "Выкарыстоўваць сістэмныя налады проксі (патрабуе перазапуск)",
"View": "Прагляд", "View": "Прагляд",
"View Shortcuts": "Спалучэнні клавішаў прагляду", "View Shortcuts": "Спалучэнні клавішаў прагляду",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Акно", "Window": "Акно",
"Window Shortcuts": "Спалучэнні клавішаў акна", "Window Shortcuts": "Спалучэнні клавішаў акна",
"YES": "ТАК", "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.": "Вы можаце выбраць максімум 3 мовы для праверкі правапісу.", "You can select a maximum of 3 languages for spellchecking.": "Вы можаце выбраць максімум 3 мовы для праверкі правапісу.",
"Zoom In": "Павялічыць", "Zoom In": "Павялічыць",
"Zoom Out": "Паменшыць", "Zoom Out": "Паменшыць",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Относно Zulip", "About Zulip": "Относно Zulip",
"Actual Size": "Действителен размер", "Actual Size": "Действителен размер",
"Add Organization": "Добавяне на организация", "Add Organization": "Добавяне на организация",
"Add a Zulip organization": "Добавете организация Zulip", "Add a Zulip organization": "Добавете организация Zulip",
"Add custom CSS": "Добавете персонализиран CSS", "Add custom CSS": "Добавете персонализиран CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "напреднал", "Advanced": "напреднал",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Винаги започвайте да минимизирате", "Always start minimized": "Винаги започвайте да минимизирате",
@@ -13,11 +16,16 @@
"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", "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)": "Автоматично скриване на лентата с менюта (натиснете клавиша Alt за показване)", "Auto hide menu bar (Press Alt key to display)": "Автоматично скриване на лентата с менюта (натиснете клавиша Alt за показване)",
"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": "Откажи",
"Certificate error": "Certificate error",
"Change": "промяна", "Change": "промяна",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Провери за обновления", "Check for Updates": "Провери за обновления",
@@ -26,14 +34,21 @@
"Connect to another organization": "Свържете се с друга организация", "Connect to another organization": "Свържете се с друга организация",
"Connected organizations": "Свързани организации", "Connected organizations": "Свързани организации",
"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": "Копирайте URL адреса на Zulip", "Copy Zulip URL": "Копирайте URL адреса на Zulip",
"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": "Настройки на работния плот",
"Disconnect": "Прекъсване на връзката", "Disconnect": "Прекъсване на връзката",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Изтеглете регистрационни файлове на приложенията", "Download App Logs": "Изтеглете регистрационни файлове на приложенията",
"Edit": "редактиране", "Edit": "редактиране",
"Edit Shortcuts": "Редактиране на преки пътища", "Edit Shortcuts": "Редактиране на преки пътища",
@@ -42,6 +57,9 @@
"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 Full Screen": "Enter Full Screen",
"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", "Factory Reset Data": "Factory Reset Data",
"File": "досие", "File": "досие",
@@ -52,6 +70,7 @@
"Functionality": "Функционалност", "Functionality": "Функционалност",
"General": "Общ", "General": "Общ",
"Get beta updates": "Изтеглете бета актуализации", "Get beta updates": "Изтеглете бета актуализации",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Помогне", "Help": "Помогне",
"Help Center": "Помощен център", "Help Center": "Помощен център",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "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": "Заглуши всички звуци от Zulip", "Mute all sounds from Zulip": "Заглуши всички звуци от Zulip",
"NO": "НЕ",
"Network": "мрежа", "Network": "мрежа",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Настройки на известията",
"OK": "OK",
"OR": "ИЛИ", "OR": "ИЛИ",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL адрес на организацията", "Organization URL": "URL адрес на организацията",
@@ -78,6 +110,7 @@
"Proxy": "пълномощник", "Proxy": "пълномощник",
"Proxy bypass rules": "Правила за заобикаляне на прокси", "Proxy bypass rules": "Правила за заобикаляне на прокси",
"Proxy rules": "Прокси правила", "Proxy rules": "Прокси правила",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "напускам", "Quit": "напускам",
"Quit Zulip": "Прекрати Zulip", "Quit Zulip": "Прекрати Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "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", "Services": "Services",
"Settings": "Настройки", "Settings": "Настройки",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Показване на иконата на приложението в системната област", "Show app icon in system tray": "Показване на иконата на приложението в системната област",
"Show app unread badge": "Показване на непрочетената значка на приложението",
"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", "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": "Тези клавишни комбинации за настолни приложения разширяват webapp на Zulip", "These desktop app shortcuts extend the Zulip webapp's": "Тези клавишни комбинации за настолни приложения разширяват webapp на Zulip",
"Tip": "Бакшиш", "Tip": "Бакшиш",
"Toggle DevTools for Active Tab": "Превключете DevTools за Active Tab", "Toggle DevTools for Active Tab": "Превключете DevTools за Active Tab",
@@ -109,15 +148,20 @@
"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", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Качи", "Upload": "Качи",
"Use system proxy settings (requires restart)": "Използване на системните прокси настройки (изисква рестартиране)", "Use system proxy settings (requires restart)": "Използване на системните прокси настройки (изисква рестартиране)",
"View": "изглед", "View": "изглед",
"View Shortcuts": "Преглед на преки пътища", "View Shortcuts": "Преглед на преки пътища",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "прозорец", "Window": "прозорец",
"Window Shortcuts": "Клавишни комбинации", "Window Shortcuts": "Клавишни комбинации",
"YES": "ДА", "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.", "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": "Отдалечавам",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"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": "কাস্টম সিএসএস যুক্ত করুন",
"AddServer": "এড সার্ভার ", "Add to Dictionary": "Add to Dictionary",
"Advanced": "অগ্রসর ", "Advanced": "অগ্রসর ",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "সব সময় মিনিমাইজড ভাবে শুরু করুন ", "Always start minimized": "সব সময় মিনিমাইজড ভাবে শুরু করুন ",
@@ -13,11 +16,16 @@
"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", "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": "বাতিল",
"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": "আপডেট চেক করুন",
@@ -26,14 +34,21 @@
"Connect to another organization": "অন্য একটি সংস্থার সাথে সংযুক্ত করুন", "Connect to another organization": "অন্য একটি সংস্থার সাথে সংযুক্ত করুন",
"Connected organizations": "সংযুক্ত সংস্থা সমূহ ", "Connected organizations": "সংযুক্ত সংস্থা সমূহ ",
"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": "যুলিপ ইউআরএল কপি করুন ",
"Create a new organization": "নতুন সংস্থা তৈরি করুন ", "Create a new organization": "নতুন সংস্থা তৈরি করুন ",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "কাট ", "Cut": "কাট ",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "ডিলিট", "Delete": "ডিলিট",
"Desktop Notifications": "ডেস্কটপ নোটিফিকেশান ", "Desktop Notifications": "ডেস্কটপ নোটিফিকেশান ",
"Desktop Settings": "ডেস্কটপ সেটিংস", "Desktop Settings": "ডেস্কটপ সেটিংস",
"Disconnect": "সংযোগ বিছিন্ন করুন", "Disconnect": "সংযোগ বিছিন্ন করুন",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "অ্যাপ লগ ডাউনলোড করুন ", "Download App Logs": "অ্যাপ লগ ডাউনলোড করুন ",
"Edit": "এডিট", "Edit": "এডিট",
"Edit Shortcuts": "শর্টকাটগুলো এডিট করুন ", "Edit Shortcuts": "শর্টকাটগুলো এডিট করুন ",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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", "Factory Reset Data": "Factory Reset Data",
"File": "ফাইল", "File": "ফাইল",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "সাধারন", "General": "সাধারন",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "সাহায্য", "Help": "সাহায্য",
"Help Center": "সাহায্য কেন্দ্র", "Help Center": "সাহায্য কেন্দ্র",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "ইতিহাস", "History": "ইতিহাস",
"History Shortcuts": "History Shortcuts", "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", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "ছোট করুন", "Minimize": "ছোট করুন",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "না",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 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.": "ম্যাক ওএস এ , ওএস এর স্পেলচেকার ব্যাবহার করা হয় ।",
"Organization URL": "Organization URL", "Organization URL": "Organization URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "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 All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "সেটিংস", "Settings": "সেটিংস",
"Shortcuts": "শর্টকাট সমূহ", "Shortcuts": "শর্টকাট সমূহ",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "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 Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "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", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "আপলোড", "Upload": "আপলোড",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "হ্যাঁ", "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.", "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 In": "Zoom In",
"Zoom Out": "জুম আউট", "Zoom Out": "জুম আউট",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "About Zulip", "About Zulip": "About Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organization", "Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization", "Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS file",
"Cancel": "raď kerdên",
"Certificate error": "Certificate error",
"Change": "ālêštkâri", "Change": "ālêštkâri",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copy", "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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization", "Create a new organization": "Create a new organization",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "pāk kerdên", "Delete": "pāk kerdên",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "ālêšt", "Edit": "ālêšt",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "fāyl", "File": "fāyl",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "xā",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL", "Organization URL": "Organization URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "zaft kerdên", "Save": "zaft kerdên",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "sāmovā", "Settings": "sāmovā",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,11 +1,14 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Quant a Zulip", "About Zulip": "Quant a Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organization", "Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization", "Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Avançat",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
"App Updates": "App Updates", "App Updates": "App Updates",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS file",
"Cancel": "Cancel·la",
"Certificate error": "Certificate error",
"Change": "Change", "Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copia", "Copy": "Copia",
"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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Crea una nova organització", "Create a new organization": "Crea una nova organització",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Elimina", "Delete": "Elimina",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Configuració d'escriptori", "Desktop Settings": "Configuració d'escriptori",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Edita", "Edit": "Edita",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "Fitxer", "File": "Fitxer",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Recàrrega forçada", "Hard Reload": "Recàrrega forçada",
"Help": "Help", "Help": "Help",
"Help Center": "Centre d'ajuda", "Help Center": "Centre d'ajuda",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "Historial", "History": "Historial",
"History Shortcuts": "Dreceres d'historial", "History Shortcuts": "Dreceres d'historial",
"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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Tanca la sessió", "Log Out": "Tanca la sessió",
"Log Out of Organization": "Tanca la sessió de l'organització", "Log Out of Organization": "Tanca la sessió de l'organització",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Manual proxy configuration", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Silencia tots els sons de Zulip", "Mute all sounds from Zulip": "Silencia tots els sons de Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "D'acord",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL d'organització", "Organization URL": "URL d'organització",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Guardar", "Save": "Guardar",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Configuració", "Settings": "Configuració",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Mostrar una marca en la icona si hi ha missatges no llegits",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Pujada", "Upload": "Pujada",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "Byla stažena nová aktualizace {{{version}}}.",
"A new version {{{version}}} of Zulip Desktop is available.": "Je dostupná nová verze {{{version}}} Zulip Desktop.",
"About": "O programu",
"About Zulip": "O Zulipu", "About Zulip": "O Zulipu",
"Actual Size": "Skutečná velikost", "Actual Size": "Skutečná velikost",
"Add Organization": "Přidat organizaci", "Add Organization": "Přidat organizaci",
"Add a Zulip organization": "Přidat organizaci Zulip", "Add a Zulip organization": "Přidat organizaci Zulip",
"Add custom CSS": "Přidat vlastní CSS", "Add custom CSS": "Přidat vlastní CSS",
"AddServer": "Přidat server", "Add to Dictionary": "Přidat do slovníku",
"Advanced": "Rozšířené", "Advanced": "Rozšířené",
"All the connected organizations will appear here.": "Všechny připojené organizace se objeví zde.", "All the connected organizations will appear here.": "Všechny připojené organizace se objeví zde.",
"Always start minimized": "Vždy spouštět minimalizované", "Always start minimized": "Vždy spouštět minimalizované",
@@ -13,11 +16,16 @@
"Appearance": "Vzhled", "Appearance": "Vzhled",
"Application Shortcuts": "Zkratky programu", "Application Shortcuts": "Zkratky programu",
"Are you sure you want to disconnect this organization?": "Opravdu chcete odpojit tuto organizaci?", "Are you sure you want to disconnect this organization?": "Opravdu chcete odpojit tuto organizaci?",
"Are you sure?": "Jste si jistý?",
"Ask where to save files before downloading": "Před stažením se zeptat kam uložit soubory", "Ask where to save files before downloading": "Před stažením se zeptat kam uložit soubory",
"Auto hide Menu bar": "Automaticky skrývat menu", "Auto hide Menu bar": "Automaticky skrývat menu",
"Auto hide menu bar (Press Alt key to display)": "Automaticky skrývat menu (pro zobrazení stiskněte klávesu Alt)", "Auto hide menu bar (Press Alt key to display)": "Automaticky skrývat menu (pro zobrazení stiskněte klávesu Alt)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Dostupné pod {{{link}}}licencí Apache 2.0{{{endLink}}}",
"Back": "Zpět", "Back": "Zpět",
"Bounce dock on new private message": "Poskakování ikony v docku po obdržení nové soukromé zprávy", "Bounce dock on new private message": "Poskakování ikony v docku po obdržení nové soukromé zprávy",
"CSS file": "Soubor CSS",
"Cancel": "Zrušit",
"Certificate error": "Chyba certifikátu",
"Change": "Změnit", "Change": "Změnit",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Změnit jazyk v Nastavení systému → Klávesnice → Text → Kontrola pravopisu.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Změnit jazyk v Nastavení systému → Klávesnice → Text → Kontrola pravopisu.",
"Check for Updates": "Zkontrolovat aktualizace", "Check for Updates": "Zkontrolovat aktualizace",
@@ -26,14 +34,21 @@
"Connect to another organization": "Připojit se k jiné organizaci", "Connect to another organization": "Připojit se k jiné organizaci",
"Connected organizations": "Připojené organizace", "Connected organizations": "Připojené organizace",
"Copy": "Kopírovat", "Copy": "Kopírovat",
"Copy Email Address": "Kopírovat adresu elektronické pošty",
"Copy Image": "Kopírovat obrázek",
"Copy Image URL": "Kopírovat adresu (URL) obrázku",
"Copy Link": "Kopírovat odkaz",
"Copy Zulip URL": "Kopírovat adresu (URL) Zulipu", "Copy Zulip URL": "Kopírovat adresu (URL) Zulipu",
"Create a new organization": "Vytvořit novou organizaci", "Create a new organization": "Vytvořit novou organizaci",
"Custom CSS file deleted": "Vlastní soubor CSS smazán",
"Cut": "Vyjmout", "Cut": "Vyjmout",
"Default download location": "Výchozí umístění stahování", "Default download location": "Výchozí umístění stahování",
"Delete": "Smazat", "Delete": "Smazat",
"Desktop Notifications": "Oznámení na ploše", "Desktop Notifications": "Oznámení na ploše",
"Desktop Settings": "Nastavení plochy", "Desktop Settings": "Nastavení plochy",
"Disconnect": "Odpojit", "Disconnect": "Odpojit",
"Disconnect organization": "Odpojit organizaci",
"Do Not Disturb": "Nerušit",
"Download App Logs": "Stáhnout záznamy programu", "Download App Logs": "Stáhnout záznamy programu",
"Edit": "Upravit", "Edit": "Upravit",
"Edit Shortcuts": "Upravit zkratky", "Edit Shortcuts": "Upravit zkratky",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Povolit hlášení chyb (vyžaduje opětovné spuštění programu)", "Enable error reporting (requires restart)": "Povolit hlášení chyb (vyžaduje opětovné spuštění programu)",
"Enable spellchecker (requires restart)": "Povolit kontrolu pravopisu (vyžaduje opětovné spuštění programu)", "Enable spellchecker (requires restart)": "Povolit kontrolu pravopisu (vyžaduje opětovné spuštění programu)",
"Enter Full Screen": "Vstoupit na celou obrazovku", "Enter Full Screen": "Vstoupit na celou obrazovku",
"Error saving new organization": "Chyba při ukládání nové organizace",
"Error saving update notifications": "Chyba při ukládání oznámení aktualizace",
"Error: {{{error}}}\n\nThe latest version of Zulip Desktop is available at:\n{{{link}}}\nCurrent version: {{{version}}}": "Chyba: {{{error}}}\n\nNejnovější verze aplikace Zulip Desktop je dostupná na adrese:\n{{{link}}}\nNynější verze: {{{version}}}",
"Factory Reset": "Obnovení do továrního nastavení", "Factory Reset": "Obnovení do továrního nastavení",
"Factory Reset Data": "Obnovení dat do továrního nastavení", "Factory Reset Data": "Obnovení dat do továrního nastavení",
"File": "Soubor", "File": "Soubor",
@@ -52,6 +70,7 @@
"Functionality": "Funkce", "Functionality": "Funkce",
"General": "Obecné", "General": "Obecné",
"Get beta updates": "Dostávat beta aktualizace", "Get beta updates": "Dostávat beta aktualizace",
"Go Back": "Jít zpět",
"Hard Reload": "Tvrdé znovunahrání", "Hard Reload": "Tvrdé znovunahrání",
"Help": "Nápověda", "Help": "Nápověda",
"Help Center": "Centrum nápovědy", "Help Center": "Centrum nápovědy",
@@ -60,15 +79,28 @@
"Hide Zulip": "Skrýt Zulip", "Hide Zulip": "Skrýt Zulip",
"History": "Historie", "History": "Historie",
"History Shortcuts": "Zkratky pro historii", "History Shortcuts": "Zkratky pro historii",
"Install Later": "Instalovat později",
"Install and Relaunch": "Nainstalovat a spustit znovu",
"It will be installed the next time you restart the application.": "Nainstaluje se při příštím restartu aplikace.",
"Keyboard Shortcuts": "Klávesové zkratky", "Keyboard Shortcuts": "Klávesové zkratky",
"Later": "Později",
"Loading": "Nahrává se",
"Log Out": "Odhlásit se", "Log Out": "Odhlásit se",
"Log Out of Organization": "Odhlásit se z organizace", "Log Out of Organization": "Odhlásit se z organizace",
"Look Up": "Vyhledat",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Udržováno {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Ruční stažení",
"Manual proxy configuration": "Ruční nastavení proxy", "Manual proxy configuration": "Ruční nastavení proxy",
"Minimize": "Minimalizovat", "Minimize": "Minimalizovat",
"Mute all sounds from Zulip": "Ztlumit všechny zvuky ze Zulipu", "Mute all sounds from Zulip": "Ztlumit všechny zvuky ze Zulipu",
"NO": "NE",
"Network": "Síť", "Network": "Síť",
"Network and Proxy Settings": "Nastavení sítě a proxy serveru", "Network and Proxy Settings": "Nastavení sítě a proxy serveru",
"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",
"Notification settings": "Nastavení oznámení",
"OK": "OK",
"OR": "NEBO", "OR": "NEBO",
"On macOS, the OS spellchecker is used.": "Na macOS se používá kontrola pravopisu OS.", "On macOS, the OS spellchecker is used.": "Na macOS se používá kontrola pravopisu OS.",
"Organization URL": "Adresa organizace", "Organization URL": "Adresa organizace",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Pravidla pro obejití Proxy", "Proxy bypass rules": "Pravidla pro obejití Proxy",
"Proxy rules": "Pravidla Proxy", "Proxy rules": "Pravidla Proxy",
"Proxy settings saved.": "Nastavení proxy serveru je uloženo.",
"Quit": "Ukončit", "Quit": "Ukončit",
"Quit Zulip": "Ukončit Zulip", "Quit Zulip": "Ukončit Zulip",
"Quit when the window is closed": "Ukončit, když je okno zavřeno", "Quit when the window is closed": "Ukončit, když je okno zavřeno",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Obnovit program do výchozího nastavení. čili smazat všechny připojené organizace a účty.", "Reset the application, thus deleting all the connected organizations and accounts.": "Obnovit program do výchozího nastavení. čili smazat všechny připojené organizace a účty.",
"Save": "Uložit", "Save": "Uložit",
"Select All": "Vybrat vše", "Select All": "Vybrat vše",
"Select Download Location": "Vyberte umístění stahování",
"Select file": "Vybrat soubor",
"Services": "Služby", "Services": "Služby",
"Settings": "Nastavení", "Settings": "Nastavení",
"Shortcuts": "Zkratky", "Shortcuts": "Zkratky",
"Show app icon in system tray": "Zobrazovat ikonu programu v oznamovací oblasti panelu", "Show app icon in system tray": "Zobrazovat ikonu programu v oznamovací oblasti panelu",
"Show app unread badge": "Zobrazovat u ikony aplikace symbol nepřečteno",
"Show desktop notifications": "Zobrazovat oznámení na ploše", "Show desktop notifications": "Zobrazovat oznámení na ploše",
"Show sidebar": "Zobrazovat postranní panel", "Show sidebar": "Zobrazovat postranní panel",
"Show unread count badge on app icon": "Ukázat počet nepřečtených na ikoně aplikace",
"Spellchecker Languages": "Kontrola pravopisu jazyků", "Spellchecker Languages": "Kontrola pravopisu jazyků",
"Start app at login": "Spustit program při přihlášení", "Start app at login": "Spustit program při přihlášení",
"Switch to Next Organization": "Přepnout na další organizaci", "Switch to Next Organization": "Přepnout na další organizaci",
"Switch to Previous Organization": "Přepnout na předchozí organizaci", "Switch to Previous Organization": "Přepnout na předchozí organizaci",
"The custom CSS previously set is deleted.": "Předtím nastavený vlastní soubor CSS je smazán.",
"The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "Server předložil neplatný certifikát pro {{{origin}}}:\n\n{{{error}}}",
"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", "These desktop app shortcuts extend the Zulip webapp's": "Tyto zkratky rozšiřují webovou aplikaci Zulipu",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Přepnout vývojářské nástroje pro aktivní kartu", "Toggle DevTools for Active Tab": "Přepnout vývojářské nástroje pro aktivní kartu",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Přepnout zobrazení postranního panelu", "Toggle Sidebar": "Přepnout zobrazení postranního panelu",
"Toggle Tray Icon": "Přepnout ikonu v oznamovací oblasti panelu", "Toggle Tray Icon": "Přepnout ikonu v oznamovací oblasti panelu",
"Tools": "Nástroje", "Tools": "Nástroje",
"Unable to check for updates.": "Nelze zkontrolovat aktualizace.",
"Unable to download the update.": "Aktualizaci se nepodařilo stáhnout.",
"Undo": "Zpět", "Undo": "Zpět",
"Unhide": "Zobrazit", "Unhide": "Zobrazit",
"Unknown error": "Neznámá chyba",
"Upload": "Nahrát", "Upload": "Nahrát",
"Use system proxy settings (requires restart)": "Použít systémová nastavení proxy (vyžaduje opětovné spuštění programu)", "Use system proxy settings (requires restart)": "Použít systémová nastavení proxy (vyžaduje opětovné spuštění programu)",
"View": "Zobrazení", "View": "Zobrazení",
"View Shortcuts": "Zobrazit zkratky", "View Shortcuts": "Zobrazit zkratky",
"We encountered an error while saving the update notifications.": "Při ukládání oznámení o aktualizaci jsme narazili na chybu.",
"Window": "Okno", "Window": "Okno",
"Window Shortcuts": "Zkratky pro okno", "Window Shortcuts": "Zkratky pro okno",
"YES": "ANO", "Yes": "Ano",
"You are running the latest version of Zulip Desktop.\nVersion: {{{version}}}": "Používáte nejnovější verzi aplikace Zulip Desktop.\nVerze: {{{version}}}",
"You can select a maximum of 3 languages for spellchecking.": "Pro kontrolu pravopisu můžete vybrat nejvíce 3 jazyky.", "You can select a maximum of 3 languages for spellchecking.": "Pro kontrolu pravopisu můžete vybrat nejvíce 3 jazyky.",
"Zoom In": "Přiblížit", "Zoom In": "Přiblížit",
"Zoom Out": "Oddálit", "Zoom Out": "Oddálit",

View File

@@ -1,23 +1,31 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Am Zulip", "About Zulip": "Am Zulip",
"Actual Size": "Maint Gwirioneddol", "Actual Size": "Maint Gwirioneddol",
"Add Organization": "Ychwanegu Sefydliad", "Add Organization": "Ychwanegu Sefydliad",
"Add a Zulip organization": "Ychwanegwch sefydliad Zulip", "Add a Zulip organization": "Ychwanegwch sefydliad Zulip",
"Add custom CSS": "Ychwanegwch CSS wedi'i ddylunio'n benodol", "Add custom CSS": "Ychwanegwch CSS wedi'i ddylunio'n benodol",
"AddServer": "AddServer", "Add to Dictionary": "Ychwanegu at y Geiriadur",
"Advanced": "Uwch", "Advanced": "Uwch",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "Bydd yr holl sefydliadau cysylltiedig yn ymddangos yma",
"Always start minimized": "Dechreuwch gyn lleied â phosibl bob amser", "Always start minimized": "Dechreuwch gyn lleied â phosibl bob amser",
"App Updates": "Diweddariadau Ap", "App Updates": "Diweddariadau Ap",
"App language (requires restart)": "Iaith ap (angen ailgychwyn)", "App language (requires restart)": "Iaith ap (angen ailgychwyn)",
"Appearance": "Ymddangosiad", "Appearance": "Ymddangosiad",
"Application Shortcuts": "Llwybrau Byr yr Ap", "Application Shortcuts": "Llwybrau Byr yr Ap",
"Are you sure you want to disconnect this organization?": "Ydych chi'n siŵr eich bod chi am ddatgysylltu'r sefydliad hwn?", "Are you sure you want to disconnect this organization?": "Ydych chi'n siŵr eich bod chi am ddatgysylltu'r sefydliad hwn?",
"Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Gofynnwch ble i arbed ffeiliau cyn eu lawrlwytho", "Ask where to save files before downloading": "Gofynnwch ble i arbed ffeiliau cyn eu lawrlwytho",
"Auto hide Menu bar": "Cuddiwch y bar dewislen yn awtomatig", "Auto hide Menu bar": "Cuddiwch y bar dewislen yn awtomatig",
"Auto hide menu bar (Press Alt key to display)": "Cuddiwch y bar dewislen yn awtomatig (Pwyswch Alt i'w harddangos)", "Auto hide menu bar (Press Alt key to display)": "Cuddiwch y bar dewislen yn awtomatig (Pwyswch Alt i'w harddangos)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Yn ôl", "Back": "Yn ôl",
"Bounce dock on new private message": "Sbonciwch doc ar neges breifat newydd", "Bounce dock on new private message": "Sbonciwch doc ar neges breifat newydd",
"CSS file": "CSS file",
"Cancel": "Canslo",
"Certificate error": "Certificate error",
"Change": "Newid", "Change": "Newid",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Newid yr iaith o Dewisiadau System → Bysellfwrdd → Testun → Sillafu.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Newid yr iaith o Dewisiadau System → Bysellfwrdd → Testun → Sillafu.",
"Check for Updates": "Chwiliwch am Ddiweddariadau", "Check for Updates": "Chwiliwch am Ddiweddariadau",
@@ -26,22 +34,32 @@
"Connect to another organization": "Cysylltu â sefydliad arall", "Connect to another organization": "Cysylltu â sefydliad arall",
"Connected organizations": "Sefydliadau cysylltiedig", "Connected organizations": "Sefydliadau cysylltiedig",
"Copy": "Copi", "Copy": "Copi",
"Copy Email Address": "Copy Email Address",
"Copy Image": "Copi Delwedd",
"Copy Image URL": "Copi URL Delwedd",
"Copy Link": "Copi Dolen",
"Copy Zulip URL": "Copïwch URL Zulip", "Copy Zulip URL": "Copïwch URL Zulip",
"Create a new organization": "Creu sefydliad newydd", "Create a new organization": "Creu sefydliad newydd",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Torri", "Cut": "Torri",
"Default download location": "Lleoliad lawrlwytho diofyn", "Default download location": "Lleoliad lawrlwytho diofyn",
"Delete": "Dileu", "Delete": "Dileu",
"Desktop Notifications": "Hysbysiadau Penbwrdd", "Desktop Notifications": "Hysbysiadau Penbwrdd",
"Desktop Settings": "Gosodiadau Penbwrdd", "Desktop Settings": "Gosodiadau Penbwrdd",
"Disconnect": "Datgysylltwch", "Disconnect": "Datgysylltwch",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Lawrlwythwch Logiau Ap", "Download App Logs": "Lawrlwythwch Logiau Ap",
"Edit": "Golygu", "Edit": "Golygu",
"Edit Shortcuts": "Golygu Llwybrau Byr", "Edit Shortcuts": "Golygu Llwybrau Byr",
"Emoji & Symbols": "Emoji & Symbols", "Emoji & Symbols": "Emoji a Symbolau",
"Enable auto updates": "Galluogi diweddariadau yn awtomatig", "Enable auto updates": "Galluogi diweddariadau yn awtomatig",
"Enable error reporting (requires restart)": "Galluogi adrodd am wallau (angen ailgychwyn)", "Enable error reporting (requires restart)": "Galluogi adrodd am wallau (angen ailgychwyn)",
"Enable spellchecker (requires restart)": "Galluogi gwiriwr sillafu (angen ailgychwyn)", "Enable spellchecker (requires restart)": "Galluogi gwiriwr sillafu (angen ailgychwyn)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Rhowch sgrin lawn",
"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": "Ailosod Ffatri", "Factory Reset": "Ailosod Ffatri",
"Factory Reset Data": "Ailosod Data Ffatri", "Factory Reset Data": "Ailosod Data Ffatri",
"File": "Ffeil", "File": "Ffeil",
@@ -52,23 +70,37 @@
"Functionality": "Ymarferoldeb", "Functionality": "Ymarferoldeb",
"General": "Cyffredinol", "General": "Cyffredinol",
"Get beta updates": "Cael diweddariadau beta", "Get beta updates": "Cael diweddariadau beta",
"Go Back": "Go Back",
"Hard Reload": "Ail-lwytho Caled", "Hard Reload": "Ail-lwytho Caled",
"Help": "Cymorth", "Help": "Cymorth",
"Help Center": "Canolfan Gymorth", "Help Center": "Canolfan Gymorth",
"Hide": "Cuddio", "Hide": "Cuddio",
"Hide Others": "Cuddio Eraill", "Hide Others": "Cuddio Eraill",
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Cuddiwch Zulip",
"History": "Hanes", "History": "Hanes",
"History Shortcuts": "Hanes Llwybrau Byr ", "History Shortcuts": "Hanes Llwybrau Byr ",
"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": "Llwybrau Byr Bysellfwrdd", "Keyboard Shortcuts": "Llwybrau Byr Bysellfwrdd",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Allgofnodi", "Log Out": "Allgofnodi",
"Log Out of Organization": "Allgofnodi Sefydliad", "Log Out of Organization": "Allgofnodi Sefydliad",
"Look Up": "Ymchwiliwch",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Cyfluniad dirprwy â llaw", "Manual proxy configuration": "Cyfluniad dirprwy â llaw",
"Minimize": "Lleihau", "Minimize": "Lleihau",
"Mute all sounds from Zulip": "Tawelwch pob sain o Zulip", "Mute all sounds from Zulip": "Tawelwch pob sain o Zulip",
"NO": "NA",
"Network": "Rhwydwaith", "Network": "Rhwydwaith",
"Network and Proxy Settings": "Network and Proxy Settings", "Network and Proxy Settings": "Gosodiadau Rhwydwaith a Dirprwy",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "No",
"No Suggestion Found": "Ni chanfuwyd unrhyw awgrym",
"No updates available.": "No updates available.",
"Notification settings": "Gosodiadau hysbysu",
"OK": "Iawn",
"OR": "NEU", "OR": "NEU",
"On macOS, the OS spellchecker is used.": "Ar macOS, defnyddir gwiriwr sillafu OS.", "On macOS, the OS spellchecker is used.": "Ar macOS, defnyddir gwiriwr sillafu OS.",
"Organization URL": "URL y sefydliad", "Organization URL": "URL y sefydliad",
@@ -78,6 +110,7 @@
"Proxy": "Dirprwy", "Proxy": "Dirprwy",
"Proxy bypass rules": "Rheolau ffordd osgoi dirprwy", "Proxy bypass rules": "Rheolau ffordd osgoi dirprwy",
"Proxy rules": "Rheolau dirprwy", "Proxy rules": "Rheolau dirprwy",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Ymadael", "Quit": "Ymadael",
"Quit Zulip": "Ymadael Zulip", "Quit Zulip": "Ymadael Zulip",
"Quit when the window is closed": "Cau pan fydd y ffenestr ar gau", "Quit when the window is closed": "Cau pan fydd y ffenestr ar gau",
@@ -85,21 +118,27 @@
"Release Notes": "Nodiadau ar y datganiad hwn", "Release Notes": "Nodiadau ar y datganiad hwn",
"Reload": "Ail-lwytho", "Reload": "Ail-lwytho",
"Report an Issue": "Adroddiwch mater", "Report an Issue": "Adroddiwch mater",
"Reset App Settings": "Reset App Settings", "Reset App Settings": "Ailosod Gosodiadau Ap",
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Ailosod y cais, gan ddileu'r holl sefydliadau a chyfrifon cysylltiedig.",
"Save": "Cadw", "Save": "Cadw",
"Select All": "Dewiswch Bobeth", "Select All": "Dewiswch Bobeth",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Gwasanaethau", "Services": "Gwasanaethau",
"Settings": "Gosodiadau", "Settings": "Gosodiadau",
"Shortcuts": "Llwybrau byr", "Shortcuts": "Llwybrau byr",
"Show app icon in system tray": "Dangos eicon ap yn yr hambwrdd system", "Show app icon in system tray": "Dangos eicon ap yn yr hambwrdd system",
"Show app unread badge": "Dangos bathodyn heb ei ddarllen ",
"Show desktop notifications": "Dangos hysbysiadau bwrdd gwaith", "Show desktop notifications": "Dangos hysbysiadau bwrdd gwaith",
"Show sidebar": "Dangos bar ochr", "Show sidebar": "Dangos bar ochr",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Ieithoedd Sillafu", "Spellchecker Languages": "Ieithoedd Sillafu",
"Start app at login": "Dechreuwch yr ap wrth fewngofnodi", "Start app at login": "Dechreuwch yr ap wrth fewngofnodi",
"Switch to Next Organization": "Newid i'r Sefydliad Nesaf", "Switch to Next Organization": "Newid i'r Sefydliad Nesaf",
"Switch to Previous Organization": "Newid i Sefydliad Blaenorol", "Switch to Previous Organization": "Newid i Sefydliad Blaenorol",
"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": "Mae'r llwybrau byr ap bwrdd gwaith hyn yn ymestyn y webap-iau Zulip", "These desktop app shortcuts extend the Zulip webapp's": "Mae'r llwybrau byr ap bwrdd gwaith hyn yn ymestyn y webap-iau Zulip",
"Tip": "Awgrym", "Tip": "Awgrym",
"Toggle DevTools for Active Tab": "Toglo DevTools ar gyfer Tab Gweithredol", "Toggle DevTools for Active Tab": "Toglo DevTools ar gyfer Tab Gweithredol",
@@ -109,19 +148,24 @@
"Toggle Sidebar": "Toglo Bar Ochr", "Toggle Sidebar": "Toglo Bar Ochr",
"Toggle Tray Icon": "Toglo Eicon Hambwrdd", "Toggle Tray Icon": "Toglo Eicon Hambwrdd",
"Tools": "Offer", "Tools": "Offer",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Dadwneud", "Undo": "Dadwneud",
"Unhide": "Dad-guddio", "Unhide": "Dad-guddio",
"Unknown error": "Unknown error",
"Upload": "Fyny-lwytho", "Upload": "Fyny-lwytho",
"Use system proxy settings (requires restart)": "Defnyddiwch osodiadau dirprwy system (angen ailgychwyn)", "Use system proxy settings (requires restart)": "Defnyddiwch osodiadau dirprwy system (angen ailgychwyn)",
"View": "Gweld", "View": "Gweld",
"View Shortcuts": "Gweld y Llwybrau Byr", "View Shortcuts": "Gweld y Llwybrau Byr",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Ffenestr", "Window": "Ffenestr",
"Window Shortcuts": "Llwybrau Byr Ffenestri", "Window Shortcuts": "Llwybrau Byr Ffenestri",
"YES": "YDY", "Yes": "Ydy",
"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.": "Gallwch ddewis uchafswm o 3 iaith ar gyfer gwirio sillafu.", "You can select a maximum of 3 languages for spellchecking.": "Gallwch ddewis uchafswm o 3 iaith ar gyfer gwirio sillafu.",
"Zoom In": "Chwyddo Mewn", "Zoom In": "Chwyddo Mewn",
"Zoom Out": "Chwyddo allan", "Zoom Out": "Chwyddo allan",
"keyboard shortcuts": "llwybrau byr bysellfwrdd", "keyboard shortcuts": "llwybrau byr bysellfwrdd",
"script": "sgript", "script": "sgript",
"{{{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." "{{{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

@@ -1,23 +1,31 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Om Zulip", "About Zulip": "Om Zulip",
"Actual Size": "Faktisk størrelse", "Actual Size": "Faktisk størrelse",
"Add Organization": "Opret organisation", "Add Organization": "Tilføj organisation",
"Add a Zulip organization": "Opret en Zulip organisation", "Add a Zulip organization": "Tilføj en Zulip organisation",
"Add custom CSS": "Tilføj egen CSS", "Add custom CSS": "Tilføj egen CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Avanceret", "Advanced": "Avanceret",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "Alle forbundne organisationer vil blive vist her",
"Always start minimized": "Start altid minimeret", "Always start minimized": "Start altid minimeret",
"App Updates": "App-opdateringer", "App Updates": "App-opdateringer",
"App language (requires restart)": "App language (requires restart)", "App language (requires restart)": "App language (requires restart)",
"Appearance": "Udseende", "Appearance": "Udseende",
"Application Shortcuts": "Genveje", "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? ",
"Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Ask where to save files before downloading", "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": "Skjul menu automatisk",
"Auto hide menu bar (Press Alt key to display)": "Skjul menu automatisk (tryk på Alt-tasten for at vise)", "Auto hide menu bar (Press Alt key to display)": "Skjul menu automatisk (tryk på Alt-tasten for at vise)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Tilbage", "Back": "Tilbage",
"Bounce dock on new private message": "Animér dock ved ny privat meddelelse", "Bounce dock on new private message": "Animér dock ved ny privat meddelelse",
"CSS file": "CSS file",
"Cancel": "Annuller",
"Certificate error": "Certificate error",
"Change": "Skift", "Change": "Skift",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Tjek for opdateringer", "Check for Updates": "Tjek for opdateringer",
@@ -26,22 +34,32 @@
"Connect to another organization": "Forbind til en anden organisation", "Connect to another organization": "Forbind til en anden organisation",
"Connected organizations": "Tilsluttede organisationer", "Connected organizations": "Tilsluttede organisationer",
"Copy": "Kopiér", "Copy": "Kopiér",
"Copy Email Address": "Copy Email Address",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Kopiér Zulip URL", "Copy Zulip URL": "Kopiér Zulip URL",
"Create a new organization": "Opret ny organisation", "Create a new organization": "Opret ny organisation",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Klip", "Cut": "Klip",
"Default download location": "Default download placering", "Default download location": "Default download placering",
"Delete": "Slet", "Delete": "Slet",
"Desktop Notifications": "Desktop-notifikationer", "Desktop Notifications": "Desktop-notifikationer",
"Desktop Settings": "Desktop-indstillinger", "Desktop Settings": "Desktop-indstillinger",
"Disconnect": "Frakobl", "Disconnect": "Frakobl",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download app-logfiler", "Download App Logs": "Download app-logfiler",
"Edit": "Redigér", "Edit": "Redigér",
"Edit Shortcuts": "Redigér genveje", "Edit Shortcuts": "Redigér genveje",
"Emoji & Symbols": "Emoji & Symbols", "Emoji & Symbols": "Emoji og symboler",
"Enable auto updates": "Aktivér auto-opdateringer", "Enable auto updates": "Aktivér auto-opdateringer",
"Enable error reporting (requires restart)": "Aktivér fejlrapportering (kræver genstart)", "Enable error reporting (requires restart)": "Aktivér fejlrapportering (kræver genstart)",
"Enable spellchecker (requires restart)": "Aktivér stavekontrol (kræver genstart)", "Enable spellchecker (requires restart)": "Aktivér stavekontrol (kræver genstart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Fuld skærm",
"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": "Nulstil til fabriksindstillinger", "Factory Reset": "Nulstil til fabriksindstillinger",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "Fil", "File": "Fil",
@@ -52,23 +70,37 @@
"Functionality": "Funktionalitet", "Functionality": "Funktionalitet",
"General": "Generelt", "General": "Generelt",
"Get beta updates": "Få beta opdateringer", "Get beta updates": "Få beta opdateringer",
"Go Back": "Go Back",
"Hard Reload": "Hård reload", "Hard Reload": "Hård reload",
"Help": "Hjælp", "Help": "Hjælp",
"Help Center": "Hjælpecenter", "Help Center": "Hjælpecenter",
"Hide": "Hide", "Hide": "Skjul",
"Hide Others": "Hide Others", "Hide Others": "Skjul andre",
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Skjul Zulip",
"History": "Historik", "History": "Historik",
"History Shortcuts": "Historik genveje", "History Shortcuts": "Historikgenveje",
"Keyboard Shortcuts": "Tastatur genveje", "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": "Tastaturgenveje",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log ud", "Log Out": "Log ud",
"Log Out of Organization": "Log ud af organisation", "Log Out of Organization": "Log ud af organisation",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Manuel proxy opsætning", "Manual proxy configuration": "Manuel proxy opsætning",
"Minimize": "Minimér", "Minimize": "Minimer",
"Mute all sounds from Zulip": "Dæmp alle lyde fra Zulip", "Mute all sounds from Zulip": "Dæmp alle lyde fra Zulip",
"NO": "NEJ",
"Network": "Netværk", "Network": "Netværk",
"Network and Proxy Settings": "Network and Proxy Settings", "Network and Proxy Settings": "Netrk og proxy indstillinger",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "No",
"No Suggestion Found": "No Suggestion Found",
"No updates available.": "No updates available.",
"Notification settings": "Indstillinger for notifikationer",
"OK": "OK",
"OR": "ELLER", "OR": "ELLER",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organisation URL", "Organization URL": "Organisation URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass regler", "Proxy bypass rules": "Proxy bypass regler",
"Proxy rules": "Proxy regler", "Proxy rules": "Proxy regler",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Luk", "Quit": "Luk",
"Quit Zulip": "Luk Zulip", "Quit Zulip": "Luk Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -85,43 +118,54 @@
"Release Notes": "Release Notes", "Release Notes": "Release Notes",
"Reload": "Reload", "Reload": "Reload",
"Report an Issue": "Report an Issue", "Report an Issue": "Report an Issue",
"Reset App Settings": "Reset App Settings", "Reset App Settings": "Nulstil App-indstillinger",
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Nulstil applikationen, dvs: slet alle forbundne organisationer og konti.",
"Save": "Save", "Save": "Gem",
"Select All": "Select All", "Select All": "Vælg alle",
"Services": "Services", "Select Download Location": "Select Download Location",
"Settings": "Settings", "Select file": "Select file",
"Services": "Tjenester",
"Settings": "Indstillinger",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App", "Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App",
"Toggle Do Not Disturb": "Toggle Do Not Disturb", "Toggle Do Not Disturb": "Slå forstyr ej til eller fra",
"Toggle Full Screen": "Toggle Full Screen", "Toggle Full Screen": "Toggle Full Screen",
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",
"keyboard shortcuts": "keyboard shortcuts", "keyboard shortcuts": "keyboard shortcuts",
"script": "script", "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." "{{{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,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "Ein neues Update {{{version}}} wurde heruntergeladen.",
"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", "About Zulip": "Über Zulip",
"Actual Size": "Tatsächliche Größe", "Actual Size": "Tatsächliche Größe",
"Add Organization": "Organisation hinzufügen", "Add Organization": "Organisation hinzufügen",
"Add a Zulip organization": "Zulip-Organisation hinzufügen", "Add a Zulip organization": "Zulip-Organisation hinzufügen",
"Add custom CSS": "Eigenes CSS hinzufügen", "Add custom CSS": "Eigenes CSS hinzufügen",
"AddServer": "ServerHinzufügen", "Add to Dictionary": "Zum Wörterbuch hinzufügen",
"Advanced": "Erweitert", "Advanced": "Erweitert",
"All the connected organizations will appear here.": "Alle verbundenen Organisationen werden hier angezeigt.", "All the connected organizations will appear here.": "Alle verbundenen Organisationen werden hier angezeigt.",
"Always start minimized": "Immer minimiert öffnen", "Always start minimized": "Immer minimiert öffnen",
@@ -13,11 +16,16 @@
"Appearance": "Erscheinungsbild", "Appearance": "Erscheinungsbild",
"Application Shortcuts": "App-Verknüpfungen", "Application Shortcuts": "App-Verknüpfungen",
"Are you sure you want to disconnect this organization?": "Bist du dir sicher, dass du die Verbindung zur Organisation trennen möchtest?", "Are you sure you want to disconnect this organization?": "Bist du dir sicher, dass du die Verbindung zur Organisation trennen möchtest?",
"Are you sure?": "Sind Sie sicher?",
"Ask where to save files before downloading": "Fragen, wo heruntergeladene Dateien gespeichert werden sollen", "Ask where to save files before downloading": "Fragen, wo heruntergeladene Dateien gespeichert werden sollen",
"Auto hide Menu bar": "Menü automatisch verstecken", "Auto hide Menu bar": "Menü automatisch verbergen",
"Auto hide menu bar (Press Alt key to display)": "Menü automatisch verstecken (zum Anzeigen die Alt-Taste drücken)", "Auto hide menu bar (Press Alt key to display)": "Menü automatisch verbergen (zum Anzeigen die Alt-Taste drücken)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Zurück", "Back": "Zurück",
"Bounce dock on new private message": "Im Dock hüpfen, wenn neue private Nachrichten eingehen", "Bounce dock on new private message": "Im Dock hüpfen, wenn neue private Nachrichten eingehen",
"CSS file": "CSS-Datei",
"Cancel": "Abbrechen",
"Certificate error": "Zertifikatfehler",
"Change": "Ändern", "Change": "Ändern",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Ändere die Spracheinstellung über Systemeinstellungen → Tastatur → Text → Rechtschreibung.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Ändere die Spracheinstellung über Systemeinstellungen → Tastatur → Text → Rechtschreibung.",
"Check for Updates": "Auf Updates prüfen", "Check for Updates": "Auf Updates prüfen",
@@ -26,14 +34,21 @@
"Connect to another organization": "Mit einer anderen Organisation verbinden", "Connect to another organization": "Mit einer anderen Organisation verbinden",
"Connected organizations": "Verbundene Organisationen", "Connected organizations": "Verbundene Organisationen",
"Copy": "Kopieren", "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", "Copy Zulip URL": "Zulip-URL kopieren",
"Create a new organization": "Eine neue Organisation erstellen", "Create a new organization": "Eine neue Organisation erstellen",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Ausschneiden", "Cut": "Ausschneiden",
"Default download location": "Voreingestelltes Ziel für Downloads", "Default download location": "Voreingestelltes Ziel für Downloads",
"Delete": "Löschen", "Delete": "Löschen",
"Desktop Notifications": "Desktopbenachrichtigungen", "Desktop Notifications": "Desktopbenachrichtigungen",
"Desktop Settings": "Desktop-Einstellungen", "Desktop Settings": "Desktop-Einstellungen",
"Disconnect": "Verbindung trennen", "Disconnect": "Verbindung trennen",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Bitte nicht stören",
"Download App Logs": "Logdateien der App herunterladen", "Download App Logs": "Logdateien der App herunterladen",
"Edit": "Bearbeiten", "Edit": "Bearbeiten",
"Edit Shortcuts": "Tastenkürzel bearbeiten", "Edit Shortcuts": "Tastenkürzel bearbeiten",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Fehlerberichte aktivieren (erfordert Neustart)", "Enable error reporting (requires restart)": "Fehlerberichte aktivieren (erfordert Neustart)",
"Enable spellchecker (requires restart)": "Rechtschreibprüfung aktivieren (erfordert Neustart)", "Enable spellchecker (requires restart)": "Rechtschreibprüfung aktivieren (erfordert Neustart)",
"Enter Full Screen": "Vollbildschirm aktivieren", "Enter Full Screen": "Vollbildschirm aktivieren",
"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": "Alle Einstellungen auf Standardwerte zurücksetzen", "Factory Reset": "Alle Einstellungen auf Standardwerte zurücksetzen",
"Factory Reset Data": "Auf Werkseinstellung zurücksetzen", "Factory Reset Data": "Auf Werkseinstellung zurücksetzen",
"File": "Datei", "File": "Datei",
@@ -52,32 +70,47 @@
"Functionality": "Funktionalität", "Functionality": "Funktionalität",
"General": "Allgemein", "General": "Allgemein",
"Get beta updates": "Auf Betaversionen aktualisieren", "Get beta updates": "Auf Betaversionen aktualisieren",
"Go Back": "Zurück",
"Hard Reload": "Komplett neu laden", "Hard Reload": "Komplett neu laden",
"Help": "Hilfe", "Help": "Hilfe",
"Help Center": "Hilfe-Zentrum", "Help Center": "Hilfecenter",
"Hide": "Verbergen", "Hide": "Verbergen",
"Hide Others": "Andere verbergen", "Hide Others": "Andere verbergen",
"Hide Zulip": "Zulip verbergen", "Hide Zulip": "Zulip verbergen",
"History": "Verlauf", "History": "Verlauf",
"History Shortcuts": "Kurzbefehle für Verlauf", "History Shortcuts": "Kurzbefehle für Verlauf",
"Install Later": "Später installieren",
"Install and Relaunch": "Installieren und neustarten",
"It will be installed the next time you restart the application.": "It will be installed the next time you restart the application.",
"Keyboard Shortcuts": "Tastenkürzel", "Keyboard Shortcuts": "Tastenkürzel",
"Later": "Später",
"Loading": "Laden",
"Log Out": "Abmelden", "Log Out": "Abmelden",
"Log Out of Organization": "Von Organisation abmelden", "Log Out of Organization": "Von Organisation abmelden",
"Look Up": "Nachschlagen",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained von {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manueller Download",
"Manual proxy configuration": "Manuelle Proxy-Konfiguration", "Manual proxy configuration": "Manuelle Proxy-Konfiguration",
"Minimize": "Minimieren", "Minimize": "Minimieren",
"Mute all sounds from Zulip": "Alle Zulip-Klänge stummschalten", "Mute all sounds from Zulip": "Alle Zulip-Klänge stummschalten",
"NO": "NEIN",
"Network": "Netzwerk", "Network": "Netzwerk",
"Network and Proxy Settings": "Netzwerk- und Proxy-Einstellungen", "Network and Proxy Settings": "Netzwerk- und Proxy-Einstellungen",
"New servers added. Reload app now?": "Neue Server hinzugefügt. App jetzt erneut laden?",
"No": "Nein",
"No Suggestion Found": "Keine Vorschläge gefunden",
"No updates available.": "Keine Updates verfügbar.",
"Notification settings": "Benachrichtigungseinstellungen",
"OK": "OK",
"OR": "ODER", "OR": "ODER",
"On macOS, the OS spellchecker is used.": "In macOS wird die OS Rechtschreibprüfung verwendet.", "On macOS, the OS spellchecker is used.": "In macOS wird die OS Rechtschreibprüfung verwendet.",
"Organization URL": "URL der Organisation", "Organization URL": "Organisations-URL",
"Organizations": "Organisationen", "Organizations": "Organisationen",
"Paste": "Einfügen", "Paste": "Einfügen",
"Paste and Match Style": "Ohne Formatierung einfügen", "Paste and Match Style": "Ohne Formatierung einfügen",
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy-Ausnahmen", "Proxy bypass rules": "Proxy-Ausnahmen",
"Proxy rules": "Proxy-Regeln", "Proxy rules": "Proxy-Regeln",
"Proxy settings saved.": "Proxy-Einstellungen gespeichert.",
"Quit": "Beenden", "Quit": "Beenden",
"Quit Zulip": "Zulip beenden", "Quit Zulip": "Zulip beenden",
"Quit when the window is closed": "Beim Schließen des Fensters beenden", "Quit when the window is closed": "Beim Schließen des Fensters beenden",
@@ -85,21 +118,27 @@
"Release Notes": "Hinweise zur Versionsfreigabe", "Release Notes": "Hinweise zur Versionsfreigabe",
"Reload": "Neu laden", "Reload": "Neu laden",
"Report an Issue": "Ein Problem melden", "Report an Issue": "Ein Problem melden",
"Reset App Settings": "Einstellungen der App zurücksetzen", "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.", "Reset the application, thus deleting all the connected organizations and accounts.": "Die Anwendung zurücksetzen. Dabei werden alle verbundenen Organisationen und Konten gelöscht.",
"Save": "Speichern", "Save": "Speichern",
"Select All": "Alles auswählen", "Select All": "Alles auswählen",
"Select Download Location": "Wählen Sie das Download-Ziel",
"Select file": "Datei auswählen",
"Services": "Dienste", "Services": "Dienste",
"Settings": "Einstellungen", "Settings": "Einstellungen",
"Shortcuts": "Kurzbefehle", "Shortcuts": "Kurzbefehle",
"Show app icon in system tray": "App-Icon in Systemleiste anzeigen", "Show app icon in system tray": "App-Icon in Systemleiste anzeigen",
"Show app unread badge": "Anzahl ungelesener Nachrichten in App-Icon einblenden",
"Show desktop notifications": "Desktopbenachrichtigungen anzeigen", "Show desktop notifications": "Desktopbenachrichtigungen anzeigen",
"Show sidebar": "Seitenleiste anzeigen", "Show sidebar": "Seitenleiste anzeigen",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Sprachen für die Rechtschreibprüfung", "Spellchecker Languages": "Sprachen für die Rechtschreibprüfung",
"Start app at login": "App beim Login automatisch starten", "Start app at login": "App beim Login automatisch starten",
"Switch to Next Organization": "Zur nächsten Organisation wechseln", "Switch to Next Organization": "Zur nächsten Organisation wechseln",
"Switch to Previous Organization": "Zur vorhergehenden Organisation wechseln", "Switch to Previous Organization": "Zur vorhergehenden Organisation wechseln",
"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": "Dies sind zusätzliche Kurzbefehle in der Desktop-App gegenüber der Web-App", "These desktop app shortcuts extend the Zulip webapp's": "Dies sind zusätzliche Kurzbefehle in der Desktop-App gegenüber der Web-App",
"Tip": "Tipp", "Tip": "Tipp",
"Toggle DevTools for Active Tab": "Entwickler-Tools für aktiven Tab umschalten", "Toggle DevTools for Active Tab": "Entwickler-Tools für aktiven Tab umschalten",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Seitenleiste umschalten", "Toggle Sidebar": "Seitenleiste umschalten",
"Toggle Tray Icon": "Tray-Icon umschalten", "Toggle Tray Icon": "Tray-Icon umschalten",
"Tools": "Extras", "Tools": "Extras",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Rückgängig", "Undo": "Rückgängig",
"Unhide": "Nicht mehr verbergen", "Unhide": "Nicht mehr verbergen",
"Unknown error": "Unknown error",
"Upload": "Hochladen", "Upload": "Hochladen",
"Use system proxy settings (requires restart)": "Systemweite Proxy-Einstellungen verwenden (erfordert Neustart)", "Use system proxy settings (requires restart)": "Systemweite Proxy-Einstellungen verwenden (erfordert Neustart)",
"View": "Ansicht", "View": "Ansicht",
"View Shortcuts": "Tastenkürzel anzeigen", "View Shortcuts": "Tastenkürzel anzeigen",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Fenster", "Window": "Fenster",
"Window Shortcuts": "Kurzbefehle für Fenster", "Window Shortcuts": "Kurzbefehle für Fenster",
"YES": "JA", "Yes": "Ja",
"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.": "Du kannst höchstens 3 Sprachen für die Rechtschreibprüfung auswählen.", "You can select a maximum of 3 languages for spellchecking.": "Du kannst höchstens 3 Sprachen für die Rechtschreibprüfung auswählen.",
"Zoom In": "Vergrößern", "Zoom In": "Vergrößern",
"Zoom Out": "Verkleinern", "Zoom Out": "Verkleinern",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Σχετικά με το Zulip", "About Zulip": "Σχετικά με το Zulip",
"Actual Size": "Πραγματικό μέγεθος", "Actual Size": "Πραγματικό μέγεθος",
"Add Organization": "Προσθήκη Οργανισμού", "Add Organization": "Προσθήκη Οργανισμού",
"Add a Zulip organization": "Προσθήκη οργανισμού Zulip", "Add a Zulip organization": "Προσθήκη οργανισμού Zulip",
"Add custom CSS": "Προσθήκη χειροποίητης CSS.", "Add custom CSS": "Προσθήκη προσαρμοσμένης CSS",
"AddServer": ροσθήκηServer", "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": "Να ξεκινά πάντα ελαχιστοποιημένο",
@@ -13,11 +16,16 @@
"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": "Να ερωτούμαι πού να αποθηκευτούν τα αρχεία προτού κατεβούν.", "Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Να ερωτούμαι πού να αποθηκευτούν τα αρχεία προτού κατέβουν.",
"Auto hide Menu bar": "Αυτόματη απόκρυψη γραμμής Μενού", "Auto hide Menu bar": "Αυτόματη απόκρυψη γραμμής Μενού",
"Auto hide menu bar (Press Alt key to display)": "Αυτόματη απόκρυψη γραμμής Μενού (Πατήστε Alt για να εμφανιστεί)", "Auto hide menu bar (Press Alt key to display)": "Αυτόματη απόκρυψη γραμμής Μενού (Πατήστε Alt για να εμφανιστεί)",
"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": "Ακύρωση",
"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": "Έλεγχος για Ενημερώσεις",
@@ -26,22 +34,32 @@
"Connect to another organization": "Σύνδεση με άλλο οργανισμό", "Connect to another organization": "Σύνδεση με άλλο οργανισμό",
"Connected organizations": "Συνδεδεμένοι οργανισμοί", "Connected organizations": "Συνδεδεμένοι οργανισμοί",
"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": "Αντιγραφή διεύθυνσης URL Zulip", "Copy Zulip URL": "Αντιγραφή διεύθυνσης URL Zulip",
"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": "Ρυθμίσεις Επιφάνειας Εργασίας",
"Disconnect": "Αποσύνδεση", "Disconnect": "Αποσύνδεση",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Λήψη Logs Εφαρμογής", "Download App Logs": "Λήψη Logs Εφαρμογής",
"Edit": "Τροποποίηση", "Edit": "Επεξεργασία",
"Edit Shortcuts": "Τροποποίηση Συντομεύσεων", "Edit Shortcuts": "Επεξεργασία Συντομεύσεων",
"Emoji & Symbols": "Φατσούλες Ιμότζι και Σύμβολα", "Emoji & Symbols": "Φατσούλες Ιμότζι και Σύμβολα",
"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": "Μετάβαση σε Πλήρη Οθόνη",
"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": "Αρχείο",
@@ -52,6 +70,7 @@
"Functionality": "Λειτουργία", "Functionality": "Λειτουργία",
"General": "Γενικά", "General": "Γενικά",
"Get beta updates": "Λήψη beta - δοκιμαστικών ενημερώσεων", "Get beta updates": "Λήψη beta - δοκιμαστικών ενημερώσεων",
"Go Back": "Go Back",
"Hard Reload": "Ολική επαναφόρτωση", "Hard Reload": "Ολική επαναφόρτωση",
"Help": "Βοήθεια", "Help": "Βοήθεια",
"Help Center": "Κέντρο Βοήθειας", "Help Center": "Κέντρο Βοήθειας",
@@ -60,17 +79,30 @@
"Hide Zulip": "Απόκρυψη του Zulip", "Hide Zulip": "Απόκρυψη του 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": "Χειροκίνητη παραμετροποίηση proxy", "Manual proxy configuration": "Χειροκίνητη παραμετροποίηση proxy",
"Minimize": "Ελαχιστοποίηση", "Minimize": "Ελαχιστοποίηση",
"Mute all sounds from Zulip": "Σίγαση όλων των ήχων του Zulip", "Mute all sounds from Zulip": "Σίγαση όλων των ήχων του Zulip",
"NO": "ΟΧΙ",
"Network": "Δίκτυο", "Network": "Δίκτυο",
"Network and Proxy Settings": "Ρυθμίσεις Δικτύου και Proxy", "Network and Proxy Settings": "Ρυθμίσεις Δικτύου και Proxy",
"OR": "OR", "New servers added. Reload app now?": "New servers added. Reload app now?",
"On macOS, the OS spellchecker is used.": "Στο macOS, χρησιμοποιείται ο έμφυτος έλεγχος ορθογραφίας του.", "No": "No",
"No Suggestion Found": "No Suggestion Found",
"No updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "Ή",
"On macOS, the OS spellchecker is used.": "Στο macOS, χρησιμοποιείται ο έλεγχος ορθογραφίας του λειτουργικού συστήματος.",
"Organization URL": "URL Οργανισμού", "Organization URL": "URL Οργανισμού",
"Organizations": "Οργανισμοί", "Organizations": "Οργανισμοί",
"Paste": "Επικόλληση", "Paste": "Επικόλληση",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Κανόνες παράκαμψης Proxy", "Proxy bypass rules": "Κανόνες παράκαμψης Proxy",
"Proxy rules": "Κανόνες Proxy", "Proxy rules": "Κανόνες Proxy",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Έξοδος", "Quit": "Έξοδος",
"Quit Zulip": "Έξοδος από Zulip", "Quit Zulip": "Έξοδος από Zulip",
"Quit when the window is closed": "Έξοδος όταν κλείνει το παράθυρο", "Quit when the window is closed": "Έξοδος όταν κλείνει το παράθυρο",
@@ -89,17 +122,23 @@
"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": "Υπηρεσίες",
"Settings": "Ρυθμίσεις", "Settings": "Ρυθμίσεις",
"Shortcuts": "Συντομεύσεις", "Shortcuts": "Συντομεύσεις",
"Show app icon in system tray": "Εμφάνιση εικονιδίου στη γραμμή εργασιών", "Show app icon in system tray": "Εμφάνιση εικονιδίου στη γραμμή εργασιών",
"Show app unread badge": "Εμφάνιση ένδειξης μη αναγνωσμένων μηνυμάτων",
"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", "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 Active Tab": "Toggle DevTools for Active Tab",
@@ -109,19 +148,24 @@
"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)": "Χρήση ρυθμίσεων proxy συστήματος (χρειάζεται επανεκκίνηση)", "Use system proxy settings (requires restart)": "Χρήση ρυθμίσεων proxy συστήματος (χρειάζεται επανεκκίνηση)",
"View": "Προβολή", "View": "Προβολή",
"View Shortcuts": "Εμφάνιση Συντομεύσεων", "View Shortcuts": "Εμφάνιση Συντομεύσεων",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Παράθυρο", "Window": "Παράθυρο",
"Window Shortcuts": "Συντομεύσεις Παραθύρου", "Window Shortcuts": "Συντομεύσεις Παραθύρου",
"YES": "ΝΑΙ", "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.": "Μπορούν να επιλεγούν μέχρι 3 γλώσσες ορθογραφικού ελέγχου.", "You can select a maximum of 3 languages for spellchecking.": "Μπορούν να επιλεγούν μέχρι 3 γλώσσες ορθογραφικού ελέγχου.",
"Zoom In": "Ζουμ εγγύτερα", "Zoom In": "Ζουμ εγγύτερα",
"Zoom Out": "Ζουμ μακρύτερα", "Zoom Out": "Ζουμ μακρύτερα",
"keyboard shortcuts": "συντομεύσεις πληκτρολογίου", "keyboard shortcuts": "συντομεύσεις πληκτρολογίου",
"script": "script", "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." "{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} τρέχει μία παρωχημένη έκδοση του Zulip Server {{{version}}}. Ενδεχομένως να μη λειτουργεί πλήρως σε αυτή την εφαρμογή."
} }

View File

@@ -1,127 +0,0 @@
{
"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",
"AddServer": "AddServer",
"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?",
"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 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",
"Emoji & Symbols": "Emoji & Symbols",
"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",
"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",
"Hide Zulip": "Hide Zulip",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings",
"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 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",
"Services": "Services",
"Settings": "Settings",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"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",
"YES": "YES",
"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",
"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

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "About Zulip", "About Zulip": "About Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organization", "Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization", "Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "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": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copy", "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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization", "Create a new organization": "Create a new organization",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Delete", "Delete": "Delete",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Edit", "Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL", "Organization URL": "Organization URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Save", "Save": "Save",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Settings", "Settings": "Settings",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "About Zulip", "About Zulip": "About Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organisation", "Add Organization": "Add Organisation",
"Add a Zulip organization": "Add a Zulip organisation", "Add a Zulip organization": "Add a Zulip organisation",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organisations will appear here.", "All the connected organizations will appear here.": "All the connected organisations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organisation?", "Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organisation?",
"Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Ask where to save files before downloading", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "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": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organisation", "Connect to another organization": "Connect to another organisation",
"Connected organizations": "Connected organisations", "Connected organizations": "Connected organisations",
"Copy": "Copy", "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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organisation", "Create a new organization": "Create a new organisation",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Delete", "Delete": "Delete",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organisation",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Edit", "Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"Error saving new organization": "Error saving new organisation",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organisation", "Log Out of Organization": "Log Out of Organisation",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Manual proxy configuration", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organisation URL", "Organization URL": "Organisation URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organisations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organisations and accounts.",
"Save": "Save", "Save": "Save",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Settings", "Settings": "Settings",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organisation", "Switch to Next Organization": "Switch to Next Organisation",
"Switch to Previous Organization": "Switch to Previous Organisation", "Switch to Previous Organization": "Switch to Previous Organisation",
"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 organisation. You may have to add your previous organisations again.",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,127 +0,0 @@
{
"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",
"AddServer": "AddServer",
"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?",
"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 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",
"Emoji & Symbols": "Emoji & Symbols",
"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",
"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",
"Hide Zulip": "Hide Zulip",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings",
"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 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",
"Services": "Services",
"Settings": "Settings",
"Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"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",
"YES": "YES",
"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",
"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

@@ -1,127 +1,171 @@
{ {
"About Zulip": "Acerca de Zulip", "A new update {{{version}}} has been downloaded.": "Se descargó la actualización {{{version}}}.",
"A new version {{{version}}} of Zulip Desktop is available.": "Hay una actualización disponible {{{version}}} para la aplicación de escritorio de Zulip.",
"About": "Más información",
"About Zulip": "Sobre Zulip",
"Actual Size": "Tamaño actual", "Actual Size": "Tamaño actual",
"Add Organization": "Añadir organización", "Add Organization": "Agregar organización",
"Add a Zulip organization": "Añadir una organización de Zulip", "Add a Zulip organization": "Agragar una organización de Zulip",
"Add custom CSS": "Añadir CSS personalizado", "Add custom CSS": "Agregar CSS personalizado",
"AddServer": "AddServer", "Add to Dictionary": "Añadir al diccionario",
"Advanced": "Avanzado", "Advanced": "Avanzado",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "Las organizaciones conectadas aparecerán aquí.",
"Always start minimized": "Iniciar siempre minimizado", "Always start minimized": "Inicializar minimizado",
"App Updates": "Actualizaciones de la aplicación", "App Updates": "Actualizaciones de aplicación",
"App language (requires restart)": "Idioma de la aplicación (requiere reinicio)", "App language (requires restart)": "Idioma (Requiere reiniciar aplicación)",
"Appearance": "Apariencia", "Appearance": "Apariencia",
"Application Shortcuts": "Atajos de la aplicación", "Application Shortcuts": "Atajos",
"Are you sure you want to disconnect this organization?": "Estas seguro de desconectar esta organización?", "Are you sure you want to disconnect this organization?": "¿Seguro que quieres desconectarte de esta organización?",
"Ask where to save files before downloading": "Preguntar dónde guardar los archivos antes de descargar", "Are you sure?": "Estás seguro?",
"Auto hide Menu bar": "Ocultar la barra de menú automáticamente", "Ask where to save files before downloading": "Preguntar dónde guardar archivos antes de descargarlos",
"Auto hide menu bar (Press Alt key to display)": "Ocultar la barra de menú automáticamente (mantén tecla Alt para mostrar)", "Auto hide Menu bar": "Esconder barra de menú automaticamente",
"Auto hide menu bar (Press Alt key to display)": "Esconder barra de menú automáticamente (Aparece al presionar Alt)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Disponible bajo la licencia {{{link}}}Apache 2.0 {{{endLink}}}",
"Back": "Atrás", "Back": "Atrás",
"Bounce dock on new private message": "Rebotar dock cuando se reciba un nuevo mensaje privado", "Bounce dock on new private message": "Mostrar barra de herramientas al recibir un mensaje privado",
"CSS file": "Archivo CSS",
"Cancel": "Cancelar",
"Certificate error": "Certificar error",
"Change": "Cambiar", "Change": "Cambiar",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Modifica el idioma en Preferencias del sistema → Teclado → Texto → Ortografía.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Cambia el lenguaje desde Preferencias del sistema → Teclado → Texto → Escritura.",
"Check for Updates": "Comprobar actualizaciones", "Check for Updates": "Buscar actualizaciones",
"Close": "Cerrar", "Close": "Cerrar",
"Connect": "Conectar", "Connect": "Conectar",
"Connect to another organization": "Conectar a otra organización", "Connect to another organization": "Conectarse a otra organización",
"Connected organizations": "Organizaciones conectada", "Connected organizations": "Organizaciones conectadas",
"Copy": "Copiar", "Copy": "Copiar",
"Copy Email Address": "Copiar dirección de correo",
"Copy Image": "Copiar imagen",
"Copy Image URL": "Copiar URL de la imagen",
"Copy Link": "Copiar enlace",
"Copy Zulip URL": "Copiar URL de Zulip", "Copy Zulip URL": "Copiar URL de Zulip",
"Create a new organization": "Crear una nueva organización", "Create a new organization": "Crear una nueva organización",
"Custom CSS file deleted": "Se eliminó el archivo CSS personalizado",
"Cut": "Cortar", "Cut": "Cortar",
"Default download location": "Ubicación por defecto de descargas", "Default download location": "Ubicación de descargas predeterminada",
"Delete": "Eliminar", "Delete": "Borrar",
"Desktop Notifications": "Notificaciones de escritorio", "Desktop Notifications": "Notificaciones de escritorio",
"Desktop Settings": "Ajustes de escritorio", "Desktop Settings": "Configuración de escritorio",
"Disconnect": "Desconectar", "Disconnect": "Desconectar",
"Disconnect organization": "Desconectarse de esta organización",
"Do Not Disturb": "No molestar",
"Download App Logs": "Descargar registros de la aplicación", "Download App Logs": "Descargar registros de la aplicación",
"Edit": "Editar", "Edit": "Editar",
"Edit Shortcuts": "Editar atajos", "Edit Shortcuts": "Editar Atajos",
"Emoji & Symbols": "Emoji & Symbols", "Emoji & Symbols": "Símbolos y Emojis",
"Enable auto updates": "Activar actualizaciones automáticas", "Enable auto updates": "Activar actualizaciones automáticas",
"Enable error reporting (requires restart)": "Activar reporte de fallos (necesita reinicio)", "Enable error reporting (requires restart)": "Activar reportes de errores (Requiere reiniciar aplicación)",
"Enable spellchecker (requires restart)": "Activar corrector ortográfico (necesita reinicio)", "Enable spellchecker (requires restart)": "Subrayar errores de escritura (Requiere reiniciar aplicación)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Activar pantalla completa",
"Factory Reset": "Reinicio de fábrica", "Error saving new organization": "Ocurrió un error al guardar la nueva organización",
"Factory Reset Data": "Factory Reset Data", "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}}} ",
"Factory Reset": "Reinicio de Fábrica",
"Factory Reset Data": "Datos del Reinicio de Fábrica",
"File": "Archivo", "File": "Archivo",
"Find accounts": "Encontrar cuentas", "Find accounts": "Buscar cuentas",
"Find accounts by email": "Encontrar cuentas por correo electrónico", "Find accounts by email": "Buscar cuentas por correo",
"Flash taskbar on new message": "Hacer que la barra de tareas parpadee cuando se reciba un mensaje nuevo", "Flash taskbar on new message": "Mostrar barra de tareas al recibir un mensaje",
"Forward": "Reenviar", "Forward": "Avanzar",
"Functionality": "Funcionalidad", "Functionality": "Funcionalidad",
"General": "General", "General": "General",
"Get beta updates": "Obtener actualizaciones beta", "Get beta updates": "Recibir actualizaciones en beta",
"Hard Reload": "Recarga forzosa", "Go Back": "Volver atrás",
"Hard Reload": "Forzar Reinicio",
"Help": "Ayuda", "Help": "Ayuda",
"Help Center": "Centro de ayuda", "Help Center": "Centro de ayuda",
"Hide": "Ocultar", "Hide": "Esconder",
"Hide Others": "Ocultar otros", "Hide Others": "Esconder otros",
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Minimizar Zulip",
"History": "Historial", "History": "Historial",
"History Shortcuts": "Atajos del historial", "History Shortcuts": "Historial de atajos",
"Install Later": "Instalar luego",
"Install and Relaunch": "Instalar y reiniciar aplicación",
"It will be installed the next time you restart the application.": "Se instalará la próxima vez que inicies la aplicación.",
"Keyboard Shortcuts": "Atajos de teclado", "Keyboard Shortcuts": "Atajos de teclado",
"Later": "Luego",
"Loading": "Cargando",
"Log Out": "Cerrar sesión", "Log Out": "Cerrar sesión",
"Log Out of Organization": "Cerrar sesión de organización", "Log Out of Organization": "Cerrar sesión en esta organización",
"Manual proxy configuration": "Configuración de proxy manual", "Look Up": "Consultar",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Mantenido por {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Descargar Manualmente",
"Manual proxy configuration": "Configurar proxy manualmente",
"Minimize": "Minimizar", "Minimize": "Minimizar",
"Mute all sounds from Zulip": "Silenciar todos los sonidos de Zulip", "Mute all sounds from Zulip": "Silenciar todos los sonidos de Zulip",
"NO": "NO",
"Network": "Red", "Network": "Red",
"Network and Proxy Settings": "Network and Proxy Settings", "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", "OR": "O",
"On macOS, the OS spellchecker is used.": "En macOS se utiliza la verificación ortográfica del sistema operativo.", "On macOS, the OS spellchecker is used.": "En macOS, se utiliza el corrector del sistema.",
"Organization URL": "URL de la organización", "Organization URL": "Link de la organización",
"Organizations": "Organizaciones", "Organizations": "Organizaciones",
"Paste": "Pegar", "Paste": "Pegar",
"Paste and Match Style": "Pegar y mantener estilo", "Paste and Match Style": "Pegar y mantener estilo",
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Reglas para ignorar proxy", "Proxy bypass rules": "Reglas para ignorar proxy",
"Proxy rules": "Reglas del proxy", "Proxy rules": "Reglas del proxy",
"Proxy settings saved.": "Se guardó la configuración de Proxy.",
"Quit": "Cerrar", "Quit": "Cerrar",
"Quit Zulip": "Cerrar Zulip", "Quit Zulip": "Cerrar Zulip",
"Quit when the window is closed": "Salir cuando la ventana se cierre", "Quit when the window is closed": "Cerrar aplicación al cerrar la ventana",
"Redo": "Rehacer", "Redo": "Rehacer",
"Release Notes": "Notas de la versión", "Release Notes": "Notas de la versión",
"Reload": "Recargar", "Reload": "Recargar",
"Report an Issue": "Informar de un error", "Report an Issue": "Reportar un problema ",
"Reset App Settings": "Reiniciar ajustes de la aplicación", "Reset App Settings": "Restaurar configuración de la aplicación",
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Restaurar la aplicación eliminando todas las cuentas y organizaciones conectadas.",
"Save": "Guardar", "Save": "Guardar",
"Select All": "Seleccionar todo", "Select All": "Seleccionar todo",
"Select Download Location": "Seleccionar ubicación de Descargas",
"Select file": "Seleccionar archivo",
"Services": "Servicios", "Services": "Servicios",
"Settings": "Ajustes", "Settings": "Configuración",
"Shortcuts": "Atajos de teclado", "Shortcuts": "Atajos",
"Show app icon in system tray": "Mostrar un icono de la aplicación en la bandeja del sistema", "Show app icon in system tray": "Mostrar ícono de la aplicación en la bandeja del sistema",
"Show app unread badge": "Mostrar un globo en el icono si hay mensajes sin leer",
"Show desktop notifications": "Mostrar notificaciones de escritorio", "Show desktop notifications": "Mostrar notificaciones de escritorio",
"Show sidebar": "Mostrar barra lateral", "Show sidebar": "Mostrar barra lateral",
"Spellchecker Languages": "Idiomas de verificación ortográfica", "Show unread count badge on app icon": "Show unread count badge on app icon",
"Start app at login": "Lanzar aplicación al inicio", "Spellchecker Languages": "Idiomas a verificar por el corrector",
"Switch to Next Organization": "Cambiar a la siguiente organización", "Start app at login": "Lanzar aplicación al iniciar sistema",
"Switch to Previous Organization": "Cambiar a la anterior organización", "Switch to Next Organization": "Pasar a la siguiente organización",
"These desktop app shortcuts extend the Zulip webapp's": "Estos atajos de la aplicación de escritorio extienden los ya existentes en Zulip", "Switch to Previous Organization": "Volver a la organización anterior",
"Tip": "Consej", "The custom CSS previously set is deleted.": "Se eliminó el CSS personalizado establecido previamente.",
"Toggle DevTools for Active Tab": "Activar/desactivar herramientas de desarrollador para la pestaña activa", "The server presented an invalid certificate for {{{origin}}}:\n\n{{{error}}}": "El servidor presentó un certificado inválido para {{{origin}}}:\n\n{{{error}}}",
"Toggle DevTools for Zulip App": "Activar/desactivar herramientas de desarrollador para la aplicación de Zulip", "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.",
"Toggle Do Not Disturb": "Activar/desactivar no molestar", "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.",
"Toggle Full Screen": "Activar/desactivar pantalla completa", "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",
"Toggle Sidebar": "Activar/desactivar barra lateral", "Tip": "Tip",
"Toggle Tray Icon": "Activar/desactivar icono en bandeja del sistema", "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",
"Toggle Full Screen": "Activar o desactivar pantalla completa",
"Toggle Sidebar": "Activar o desactivar barra lateral",
"Toggle Tray Icon": "Activar o desactivar ícono en barra de herramientas",
"Tools": "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",
"Undo": "Deshacer", "Undo": "Deshacer",
"Unhide": "Dejar de ocultar", "Unhide": "Mostrar",
"Unknown error": "Error desconocido",
"Upload": "Subir", "Upload": "Subir",
"Use system proxy settings (requires restart)": "Usar ajustes de proxy del sistema (necesita reinicio)", "Use system proxy settings (requires restart)": "Usar configuración de proxy del sistema (Requiere reiniciar aplicación)",
"View": "Ver", "View": "Ver",
"View Shortcuts": "Ver atajos", "View Shortcuts": "Ver atajos",
"We encountered an error while saving the update notifications.": "Se encontró un error mientras se guardaban las notificaciones de actualización.",
"Window": "Ventana", "Window": "Ventana",
"Window Shortcuts": "Atajos de ventana", "Window Shortcuts": "Atajos de ventana",
"YES": "SÍ", "Yes": "Sí",
"You can select a maximum of 3 languages for spellchecking.": "Puedes elegir un máximo de 3 idiomas para la verificación ortográfica.", "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",
"Zoom In": "Aumentar zoom", "Zoom In": "Aumentar zoom",
"Zoom Out": "Reducir zoom", "Zoom Out": "Reducir zoom ",
"keyboard shortcuts": "atajos de teclado", "keyboard shortcuts": "Atajos de teclado",
"script": "script", "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." "{{{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

@@ -1,47 +1,65 @@
{ {
"About Zulip": "About Zulip", "A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"Actual Size": "Actual Size", "A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"Add Organization": "Add Organization", "About": "About",
"Add a Zulip organization": "Add a Zulip organization", "About Zulip": "Zulip-i buruz",
"Actual Size": "Egungo tamaina",
"Add Organization": "Gehitu erakundea",
"Add a Zulip organization": "Gehitu Zulip erakunde bat",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Aurreratua",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
"App Updates": "App Updates", "App Updates": "App Updates",
"App language (requires restart)": "App language (requires restart)", "App language (requires restart)": "App language (requires restart)",
"Appearance": "Appearance", "Appearance": "Itxura",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back", "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Itzuli",
"Bounce dock on new private message": "Bounce dock on new private message", "Bounce dock on new private message": "Bounce dock on new private message",
"Change": "Change", "CSS file": "CSS file",
"Cancel": "Cancel",
"Certificate error": "Certificate error",
"Change": "Aldatu",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
"Close": "Close", "Close": "Itxi",
"Connect": "Connect", "Connect": "Konektatu",
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copy", "Copy": "Kopiatu",
"Copy Zulip URL": "Copy Zulip URL", "Copy Email Address": "Copy Email Address",
"Create a new organization": "Create a new organization", "Copy Image": "Copy Image",
"Cut": "Cut", "Copy Image URL": "Copy Image URL",
"Copy Link": "Copy Link",
"Copy Zulip URL": "Kopiatu Zulip URL-a",
"Create a new organization": "Sortu erakunde berriia",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Moztu",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Delete", "Delete": "Desegin",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Mahaigaineko jakinarazpenak",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Deskonektatu",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Edit", "Edit": "Editatu",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
"Emoji & Symbols": "Emoji & Symbols", "Emoji & Symbols": "Emoji & Symbols",
"Enable auto updates": "Enable auto updates", "Enable auto updates": "Enable auto updates",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -50,35 +68,50 @@
"Flash taskbar on new message": "Flash taskbar on new message", "Flash taskbar on new message": "Flash taskbar on new message",
"Forward": "Forward", "Forward": "Forward",
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "Orokorra",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Laguntza",
"Help Center": "Help Center", "Help Center": "Laguntza gunea\n",
"Hide": "Hide", "Hide": "Hide",
"Hide Others": "Hide Others", "Hide Others": "Hide Others",
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "Historia",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO", "Network": "Sarea",
"Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "Network and Proxy Settings": "Network and Proxy Settings",
"OR": "OR", "New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "No",
"No Suggestion Found": "No Suggestion Found",
"No updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "EDO",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL", "Organization URL": "Erakundearen URL-a",
"Organizations": "Organizations", "Organizations": "Erakundeak",
"Paste": "Paste", "Paste": "Itsatsi",
"Paste and Match Style": "Paste and Match Style", "Paste and Match Style": "Paste and Match Style",
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Quit": "Quit", "Proxy settings saved.": "Proxy settings saved.",
"Quit": "Irten",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
"Redo": "Redo", "Redo": "Redo",
@@ -87,19 +120,25 @@
"Report an Issue": "Report an Issue", "Report an Issue": "Report an Issue",
"Reset App Settings": "Reset App Settings", "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.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Save", "Save": "Gorde",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Settings", "Settings": "Settings",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Undo": "Undo", "Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Desegin",
"Unhide": "Unhide", "Unhide": "Unhide",
"Upload": "Upload", "Unknown error": "Unknown error",
"Upload": "Igo",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "Ikusi",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,10 +1,13 @@
{ {
"About Zulip": "درباره Zulip ", "A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "درباره زولیپ",
"Actual Size": "اندازه واقعی", "Actual Size": "اندازه واقعی",
"Add Organization": "اضافه کردن سازمان", "Add Organization": "اضافه کردن سازمان",
"Add a Zulip organization": "اضافه کردن سازمان Zulip", "Add a Zulip organization": "اضافه کردن سازمان زولیپ",
"Add custom CSS": "اضافه کردن CSS دلخواه", "Add custom CSS": "اضافه کردن CSS دلخواه",
"AddServer": "افزودن سرور", "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": "همواره به صورت کوچک شده اجرا شو",
@@ -13,27 +16,39 @@
"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)": "مخفی‌سازی خودکار نوار منو (برای نمایش دکمه Alt را بزنید)", "Auto hide menu bar (Press Alt key to display)": "مخفی‌سازی خودکار نوار منو (برای نمایش دکمه Alt را بزنید)",
"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": "لغو کردن",
"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": "بررسی برای به‌روز‌رسانی",
"Close": "بستن", "Close": "بستن",
"Connect": "اتصال", "Connect": "اتصال",
"Connect to another organization": "اتصال به یک سازمان دیگر", "Connect to another organization": "اتصال به یک سازمان دیگر",
"Connected organizations": "سازمان‌های وصل شده", "Connected organizations": "سازمان‌های وصلشده",
"Copy": "رونوشت", "Copy": "رونوشت",
"Copy Zulip URL": "کپی از Zulip URL", "Copy Email Address": "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": "ایجاد سازمان جدید", "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": "تنظیمات دسکتاپ",
"Disconnect": "قطع اتصال", "Disconnect": "قطع اتصال",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "دانلود لاگ های اپلیکیشن", "Download App Logs": "دانلود لاگ های اپلیکیشن",
"Edit": "ویرایش", "Edit": "ویرایش",
"Edit Shortcuts": "ویرایش میانبرها", "Edit Shortcuts": "ویرایش میانبرها",
@@ -42,86 +57,115 @@
"Enable error reporting (requires restart)": "فعال کردن گزارش خطا (نیاز به راه اندازی مجدد)", "Enable error reporting (requires restart)": "فعال کردن گزارش خطا (نیاز به راه اندازی مجدد)",
"Enable spellchecker (requires restart)": "فعال کردن غلط‌گیر املا (نیاز به راه‌اندازی مجدد)", "Enable spellchecker (requires restart)": "فعال کردن غلط‌گیر املا (نیاز به راه‌اندازی مجدد)",
"Enter Full Screen": "ورود به حالت تمام صفحه", "Enter Full Screen": "ورود به حالت تمام صفحه",
"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": "غیرفعال کردن همه صداها در زولیپ",
"NO": "خیر",
"Network": "شبکه", "Network": "شبکه",
"Network and Proxy Settings": "تنظیمات شبکه و پروکسی", "Network and Proxy Settings": "تنظیمات شبکه و پروکسی",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "نه",
"No Suggestion Found": "No Suggestion Found",
"No updates available.": "No updates available.",
"Notification settings": "تنظیمات اطلاع‌رسانی",
"OK": "باشه ",
"OR": "یا", "OR": "یا",
"On macOS, the OS spellchecker is used.": "در macOS از غلط‌گیر املای سیستم‌عامل استفاده می‌شود.", "On macOS, the OS spellchecker is used.": "در macOS از غلط‌گیر املای سیستم‌عامل استفاده می‌شود.",
"Organization URL": "URL سازمان", "Organization URL": "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": "قوانین پروکسی",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "خروج", "Quit": "خروج",
"Quit Zulip": "خروج از زولیپ", "Quit Zulip": "خروج از زولیپ",
"Quit when the window is closed": "وقتی پنجره بسته است از آن خارج شوید", "Quit when the window is closed": "وقتی پنجره بسته است از آن خارج شوید",
"Redo": "Redo", "Redo": "اجرای دوباره",
"Release Notes": "یادداشت های انتشار", "Release Notes": "یادداشتهای انتشار",
"Reload": "بارگذاری مجدد", "Reload": "بارگذاری مجدد",
"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": "خدمات",
"Settings": "تنظیمات", "Settings": "تنظیمات",
"Shortcuts": "میانبرها", "Shortcuts": "میانبرها",
"Show app icon in system tray": "نمایش نماد برنامه در ناحیه اعلان سیستم", "Show app icon in system tray": "نمایش نماد برنامه در ناحیه اعلان سیستم",
"Show app unread badge": "نشان برنامه خوانده نشده نمایش داده شود",
"Show desktop notifications": "نمایش اعلان های دسکتاپ", "Show desktop notifications": "نمایش اعلان های دسکتاپ",
"Show sidebar": "نمایش ستون کناری", "Show sidebar": "نمایش ستون کناری",
"Spellchecker Languages": "غلط یاب املایی زبان ها", "Show unread count badge on app icon": "Show unread count badge on app icon",
"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": "این میانبرهای برنامه دسکتاپ، برنامه وب Zulip را گسترش می دهند", "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": "این میانبرهای برنامه دسکتاپ، برنامه وب زولیپ را گسترش می دهند",
"Tip": "نکته", "Tip": "نکته",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "تغییر ابزارهای توسعه برای تب فعال",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App", "Toggle DevTools for Zulip App": "تغییر ابزارهای توسعه برای اپلیکیشن زولیپ",
"Toggle Do Not Disturb": "Toggle Do Not Disturb", "Toggle Do Not Disturb": "تغییر حالت مزاحم نشو",
"Toggle Full Screen": "Toggle Full Screen", "Toggle Full Screen": "تغییر حالت تمام صفحه",
"Toggle Sidebar": "تغییر نوار کناری", "Toggle Sidebar": "تغییر نوار کناری",
"Toggle Tray Icon": "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", "Unhide": "ظاهر کردن",
"Unknown error": "Unknown error",
"Upload": "آپلود", "Upload": "آپلود",
"Use system proxy settings (requires restart)": "استفاده از تنظیمات پراکسی سیستم (نیاز به راه اندازی مجدد)", "Use system proxy settings (requires restart)": "استفاده از تنظیمات پراکسی سیستم (نیاز به راه اندازی مجدد)",
"View": "مشاهده", "View": "مشاهده",
"View Shortcuts": "مشاهده میانبرها", "View Shortcuts": "مشاهده میانبرها",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "پنجره", "Window": "پنجره",
"Window Shortcuts": "میانبرهای پنجره", "Window Shortcuts": "میانبرهای پنجره",
"YES": "بله", "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.": "شما می توانید حداکثر 3 زبان را برای بررسی املا انتخاب کنید.", "You can select a maximum of 3 languages for spellchecking.": "شما می توانید حداکثر 3 زبان را برای بررسی املا انتخاب کنید.",
"Zoom In": "بزرگنمایی", "Zoom In": "بزرگنمایی",
"Zoom Out": "کوچک نمایی", "Zoom Out": "کوچک نمایی",
"keyboard shortcuts": "میانبرهای صفحه کلید", "keyboard shortcuts": "میانبرهای صفحه کلید",
"script": "script", "script": "script",
"{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} نسخه {{{version}}} سرور Zulip قدیمی را اجرا می‌کند. ممکن است به طور کامل در این برنامه کار نکند." "{{{server}}} runs an outdated Zulip Server version {{{version}}}. It may not fully work in this app.": "{{{server}}} نسخه {{{version}}} سرور زولیپ قدیمی را اجرا می‌کند. ممکن است به طور کامل در این برنامه کار نکند."
} }

View File

@@ -1,23 +1,31 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Tietoa Zulipista", "About Zulip": "Tietoa Zulipista",
"Actual Size": "Alkuperäinen koko", "Actual Size": "Alkuperäinen koko",
"Add Organization": "Lisää organisaatio", "Add Organization": "Lisää organisaatio",
"Add a Zulip organization": "Lisää Zulip-organisaatio", "Add a Zulip organization": "Lisää Zulip-organisaatio",
"Add custom CSS": "Lisää oma CSS", "Add custom CSS": "Lisää oma CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Lisäasetukset", "Advanced": "Lisäasetukset",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "Kaikki yhdistetyt organisaatiot näkyvät täällä.",
"Always start minimized": "Aloita aina pienennettynä", "Always start minimized": "Aloita aina pienennettynä",
"App Updates": "Sovelluspäivitykset", "App Updates": "Sovelluspäivitykset",
"App language (requires restart)": "Sovelluksen kieli (uudelleenkäynnistys tarvitaan)", "App language (requires restart)": "Sovelluksen kieli (uudelleenkäynnistys tarvitaan)",
"Appearance": "Ulkonäkö", "Appearance": "Ulkonäkö",
"Application Shortcuts": "Sovelluksen pikanäppäimet", "Application Shortcuts": "Sovelluksen pikanäppäimet",
"Are you sure you want to disconnect this organization?": "Oletko varma että haluat katkaista yhteyden tähän organisaatioon?", "Are you sure you want to disconnect this organization?": "Oletko varma että haluat katkaista yhteyden tähän organisaatioon?",
"Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Kysy ennen lataamista, minne tiedostot tallennetaan", "Ask where to save files before downloading": "Kysy ennen lataamista, minne tiedostot tallennetaan",
"Auto hide Menu bar": "Piilota automaattisesti Menu-valikko", "Auto hide Menu bar": "Piilota automaattisesti Menu-valikko",
"Auto hide menu bar (Press Alt key to display)": "Piilota automaattisesti Menu-valikko (Näytä painamalla Alt-näppäintä)", "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}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Takaisin", "Back": "Takaisin",
"Bounce dock on new private message": "Bounce dock on new private message", "Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS file",
"Cancel": "Peruuta",
"Certificate error": "Certificate error",
"Change": "Muuta", "Change": "Muuta",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Tarkista päivitykset", "Check for Updates": "Tarkista päivitykset",
@@ -26,22 +34,32 @@
"Connect to another organization": "Yhdistä toiseen organisaatioon", "Connect to another organization": "Yhdistä toiseen organisaatioon",
"Connected organizations": "Yhdistetyt organisaatiot", "Connected organizations": "Yhdistetyt organisaatiot",
"Copy": "Kopioi", "Copy": "Kopioi",
"Copy Email Address": "Copy Email Address",
"Copy Image": "Kopioi kuva",
"Copy Image URL": "Kopioi kuvan URL",
"Copy Link": "Kopioi linkki",
"Copy Zulip URL": "Kopioi Zulip-URL", "Copy Zulip URL": "Kopioi Zulip-URL",
"Create a new organization": "Luo uusi organisaatio", "Create a new organization": "Luo uusi organisaatio",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Leikkaa", "Cut": "Leikkaa",
"Default download location": "Tallennuksen oletushakemisto", "Default download location": "Tallennuksen oletushakemisto",
"Delete": "Poista", "Delete": "Poista",
"Desktop Notifications": "Työpöydän ilmoitukset", "Desktop Notifications": "Työpöydän ilmoitukset",
"Desktop Settings": "Työpöytä asetukset", "Desktop Settings": "Työpöytä asetukset",
"Disconnect": "Katkaise yhteys", "Disconnect": "Katkaise yhteys",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Lataushistoria", "Download App Logs": "Lataushistoria",
"Edit": "Muokkaa", "Edit": "Muokkaa",
"Edit Shortcuts": "Muokkauksen pikanäppäimet", "Edit Shortcuts": "Muokkauksen pikanäppäimet",
"Emoji & Symbols": "Emoji & Symbols", "Emoji & Symbols": "Emojit ja symbolit",
"Enable auto updates": "Salli automaattiset päivitykset", "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)", "Enable spellchecker (requires restart)": "Ota oikoluku käyttöön (uudelleenkäynnistys tarvitaan)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Vaihda koko näytön tilaan",
"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": "Tehdasasetusten palautus", "Factory Reset": "Tehdasasetusten palautus",
"Factory Reset Data": "Tehdasasetusten palautustiedot", "Factory Reset Data": "Tehdasasetusten palautustiedot",
"File": "Tiedosto", "File": "Tiedosto",
@@ -52,23 +70,37 @@
"Functionality": "Ominaisuus", "Functionality": "Ominaisuus",
"General": "Yleiset", "General": "Yleiset",
"Get beta updates": "Tilaa beta-päivitykset", "Get beta updates": "Tilaa beta-päivitykset",
"Go Back": "Go Back",
"Hard Reload": "Täysi uudelleenlataus", "Hard Reload": "Täysi uudelleenlataus",
"Help": "Ohje", "Help": "Ohje",
"Help Center": "Tukikeskus", "Help Center": "Tukikeskus",
"Hide": "Piilota", "Hide": "Piilota",
"Hide Others": "Piilota muut", "Hide Others": "Piilota muut",
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Piilota Zulip",
"History": "Historia", "History": "Historia",
"History Shortcuts": "Historian pikanäppäimet", "History Shortcuts": "Historian pikanäppäimet",
"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": "Pikanäppäimet", "Keyboard Shortcuts": "Pikanäppäimet",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Kirjaudu ulos", "Log Out": "Kirjaudu ulos",
"Log Out of Organization": "Kirjaudu ulos organisaatiosta", "Log Out of Organization": "Kirjaudu ulos organisaatiosta",
"Look Up": "Look Up",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Manualiset välityspalvelin-asetukset", "Manual proxy configuration": "Manualiset välityspalvelin-asetukset",
"Minimize": "Pienennä", "Minimize": "Pienennä",
"Mute all sounds from Zulip": "Mykistä kaikki Zulip-äänet", "Mute all sounds from Zulip": "Mykistä kaikki Zulip-äänet",
"NO": "EI",
"Network": "Verkko", "Network": "Verkko",
"Network and Proxy Settings": "Network and Proxy Settings", "Network and Proxy Settings": "Verkon ja välipalvelimen asetukset",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "Ei",
"No Suggestion Found": "Ei ehdotuksia",
"No updates available.": "No updates available.",
"Notification settings": "Ilmoitusasetukset",
"OK": "OK",
"OR": "TAI", "OR": "TAI",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organisaation URL", "Organization URL": "Organisaation URL",
@@ -78,6 +110,7 @@
"Proxy": "Välityspalvelin", "Proxy": "Välityspalvelin",
"Proxy bypass rules": "Välityspalvelimen ohituksen säännöt", "Proxy bypass rules": "Välityspalvelimen ohituksen säännöt",
"Proxy rules": "Välityspalvelimen-säännöt", "Proxy rules": "Välityspalvelimen-säännöt",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Lopeta", "Quit": "Lopeta",
"Quit Zulip": "Lopeta Zulip", "Quit Zulip": "Lopeta Zulip",
"Quit when the window is closed": "Sulje sovellus, kun ikkuna suljetaan", "Quit when the window is closed": "Sulje sovellus, kun ikkuna suljetaan",
@@ -85,21 +118,27 @@
"Release Notes": "Julkaisutiedot", "Release Notes": "Julkaisutiedot",
"Reload": "Lataa uudelleen", "Reload": "Lataa uudelleen",
"Report an Issue": "Raportoi ongelmasta", "Report an Issue": "Raportoi ongelmasta",
"Reset App Settings": "Reset App Settings", "Reset App Settings": "Nollaa asetukset",
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Nollaa sovelluksen, ja poistaa kaikki liitetyt organisaatiot ja tilit.",
"Save": "Tallenna", "Save": "Tallenna",
"Select All": "Valitse kaikki", "Select All": "Valitse kaikki",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Asetukset", "Settings": "Asetukset",
"Shortcuts": "Oikopolut", "Shortcuts": "Oikopolut",
"Show app icon in system tray": "Näytä sovellus ilmoituspaneelissa", "Show app icon in system tray": "Näytä sovellus ilmoituspaneelissa",
"Show app unread badge": "Näytä lukemattomien määrä -merkki",
"Show desktop notifications": "Näytä työpöytäilmoitukset", "Show desktop notifications": "Näytä työpöytäilmoitukset",
"Show sidebar": "Näytä sivupaneeli", "Show sidebar": "Näytä sivupaneeli",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Oikoluvun kielet", "Spellchecker Languages": "Oikoluvun kielet",
"Start app at login": "Käynnistä sovellus sisäänkirjauduttaessa", "Start app at login": "Käynnistä sovellus sisäänkirjauduttaessa",
"Switch to Next Organization": "Vaihda seuraavaan organisaatioon", "Switch to Next Organization": "Vaihda seuraavaan organisaatioon",
"Switch to Previous Organization": "Vaihda edelliseen organisaatioon", "Switch to Previous Organization": "Vaihda edelliseen organisaatioon",
"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": "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", "Tip": "Vinkki",
"Toggle DevTools for Active Tab": "Kehitystyökalut / aktiivinen ikkuna", "Toggle DevTools for Active Tab": "Kehitystyökalut / aktiivinen ikkuna",
@@ -109,19 +148,24 @@
"Toggle Sidebar": "Näytä/piilota sivupalkki", "Toggle Sidebar": "Näytä/piilota sivupalkki",
"Toggle Tray Icon": "Vaihda Tray-kuvaketta", "Toggle Tray Icon": "Vaihda Tray-kuvaketta",
"Tools": "Työkalut", "Tools": "Työkalut",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Peru", "Undo": "Peru",
"Unhide": "Näytä", "Unhide": "Näytä",
"Unknown error": "Unknown error",
"Upload": "Lähetä tiedosto", "Upload": "Lähetä tiedosto",
"Use system proxy settings (requires restart)": "Käytä järjestelmän välityspalvelimen asetuksia (uudelleenkäynnistys tarvitaan)", "Use system proxy settings (requires restart)": "Käytä järjestelmän välityspalvelimen asetuksia (uudelleenkäynnistys tarvitaan)",
"View": "Näytä", "View": "Näytä",
"View Shortcuts": "Katselun pikanäppäimet", "View Shortcuts": "Katselun pikanäppäimet",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Ikkuna", "Window": "Ikkuna",
"Window Shortcuts": "Näkymän pikanäppäimet", "Window Shortcuts": "Näkymän pikanäppäimet",
"YES": "KYLLÄ", "Yes": "Kyllä",
"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.": "Voit valita oikolukua varten enintään 3 kieltä.", "You can select a maximum of 3 languages for spellchecking.": "Voit valita oikolukua varten enintään 3 kieltä.",
"Zoom In": "Lähennä", "Zoom In": "Lähennä",
"Zoom Out": "Loitonna", "Zoom Out": "Loitonna",
"keyboard shortcuts": "Pikanäppäimet", "keyboard shortcuts": "Pikanäppäimet",
"script": "script", "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." "{{{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,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "À propos",
"About Zulip": "À propos de Zulip", "About Zulip": "À propos de Zulip",
"Actual Size": "Taille actuelle", "Actual Size": "Taille actuelle",
"Add Organization": "Ajouter une organisation", "Add Organization": "Ajouter une organisation",
"Add a Zulip organization": "Ajouter une organisation Zulip", "Add a Zulip organization": "Ajouter une organisation Zulip",
"Add custom CSS": "Ajouter un CSS spécifique", "Add custom CSS": "Ajouter un CSS spécifique",
"AddServer": "AjouterServeur", "Add to Dictionary": "Ajouter au dictionnaire",
"Advanced": "Avancé", "Advanced": "Avancé",
"All the connected organizations will appear here.": "Toutes les organisations connectées apparaitront ici.", "All the connected organizations will appear here.": "Toutes les organisations connectées apparaitront ici.",
"Always start minimized": "Toujours démarrer en fenêtre réduite", "Always start minimized": "Toujours démarrer en fenêtre réduite",
@@ -13,11 +16,16 @@
"Appearance": "Apparence", "Appearance": "Apparence",
"Application Shortcuts": "Raccourcis de l'application", "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?": "Are you sure?",
"Ask where to save files before downloading": "Demander où sauvegarder les fichiers avant de télécharger", "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": "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)", "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}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Précédent", "Back": "Précédent",
"Bounce dock on new private message": "Animer l'horloge à la réception d'un nouveau message privé", "Bounce dock on new private message": "Animer l'horloge à la réception d'un nouveau message privé",
"CSS file": "CSS file",
"Cancel": "Annuler",
"Certificate error": "Certificate error",
"Change": "Changer", "Change": "Changer",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Modifier la langue à partir des Préférences Système → Clavier → Text → Orthographe.", "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", "Check for Updates": "Vérifier les mises à jour",
@@ -26,14 +34,21 @@
"Connect to another organization": "Se connecter à une autre organisation", "Connect to another organization": "Se connecter à une autre organisation",
"Connected organizations": "Organisations connectées", "Connected organizations": "Organisations connectées",
"Copy": "Copier", "Copy": "Copier",
"Copy Email Address": "Copy Email Address",
"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", "Copy Zulip URL": "Copier l'URL de Zulip",
"Create a new organization": "Créer une nouvelle organisation", "Create a new organization": "Créer une nouvelle organisation",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Couper", "Cut": "Couper",
"Default download location": "Destination de téléchargement par défaut", "Default download location": "Destination de téléchargement par défaut",
"Delete": "Supprimer", "Delete": "Supprimer",
"Desktop Notifications": "Notifications de bureau", "Desktop Notifications": "Notifications de bureau",
"Desktop Settings": "Paramètres de bureau", "Desktop Settings": "Paramètres de bureau",
"Disconnect": "Déconnecter", "Disconnect": "Déconnecter",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Télécharger le journal de l'application", "Download App Logs": "Télécharger le journal de l'application",
"Edit": "Modifier", "Edit": "Modifier",
"Edit Shortcuts": "Modifier les raccourcis", "Edit Shortcuts": "Modifier les raccourcis",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Activer le rapport d'erreur (redémarrage nécessaire)", "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)", "Enable spellchecker (requires restart)": "Activer le correcteur orthographique (redémarrage nécessaire)",
"Enter Full Screen": "Accéder au plein écran", "Enter Full Screen": "Accéder au plein écran",
"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": "Réinitialiser aux paramètres par défaut", "Factory Reset": "Réinitialiser aux paramètres par défaut",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "Fichier", "File": "Fichier",
@@ -52,6 +70,7 @@
"Functionality": "Fonctionnalités", "Functionality": "Fonctionnalités",
"General": "Général", "General": "Général",
"Get beta updates": "Recevoir les mises à jour Beta", "Get beta updates": "Recevoir les mises à jour Beta",
"Go Back": "Go Back",
"Hard Reload": "Forcer un rechargement", "Hard Reload": "Forcer un rechargement",
"Help": "Aide", "Help": "Aide",
"Help Center": "Centre d'aide", "Help Center": "Centre d'aide",
@@ -60,15 +79,28 @@
"Hide Zulip": "Cacher Zulip", "Hide Zulip": "Cacher Zulip",
"History": "Historique", "History": "Historique",
"History Shortcuts": "Historique des raccourcis", "History Shortcuts": "Historique des raccourcis",
"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": "Raccourcis clavier", "Keyboard Shortcuts": "Raccourcis clavier",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Se déconnecter", "Log Out": "Se déconnecter",
"Log Out of Organization": "Se déconnecter de l'organisation", "Log Out of Organization": "Se déconnecter de l'organisation",
"Look Up": "Chercher",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Configuration manuelle du proxy", "Manual proxy configuration": "Configuration manuelle du proxy",
"Minimize": "Minimiser", "Minimize": "Minimiser",
"Mute all sounds from Zulip": "Couper tous les sons de Zulip", "Mute all sounds from Zulip": "Couper tous les sons de Zulip",
"NO": "Non",
"Network": "Réseau", "Network": "Réseau",
"Network and Proxy Settings": "Paramètres réseau et proxy", "Network and Proxy Settings": "Paramètres réseau et proxy",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "Non",
"No Suggestion Found": "Aucune suggestion trouvée",
"No updates available.": "No updates available.",
"Notification settings": "Paramètres de notification",
"OK": "OK",
"OR": "OU", "OR": "OU",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL de l'organisation", "Organization URL": "URL de l'organisation",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Règles de contournement du proxy", "Proxy bypass rules": "Règles de contournement du proxy",
"Proxy rules": "Règles du proxy", "Proxy rules": "Règles du proxy",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quitter", "Quit": "Quitter",
"Quit Zulip": "Quitter Zulip", "Quit Zulip": "Quitter Zulip",
"Quit when the window is closed": "Quitter l'application lors de la fermeture de la fenêtre", "Quit when the window is closed": "Quitter l'application lors de la fermeture de la fenêtre",
@@ -89,17 +122,23 @@
"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.", "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", "Save": "Sauvegarder",
"Select All": "Sélectionner tout", "Select All": "Sélectionner tout",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Paramètres", "Settings": "Paramètres",
"Shortcuts": "Raccourcis", "Shortcuts": "Raccourcis",
"Show app icon in system tray": "Afficher l'icone de l'application dans la barre d'état", "Show app icon in system tray": "Afficher l'icone de l'application dans la barre d'état",
"Show app unread badge": "Afficher un badge lors d'un message non lu",
"Show desktop notifications": "Afficher les notifications sur le bureau", "Show desktop notifications": "Afficher les notifications sur le bureau",
"Show sidebar": "Afficher la barre latérale", "Show sidebar": "Afficher la barre latérale",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Langues du vérificateur orthographique", "Spellchecker Languages": "Langues du vérificateur orthographique",
"Start app at login": "Démarrer l'application à l'ouverture", "Start app at login": "Démarrer l'application à l'ouverture",
"Switch to Next Organization": "Basculer à l'organisation suivante", "Switch to Next Organization": "Basculer à l'organisation suivante",
"Switch to Previous Organization": "Basculer à l'organisation précédente", "Switch to Previous Organization": "Basculer à l'organisation précédente",
"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": "Ces raccourcis d'application vont au-delà de l'application web Zulip", "These desktop app shortcuts extend the Zulip webapp's": "Ces raccourcis d'application vont au-delà de l'application web Zulip",
"Tip": "Conseil", "Tip": "Conseil",
"Toggle DevTools for Active Tab": "Activer les outils de développement dans l'onglet actif", "Toggle DevTools for Active Tab": "Activer les outils de développement dans l'onglet actif",
@@ -109,19 +148,24 @@
"Toggle Sidebar": "Activer la barre latérale", "Toggle Sidebar": "Activer la barre latérale",
"Toggle Tray Icon": "Activer l'icone dans la barre d'état", "Toggle Tray Icon": "Activer l'icone dans la barre d'état",
"Tools": "Outils", "Tools": "Outils",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Annuler", "Undo": "Annuler",
"Unhide": "Démasquer", "Unhide": "Démasquer",
"Unknown error": "Unknown error",
"Upload": "Envoyer", "Upload": "Envoyer",
"Use system proxy settings (requires restart)": "Utiliser les paramètres de proxy du système (exige un redémarrage)", "Use system proxy settings (requires restart)": "Utiliser les paramètres de proxy du système (exige un redémarrage)",
"View": "Affichage", "View": "Affichage",
"View Shortcuts": "Voir les raccourcis", "View Shortcuts": "Voir les raccourcis",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Fenêtre", "Window": "Fenêtre",
"Window Shortcuts": "Raccourcis fenêtre", "Window Shortcuts": "Raccourcis fenêtre",
"YES": "Oui", "Yes": "Oui",
"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.": "Vous pouvez sélectionner au maximum 3 langues pour la vérification orthographique.", "You can select a maximum of 3 languages for spellchecking.": "Vous pouvez sélectionner au maximum 3 langues pour la vérification orthographique.",
"Zoom In": "Zoom avant", "Zoom In": "Zoom avant",
"Zoom Out": "Zoom arrière", "Zoom Out": "Zoom arrière",
"keyboard shortcuts": "Raccourcis clavier", "keyboard shortcuts": "Raccourcis clavier",
"script": "scénario", "script": "scénario",
"{{{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." "{{{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."
} }

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "About Zulip", "About Zulip": "About Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organization", "Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization", "Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS file",
"Cancel": "Cancelar",
"Certificate error": "Certificate error",
"Change": "Change", "Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copy", "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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization", "Create a new organization": "Create a new organization",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Delete", "Delete": "Delete",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Editar", "Edit": "Editar",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "Aceptar",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL", "Organization URL": "Organization URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Gardar", "Save": "Gardar",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Configuración", "Settings": "Configuración",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,127 +1,171 @@
{ {
"About Zulip": "About Zulip", "A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"Actual Size": "Actual Size", "A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"Add Organization": "Add Organization", "About": "About",
"Add a Zulip organization": "Add a Zulip organization", "About Zulip": "જુલિપ વિશે",
"Add custom CSS": "Add custom CSS", "Actual Size": "વાસ્તવિક માપ",
"AddServer": "AddServer", "Add Organization": "સંસ્થા ઉમેરો",
"Advanced": "Advanced", "Add a Zulip organization": "એક જુલિપ સંસ્થા ઉમેરો",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "Add custom CSS": "વૈયક્તિક CSS ઉમેરો",
"Always start minimized": "Always start minimized", "Add to Dictionary": "Add to Dictionary",
"App Updates": "App Updates", "Advanced": "અગ્રણિત",
"App language (requires restart)": "App language (requires restart)", "All the connected organizations will appear here.": "સર્વ જોડાયેલ સંસ્થાઓ અહીં દર્શાવાશે.",
"Appearance": "Appearance", "Always start minimized": "હંમેશા નીચેની આરંભ કરો",
"Application Shortcuts": "Application Shortcuts", "App Updates": "એપ્લિકેશન અપડેટ્સ",
"Are you sure you want to disconnect this organization?": "Are you sure you want to disconnect this organization?", "App language (requires restart)": "એપ્લિકેશન ભાષા (પુનઃઆરંભ કરવાની જરૂર છે)",
"Ask where to save files before downloading": "Ask where to save files before downloading", "Appearance": "દેખાવ",
"Auto hide Menu bar": "Auto hide Menu bar", "Application Shortcuts": "એપ્લિકેશન શોર્ટકટ્સ",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "Are you sure you want to disconnect this organization?": "શું તમે ખાતરી છે કે તમે આ સંસ્થાનો ડિસ્કનેક્ટ કરવા માંગો છો?",
"Back": "Back", "Are you sure?": "Are you sure?",
"Bounce dock on new private message": "Bounce dock on new private message", "Ask where to save files before downloading": "ડાઉનલોડ કરવા પહેલા ફાઈલો સેવ કરવાની જગ્યા વિશે પુછો",
"Change": "Change", "Auto hide Menu bar": "આટો મેન્યુ બાર છુપાવો",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Auto hide menu bar (Press Alt key to display)": "આટો મેન્યુ બાર છુપાવો (ડિસ્પ્લે કરવા માટે Alt કી દબાવો)",
"Check for Updates": "Check for Updates", "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Close": "Close", "Back": "પાછળ",
"Connect": "Connect", "Bounce dock on new private message": "નવો ખાનગી સંદેશ પર ડૉક બાઉન્સ કરો",
"Connect to another organization": "Connect to another organization", "CSS file": "CSS file",
"Connected organizations": "Connected organizations", "Cancel": "રદ કરો",
"Copy": "Copy", "Certificate error": "Certificate error",
"Copy Zulip URL": "Copy Zulip URL", "Change": "બદલો",
"Create a new organization": "Create a new organization", "Change the language from System Preferences → Keyboard → Text → Spelling.": "ભાષા બદલો સિસ્ટમ પ્રાથમિકતાઓ → કીબોર્ડ → ટેક્સટ → સ્પેલિંગમાંથી.",
"Cut": "Cut", "Check for Updates": "અપડેટ્સ માટે તપાસ કરો",
"Default download location": "Default download location", "Close": "બંધ",
"Delete": "Delete", "Connect": "જોડો",
"Desktop Notifications": "Desktop Notifications", "Connect to another organization": "અન્ય સંસ્થાને જોડો",
"Desktop Settings": "Desktop Settings", "Connected organizations": "જોડાયેલ સંસ્થાઓ",
"Disconnect": "Disconnect", "Copy": "કૉપી",
"Download App Logs": "Download App Logs", "Copy Email Address": "Copy Email Address",
"Edit": "Edit", "Copy Image": "Copy Image",
"Edit Shortcuts": "Edit Shortcuts", "Copy Image URL": "Copy Image URL",
"Emoji & Symbols": "Emoji & Symbols", "Copy Link": "Copy Link",
"Enable auto updates": "Enable auto updates", "Copy Zulip URL": "જુલિપ URL કૉપી કરો",
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Create a new organization": "નવી સંસ્થા બનાવો",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Custom CSS file deleted": "Custom CSS file deleted",
"Enter Full Screen": "Enter Full Screen", "Cut": "કટ કરો",
"Factory Reset": "Factory Reset", "Default download location": "મૂળભૂત ડાઉનલોડ સ્થળ",
"Factory Reset Data": "Factory Reset Data", "Delete": "કાઢો",
"File": "File", "Desktop Notifications": "ડેસ્કટોપ સૂચનાઓ",
"Find accounts": "Find accounts", "Desktop Settings": "ડેસ્કટોપ સેટિંગ્સ",
"Find accounts by email": "Find accounts by email", "Disconnect": "ડિસ્કનેક્ટ",
"Flash taskbar on new message": "Flash taskbar on new message", "Disconnect organization": "Disconnect organization",
"Forward": "Forward", "Do Not Disturb": "Do Not Disturb",
"Functionality": "Functionality", "Download App Logs": "એપ્લિકેશન લોગ્સ ડાઉનલોડ કરો",
"General": "General", "Edit": "સંપાદિત કરો",
"Get beta updates": "Get beta updates", "Edit Shortcuts": "શોર્ટકટ્સ સંપાદિત કરો",
"Hard Reload": "Hard Reload", "Emoji & Symbols": "ઇમોજી અને પ્રતીકો",
"Help": "Help", "Enable auto updates": "ઓટો અપડેટ્સ સક્ષમ કરો",
"Help Center": "Help Center", "Enable error reporting (requires restart)": "ત્રુટિ રિપોર્ટિંગ સક્ષમ કરો (પુનઃઆરંભ કરવાની જરૂર છે)",
"Hide": "Hide", "Enable spellchecker (requires restart)": "સ્પેલચેકર સક્ષમ કરો (પુનઃઆરંભ કરવાની જરૂર છે)",
"Hide Others": "Hide Others", "Enter Full Screen": "ફુલ સ્ક્રીનમાં દાખલ કરો",
"Hide Zulip": "Hide Zulip", "Error saving new organization": "Error saving new organization",
"History": "History", "Error saving update notifications": "Error saving update notifications",
"History Shortcuts": "History Shortcuts", "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}}}",
"Keyboard Shortcuts": "Keyboard Shortcuts", "Factory Reset": "ફેક્ટરી રીસેટ",
"Log Out": "Log Out", "Factory Reset Data": "ફેક્ટરી રીસેટ ડેટા",
"Log Out of Organization": "Log Out of Organization", "File": "ફાઈલ",
"Manual proxy configuration": "Manual proxy configuration", "Find accounts": "એકાઉન્ટ્સ શોધો",
"Minimize": "Minimize", "Find accounts by email": "ઇમેઇલ દ્વારા એકાઉન્ટ્સ શોધો",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Flash taskbar on new message": "નવો સંદેશ પર ટાસ્કબાર ફ્લેશ કરો",
"NO": "NO", "Forward": "ફોરવર્ડ",
"Network": "Network", "Functionality": "કાર્યક્ષમતા",
"Network and Proxy Settings": "Network and Proxy Settings", "General": "સામાન્ય",
"OR": "OR", "Get beta updates": "બીટા અપડેટ્સ મેળવો",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "Go Back": "Go Back",
"Organization URL": "Organization URL", "Hard Reload": "હાર્ડ રિલોડ",
"Organizations": "Organizations", "Help": "મદદ",
"Paste": "Paste", "Help Center": "મદદ કેન્દ્ર",
"Paste and Match Style": "Paste and Match Style", "Hide": "છુપાવો",
"Proxy": "Proxy", "Hide Others": "અન્યો છુપાવો",
"Proxy bypass rules": "Proxy bypass rules", "Hide Zulip": "જુલિપ છુપાવો",
"Proxy rules": "Proxy rules", "History": "ઇતિહાસ",
"Quit": "Quit", "History Shortcuts": "ઇતિહાસ શોર્ટકટ્સ",
"Quit Zulip": "Quit Zulip", "Install Later": "Install Later",
"Quit when the window is closed": "Quit when the window is closed", "Install and Relaunch": "Install and Relaunch",
"Redo": "Redo", "It will be installed the next time you restart the application.": "It will be installed the next time you restart the application.",
"Release Notes": "Release Notes", "Keyboard Shortcuts": "કીબોર્ડ શોર્ટકટ્સ",
"Reload": "Reload", "Later": "Later",
"Report an Issue": "Report an Issue", "Loading": "Loading",
"Reset App Settings": "Reset App Settings", "Log Out": "લૉગ આઉટ",
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Log Out of Organization": "સંસ્થામાં લૉગ આઉટ કરો",
"Save": "Save", "Look Up": "Look Up",
"Select All": "Select All", "Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Services": "Services", "Manual Download": "Manual Download",
"Settings": "Settings", "Manual proxy configuration": "મેન્યુઅલ પ્રોક્સી રૂપરેખાંકન",
"Shortcuts": "Shortcuts", "Minimize": "નીચેનું કરો",
"Show app icon in system tray": "Show app icon in system tray", "Mute all sounds from Zulip": "જુલિપમાંથી બધા ધ્વનિઓ મ્યુટ કરો",
"Show app unread badge": "Show app unread badge", "Network": "નેટવર્ક",
"Show desktop notifications": "Show desktop notifications", "Network and Proxy Settings": "નેટવર્ક અને પ્રોક્સી સેટિંગ્સ",
"Show sidebar": "Show sidebar", "New servers added. Reload app now?": "New servers added. Reload app now?",
"Spellchecker Languages": "Spellchecker Languages", "No": "No",
"Start app at login": "Start app at login", "No Suggestion Found": "No Suggestion Found",
"Switch to Next Organization": "Switch to Next Organization", "No updates available.": "No updates available.",
"Switch to Previous Organization": "Switch to Previous Organization", "Notification settings": "સૂચના સેટિંગ્સ",
"These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's", "OK": "OK",
"Tip": "Tip", "OR": "અથવા",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "On macOS, the OS spellchecker is used.": "macOS પર, OS સ્પેલચેકરનો ઉપયોગ થાય છે.",
"Toggle DevTools for Zulip App": "Toggle DevTools for Zulip App", "Organization URL": "સંસ્થા URL",
"Toggle Do Not Disturb": "Toggle Do Not Disturb", "Organizations": "સંસ્થાઓ",
"Toggle Full Screen": "Toggle Full Screen", "Paste": "પેસ્ટ",
"Toggle Sidebar": "Toggle Sidebar", "Paste and Match Style": "પેસ્ટ અને સ્ટાઇલ મેચ",
"Toggle Tray Icon": "Toggle Tray Icon", "Proxy": "પ્રોક્સી",
"Tools": "Tools", "Proxy bypass rules": "પ્રોક્સી બાયપાસ નિયમો",
"Undo": "Undo", "Proxy rules": "પ્રોક્સી નિયમો",
"Unhide": "Unhide", "Proxy settings saved.": "Proxy settings saved.",
"Upload": "Upload", "Quit": "છોડો",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Quit Zulip": "જુલિપ છોડો",
"View": "View", "Quit when the window is closed": "જ્યારે વિન્ડો બંધ થાય ત્યારે છોડો",
"View Shortcuts": "View Shortcuts", "Redo": "ફરીથી કરો",
"Window": "Window", "Release Notes": "રિલીઝ નોંધો",
"Window Shortcuts": "Window Shortcuts", "Reload": "રીલોડ",
"YES": "YES", "Report an Issue": "એક મુદ્દો રિપોર્ટ કરો",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.", "Reset App Settings": "એપ્લિકેશન સેટિંગ્સ રીસેટ કરો",
"Zoom In": "Zoom In", "Reset the application, thus deleting all the connected organizations and accounts.": "એપ્લિકેશન રીસેટ કરો, તેથી બંધ થેલેલી બધી સંસ્થાઓ અને એકાઉન્ટ્સ ડિલીટ કરો.",
"Zoom Out": "Zoom Out", "Save": "સાચવો",
"keyboard shortcuts": "keyboard shortcuts", "Select All": "બધું પસંદ કરો",
"script": "script", "Select Download Location": "Select Download Location",
"{{{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." "Select file": "Select file",
"Services": "સેવાઓ",
"Settings": "સેટિંગ્સ",
"Shortcuts": "શોર્ટકટ્સ",
"Show app icon in system tray": "સિસ્ટમ ટ્રેમાં એપ આઇકોન બતાવો",
"Show desktop notifications": "ડેસ્કટોપ નોટિફિકેશન્સ બતાવો",
"Show sidebar": "સાઇડબાર બતાવો",
"Show unread count badge on app icon": "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.": "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": "આ ડેસ્કટોપ એપ શોર્ટકટ્સ જુલિપ વેબએપને વધારાવે છે",
"Tip": "ટીપ",
"Toggle DevTools for Active Tab": "એક્ટિવ ટેબ માટે ડેવટૂલ્સ ટોગલ કરો",
"Toggle DevTools for Zulip App": "જુલિપ એપ માટે ડેવટૂલ્સ ટોગલ કરો",
"Toggle Do Not Disturb": "ચિંતાનો સમય ટોગલ કરો",
"Toggle Full Screen": "પૂર્ણ સ્ક્રીન ટોગલ કરો",
"Toggle Sidebar": "સાઇડબાર ટોગલ કરો",
"Toggle Tray Icon": "ટ્રે આઇકોન ટોગલ કરો",
"Tools": "ટૂલ્સ",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "અનકરવું",
"Unhide": "અદૃશ્ય કરો",
"Unknown error": "Unknown error",
"Upload": "અપલોડ કરો",
"Use system proxy settings (requires restart)": "સિસ્ટમ પ્રોક્સી સેટિંગ્સનો ઉપયોગ કરો (પુનઃઆરંભ કરવાની જરૂર છે)",
"View": "જુઓ",
"View Shortcuts": "શોર્ટકટ્સ જુઓ",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "વિન્ડો",
"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.": "તમે સ્પેલચેક માટે મહત્તમ 3 ભાષાઓ પસંદ કરી શકો છો.",
"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

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"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": "कस्टम CSS जोड़ें", "Add custom CSS": "कस्टम CSS जोड़ें",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "उन्नत", "Advanced": "उन्नत",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "हमेशा कम से कम शुरू करें", "Always start minimized": "हमेशा कम से कम शुरू करें",
@@ -13,11 +16,16 @@
"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", "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)": "ऑटो छिपाने मेनू बार (प्रेस Alt कुंजी प्रदर्शित करने के लिए)", "Auto hide menu bar (Press Alt key to display)": "ऑटो छिपाने मेनू बार (प्रेस Alt कुंजी प्रदर्शित करने के लिए)",
"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": "रद्द करना",
"Certificate error": "Certificate error",
"Change": "परिवर्तन", "Change": "परिवर्तन",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "अद्यतन के लिए जाँच", "Check for Updates": "अद्यतन के लिए जाँच",
@@ -26,14 +34,21 @@
"Connect to another organization": "किसी अन्य संगठन से कनेक्ट करें", "Connect to another organization": "किसी अन्य संगठन से कनेक्ट करें",
"Connected organizations": "जुड़े हुए संगठन", "Connected organizations": "जुड़े हुए संगठन",
"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": "Zulip URL को कॉपी करें", "Copy Zulip URL": "Zulip URL को कॉपी करें",
"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": "डेस्कटॉप सेटिंग्स",
"Disconnect": "डिस्कनेक्ट", "Disconnect": "डिस्कनेक्ट",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "ऐप लॉग डाउनलोड करें", "Download App Logs": "ऐप लॉग डाउनलोड करें",
"Edit": "संपादित करें", "Edit": "संपादित करें",
"Edit Shortcuts": "शॉर्टकट संपादित करें", "Edit Shortcuts": "शॉर्टकट संपादित करें",
@@ -42,6 +57,9 @@
"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 Full Screen": "Enter Full Screen",
"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", "Factory Reset Data": "Factory Reset Data",
"File": "फ़ाइल", "File": "फ़ाइल",
@@ -52,6 +70,7 @@
"Functionality": "कार्यक्षमता", "Functionality": "कार्यक्षमता",
"General": "सामान्य", "General": "सामान्य",
"Get beta updates": "बीटा अपडेट प्राप्त करें", "Get beta updates": "बीटा अपडेट प्राप्त करें",
"Go Back": "Go Back",
"Hard Reload": "हार्ड रीलोड", "Hard Reload": "हार्ड रीलोड",
"Help": "मदद", "Help": "मदद",
"Help Center": "सहायता केंद्र", "Help Center": "सहायता केंद्र",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "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": "ज़ूलिप से सभी ध्वनियों को म्यूट करें",
"NO": "नहीं",
"Network": "नेटवर्क", "Network": "नेटवर्क",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "ठीक",
"OR": "या", "OR": "या",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "संगठन का URL", "Organization URL": "संगठन का URL",
@@ -78,6 +110,7 @@
"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", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "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", "Services": "Services",
"Settings": "सेटिंग्स", "Settings": "सेटिंग्स",
"Shortcuts": "शॉर्टकट", "Shortcuts": "शॉर्टकट",
"Show app icon in system tray": "सिस्टम ट्रे में ऐप आइकन दिखाएं", "Show app icon in system tray": "सिस्टम ट्रे में ऐप आइकन दिखाएं",
"Show app unread badge": "ऐप अपठित बैज दिखाएं",
"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", "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": "ये डेस्कटॉप ऐप शॉर्टकट Zulip webapp's का विस्तार करते हैं", "These desktop app shortcuts extend the Zulip webapp's": "ये डेस्कटॉप ऐप शॉर्टकट Zulip webapp's का विस्तार करते हैं",
"Tip": "टिप", "Tip": "टिप",
"Toggle DevTools for Active Tab": "सक्रिय टैब के लिए DevTools टॉगल करें", "Toggle DevTools for Active Tab": "सक्रिय टैब के लिए DevTools टॉगल करें",
@@ -109,15 +148,20 @@
"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)": "सिस्टम प्रॉक्सी सेटिंग्स का उपयोग करें (पुनः आरंभ करने की आवश्यकता है)",
"View": "राय", "View": "राय",
"View Shortcuts": "शॉर्टकट देखें", "View Shortcuts": "शॉर्टकट देखें",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "खिड़की", "Window": "खिड़की",
"Window Shortcuts": "विंडो शॉर्टकट", "Window Shortcuts": "विंडो शॉर्टकट",
"YES": "हाँ", "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.", "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": "ज़ूम आउट",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "About Zulip", "About Zulip": "About Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organization", "Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization", "Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "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": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copy", "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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization", "Create a new organization": "Create a new organization",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Delete", "Delete": "Delete",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Edit", "Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL", "Organization URL": "Organization URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Save", "Save": "Save",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Settings", "Settings": "Settings",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "A Zulip-ról", "About Zulip": "A Zulip-ról",
"Actual Size": "Alapértelmezett méret", "Actual Size": "Alapértelmezett méret",
"Add Organization": "Szervezet hozzáadása", "Add Organization": "Szervezet hozzáadása",
"Add a Zulip organization": "Zulip szervezet hozzáadása", "Add a Zulip organization": "Zulip szervezet hozzáadása",
"Add custom CSS": "Saját CSS hozzáadása", "Add custom CSS": "Saját CSS hozzáadása",
"AddServer": "Szerver hozzáadás", "Add to Dictionary": "Hozzáadás a szótárhoz",
"Advanced": "Haladó", "Advanced": "Haladó",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Mindig kis méretben induljon", "Always start minimized": "Mindig kis méretben induljon",
@@ -13,11 +16,16 @@
"Appearance": "Megjelenés", "Appearance": "Megjelenés",
"Application Shortcuts": "Gyorsbillentyűk", "Application Shortcuts": "Gyorsbillentyűk",
"Are you sure you want to disconnect this organization?": "Biztosan kilép ebből a szervezetből?", "Are you sure you want to disconnect this organization?": "Biztosan kilép ebből a szervezetből?",
"Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Letöltés előtt kérdezze meg a mentés helyét", "Ask where to save files before downloading": "Letöltés előtt kérdezze meg a mentés helyét",
"Auto hide Menu bar": "Menüsáv automatikus rejtése", "Auto hide Menu bar": "Menüsáv automatikus rejtése",
"Auto hide menu bar (Press Alt key to display)": "Menüsáv automatikus rejtése (Alt megnyomására megjelenik)", "Auto hide menu bar (Press Alt key to display)": "Menüsáv automatikus rejtése (Alt megnyomására megjelenik)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Vissza", "Back": "Vissza",
"Bounce dock on new private message": "Ugráló dokk ikon új privát üzenet esetén", "Bounce dock on new private message": "Ugráló dokk ikon új privát üzenet esetén",
"CSS file": "CSS file",
"Cancel": "Mégse",
"Certificate error": "Certificate error",
"Change": "Változtatás", "Change": "Változtatás",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "A nyelv a Rendszerbeállítások → Billentyűzet → Szöveg → Helyesírás pontban változtatható meg.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "A nyelv a Rendszerbeállítások → Billentyűzet → Szöveg → Helyesírás pontban változtatható meg.",
"Check for Updates": "Frissítések keresése", "Check for Updates": "Frissítések keresése",
@@ -26,14 +34,21 @@
"Connect to another organization": "Csatlakozás másik szervezethez", "Connect to another organization": "Csatlakozás másik szervezethez",
"Connected organizations": "Csatlakoztatott szervezetek", "Connected organizations": "Csatlakoztatott szervezetek",
"Copy": "Másolás", "Copy": "Másolás",
"Copy Email Address": "Copy Email Address",
"Copy Image": "Kép másolása",
"Copy Image URL": "Kép címének másolása",
"Copy Link": "Hivatkozás másolása",
"Copy Zulip URL": "Zulip URL másolása", "Copy Zulip URL": "Zulip URL másolása",
"Create a new organization": "Új szervezet létrehozása", "Create a new organization": "Új szervezet létrehozása",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Kivágás", "Cut": "Kivágás",
"Default download location": "Alapértelmezett letöltési hely", "Default download location": "Alapértelmezett letöltési hely",
"Delete": "Törlés", "Delete": "Törlés",
"Desktop Notifications": "Asztali értesítések", "Desktop Notifications": "Asztali értesítések",
"Desktop Settings": "Asztali beállítások", "Desktop Settings": "Asztali beállítások",
"Disconnect": "Szétkapcsolás", "Disconnect": "Szétkapcsolás",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Alkalmazásnaplók letöltése", "Download App Logs": "Alkalmazásnaplók letöltése",
"Edit": "Szerkesztés", "Edit": "Szerkesztés",
"Edit Shortcuts": "Gyorsbillentyűk szerkesztése", "Edit Shortcuts": "Gyorsbillentyűk szerkesztése",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Hibajelentés engedélyezése (újraindítást igényel)", "Enable error reporting (requires restart)": "Hibajelentés engedélyezése (újraindítást igényel)",
"Enable spellchecker (requires restart)": "Helyesírásellenőrzés engedélyezése (újraindítást igényel)", "Enable spellchecker (requires restart)": "Helyesírásellenőrzés engedélyezése (újraindítást igényel)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Gyári beállítások visszaállítása", "Factory Reset": "Gyári beállítások visszaállítása",
"Factory Reset Data": "Gyári adatok visszaállítása", "Factory Reset Data": "Gyári adatok visszaállítása",
"File": "Fájl", "File": "Fájl",
@@ -52,6 +70,7 @@
"Functionality": "Rendszerfunkciók", "Functionality": "Rendszerfunkciók",
"General": "Általános", "General": "Általános",
"Get beta updates": "Béta frissítések letöltése", "Get beta updates": "Béta frissítések letöltése",
"Go Back": "Go Back",
"Hard Reload": "Teljes újratöltés", "Hard Reload": "Teljes újratöltés",
"Help": "Súgó", "Help": "Súgó",
"Help Center": "Súgóközpont", "Help Center": "Súgóközpont",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "Előzmények", "History": "Előzmények",
"History Shortcuts": "Előzmények gyorsbillentyűi", "History Shortcuts": "Előzmények gyorsbillentyűi",
"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": "Gyorsbillentyűk", "Keyboard Shortcuts": "Gyorsbillentyűk",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Kilépés", "Log Out": "Kilépés",
"Log Out of Organization": "Kilépés a szervezetből", "Log Out of Organization": "Kilépés a szervezetből",
"Look Up": "Keresés",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Kézi proxy beállítások", "Manual proxy configuration": "Kézi proxy beállítások",
"Minimize": "Kis méret", "Minimize": "Kis méret",
"Mute all sounds from Zulip": "Az összes Zulip hang némítása", "Mute all sounds from Zulip": "Az összes Zulip hang némítása",
"NO": "NEM",
"Network": "Hálózat", "Network": "Hálózat",
"Network and Proxy Settings": "Network and Proxy Settings", "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": "Nem találtunk javaslatot",
"No updates available.": "No updates available.",
"Notification settings": "Értesítési beállítások",
"OK": "OK",
"OR": "VAGY", "OR": "VAGY",
"On macOS, the OS spellchecker is used.": "MacOS rendszereken az operációs rendszer helyesírásellenőrzőjét használjuk.", "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", "Organization URL": "Szervezet URL-je",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass szabályok", "Proxy bypass rules": "Proxy bypass szabályok",
"Proxy rules": "Proxy szabályok", "Proxy rules": "Proxy szabályok",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Kilépés", "Quit": "Kilépés",
"Quit Zulip": "Kilépés a Zulip-ból", "Quit Zulip": "Kilépés a Zulip-ból",
"Quit when the window is closed": "Kilépés az ablak bezárásakor", "Quit when the window is closed": "Kilépés az ablak bezárásakor",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Mentés", "Save": "Mentés",
"Select All": "Mindet kijelöl", "Select All": "Mindet kijelöl",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Szolgáltatások", "Services": "Szolgáltatások",
"Settings": "Beállítások", "Settings": "Beállítások",
"Shortcuts": "Gyorsbillentyűk", "Shortcuts": "Gyorsbillentyűk",
"Show app icon in system tray": "Ikon megjelenítése a tálcán", "Show app icon in system tray": "Ikon megjelenítése a tálcán",
"Show app unread badge": "Az alkalmazás olvasatlan jelvényének megjelenítése",
"Show desktop notifications": "Az asztali értesítések megjelenítése", "Show desktop notifications": "Az asztali értesítések megjelenítése",
"Show sidebar": "Oldalsáv megjelenítése", "Show sidebar": "Oldalsáv megjelenítése",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Helyesírásellenőrzés nyelvei", "Spellchecker Languages": "Helyesírásellenőrzés nyelvei",
"Start app at login": "Indítsa el az alkalmazást bejelentkezéskor", "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 Next Organization": "Váltás a következő szervezetre",
"Switch to Previous Organization": "Váltás az előző szervezetre", "Switch to Previous Organization": "Váltás az előző szervezetre",
"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": "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", "Tip": "Tipp",
"Toggle DevTools for Active Tab": "DevTools bekapcsolása az aktív fülön", "Toggle DevTools for Active Tab": "DevTools bekapcsolása az aktív fülön",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Oldalsáv bekapcsolása", "Toggle Sidebar": "Oldalsáv bekapcsolása",
"Toggle Tray Icon": "Tálca ikon bekapcsolása", "Toggle Tray Icon": "Tálca ikon bekapcsolása",
"Tools": "Eszközök", "Tools": "Eszközök",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Visszavonás", "Undo": "Visszavonás",
"Unhide": "Felfedés", "Unhide": "Felfedés",
"Unknown error": "Unknown error",
"Upload": "Feltöltés", "Upload": "Feltöltés",
"Use system proxy settings (requires restart)": "A rendszer proxybeállításainak használata (újraindítást igényel)", "Use system proxy settings (requires restart)": "A rendszer proxybeállításainak használata (újraindítást igényel)",
"View": "Nézet", "View": "Nézet",
"View Shortcuts": "Nézet gyorsbillentyűk", "View Shortcuts": "Nézet gyorsbillentyűk",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Ablak", "Window": "Ablak",
"Window Shortcuts": "Ablak gyorsbillentyűk", "Window Shortcuts": "Ablak gyorsbillentyűk",
"YES": "IGEN", "Yes": "Igen",
"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.": "Maximum 3 nyelv választható ki helyesírásellenőrzéshez.", "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 In": "Nagyítása",
"Zoom Out": "Kicsinyítés", "Zoom Out": "Kicsinyítés",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Tentang Zulip", "About Zulip": "Tentang Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organization", "Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization", "Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS file",
"Cancel": "Batal",
"Certificate error": "Certificate error",
"Change": "Ubah", "Change": "Ubah",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copy", "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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization", "Create a new organization": "Create a new organization",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Delete", "Delete": "Delete",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Edit", "Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "URL Organisasi", "Organization URL": "URL Organisasi",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Simpan", "Save": "Simpan",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Pengaturan", "Settings": "Pengaturan",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,134 +0,0 @@
{
"About Zulip": "Tentang Zulip",
"Actual Size": "Actual Size",
"Add Custom Certificates": "Add Custom Certificates",
"Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS",
"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",
"Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts",
"Are you sure you want to disconnect this organization?": "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)": "Auto hide menu bar (Press Alt key to display)",
"Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message",
"Certificate file": "Certificate file",
"Change": "Ubah",
"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 Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization",
"Cut": "Cut",
"Default download location": "Default download location",
"Delete": "Delete",
"Desktop App Settings": "Desktop App Settings",
"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",
"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",
"History": "History",
"History Shortcuts": "History Shortcuts",
"Keyboard Shortcuts": "Keyboard Shortcuts",
"Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization",
"Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network",
"OR": "OR",
"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",
"Redo": "Redo",
"Release Notes": "Release Notes",
"Reload": "Reload",
"Report an Issue": "Report an Issue",
"Save": "Simpan",
"Select All": "Select All",
"Settings": "Pengaturan",
"Shortcuts": "Shortcuts",
"Show App Logs": "Show App Logs",
"Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications",
"Show downloaded files in file manager": "Show downloaded files in file manager",
"Show sidebar": "Show sidebar",
"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",
"This will delete all application data including all added accounts and preferences": "This will delete all application data including all added accounts and preferences",
"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",
"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",
"YES": "YES",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"Zulip Help": "Zulip Help",
"keyboard shortcuts": "keyboard shortcuts",
"script": "script",
"Quit when the window is closed": "Quit when the window is closed",
"Ask where to save files before downloading": "Ask where to save files before downloading",
"Services": "Services",
"Hide": "Hide",
"Hide Others": "Hide Others",
"Unhide": "Unhide",
"AddServer": "AddServer",
"App language (requires restart)": "App language (requires restart)",
"Factory Reset Data": "Factory Reset Data",
"Reset the application, thus deleting all the connected organizations, accounts, and certificates.": "Reset the application, thus deleting all the connected organizations, accounts, and certificates.",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Copy Link": "Copy Link",
"Copy Image": "Copy Image",
"Copy Image URL": "Copy Image URL",
"No Suggestion Found": "No Suggestion Found",
"You can select a maximum of 3 languages for spellchecking.": "You can select a maximum of 3 languages for spellchecking.",
"Spellchecker Languages": "Spellchecker Languages",
"Add to Dictionary": "Add to Dictionary",
"Look Up": "Look Up"
}

View File

@@ -1,23 +1,31 @@
{ {
"A new update {{{version}}} has been downloaded.": "È stato scaricato un nuovo aggiornamento {{{version}}}.",
"A new version {{{version}}} of Zulip Desktop is available.": "È disponibile una nuova versione {{{version}}} di Zulip Desktop.",
"About": "Di",
"About Zulip": "A proposito di Zulip", "About Zulip": "A proposito di Zulip",
"Actual Size": "Dimensione Attuale", "Actual Size": "Dimensione Attuale",
"Add Organization": "Aggiungi Organizzazione", "Add Organization": "Aggiungi Organizzazione",
"Add a Zulip organization": "Aggiungi organizzazione a Zulip", "Add a Zulip organization": "Aggiungi organizzazione a Zulip",
"Add custom CSS": "Aggiungi codice CSS personalizzato", "Add custom CSS": "Aggiungi codice CSS personalizzato",
"AddServer": "AddServer", "Add to Dictionary": "Aggiungi al dizionario",
"Advanced": "Avanzate", "Advanced": "Avanzate",
"All the connected organizations will appear here.": "Tutte le organizzazioni collegate appariranno qui.", "All the connected organizations will appear here.": "Tutte le organizzazioni collegate appariranno qui.",
"Always start minimized": "Avvia sempre minimizzato", "Always start minimized": "Avvia sempre minimizzato",
"App Updates": "Aggiornamenti App", "App Updates": "Aggiornamenti App",
"App language (requires restart)": "Lingua applicazione (richiede riavvio)", "App language (requires restart)": "Lingua applicazione (richiede riavvio)",
"Appearance": "Aspetto", "Appearance": "Aspetto",
"Application Shortcuts": "Scorciatoie Applicazione", "Application Shortcuts": "Scorciatoie applicazione",
"Are you sure you want to disconnect this organization?": "Sei sicuro di volerti scollegare da questa organizzazione?", "Are you sure you want to disconnect this organization?": "Sei sicuro di volerti scollegare da questa organizzazione?",
"Are you sure?": "Sei sicuro?",
"Ask where to save files before downloading": "Chiedi dove salvare i file prima di scaricarli", "Ask where to save files before downloading": "Chiedi dove salvare i file prima di scaricarli",
"Auto hide Menu bar": "Nascondi automaticamente la barra del Menù", "Auto hide Menu bar": "Nascondi automaticamente la barra del Menù",
"Auto hide menu bar (Press Alt key to display)": "Nascondi automaticamente la barra del menù (Premi il tasto Alt per visualizzarlo)", "Auto hide menu bar (Press Alt key to display)": "Nascondi automaticamente la barra del menù (Premi il tasto Alt per visualizzarlo)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Disponibile con licenza {{{link}}}Apache 2.0{{{endLink}}}",
"Back": "Indietro", "Back": "Indietro",
"Bounce dock on new private message": "Lampeggia icona sula barra alla ricezione di un nuovo messaggio privato", "Bounce dock on new private message": "Lampeggia icona sula barra alla ricezione di un nuovo messaggio privato",
"CSS file": "file CSS",
"Cancel": "Annulla",
"Certificate error": "Errore del certificato",
"Change": "Modifica", "Change": "Modifica",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Cambia la lingua in Preferenze di Sistema → Tastiera → Testo → Ortografia.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Cambia la lingua in Preferenze di Sistema → Tastiera → Testo → Ortografia.",
"Check for Updates": "Controlla aggiornamenti", "Check for Updates": "Controlla aggiornamenti",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connetti ad un'altra organizzazione", "Connect to another organization": "Connetti ad un'altra organizzazione",
"Connected organizations": "Organizzazioni connesse", "Connected organizations": "Organizzazioni connesse",
"Copy": "Copia", "Copy": "Copia",
"Copy Email Address": "Copia indirizzo e-mail",
"Copy Image": "Copia immagine",
"Copy Image URL": "Copia URL dell'immagine",
"Copy Link": "Copia link",
"Copy Zulip URL": "Copia URL Zulip", "Copy Zulip URL": "Copia URL Zulip",
"Create a new organization": "Crea nuova organizzazione", "Create a new organization": "Crea nuova organizzazione",
"Custom CSS file deleted": "FileCSS personalizzato eliminato",
"Cut": "Taglia", "Cut": "Taglia",
"Default download location": "Percorso predefinito di download", "Default download location": "Percorso predefinito di download",
"Delete": "Cancella", "Delete": "Cancella",
"Desktop Notifications": "Notifiche Desktop", "Desktop Notifications": "Notifiche Desktop",
"Desktop Settings": "Impostazioni Desktop", "Desktop Settings": "Impostazioni Desktop",
"Disconnect": "Disconnetti", "Disconnect": "Disconnetti",
"Disconnect organization": "Organizzazione disconnessa",
"Do Not Disturb": "Non disturbare",
"Download App Logs": "Scarica Log Applicativi", "Download App Logs": "Scarica Log Applicativi",
"Edit": "Modifica", "Edit": "Modifica",
"Edit Shortcuts": "Edita Scorciatoie", "Edit Shortcuts": "Edita Scorciatoie",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Abilita segnalazione errori (richiede riavvio)", "Enable error reporting (requires restart)": "Abilita segnalazione errori (richiede riavvio)",
"Enable spellchecker (requires restart)": "Abilita correttore ortografico (richiede riavvio)", "Enable spellchecker (requires restart)": "Abilita correttore ortografico (richiede riavvio)",
"Enter Full Screen": "Accedi a Schermo intero", "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}}}",
"Factory Reset": "Reset di fabbrica", "Factory Reset": "Reset di fabbrica",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -52,6 +70,7 @@
"Functionality": "Funzionalità", "Functionality": "Funzionalità",
"General": "Generale", "General": "Generale",
"Get beta updates": "Ottieni aggiornamenti beta", "Get beta updates": "Ottieni aggiornamenti beta",
"Go Back": "Torna indietro",
"Hard Reload": "Forza Ricarica", "Hard Reload": "Forza Ricarica",
"Help": "Aiuto", "Help": "Aiuto",
"Help Center": "Centro di aiuto", "Help Center": "Centro di aiuto",
@@ -60,15 +79,28 @@
"Hide Zulip": "Nascondi Zulip", "Hide Zulip": "Nascondi Zulip",
"History": "Storico", "History": "Storico",
"History Shortcuts": "Cronologia Scorciatoie", "History Shortcuts": "Cronologia Scorciatoie",
"Keyboard Shortcuts": "Scorciatoie Tastiera", "Install Later": "Installa più tardi",
"Install and Relaunch": "Installa e riavvia",
"It will be installed the next time you restart the application.": "Verrà installato al successivo riavvio dell'applicazione.",
"Keyboard Shortcuts": "Scorciatoie tastiera",
"Later": "Dopo",
"Loading": "Caricamento",
"Log Out": "Esci", "Log Out": "Esci",
"Log Out of Organization": "Esci dall'organizzazione", "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", "Manual proxy configuration": "Configurazione proxy manuale",
"Minimize": "Minimizza", "Minimize": "Minimizza",
"Mute all sounds from Zulip": "Silenzia tutti i suoni di Zulip", "Mute all sounds from Zulip": "Silenzia tutti i suoni di Zulip",
"NO": "NO",
"Network": "Rete", "Network": "Rete",
"Network and Proxy Settings": "Impostazioni di rete e proxy", "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", "OR": "O",
"On macOS, the OS spellchecker is used.": "Su macOS, è usato il correttore ortografico di sistema.", "On macOS, the OS spellchecker is used.": "Su macOS, è usato il correttore ortografico di sistema.",
"Organization URL": "URL dell'organizzazione", "Organization URL": "URL dell'organizzazione",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Regole di bypass proxy", "Proxy bypass rules": "Regole di bypass proxy",
"Proxy rules": "Regole Proxy", "Proxy rules": "Regole Proxy",
"Proxy settings saved.": "Impostazioni proxy salvate.",
"Quit": "Esci", "Quit": "Esci",
"Quit Zulip": "Esci da Zulip", "Quit Zulip": "Esci da Zulip",
"Quit when the window is closed": "Esci quando la finestra è chiusa", "Quit when the window is closed": "Esci quando la finestra è chiusa",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Ripristina l'applicazione, eliminando così tutte le organizzazioni e gli account collegati.", "Reset the application, thus deleting all the connected organizations and accounts.": "Ripristina l'applicazione, eliminando così tutte le organizzazioni e gli account collegati.",
"Save": "Salva", "Save": "Salva",
"Select All": "Seleziona Tutto", "Select All": "Seleziona Tutto",
"Select Download Location": "Selezionare la posizione di download",
"Select file": "Seleziona file",
"Services": "Servizi", "Services": "Servizi",
"Settings": "Impostazioni", "Settings": "Impostazioni",
"Shortcuts": "Scorciatoie", "Shortcuts": "Scorciatoie",
"Show app icon in system tray": "Mostra icona applicazione nella barra di sistema", "Show app icon in system tray": "Mostra icona applicazione nella barra di sistema",
"Show app unread badge": "Mostra icona notifiche non lette",
"Show desktop notifications": "Mostra notifiche desktop", "Show desktop notifications": "Mostra notifiche desktop",
"Show sidebar": "Mostra barra laterale", "Show sidebar": "Mostra barra laterale",
"Show unread count badge on app icon": "Mostra il badge del conteggio dei non letti sull'icona dell'app",
"Spellchecker Languages": "Lingue correttore ortografico", "Spellchecker Languages": "Lingue correttore ortografico",
"Start app at login": "Avvia l'applicazione all'avvio", "Start app at login": "Avvia l'applicazione all'avvio",
"Switch to Next Organization": "Passa alla Prossima Organizzazione", "Switch to Next Organization": "Passa alla Prossima Organizzazione",
"Switch to Previous Organization": "Passa alla Precedente 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 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", "These desktop app shortcuts extend the Zulip webapp's": "Queste scorciatoie per l'app desktop, estendono le webapp di Zulip",
"Tip": "Consiglio", "Tip": "Consiglio",
"Toggle DevTools for Active Tab": "Attiva/Disattiva Tool di Sviluppo per il Tab Attivo", "Toggle DevTools for Active Tab": "Attiva/Disattiva Tool di Sviluppo per il Tab Attivo",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Attiva/Disattiva Barra Laterale", "Toggle Sidebar": "Attiva/Disattiva Barra Laterale",
"Toggle Tray Icon": "Abilita/Disabilita Icona nella Tray Bar", "Toggle Tray Icon": "Abilita/Disabilita Icona nella Tray Bar",
"Tools": "Strumenti", "Tools": "Strumenti",
"Unable to check for updates.": "Impossibile verificare la presenza di aggiornamenti.",
"Unable to download the update.": "Impossibile scaricare l'aggiornamento.",
"Undo": "Annulla", "Undo": "Annulla",
"Unhide": "Mostra", "Unhide": "Mostra",
"Unknown error": "Errore sconosciuto",
"Upload": "Carica", "Upload": "Carica",
"Use system proxy settings (requires restart)": "Usa impostazioni proxy di sistema (richiede riavvio)", "Use system proxy settings (requires restart)": "Usa impostazioni proxy di sistema (richiede riavvio)",
"View": "Visualizza", "View": "Visualizza",
"View Shortcuts": "Visualizza Scorciatoie", "View Shortcuts": "Visualizza Scorciatoie",
"We encountered an error while saving the update notifications.": "Si è verificato un errore durante il salvataggio delle notifiche di aggiornamento.",
"Window": "Finestra", "Window": "Finestra",
"Window Shortcuts": "Scorciatoie Finestra", "Window Shortcuts": "Scorciatoie finestra",
"YES": "SI", "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 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 In": "Ingrandisci",
"Zoom Out": "Riduci", "Zoom Out": "Riduci",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "Zulipについて",
"About Zulip": "Zulip について", "About Zulip": "Zulip について",
"Actual Size": "サイズを元に戻す", "Actual Size": "サイズを元に戻す",
"Add Organization": "組織を追加", "Add Organization": "組織を追加",
"Add a Zulip organization": "新しいZulip組織を追加", "Add a Zulip organization": "新しいZulip組織を追加",
"Add custom CSS": "カスタムCSSを追加", "Add custom CSS": "カスタムCSSを追加",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "その他", "Advanced": "その他",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "常に最小化して起動", "Always start minimized": "常に最小化して起動",
@@ -13,11 +16,16 @@
"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)": "メニューバーを自動的に隠す Altキーを押すと表示", "Auto hide menu bar (Press Alt key to display)": "メニューバーを自動的に隠す Altキーを押すと表示",
"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": "新しいプライベートメッセージがあると Dock アイコンが跳ねる", "Bounce dock on new private message": "新しいプライベートメッセージがあると Dock アイコンが跳ねる",
"CSS file": "CSS file",
"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.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "アップデートを確認", "Check for Updates": "アップデートを確認",
@@ -26,14 +34,21 @@
"Connect to another organization": "別の組織に接続", "Connect to another organization": "別の組織に接続",
"Connected organizations": "接続済みの組織", "Connected organizations": "接続済みの組織",
"Copy": "コピー", "Copy": "コピー",
"Copy Email Address": "Copy Email Address",
"Copy Image": "画像をコピー",
"Copy Image URL": "画像の URL をコピー",
"Copy Link": "リンクをコピー",
"Copy Zulip URL": "Zulip URL をコピー", "Copy Zulip URL": "Zulip URL をコピー",
"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": "デスクトップ設定",
"Disconnect": "切断", "Disconnect": "切断",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "サイレントモード",
"Download App Logs": "アプリログをダウンロード", "Download App Logs": "アプリログをダウンロード",
"Edit": "編集", "Edit": "編集",
"Edit Shortcuts": "ショートカットを編集", "Edit Shortcuts": "ショートカットを編集",
@@ -42,6 +57,9 @@
"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 Full Screen": "Enter Full Screen",
"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", "Factory Reset Data": "Factory Reset Data",
"File": "ファイル", "File": "ファイル",
@@ -52,6 +70,7 @@
"Functionality": "機能", "Functionality": "機能",
"General": "全般", "General": "全般",
"Get beta updates": "ベータ版のアップデートを入手", "Get beta updates": "ベータ版のアップデートを入手",
"Go Back": "戻る",
"Hard Reload": "ハードリロード", "Hard Reload": "ハードリロード",
"Help": "ヘルプ", "Help": "ヘルプ",
"Help Center": "ヘルプセンター", "Help Center": "ヘルプセンター",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "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": "ロード中",
"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": "Zulip からのすべてのサウンドをミュート", "Mute all sounds from Zulip": "Zulip からのすべてのサウンドをミュート",
"NO": "いいえ",
"Network": "ネットワーク", "Network": "ネットワーク",
"Network and Proxy Settings": "Network and Proxy Settings", "Network and Proxy Settings": "ネットワークとプロキシ",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "いいえ",
"No Suggestion Found": "No Suggestion Found",
"No updates available.": "No updates available.",
"Notification settings": "通知設定",
"OK": "OK",
"OR": "または", "OR": "または",
"On macOS, the OS spellchecker is used.": "macOSでは、OSのスペルチェックが使用されます。", "On macOS, the OS spellchecker is used.": "macOSでは、OSのスペルチェックが使用されます。",
"Organization URL": "組織のURL", "Organization URL": "組織のURL",
@@ -78,6 +110,7 @@
"Proxy": "プロキシ", "Proxy": "プロキシ",
"Proxy bypass rules": "プロキシバイパスルール", "Proxy bypass rules": "プロキシバイパスルール",
"Proxy rules": "プロキシルール", "Proxy rules": "プロキシルール",
"Proxy settings saved.": "プロキシ設定を保存しました。",
"Quit": "終了", "Quit": "終了",
"Quit Zulip": "Zulip を終了", "Quit Zulip": "Zulip を終了",
"Quit when the window is closed": "ウインドウを閉じるときに自動的に退出", "Quit when the window is closed": "ウインドウを閉じるときに自動的に退出",
@@ -86,20 +119,26 @@
"Reload": "リロード", "Reload": "リロード",
"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.", "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": "サービス",
"Settings": "設定", "Settings": "設定",
"Shortcuts": "ショートカット", "Shortcuts": "ショートカット",
"Show app icon in system tray": "システムトレイにアプリアイコンを表示する", "Show app icon in system tray": "システムトレイにアプリアイコンを表示する",
"Show app unread badge": "アプリの未読バッジを表示する",
"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": "これらのデスクトップアプリのショートカットは Zulip Web アプリケーションのショートカットを拡張します。", "These desktop app shortcuts extend the Zulip webapp's": "これらのデスクトップアプリのショートカットは Zulip Web アプリケーションのショートカットを拡張します。",
"Tip": "ヒント", "Tip": "ヒント",
"Toggle DevTools for Active Tab": "アクティブなタブの DevTools を切り替え", "Toggle DevTools for Active Tab": "アクティブなタブの DevTools を切り替え",
@@ -109,15 +148,20 @@
"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)": "システムのプロキシ設定を使用する (再起動が必要です)",
"View": "表示", "View": "表示",
"View Shortcuts": "ショートカットを表示", "View Shortcuts": "ショートカットを表示",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"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.": "最大で3つの言語のスペルチェックを選択できます。", "You can select a maximum of 3 languages for spellchecking.": "最大で3つの言語のスペルチェックを選択できます。",
"Zoom In": "拡大", "Zoom In": "拡大",
"Zoom Out": "縮小", "Zoom Out": "縮小",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "관하여",
"About Zulip": "Zulip에 대해", "About Zulip": "Zulip에 대해",
"Actual Size": "실제 크기", "Actual Size": "실제 크기",
"Add Organization": "조직 추가", "Add Organization": "조직 추가",
"Add a Zulip organization": "새로운 Zulip 조직 추가", "Add a Zulip organization": "새로운 Zulip 조직 추가",
"Add custom CSS": "맞춤 CSS 추가", "Add custom CSS": "맞춤 CSS 추가",
"AddServer": "서버추가", "Add to Dictionary": "사전에 추가하기",
"Advanced": "많은", "Advanced": "많은",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "항상 최소화 된 상태로 시작하십시오.", "Always start minimized": "항상 최소화 된 상태로 시작하십시오.",
@@ -13,11 +16,16 @@
"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)": "메뉴 바 자동 숨기기 (표시하려면 Alt 키를 누릅니다)", "Auto hide menu bar (Press Alt key to display)": "메뉴 바 자동 숨기기 (표시하려면 Alt 키를 누릅니다)",
"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": "취소",
"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": "업데이트 확인",
@@ -26,14 +34,21 @@
"Connect to another organization": "다른 조직에 연결", "Connect to another organization": "다른 조직에 연결",
"Connected organizations": "연결된 조직", "Connected organizations": "연결된 조직",
"Copy": "복사", "Copy": "복사",
"Copy Email Address": "Copy Email Address",
"Copy Image": "이미지 복사",
"Copy Image URL": "이미지 URL 복사",
"Copy Link": "링크 복사",
"Copy Zulip URL": "Zulip URL 복사", "Copy Zulip URL": "Zulip URL 복사",
"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": "데스크톱 설정",
"Disconnect": "연결 끊기", "Disconnect": "연결 끊기",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "앱 로그 다운로드", "Download App Logs": "앱 로그 다운로드",
"Edit": "편집하다", "Edit": "편집하다",
"Edit Shortcuts": "바로 가기 편집", "Edit Shortcuts": "바로 가기 편집",
@@ -42,6 +57,9 @@
"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 Full Screen": "Enter Full Screen",
"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": "파일",
@@ -52,6 +70,7 @@
"Functionality": "기능", "Functionality": "기능",
"General": "일반", "General": "일반",
"Get beta updates": "베타 업데이트 받기", "Get beta updates": "베타 업데이트 받기",
"Go Back": "Go Back",
"Hard Reload": "하드 다시로드", "Hard Reload": "하드 다시로드",
"Help": "도움", "Help": "도움",
"Help Center": "지원 센터", "Help Center": "지원 센터",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "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": "찾아보기",
"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": "Zulip에서 모든 소리를 음소거합니다.", "Mute all sounds from Zulip": "Zulip에서 모든 소리를 음소거합니다.",
"NO": "아니오",
"Network": "네트워크", "Network": "네트워크",
"Network and Proxy Settings": "Network and Proxy Settings", "Network and Proxy Settings": "Network and Proxy Settings",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "아니오",
"No Suggestion Found": "추천을 찾지 못했습니다",
"No updates available.": "No updates available.",
"Notification settings": "알림 설정",
"OK": "OK",
"OR": "또는", "OR": "또는",
"On macOS, the OS spellchecker is used.": "macOS에서는 운영체제의 맞춤법 검사기가 사용됩니다.", "On macOS, the OS spellchecker is used.": "macOS에서는 운영체제의 맞춤법 검사기가 사용됩니다.",
"Organization URL": "조직 URL", "Organization URL": "조직 URL",
@@ -78,6 +110,7 @@
"Proxy": "프록시", "Proxy": "프록시",
"Proxy bypass rules": "프록시 우회 규칙", "Proxy bypass rules": "프록시 우회 규칙",
"Proxy rules": "프록시 규칙", "Proxy rules": "프록시 규칙",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "종료", "Quit": "종료",
"Quit Zulip": "Zulip 을 종료합니다.", "Quit Zulip": "Zulip 을 종료합니다.",
"Quit when the window is closed": "윈도우가 닫히면 종료", "Quit when the window is closed": "윈도우가 닫히면 종료",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "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": "서비스들",
"Settings": "설정", "Settings": "설정",
"Shortcuts": "바로 가기", "Shortcuts": "바로 가기",
"Show app icon in system tray": "시스템 트레이에 앱 아이콘 표시", "Show app icon in system tray": "시스템 트레이에 앱 아이콘 표시",
"Show app unread badge": "앱에 읽지 않은 배지 표시",
"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": "데스크톱 앱 바로 가기들은 Zulip 웹 앱을 확장합니다.", "These desktop app shortcuts extend the Zulip webapp's": "데스크톱 앱 바로 가기들은 Zulip 웹 앱을 확장합니다.",
"Tip": "팁", "Tip": "팁",
"Toggle DevTools for Active Tab": "DevTools for Active Tab 토글", "Toggle DevTools for Active Tab": "DevTools for Active Tab 토글",
@@ -109,15 +148,20 @@
"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)": "시스템 프록시 설정 사용 (다시 시작해야 함)",
"View": "보기", "View": "보기",
"View Shortcuts": "바로가기 보기", "View Shortcuts": "바로가기 보기",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"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.": "최대 3개 언어에 대한 맞춤법 검사기를 선택할수 있습니다.", "You can select a maximum of 3 languages for spellchecking.": "최대 3개 언어에 대한 맞춤법 검사기를 선택할수 있습니다.",
"Zoom In": "확대", "Zoom In": "확대",
"Zoom Out": "축소", "Zoom Out": "축소",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "About Zulip", "About Zulip": "About Zulip",
"Actual Size": "Actual Size", "Actual Size": "Actual Size",
"Add Organization": "Add Organization", "Add Organization": "Add Organization",
"Add a Zulip organization": "Add a Zulip organization", "Add a Zulip organization": "Add a Zulip organization",
"Add custom CSS": "Add custom CSS", "Add custom CSS": "Add custom CSS",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "Advanced", "Advanced": "Advanced",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Always start minimized", "Always start minimized": "Always start minimized",
@@ -13,11 +16,16 @@
"Appearance": "Appearance", "Appearance": "Appearance",
"Application Shortcuts": "Application Shortcuts", "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 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", "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": "Auto hide Menu bar",
"Auto hide menu bar (Press Alt key to display)": "Auto hide menu bar (Press Alt key to display)", "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", "Back": "Back",
"Bounce dock on new private message": "Bounce dock on new private message", "Bounce dock on new private message": "Bounce dock on new private message",
"CSS file": "CSS file",
"Cancel": "Atšaukti",
"Certificate error": "Certificate error",
"Change": "Change", "Change": "Change",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -26,14 +34,21 @@
"Connect to another organization": "Connect to another organization", "Connect to another organization": "Connect to another organization",
"Connected organizations": "Connected organizations", "Connected organizations": "Connected organizations",
"Copy": "Copy", "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", "Copy Zulip URL": "Copy Zulip URL",
"Create a new organization": "Create a new organization", "Create a new organization": "Create a new organization",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Cut", "Cut": "Cut",
"Default download location": "Default download location", "Default download location": "Default download location",
"Delete": "Delete", "Delete": "Delete",
"Desktop Notifications": "Desktop Notifications", "Desktop Notifications": "Desktop Notifications",
"Desktop Settings": "Desktop Settings", "Desktop Settings": "Desktop Settings",
"Disconnect": "Disconnect", "Disconnect": "Disconnect",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Download App Logs", "Download App Logs": "Download App Logs",
"Edit": "Edit", "Edit": "Edit",
"Edit Shortcuts": "Edit Shortcuts", "Edit Shortcuts": "Edit Shortcuts",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Enable error reporting (requires restart)", "Enable error reporting (requires restart)": "Enable error reporting (requires restart)",
"Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)", "Enable spellchecker (requires restart)": "Enable spellchecker (requires restart)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Factory Reset",
"Factory Reset Data": "Factory Reset Data", "Factory Reset Data": "Factory Reset Data",
"File": "File", "File": "File",
@@ -52,6 +70,7 @@
"Functionality": "Functionality", "Functionality": "Functionality",
"General": "General", "General": "General",
"Get beta updates": "Get beta updates", "Get beta updates": "Get beta updates",
"Go Back": "Go Back",
"Hard Reload": "Hard Reload", "Hard Reload": "Hard Reload",
"Help": "Help", "Help": "Help",
"Help Center": "Help Center", "Help Center": "Help Center",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "History", "History": "History",
"History Shortcuts": "History Shortcuts", "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", "Keyboard Shortcuts": "Keyboard Shortcuts",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Log Out", "Log Out": "Log Out",
"Log Out of Organization": "Log Out of Organization", "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", "Manual proxy configuration": "Manual proxy configuration",
"Minimize": "Minimize", "Minimize": "Minimize",
"Mute all sounds from Zulip": "Mute all sounds from Zulip", "Mute all sounds from Zulip": "Mute all sounds from Zulip",
"NO": "NO",
"Network": "Network", "Network": "Network",
"Network and Proxy Settings": "Network and Proxy Settings", "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 updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "OR", "OR": "OR",
"On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "Organization URL", "Organization URL": "Organization URL",
@@ -78,6 +110,7 @@
"Proxy": "Proxy", "Proxy": "Proxy",
"Proxy bypass rules": "Proxy bypass rules", "Proxy bypass rules": "Proxy bypass rules",
"Proxy rules": "Proxy rules", "Proxy rules": "Proxy rules",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Quit", "Quit": "Quit",
"Quit Zulip": "Quit Zulip", "Quit Zulip": "Quit Zulip",
"Quit when the window is closed": "Quit when the window is closed", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Save", "Save": "Save",
"Select All": "Select All", "Select All": "Select All",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Services", "Services": "Services",
"Settings": "Nustatymai", "Settings": "Nustatymai",
"Shortcuts": "Shortcuts", "Shortcuts": "Shortcuts",
"Show app icon in system tray": "Show app icon in system tray", "Show app icon in system tray": "Show app icon in system tray",
"Show app unread badge": "Show app unread badge",
"Show desktop notifications": "Show desktop notifications", "Show desktop notifications": "Show desktop notifications",
"Show sidebar": "Show sidebar", "Show sidebar": "Show sidebar",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Spellchecker Languages", "Spellchecker Languages": "Spellchecker Languages",
"Start app at login": "Start app at login", "Start app at login": "Start app at login",
"Switch to Next Organization": "Switch to Next Organization", "Switch to Next Organization": "Switch to Next Organization",
"Switch to Previous Organization": "Switch to Previous 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", "These desktop app shortcuts extend the Zulip webapp's": "These desktop app shortcuts extend the Zulip webapp's",
"Tip": "Tip", "Tip": "Tip",
"Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab", "Toggle DevTools for Active Tab": "Toggle DevTools for Active Tab",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Toggle Sidebar", "Toggle Sidebar": "Toggle Sidebar",
"Toggle Tray Icon": "Toggle Tray Icon", "Toggle Tray Icon": "Toggle Tray Icon",
"Tools": "Tools", "Tools": "Tools",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Undo", "Undo": "Undo",
"Unhide": "Unhide", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "Upload", "Upload": "Upload",
"Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)", "Use system proxy settings (requires restart)": "Use system proxy settings (requires restart)",
"View": "View", "View": "View",
"View Shortcuts": "View Shortcuts", "View Shortcuts": "View Shortcuts",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Window", "Window": "Window",
"Window Shortcuts": "Window Shortcuts", "Window Shortcuts": "Window Shortcuts",
"YES": "YES", "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.", "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 In": "Zoom In",
"Zoom Out": "Zoom Out", "Zoom Out": "Zoom Out",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"A new version {{{version}}} of Zulip Desktop is available.": "A new version {{{version}}} of Zulip Desktop is available.",
"About": "About",
"About Zulip": "Par Zulip", "About Zulip": "Par Zulip",
"Actual Size": "Patiesais izmērs", "Actual Size": "Patiesais izmērs",
"Add Organization": "Pievienot Organizāciju", "Add Organization": "Pievienot Organizāciju",
"Add a Zulip organization": "Pievienot Zulip organizāciju", "Add a Zulip organization": "Pievienot Zulip organizāciju",
"Add custom CSS": "Pievienot pielāgotu CSS", "Add custom CSS": "Pievienot pielāgotu CSS",
"AddServer": "Pievienot serveri", "Add to Dictionary": "Pievienot vārdnīcai",
"Advanced": "Papildus", "Advanced": "Papildus",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "Vienmēr palaist samazinātu", "Always start minimized": "Vienmēr palaist samazinātu",
@@ -13,11 +16,16 @@
"Appearance": "Izskats", "Appearance": "Izskats",
"Application Shortcuts": "Programmas īsinājumtaustiņi", "Application Shortcuts": "Programmas īsinājumtaustiņi",
"Are you sure you want to disconnect this organization?": "Vai tiešām vēlaties atvienoties no šīs organizācijas?", "Are you sure you want to disconnect this organization?": "Vai tiešām vēlaties atvienoties no šīs organizācijas?",
"Are you sure?": "Are you sure?",
"Ask where to save files before downloading": "Pirms lejupielādes jautāt, kur saglabāt failus", "Ask where to save files before downloading": "Pirms lejupielādes jautāt, kur saglabāt failus",
"Auto hide Menu bar": "Automātiski slēpt izvēļņu joslu", "Auto hide Menu bar": "Automātiski slēpt izvēļņu joslu",
"Auto hide menu bar (Press Alt key to display)": "Automātiski slēpt izvēļņu joslu (lai parādītu, nospiediet taustiņu Alt)", "Auto hide menu bar (Press Alt key to display)": "Automātiski slēpt izvēļņu joslu (lai parādītu, nospiediet taustiņu Alt)",
"Available under the {{{link}}}Apache 2.0 License{{{endLink}}}": "Available under the {{{link}}}Apache 2.0 License{{{endLink}}}",
"Back": "Atpakaļ", "Back": "Atpakaļ",
"Bounce dock on new private message": "Tirināt doka ikonu, kad saņemts jauns privāts ziņojums", "Bounce dock on new private message": "Tirināt doka ikonu, kad saņemts jauns privāts ziņojums",
"CSS file": "CSS file",
"Cancel": "Cancel",
"Certificate error": "Certificate error",
"Change": "Mainīt", "Change": "Mainīt",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Mainīt valodu var zem System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Mainīt valodu var zem System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "Pārbaudīt, vai ir pieejami atjauninājumi", "Check for Updates": "Pārbaudīt, vai ir pieejami atjauninājumi",
@@ -26,14 +34,21 @@
"Connect to another organization": "Pievienoties citai organizācijai", "Connect to another organization": "Pievienoties citai organizācijai",
"Connected organizations": "Organizācijas, kurā esmu pievienojies", "Connected organizations": "Organizācijas, kurā esmu pievienojies",
"Copy": "Kopēt", "Copy": "Kopēt",
"Copy Email Address": "Copy Email Address",
"Copy Image": "Kopēt attēlu",
"Copy Image URL": "Kopēt attēla URL",
"Copy Link": "Kopēt saiti",
"Copy Zulip URL": "Kopēt Zulip URL", "Copy Zulip URL": "Kopēt Zulip URL",
"Create a new organization": "Izveidot jaunu organizāciju", "Create a new organization": "Izveidot jaunu organizāciju",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "Izgriezt", "Cut": "Izgriezt",
"Default download location": "Noklusētā lejupielādes mape", "Default download location": "Noklusētā lejupielādes mape",
"Delete": "Dzēst", "Delete": "Dzēst",
"Desktop Notifications": "Darbvirsmas paziņojumi", "Desktop Notifications": "Darbvirsmas paziņojumi",
"Desktop Settings": "Darbvirsmas iestatījumi", "Desktop Settings": "Darbvirsmas iestatījumi",
"Disconnect": "Atvienot", "Disconnect": "Atvienot",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "Lejupielādēt programmas žurnālus", "Download App Logs": "Lejupielādēt programmas žurnālus",
"Edit": "Rediģēt", "Edit": "Rediģēt",
"Edit Shortcuts": "Rediģēt īsinājumtaustiņi", "Edit Shortcuts": "Rediģēt īsinājumtaustiņi",
@@ -42,6 +57,9 @@
"Enable error reporting (requires restart)": "Iespējot kļūdu ziņošanu (nepieciešama restartēšana)", "Enable error reporting (requires restart)": "Iespējot kļūdu ziņošanu (nepieciešama restartēšana)",
"Enable spellchecker (requires restart)": "Iespējot pareizrakstības pārbaudi (nepieciešama restartēšana)", "Enable spellchecker (requires restart)": "Iespējot pareizrakstības pārbaudi (nepieciešama restartēšana)",
"Enter Full Screen": "Enter Full Screen", "Enter Full Screen": "Enter Full Screen",
"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": "Atiestatīt programmu", "Factory Reset": "Atiestatīt programmu",
"Factory Reset Data": "Programmas datu atiestatīšana", "Factory Reset Data": "Programmas datu atiestatīšana",
"File": "Fails", "File": "Fails",
@@ -52,6 +70,7 @@
"Functionality": "Funkcionalitāte", "Functionality": "Funkcionalitāte",
"General": "Vispārīgie", "General": "Vispārīgie",
"Get beta updates": "Saņemt beta atjauninājumus", "Get beta updates": "Saņemt beta atjauninājumus",
"Go Back": "Go Back",
"Hard Reload": "Pārlādēt piespiedu", "Hard Reload": "Pārlādēt piespiedu",
"Help": "Palīgs", "Help": "Palīgs",
"Help Center": "Palīdzības centrs", "Help Center": "Palīdzības centrs",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "Hide Zulip": "Hide Zulip",
"History": "Vēsture", "History": "Vēsture",
"History Shortcuts": "Vēstures īsinājumtaustiņi", "History Shortcuts": "Vēstures īsinājumtaustiņi",
"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": "Tastatūras īsinājumtaustiņi", "Keyboard Shortcuts": "Tastatūras īsinājumtaustiņi",
"Later": "Later",
"Loading": "Loading",
"Log Out": "Atteikties", "Log Out": "Atteikties",
"Log Out of Organization": "Atteikties no organizācijas", "Log Out of Organization": "Atteikties no organizācijas",
"Look Up": "Meklēt",
"Maintained by {{{link}}}Zulip{{{endLink}}}": "Maintained by {{{link}}}Zulip{{{endLink}}}",
"Manual Download": "Manual Download",
"Manual proxy configuration": "Manuālā starpniekservera konfigurācija", "Manual proxy configuration": "Manuālā starpniekservera konfigurācija",
"Minimize": "Minimizēt", "Minimize": "Minimizēt",
"Mute all sounds from Zulip": "Izslēgt visas Zulip skaņas", "Mute all sounds from Zulip": "Izslēgt visas Zulip skaņas",
"NO": "NĒ",
"Network": "Tīkls", "Network": "Tīkls",
"Network and Proxy Settings": "Network and Proxy Settings", "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": "Ieteikums netika atrasts",
"No updates available.": "No updates available.",
"Notification settings": "Notification settings",
"OK": "OK",
"OR": "VAI", "OR": "VAI",
"On macOS, the OS spellchecker is used.": "Operētājsistēmā macOS tiek izmantota OS pareizrakstības pārbaude.", "On macOS, the OS spellchecker is used.": "Operētājsistēmā macOS tiek izmantota OS pareizrakstības pārbaude.",
"Organization URL": "Organizācijas URL", "Organization URL": "Organizācijas URL",
@@ -78,6 +110,7 @@
"Proxy": "Starpniekserveris", "Proxy": "Starpniekserveris",
"Proxy bypass rules": "Starpniekservera apiešanas noteikumi", "Proxy bypass rules": "Starpniekservera apiešanas noteikumi",
"Proxy rules": "Starpniekservera noteikumi", "Proxy rules": "Starpniekservera noteikumi",
"Proxy settings saved.": "Proxy settings saved.",
"Quit": "Aizvērt", "Quit": "Aizvērt",
"Quit Zulip": "Aizvērt Zulip programmu", "Quit Zulip": "Aizvērt Zulip programmu",
"Quit when the window is closed": "Aizvērt programmu, kad logs tiek aizvērts", "Quit when the window is closed": "Aizvērt programmu, kad logs tiek aizvērts",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.",
"Save": "Saglabāt", "Save": "Saglabāt",
"Select All": "Atlasīt visu", "Select All": "Atlasīt visu",
"Select Download Location": "Select Download Location",
"Select file": "Select file",
"Services": "Pakalpojumi", "Services": "Pakalpojumi",
"Settings": "Iestatījumi", "Settings": "Iestatījumi",
"Shortcuts": "Īsinājumtaustiņi", "Shortcuts": "Īsinājumtaustiņi",
"Show app icon in system tray": "Rādīt programmas ikonu sistēmas teknē", "Show app icon in system tray": "Rādīt programmas ikonu sistēmas teknē",
"Show app unread badge": "Rādīt programmas nelasīto emblēmu",
"Show desktop notifications": "Rādīt darbvirsmas paziņojumus", "Show desktop notifications": "Rādīt darbvirsmas paziņojumus",
"Show sidebar": "Rādīt sānjoslu", "Show sidebar": "Rādīt sānjoslu",
"Show unread count badge on app icon": "Show unread count badge on app icon",
"Spellchecker Languages": "Pareizrakstības pārbaudes valodas", "Spellchecker Languages": "Pareizrakstības pārbaudes valodas",
"Start app at login": "Palaist programmu pie pieteikšanās", "Start app at login": "Palaist programmu pie pieteikšanās",
"Switch to Next Organization": "Pārslēgties uz nākamo organizāciju", "Switch to Next Organization": "Pārslēgties uz nākamo organizāciju",
"Switch to Previous Organization": "Pārslēgties uz iepriekšējo organizāciju", "Switch to Previous Organization": "Pārslēgties uz iepriekšējo organizāciju",
"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": "Šie darbvirsmas programmu īsinājumtaustiņi paplašina Zulip tīmekļa lietotnes", "These desktop app shortcuts extend the Zulip webapp's": "Šie darbvirsmas programmu īsinājumtaustiņi paplašina Zulip tīmekļa lietotnes",
"Tip": "Padoms", "Tip": "Padoms",
"Toggle DevTools for Active Tab": "Paslēpt/Parādīt Izstrādātāja rīkus aktīvājā cilnē", "Toggle DevTools for Active Tab": "Paslēpt/Parādīt Izstrādātāja rīkus aktīvājā cilnē",
@@ -109,15 +148,20 @@
"Toggle Sidebar": "Paslēpt/Parādīt sānjoslu", "Toggle Sidebar": "Paslēpt/Parādīt sānjoslu",
"Toggle Tray Icon": "Paslēpt/Parādīt teknes ikonu", "Toggle Tray Icon": "Paslēpt/Parādīt teknes ikonu",
"Tools": "Rīki", "Tools": "Rīki",
"Unable to check for updates.": "Unable to check for updates.",
"Unable to download the update.": "Unable to download the update.",
"Undo": "Atsaukt", "Undo": "Atsaukt",
"Unhide": "Parādīt", "Unhide": "Parādīt",
"Unknown error": "Unknown error",
"Upload": "Augšupielādēt", "Upload": "Augšupielādēt",
"Use system proxy settings (requires restart)": "Izmantot sistēmas starpniekservera iestatījumus (nepieciešama restartēšana)", "Use system proxy settings (requires restart)": "Izmantot sistēmas starpniekservera iestatījumus (nepieciešama restartēšana)",
"View": "Skatīt", "View": "Skatīt",
"View Shortcuts": "Skatīt īsinājumtaustiņi", "View Shortcuts": "Skatīt īsinājumtaustiņi",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"Window": "Logs", "Window": "Logs",
"Window Shortcuts": "Logu īsinājumtaustiņi", "Window Shortcuts": "Logu īsinājumtaustiņi",
"YES": "", "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.": "Pareizrakstības pārbaudei varat atlasīt ne vairāk kā 3 valodas.", "You can select a maximum of 3 languages for spellchecking.": "Pareizrakstības pārbaudei varat atlasīt ne vairāk kā 3 valodas.",
"Zoom In": "Pietuvināt", "Zoom In": "Pietuvināt",
"Zoom Out": "Attālināt", "Zoom Out": "Attālināt",

View File

@@ -1,10 +1,13 @@
{ {
"A new update {{{version}}} has been downloaded.": "A new update {{{version}}} has been downloaded.",
"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": "ഇഷ്‌ടാനുസൃത CSS ചേർക്കുക", "Add custom CSS": "ഇഷ്‌ടാനുസൃത CSS ചേർക്കുക",
"AddServer": "AddServer", "Add to Dictionary": "Add to Dictionary",
"Advanced": "വിപുലമായത്", "Advanced": "വിപുലമായത്",
"All the connected organizations will appear here.": "All the connected organizations will appear here.", "All the connected organizations will appear here.": "All the connected organizations will appear here.",
"Always start minimized": "എല്ലായ്പ്പോഴും ചെറുതാക്കാൻ ആരംഭിക്കുക", "Always start minimized": "എല്ലായ്പ്പോഴും ചെറുതാക്കാൻ ആരംഭിക്കുക",
@@ -13,11 +16,16 @@
"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", "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)": "യാന്ത്രികമായി മറയ്‌ക്കുക മെനു ബാർ (പ്രദർശിപ്പിക്കുന്നതിന് Alt കീ അമർത്തുക)", "Auto hide menu bar (Press Alt key to display)": "യാന്ത്രികമായി മറയ്‌ക്കുക മെനു ബാർ (പ്രദർശിപ്പിക്കുന്നതിന് Alt കീ അമർത്തുക)",
"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": "റദ്ദാക്കുക",
"Certificate error": "Certificate error",
"Change": "മാറ്റുക", "Change": "മാറ്റുക",
"Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.", "Change the language from System Preferences → Keyboard → Text → Spelling.": "Change the language from System Preferences → Keyboard → Text → Spelling.",
"Check for Updates": "അപ്‌ഡേറ്റുകൾക്കായി പരിശോധിക്കുക", "Check for Updates": "അപ്‌ഡേറ്റുകൾക്കായി പരിശോധിക്കുക",
@@ -26,14 +34,21 @@
"Connect to another organization": "മറ്റൊരു ഓർഗനൈസേഷനിലേക്ക് കണക്റ്റുചെയ്യുക", "Connect to another organization": "മറ്റൊരു ഓർഗനൈസേഷനിലേക്ക് കണക്റ്റുചെയ്യുക",
"Connected organizations": "ബന്ധിപ്പിച്ച ഓർഗനൈസേഷനുകൾ", "Connected organizations": "ബന്ധിപ്പിച്ച ഓർഗനൈസേഷനുകൾ",
"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": "Zulip URL പകർത്തുക", "Copy Zulip URL": "Zulip URL പകർത്തുക",
"Create a new organization": "ഒരു പുതിയ ഓർഗനൈസേഷൻ സൃഷ്ടിക്കുക", "Create a new organization": "ഒരു പുതിയ ഓർഗനൈസേഷൻ സൃഷ്ടിക്കുക",
"Custom CSS file deleted": "Custom CSS file deleted",
"Cut": "മുറിക്കുക", "Cut": "മുറിക്കുക",
"Default download location": "സ്ഥിരസ്ഥിതി ഡ download ൺ‌ലോഡ് സ്ഥാനം", "Default download location": "സ്ഥിരസ്ഥിതി ഡ download ൺ‌ലോഡ് സ്ഥാനം",
"Delete": "ഇല്ലാതാക്കുക", "Delete": "ഇല്ലാതാക്കുക",
"Desktop Notifications": "ഡെസ്ക്ടോപ്പ് അറിയിപ്പുകൾ", "Desktop Notifications": "ഡെസ്ക്ടോപ്പ് അറിയിപ്പുകൾ",
"Desktop Settings": "ഡെസ്ക്ടോപ്പ് ക്രമീകരണങ്ങൾ", "Desktop Settings": "ഡെസ്ക്ടോപ്പ് ക്രമീകരണങ്ങൾ",
"Disconnect": "വിച്ഛേദിക്കുക", "Disconnect": "വിച്ഛേദിക്കുക",
"Disconnect organization": "Disconnect organization",
"Do Not Disturb": "Do Not Disturb",
"Download App Logs": "അപ്ലിക്കേഷൻ ലോഗുകൾ ഡൗൺലോഡുചെയ്യുക", "Download App Logs": "അപ്ലിക്കേഷൻ ലോഗുകൾ ഡൗൺലോഡുചെയ്യുക",
"Edit": "എഡിറ്റുചെയ്യുക", "Edit": "എഡിറ്റുചെയ്യുക",
"Edit Shortcuts": "കുറുക്കുവഴികൾ എഡിറ്റുചെയ്യുക", "Edit Shortcuts": "കുറുക്കുവഴികൾ എഡിറ്റുചെയ്യുക",
@@ -42,6 +57,9 @@
"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 Full Screen": "Enter Full Screen",
"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", "Factory Reset Data": "Factory Reset Data",
"File": "ഫയൽ", "File": "ഫയൽ",
@@ -52,6 +70,7 @@
"Functionality": "പ്രവർത്തനം", "Functionality": "പ്രവർത്തനം",
"General": "ജനറൽ", "General": "ജനറൽ",
"Get beta updates": "ബീറ്റ അപ്‌ഡേറ്റുകൾ നേടുക", "Get beta updates": "ബീറ്റ അപ്‌ഡേറ്റുകൾ നേടുക",
"Go Back": "Go Back",
"Hard Reload": "ഹാർഡ് റീലോഡ്", "Hard Reload": "ഹാർഡ് റീലോഡ്",
"Help": "സഹായിക്കൂ", "Help": "സഹായിക്കൂ",
"Help Center": "സഹായകേന്ദ്രം", "Help Center": "സഹായകേന്ദ്രം",
@@ -60,15 +79,28 @@
"Hide Zulip": "Hide Zulip", "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": "സുലിപ്പിൽ നിന്നുള്ള എല്ലാ ശബ്ദങ്ങളും നിശബ്ദമാക്കുക",
"NO": "ഇല്ല",
"Network": "നെറ്റ്‌വർക്ക്", "Network": "നെറ്റ്‌വർക്ക്",
"Network and Proxy Settings": "Network and Proxy Settings", "Network and Proxy Settings": "Network and Proxy Settings",
"New servers added. Reload app now?": "New servers added. Reload app now?",
"No": "ഇല്ല",
"No Suggestion Found": "No Suggestion Found",
"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.", "On macOS, the OS spellchecker is used.": "On macOS, the OS spellchecker is used.",
"Organization URL": "ഓർ‌ഗനൈസേഷൻ‌ URL", "Organization URL": "ഓർ‌ഗനൈസേഷൻ‌ URL",
@@ -78,6 +110,7 @@
"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", "Quit when the window is closed": "Quit when the window is closed",
@@ -89,17 +122,23 @@
"Reset the application, thus deleting all the connected organizations and accounts.": "Reset the application, thus deleting all the connected organizations and accounts.", "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", "Services": "Services",
"Settings": "ക്രമീകരണങ്ങൾ", "Settings": "ക്രമീകരണങ്ങൾ",
"Shortcuts": "കുറുക്കുവഴികൾ", "Shortcuts": "കുറുക്കുവഴികൾ",
"Show app icon in system tray": "സിസ്റ്റം ട്രേയിൽ അപ്ലിക്കേഷൻ ഐക്കൺ കാണിക്കുക", "Show app icon in system tray": "സിസ്റ്റം ട്രേയിൽ അപ്ലിക്കേഷൻ ഐക്കൺ കാണിക്കുക",
"Show app unread badge": "അപ്ലിക്കേഷൻ വായിക്കാത്ത ബാഡ്ജ് കാണിക്കുക",
"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", "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": "സജീവ ടാബിനായി DevTools ടോഗിൾ ചെയ്യുക", "Toggle DevTools for Active Tab": "സജീവ ടാബിനായി DevTools ടോഗിൾ ചെയ്യുക",
@@ -109,15 +148,20 @@
"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", "Unhide": "Unhide",
"Unknown error": "Unknown error",
"Upload": "അപ്‌ലോഡുചെയ്യുക", "Upload": "അപ്‌ലോഡുചെയ്യുക",
"Use system proxy settings (requires restart)": "സിസ്റ്റം പ്രോക്സി ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക (പുനരാരംഭിക്കേണ്ടതുണ്ട്)", "Use system proxy settings (requires restart)": "സിസ്റ്റം പ്രോക്സി ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക (പുനരാരംഭിക്കേണ്ടതുണ്ട്)",
"View": "കാണുക", "View": "കാണുക",
"View Shortcuts": "കുറുക്കുവഴികൾ കാണുക", "View Shortcuts": "കുറുക്കുവഴികൾ കാണുക",
"We encountered an error while saving the update notifications.": "We encountered an error while saving the update notifications.",
"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.", "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": "സൂം .ട്ട് ചെയ്യുക",

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