mirror of
https://github.com/element-hq/element-desktop.git
synced 2026-01-06 06:28:46 -05:00
Compare commits
253 Commits
t3chguy/fi
...
v1.11.50
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ef4c62fb1 | ||
|
|
de59ed995a | ||
|
|
509c0c5678 | ||
|
|
cdf3ce8fd6 | ||
|
|
7c65dbf549 | ||
|
|
b2b7bcb5af | ||
|
|
7e10269009 | ||
|
|
145b58611a | ||
|
|
a200cc402d | ||
|
|
24dc38d99d | ||
|
|
53902c0fd6 | ||
|
|
b8e0e26a30 | ||
|
|
a5ce2c122f | ||
|
|
860385d8b8 | ||
|
|
572b3b6b05 | ||
|
|
afe8956123 | ||
|
|
655af71613 | ||
|
|
cb3cb91c2b | ||
|
|
8b363f300f | ||
|
|
4a7258cc87 | ||
|
|
7214c7e48e | ||
|
|
cc6e1fefae | ||
|
|
e4f60fce10 | ||
|
|
0cc6e2aeb1 | ||
|
|
d3c5c736f8 | ||
|
|
a8deae3950 | ||
|
|
06200aa663 | ||
|
|
fefc92d513 | ||
|
|
fb11841070 | ||
|
|
09d4815d8a | ||
|
|
51dda630d1 | ||
|
|
e330d0c3e7 | ||
|
|
6637923701 | ||
|
|
a9003d1abd | ||
|
|
8c4b9e9f41 | ||
|
|
ade277af89 | ||
|
|
ca0a48196c | ||
|
|
203ce96d0b | ||
|
|
dac155ebe7 | ||
|
|
05527b784c | ||
|
|
850eccca79 | ||
|
|
777277163b | ||
|
|
88788b42a5 | ||
|
|
4a92992c26 | ||
|
|
5142d4aefd | ||
|
|
68b289d779 | ||
|
|
6198190095 | ||
|
|
02080bbe2e | ||
|
|
71738c3dfc | ||
|
|
9890109ebf | ||
|
|
da9d9e1730 | ||
|
|
2738dca96f | ||
|
|
485fee3a77 | ||
|
|
9d63ba5d41 | ||
|
|
507fd77b21 | ||
|
|
ecf8a2814b | ||
|
|
3758623283 | ||
|
|
1bfaa948a0 | ||
|
|
2e6a85a239 | ||
|
|
f563d8c4cd | ||
|
|
a2e800e301 | ||
|
|
49b87dfb53 | ||
|
|
00c27c4475 | ||
|
|
0f268891cd | ||
|
|
7377787b2f | ||
|
|
696e7d2652 | ||
|
|
3eb32d9ff3 | ||
|
|
14b264e353 | ||
|
|
089810ec60 | ||
|
|
9afcaf54fc | ||
|
|
fdc230ff17 | ||
|
|
0af8b8e420 | ||
|
|
565c662b25 | ||
|
|
173e658b3c | ||
|
|
2f901cab6a | ||
|
|
59069c316f | ||
|
|
d73e3b0f0c | ||
|
|
422bb150c9 | ||
|
|
b6daedae89 | ||
|
|
bcfc057879 | ||
|
|
d3b84266a4 | ||
|
|
94a0347946 | ||
|
|
c87e72c4a1 | ||
|
|
ac1acc1591 | ||
|
|
0bd8a1720e | ||
|
|
58f2f99ca4 | ||
|
|
5e56cd59ef | ||
|
|
ca43ab8a6f | ||
|
|
ece7240345 | ||
|
|
f45f83f0f5 | ||
|
|
1905e4759b | ||
|
|
4278447157 | ||
|
|
e840ba55c1 | ||
|
|
4ec7d29488 | ||
|
|
e2ef97cc15 | ||
|
|
8602435994 | ||
|
|
624d941950 | ||
|
|
bdca72cc19 | ||
|
|
eabd0af515 | ||
|
|
e5e0a4cdbb | ||
|
|
9d15a270e2 | ||
|
|
889e7cfa0c | ||
|
|
b67270d324 | ||
|
|
a99b30f839 | ||
|
|
a094a06465 | ||
|
|
1f43456984 | ||
|
|
8edaf46557 | ||
|
|
3549d38cfd | ||
|
|
383377493c | ||
|
|
37bf22b92c | ||
|
|
ac40e365e5 | ||
|
|
42c45a51ca | ||
|
|
dc780491c8 | ||
|
|
2d102bdc19 | ||
|
|
2b1e88f16e | ||
|
|
9b83e2d515 | ||
|
|
7c13a58b51 | ||
|
|
a974b5bab5 | ||
|
|
0db7363a58 | ||
|
|
86832a1793 | ||
|
|
2c62efa6e8 | ||
|
|
bae8b58c17 | ||
|
|
724c545b0c | ||
|
|
2deacf6d41 | ||
|
|
d7c4e9b74a | ||
|
|
d929da6869 | ||
|
|
d830d0ef10 | ||
|
|
6a72f53d0b | ||
|
|
0f82a070dc | ||
|
|
85901ef2a9 | ||
|
|
426ad15f8c | ||
|
|
33787efd1c | ||
|
|
d4de1a362f | ||
|
|
90492d61e6 | ||
|
|
1bbced71b8 | ||
|
|
a1f86e83dc | ||
|
|
95c0fab46a | ||
|
|
ce10394e58 | ||
|
|
e51e248052 | ||
|
|
d718f008e7 | ||
|
|
0da5ec88d6 | ||
|
|
47e98c55b2 | ||
|
|
060ac5b650 | ||
|
|
d06bf5b062 | ||
|
|
a0f92941fc | ||
|
|
2b61ea82ec | ||
|
|
d9c5c4be07 | ||
|
|
d15bedda5a | ||
|
|
04d91ef5b8 | ||
|
|
7d1dd90b2a | ||
|
|
dd6ba612d0 | ||
|
|
45c6a2b9f3 | ||
|
|
cdd16c9cbd | ||
|
|
6319ba04d3 | ||
|
|
ae7fe02018 | ||
|
|
6adc753b30 | ||
|
|
1929351e91 | ||
|
|
0208c4d087 | ||
|
|
d67822dae3 | ||
|
|
e2f7393ad5 | ||
|
|
bc97be9ab7 | ||
|
|
ae1d8a896d | ||
|
|
fd66c14544 | ||
|
|
07523ecfdd | ||
|
|
6aac68ca9a | ||
|
|
ef457ca9d7 | ||
|
|
2dc0eb58dd | ||
|
|
1debdbeb47 | ||
|
|
ef170eb94e | ||
|
|
1234db90aa | ||
|
|
58bf462c47 | ||
|
|
5ceed282a0 | ||
|
|
6b2314e54e | ||
|
|
95c56b9168 | ||
|
|
11664eb97b | ||
|
|
436214df2e | ||
|
|
6bfd6fe310 | ||
|
|
4517225540 | ||
|
|
0b31c6d510 | ||
|
|
62e29796de | ||
|
|
a61197518e | ||
|
|
c3f00bfbcc | ||
|
|
29a16451cb | ||
|
|
fedaba9583 | ||
|
|
a922eb000c | ||
|
|
9e87edfcf4 | ||
|
|
a21e5afb84 | ||
|
|
6c7d36dce6 | ||
|
|
10f4cc6293 | ||
|
|
4e69dda7d2 | ||
|
|
ae26804bac | ||
|
|
6e086dc505 | ||
|
|
9c885cd8b8 | ||
|
|
edad10fdad | ||
|
|
3c4be89c0b | ||
|
|
f85f98d34d | ||
|
|
a76c5b224c | ||
|
|
9ddd26b2a3 | ||
|
|
3ac0158b9c | ||
|
|
067ce4763d | ||
|
|
eb5251057c | ||
|
|
6c7771f170 | ||
|
|
229d0a9f78 | ||
|
|
81459e89ef | ||
|
|
822b7390fa | ||
|
|
758c38983c | ||
|
|
196243854b | ||
|
|
e254b82ba9 | ||
|
|
d6cbe706f7 | ||
|
|
4697612103 | ||
|
|
3fdfc84c81 | ||
|
|
e9edaddda2 | ||
|
|
8a0a102edd | ||
|
|
ae2076d2f7 | ||
|
|
0fc4fb470c | ||
|
|
207408704a | ||
|
|
4212f7f28a | ||
|
|
75f4829505 | ||
|
|
e5da625947 | ||
|
|
6ec0c27764 | ||
|
|
35f52a5ab0 | ||
|
|
d4432946bc | ||
|
|
5169c5a339 | ||
|
|
598326afba | ||
|
|
e171a6acbe | ||
|
|
faa5479b5d | ||
|
|
08c50b8e4e | ||
|
|
a6e175268e | ||
|
|
afdad2d31c | ||
|
|
dad964aca0 | ||
|
|
3d2006ca50 | ||
|
|
4d05739ca0 | ||
|
|
077ed14743 | ||
|
|
184873843a | ||
|
|
ddc374b6ee | ||
|
|
bbd8c8c959 | ||
|
|
18235b1dcd | ||
|
|
8f2390dc2a | ||
|
|
241c7d23f1 | ||
|
|
e4fa2f76a5 | ||
|
|
aafa9b1a31 | ||
|
|
1f258cf4f1 | ||
|
|
e649cd6631 | ||
|
|
9f5bb05bab | ||
|
|
5551539a68 | ||
|
|
1bbdd31eac | ||
|
|
c87e8977c7 | ||
|
|
005640787a | ||
|
|
16b4beb50b | ||
|
|
0aa079974f | ||
|
|
4439ac3519 | ||
|
|
f2d0676ed1 | ||
|
|
5be0bbc819 |
1
.github/CODEOWNERS
vendored
1
.github/CODEOWNERS
vendored
@@ -2,3 +2,4 @@
|
||||
/.github/workflows/** @vector-im/element-web-app-team
|
||||
/package.json @vector-im/element-web-app-team
|
||||
/yarn.lock @vector-im/element-web-app-team
|
||||
/src/i18n/strings
|
||||
|
||||
1
.github/release-drafter.yml
vendored
Normal file
1
.github/release-drafter.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
_extends: vector-im/element-web
|
||||
2
.github/workflows/backport.yml
vendored
2
.github/workflows/backport.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
)
|
||||
)
|
||||
steps:
|
||||
- uses: tibdex/backport@2e217641d82d02ba0603f46b1aeedefb258890ac
|
||||
- uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e # v2
|
||||
with:
|
||||
labels_template: "<%= JSON.stringify([...labels, 'X-Release-Blocker']) %>"
|
||||
# We can't use GITHUB_TOKEN here or CI won't run on the new PR
|
||||
|
||||
81
.github/workflows/build_and_deploy.yaml
vendored
81
.github/workflows/build_and_deploy.yaml
vendored
@@ -3,6 +3,9 @@ on:
|
||||
# Nightly build
|
||||
schedule:
|
||||
- cron: "0 9 * * *"
|
||||
# Release build
|
||||
release:
|
||||
types: [published]
|
||||
# Manual nightly & release
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
@@ -19,13 +22,8 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
windows_32bit:
|
||||
description: Build Windows 32-bit
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
windows_64bit:
|
||||
description: Build Windows 64-bit
|
||||
windows:
|
||||
description: Build Windows
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
@@ -39,7 +37,7 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
run-name: Element ${{ inputs.mode == 'release' && 'Desktop' || 'Nightly' }}
|
||||
run-name: Element ${{ inputs.mode != 'release' && github.event_name != 'release' && 'Nightly' || 'Desktop' }}
|
||||
concurrency: ${{ github.workflow }}
|
||||
env:
|
||||
R2_BUCKET: ${{ vars.R2_BUCKET }}
|
||||
@@ -47,36 +45,27 @@ jobs:
|
||||
prepare:
|
||||
uses: ./.github/workflows/build_prepare.yaml
|
||||
with:
|
||||
config: element.io/${{ inputs.mode || 'nightly' }}
|
||||
version: ${{ inputs.mode != 'release' && 'develop' || '' }}
|
||||
nightly: ${{ inputs.mode != 'release' }}
|
||||
config: element.io/${{ inputs.mode || (github.event_name == 'release' && 'release') || 'nightly' }}
|
||||
version: ${{ (inputs.mode != 'release' && github.event_name != 'release') && 'develop' || '' }}
|
||||
nightly: ${{ inputs.mode != 'release' && github.event_name != 'release' }}
|
||||
secrets:
|
||||
CF_R2_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
|
||||
CF_R2_TOKEN: ${{ secrets.CF_R2_TOKEN }}
|
||||
|
||||
windows_32bit:
|
||||
if: github.event_name != 'workflow_dispatch' || inputs.windows_32bit
|
||||
windows:
|
||||
if: github.event_name != 'workflow_dispatch' || inputs.windows
|
||||
needs: prepare
|
||||
name: Windows 32-bit
|
||||
name: Windows ${{ matrix.arch }}
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86, x64]
|
||||
uses: ./.github/workflows/build_windows.yaml
|
||||
secrets: inherit
|
||||
with:
|
||||
sign: true
|
||||
deploy-mode: true
|
||||
arch: x86
|
||||
version: ${{ needs.prepare.outputs.win32-x86-version }}
|
||||
|
||||
windows_64bit:
|
||||
if: github.event_name != 'workflow_dispatch' || inputs.windows_64bit
|
||||
needs: prepare
|
||||
name: Windows 64-bit
|
||||
uses: ./.github/workflows/build_windows.yaml
|
||||
secrets: inherit
|
||||
with:
|
||||
sign: true
|
||||
deploy-mode: true
|
||||
arch: x64
|
||||
version: ${{ needs.prepare.outputs.win32-x64-version }}
|
||||
arch: ${{ matrix.arch }}
|
||||
version: ${{ needs.prepare.outputs.nightly-version }}
|
||||
|
||||
macos:
|
||||
if: github.event_name != 'workflow_dispatch' || inputs.macos
|
||||
@@ -87,8 +76,8 @@ jobs:
|
||||
with:
|
||||
sign: true
|
||||
deploy-mode: true
|
||||
base-url: https://packages.element.io/${{ inputs.mode == 'release' && 'desktop' || 'nightly' }}
|
||||
version: ${{ needs.prepare.outputs.macos-version }}
|
||||
base-url: https://packages.element.io/${{ needs.prepare.outputs.packages-dir }}
|
||||
version: ${{ needs.prepare.outputs.nightly-version }}
|
||||
|
||||
# We do not put these calls into deploy-mode as we do not want it to add to the packages.element.io artifact
|
||||
# We ship this build via reprepro only
|
||||
@@ -102,9 +91,9 @@ jobs:
|
||||
uses: ./.github/workflows/build_linux.yaml
|
||||
with:
|
||||
arch: ${{ matrix.arch }}
|
||||
config: element.io/${{ inputs.mode || 'nightly' }}
|
||||
config: ${{ needs.prepare.outputs.config }}
|
||||
sqlcipher: system
|
||||
version: ${{ needs.prepare.outputs.linux-version }}
|
||||
version: ${{ needs.prepare.outputs.nightly-version }}
|
||||
|
||||
# We ship the static build via static tarball only
|
||||
linux_static:
|
||||
@@ -115,22 +104,28 @@ jobs:
|
||||
with:
|
||||
arch: amd64
|
||||
deploy-mode: true
|
||||
config: element.io/${{ inputs.mode || 'nightly' }}
|
||||
config: ${{ needs.prepare.outputs.config }}
|
||||
sqlcipher: static
|
||||
version: ${{ needs.prepare.outputs.linux-version }}
|
||||
version: ${{ needs.prepare.outputs.nightly-version }}
|
||||
|
||||
# This deploy job only handles Windows, macOS & linux_static as those are stateless and static.
|
||||
# Linux will be deployed via reprepro after it, but we list it as a dependency to abort if it fails.
|
||||
deploy:
|
||||
needs:
|
||||
- prepare
|
||||
- macos
|
||||
- linux
|
||||
- linux_static
|
||||
- windows_32bit
|
||||
- windows_64bit
|
||||
- windows
|
||||
runs-on: ubuntu-latest
|
||||
name: Deploy
|
||||
if: github.event_name != 'workflow_dispatch' || (inputs.deploy && (inputs.macos || inputs.windows_32bit || inputs.windows_64bit))
|
||||
if: |
|
||||
always() && !failure() && !cancelled() && ((
|
||||
github.event_name != 'workflow_dispatch' &&
|
||||
github.event.release.prerelease != true
|
||||
) || (
|
||||
inputs.deploy && (inputs.macos || inputs.windows || inputs.linux)
|
||||
))
|
||||
environment: packages.element.io
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
@@ -146,10 +141,10 @@ jobs:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
|
||||
R2_URL: ${{ vars.CF_R2_S3_API }}
|
||||
DEPLOYMENT_DIR: ${{ inputs.mode == 'release' && 'desktop' || 'nightly' }}
|
||||
DEPLOYMENT_DIR: ${{ needs.prepare.outputs.packages-dir }}
|
||||
|
||||
- name: Notify packages.element.io of new files
|
||||
uses: peter-evans/repository-dispatch@26b39ed245ab8f31526069329e112ab2fb224588 # v2
|
||||
uses: peter-evans/repository-dispatch@bf47d102fdb849e755b0b0023ea3e81a44b6f570 # v2
|
||||
with:
|
||||
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
repository: vector-im/packages.element.io
|
||||
@@ -164,7 +159,13 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [amd64, arm64]
|
||||
if: github.event_name != 'workflow_dispatch' || (inputs.deploy && inputs.linux)
|
||||
if: |
|
||||
always() && !failure() && !cancelled() && ((
|
||||
github.event_name != 'workflow_dispatch' &&
|
||||
github.event.release.prerelease != true
|
||||
) || (
|
||||
inputs.deploy && inputs.linux
|
||||
))
|
||||
uses: ./.github/workflows/reprepro.yaml
|
||||
secrets: inherit
|
||||
with:
|
||||
|
||||
8
.github/workflows/build_and_test.yaml
vendored
8
.github/workflows/build_and_test.yaml
vendored
@@ -41,13 +41,13 @@ jobs:
|
||||
|
||||
- name: "Get modified files"
|
||||
id: changed_files
|
||||
uses: tj-actions/changed-files@b2d17f51244a144849c6b37a3a6791b98a51d86f # v35
|
||||
uses: tj-actions/changed-files@40526807ee1e208a1a8c1bbe6bd2d1b044ef6368 # v40
|
||||
with:
|
||||
files: |
|
||||
dockerbuild/*
|
||||
dockerbuild/**
|
||||
- name: Log in to the Container registry
|
||||
if: steps.changed_files.outputs.any_modified == 'true'
|
||||
uses: docker/login-action@40891eba8c2bcd1309b07ba8b11232f313e86779
|
||||
uses: docker/login-action@1f401f745bf57e30b3a2800ad308a87d2ebdf14b
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
|
||||
- name: Build and push Docker image
|
||||
if: steps.changed_files.outputs.any_modified == 'true'
|
||||
uses: docker/build-push-action@91df6b874e498451163feb47610c87c4a218c1ee
|
||||
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5
|
||||
with:
|
||||
context: dockerbuild
|
||||
push: true
|
||||
|
||||
14
.github/workflows/build_macos.yaml
vendored
14
.github/workflows/build_macos.yaml
vendored
@@ -52,11 +52,10 @@ jobs:
|
||||
|
||||
- name: Install Rust
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746
|
||||
with:
|
||||
default: true
|
||||
toolchain: stable
|
||||
target: aarch64-apple-darwin
|
||||
run: |
|
||||
rustup toolchain install stable --profile minimal --no-self-update
|
||||
rustup default stable
|
||||
rustup target add aarch64-apple-darwin
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
@@ -68,7 +67,10 @@ jobs:
|
||||
|
||||
- name: Build Natives
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: "yarn build:native:universal"
|
||||
run: |
|
||||
# Python 3.12 drops distutils which keytar relies on
|
||||
pip3 install setuptools
|
||||
yarn build:native:universal
|
||||
|
||||
- name: "[Nightly] Resolve version"
|
||||
id: nightly
|
||||
|
||||
54
.github/workflows/build_prepare.yaml
vendored
54
.github/workflows/build_prepare.yaml
vendored
@@ -23,28 +23,23 @@ on:
|
||||
CF_R2_TOKEN:
|
||||
required: false
|
||||
outputs:
|
||||
macos-version:
|
||||
description: "The version string the next macOS Nightly should use, only output for nightly"
|
||||
value: ${{ jobs.prepare.outputs.macos-version }}
|
||||
linux-version:
|
||||
description: "The version string the next Linux Nightly should use, only output for nightly"
|
||||
value: ${{ jobs.prepare.outputs.linux-version }}
|
||||
win32-x64-version:
|
||||
description: "The version string the next Windows x64 Nightly should use, only output for nightly"
|
||||
value: ${{ jobs.prepare.outputs.win32-x64-version }}
|
||||
win32-x86-version:
|
||||
description: "The version string the next Windows x86 Nightly should use, only output for nightly"
|
||||
value: ${{ jobs.prepare.outputs.win32-x86-version }}
|
||||
nightly-version:
|
||||
description: "The version string the next Nightly should use, only output for nightly"
|
||||
value: ${{ jobs.prepare.outputs.nightly-version }}
|
||||
packages-dir:
|
||||
description: "The directory non-deb packages for this run should live in within packages.element.io"
|
||||
value: ${{ inputs.nightly && 'nightly' || 'desktop' }}
|
||||
# This is just a simple pass-through of the input to simplify reuse of complex inline conditions
|
||||
config:
|
||||
description: "The relative path to the config file for this run"
|
||||
value: ${{ inputs.config }}
|
||||
jobs:
|
||||
prepare:
|
||||
name: Prepare
|
||||
environment: ${{ inputs.nightly && 'packages.element.io' || '' }}
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
macos-version: ${{ steps.versions.outputs.macos }}
|
||||
linux-version: ${{ steps.versions.outputs.linux }}
|
||||
win32-x64-version: ${{ steps.versions.outputs.win_x64 }}
|
||||
win32-x86-version: ${{ steps.versions.outputs.win_x86 }}
|
||||
nightly-version: ${{ steps.versions.outputs.nightly }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
@@ -66,20 +61,21 @@ jobs:
|
||||
find hak -type f -print0 | xargs -0 sha1sum >> hakHash
|
||||
find scripts/hak -type f -print0 | xargs -0 sha1sum >> hakHash
|
||||
|
||||
- name: "[Nightly] Calculate versions"
|
||||
- name: "[Nightly] Calculate version"
|
||||
id: versions
|
||||
if: inputs.nightly
|
||||
run: |
|
||||
MACOS=$(aws s3 cp s3://$R2_BUCKET/nightly/update/macos/releases.json - --endpoint-url $R2_URL --region auto | jq -r .currentRelease)
|
||||
echo "macos=$(scripts/generate-nightly-version.ts --latest $MACOS)" >> $GITHUB_OUTPUT
|
||||
# Find all latest Nightly versions
|
||||
aws s3 cp s3://$R2_BUCKET/nightly/update/macos/releases.json - --endpoint-url $R2_URL --region auto | jq -r .currentRelease >> VERSIONS
|
||||
aws s3 cp s3://$R2_BUCKET/debian/dists/default/main/binary-amd64/Packages - --endpoint-url $R2_URL --region auto | grep "Package: element-nightly" -A 50 | grep Version -m1 | sed -n 's/Version: //p' >> VERSIONS
|
||||
aws s3 cp s3://$R2_BUCKET/debian/dists/default/main/binary-arm64/Packages - --endpoint-url $R2_URL --region auto | grep "Package: element-nightly" -A 50 | grep Version -m1 | sed -n 's/Version: //p' >> VERSIONS
|
||||
aws s3 cp s3://$R2_BUCKET/nightly/update/win32/x64/RELEASES - --endpoint-url $R2_URL --region auto | awk '{print $2}' | cut -d "-" -f 5 | cut -c 8- >> VERSIONS
|
||||
aws s3 cp s3://$R2_BUCKET/nightly/update/win32/ia32/RELEASES - --endpoint-url $R2_URL --region auto | awk '{print $2}' | cut -d "-" -f 5 | cut -c 8- >> VERSIONS
|
||||
|
||||
LINUX=$(aws s3 cp s3://$R2_BUCKET/debian/dists/default/main/binary-amd64/Packages - --endpoint-url $R2_URL --region auto | grep "Package: element-nightly" -A 50 | grep Version -m1 | sed -n 's/Version: //p')
|
||||
echo "linux=$(scripts/generate-nightly-version.ts --latest $LINUX)" >> $GITHUB_OUTPUT
|
||||
|
||||
WINx64=$(aws s3 cp s3://$R2_BUCKET/nightly/update/win32/x64/RELEASES - --endpoint-url $R2_URL --region auto | awk '{print $2}' | cut -d "-" -f 5 | cut -c 8-)
|
||||
echo "win_x64=$(scripts/generate-nightly-version.ts --latest $WINx64)" >> $GITHUB_OUTPUT
|
||||
WINx86=$(aws s3 cp s3://$R2_BUCKET/nightly/update/win32/ia32/RELEASES - --endpoint-url $R2_URL --region auto | awk '{print $2}' | cut -d "-" -f 5 | cut -c 8-)
|
||||
echo "win_x86=$(scripts/generate-nightly-version.ts --latest $WINx86)" >> $GITHUB_OUTPUT
|
||||
# Pick the greatest one
|
||||
VERSION=$(cat VERSIONS | sort -uf | tail -n1)
|
||||
# Increment it
|
||||
echo "nightly=$(scripts/generate-nightly-version.ts --latest $VERSION)" >> $GITHUB_OUTPUT
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
|
||||
@@ -123,14 +119,10 @@ jobs:
|
||||
REACT_VERSION=${WEBAPP_VERSION:19:12}
|
||||
JS_VERSION=${WEBAPP_VERSION:35:12}
|
||||
|
||||
echo "### Nightly build" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Nightly build ${{ steps.versions.outputs.nightly }}" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| Component | Version |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| ----------- | ------- |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| macOS | ${{ steps.versions.outputs.macos }} |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| Linux | ${{ steps.versions.outputs.linux }} |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| Windows x64 | ${{ steps.versions.outputs.win_x64 }} |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| Windows x86 | ${{ steps.versions.outputs.win_x86 }} |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| Bundle Hash | $BUNDLE_HASH |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| Element Web | [$WEB_VERSION](https://github.com/vector-im/element-web/commit/$WEB_VERSION) |" >> $GITHUB_STEP_SUMMARY
|
||||
echo "| React SDK | [$REACT_VERSION](https://github.com/matrix-org/matrix-react-sdk/commit/$REACT_VERSION) |" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
9
.github/workflows/build_windows.yaml
vendored
9
.github/workflows/build_windows.yaml
vendored
@@ -95,11 +95,10 @@ jobs:
|
||||
|
||||
- name: Install Rust
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746
|
||||
with:
|
||||
default: true
|
||||
toolchain: stable
|
||||
target: ${{ steps.config.outputs.target }}
|
||||
run: |
|
||||
rustup toolchain install stable --profile minimal --no-self-update
|
||||
rustup default stable
|
||||
rustup target add ${{ steps.config.outputs.target }}
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
|
||||
6
.github/workflows/dockerbuild.yaml
vendored
6
.github/workflows/dockerbuild.yaml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Log in to the Container registry
|
||||
uses: docker/login-action@40891eba8c2bcd1309b07ba8b11232f313e86779
|
||||
uses: docker/login-action@1f401f745bf57e30b3a2800ad308a87d2ebdf14b
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
@@ -28,14 +28,14 @@ jobs:
|
||||
|
||||
- name: Extract metadata for Docker
|
||||
id: meta
|
||||
uses: docker/metadata-action@c4ee3adeed93b1fa6a762f209fb01608c1a22f1e
|
||||
uses: docker/metadata-action@62339db73c56dd749060f65a6ebb93a6e056b755
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@91df6b874e498451163feb47610c87c4a218c1ee
|
||||
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5
|
||||
with:
|
||||
context: dockerbuild
|
||||
push: true
|
||||
|
||||
8
.github/workflows/localazy_download.yaml
vendored
Normal file
8
.github/workflows/localazy_download.yaml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
name: Localazy Download
|
||||
on:
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
download:
|
||||
uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_download.yaml@main
|
||||
secrets:
|
||||
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
11
.github/workflows/localazy_upload.yaml
vendored
Normal file
11
.github/workflows/localazy_upload.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
name: Localazy Upload
|
||||
on:
|
||||
push:
|
||||
branches: [develop]
|
||||
paths:
|
||||
- "src/i18n/strings/en_EN.json"
|
||||
jobs:
|
||||
upload:
|
||||
uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_upload.yaml@main
|
||||
secrets:
|
||||
LOCALAZY_WRITE_KEY: ${{ secrets.LOCALAZY_WRITE_KEY }}
|
||||
30
.github/workflows/release-drafter.yml
vendored
Normal file
30
.github/workflows/release-drafter.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Release Drafter
|
||||
on:
|
||||
push:
|
||||
branches: [staging]
|
||||
concurrency: ${{ github.workflow }}
|
||||
jobs:
|
||||
element-web:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
version: ${{ steps.release.outputs.tag_name }}
|
||||
steps:
|
||||
- name: Get draft release
|
||||
id: release
|
||||
uses: cardinalby/git-get-release-action@cedef2faf69cb7c55b285bad07688d04430b7ada # v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
repo: vector-im/element-web
|
||||
with:
|
||||
latest: true
|
||||
|
||||
draft:
|
||||
needs: element-web
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: release-drafter/release-drafter@dabcf3767562210392d862070ed2ef6434b9bc6f # v5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
disable-autolabeler: true
|
||||
version-template: ${{ needs.element-web.outputs.version }}
|
||||
11
.github/workflows/release-gitflow.yml
vendored
Normal file
11
.github/workflows/release-gitflow.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# Gitflow merge-back master->develop
|
||||
name: Merge master -> develop
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
concurrency: ${{ github.repository }}-${{ github.workflow }}
|
||||
jobs:
|
||||
merge:
|
||||
uses: matrix-org/matrix-js-sdk/.github/workflows/release-gitflow.yml@develop
|
||||
secrets:
|
||||
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
22
.github/workflows/release.yml
vendored
Normal file
22
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Release Process
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
mode:
|
||||
description: What type of release
|
||||
required: true
|
||||
default: rc
|
||||
type: choice
|
||||
options:
|
||||
- rc
|
||||
- final
|
||||
concurrency: ${{ github.workflow }}
|
||||
jobs:
|
||||
release:
|
||||
uses: matrix-org/matrix-js-sdk/.github/workflows/release-action.yml@develop
|
||||
secrets: inherit
|
||||
with:
|
||||
final: ${{ inputs.mode == 'final' }}
|
||||
include-changes: vector-im/element-web@$VERSION
|
||||
gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }}
|
||||
expected-asset-count: 1
|
||||
2
.github/workflows/reprepro.yaml
vendored
2
.github/workflows/reprepro.yaml
vendored
@@ -41,7 +41,7 @@ jobs:
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
|
||||
|
||||
- name: Notify packages.element.io of incoming deb
|
||||
uses: peter-evans/repository-dispatch@26b39ed245ab8f31526069329e112ab2fb224588 # v2
|
||||
uses: peter-evans/repository-dispatch@bf47d102fdb849e755b0b0023ea3e81a44b6f570 # v2
|
||||
with:
|
||||
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
repository: vector-im/packages.element.io
|
||||
|
||||
2
.github/workflows/static_analysis.yaml
vendored
2
.github/workflows/static_analysis.yaml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
|
||||
i18n_lint:
|
||||
name: "i18n Check"
|
||||
uses: matrix-org/matrix-react-sdk/.github/workflows/i18n_check.yml@develop
|
||||
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main
|
||||
|
||||
js_lint:
|
||||
name: "ESLint"
|
||||
|
||||
10
.github/workflows/triage-labelled.yml
vendored
Normal file
10
.github/workflows/triage-labelled.yml
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
name: Move labelled issues to correct projects
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
call-triage-labelled:
|
||||
uses: vector-im/element-web/.github/workflows/triage-labelled.yml@develop
|
||||
secrets: inherit
|
||||
8
.github/workflows/upgrade_dependencies.yml
vendored
8
.github/workflows/upgrade_dependencies.yml
vendored
@@ -1,8 +0,0 @@
|
||||
name: Upgrade Dependencies
|
||||
on:
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
upgrade:
|
||||
uses: matrix-org/matrix-js-sdk/.github/workflows/upgrade_dependencies.yml@develop
|
||||
secrets:
|
||||
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
532
CHANGELOG.md
532
CHANGELOG.md
@@ -1,3 +1,535 @@
|
||||
Changes in [1.11.50](https://github.com/vector-im/element-desktop/releases/tag/v1.11.50) (2023-11-21)
|
||||
=====================================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
Changes in [1.11.49](https://github.com/vector-im/element-desktop/releases/tag/v1.11.49) (2023-11-13)
|
||||
=====================================================================================================
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Ensure `setUserCreator` is called when a store is assigned ([\#3867](https://github.com/matrix-org/matrix-js-sdk/pull/3867)). Fixes vector-im/element-web#26520. Contributed by @MidhunSureshR.
|
||||
|
||||
Changes in [1.11.48](https://github.com/vector-im/element-desktop/releases/tag/v1.11.48) (2023-11-07)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Correctly fill window.matrixChat even when a Wrapper module is active ([\#26395](https://github.com/vector-im/element-web/pull/26395)). Contributed by @dhenneke.
|
||||
* Knock on a ask-to-join room if a module wants to join the room when navigating to a room ([\#11787](https://github.com/matrix-org/matrix-react-sdk/pull/11787)). Contributed by @dhenneke.
|
||||
* Element-R: Include crypto info in sentry ([\#11798](https://github.com/matrix-org/matrix-react-sdk/pull/11798)). Contributed by @florianduros.
|
||||
* Element-R: Include crypto info in rageshake ([\#11797](https://github.com/matrix-org/matrix-react-sdk/pull/11797)). Contributed by @florianduros.
|
||||
* Element-R: Add current version of the rust-sdk and vodozemac ([\#11785](https://github.com/matrix-org/matrix-react-sdk/pull/11785)). Contributed by @florianduros.
|
||||
* Fix unfederated invite dialog ([\#9618](https://github.com/matrix-org/matrix-react-sdk/pull/9618)). Fixes vector-im/element-meta#1466 and vector-im/element-web#22102. Contributed by @owi92.
|
||||
* New right panel visual language ([\#11664](https://github.com/matrix-org/matrix-react-sdk/pull/11664)).
|
||||
* OIDC: add friendly errors ([\#11184](https://github.com/matrix-org/matrix-react-sdk/pull/11184)). Fixes vector-im/element-web#25665. Contributed by @kerryarchibald.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix rightpanel hiding scrollbar ([\#11831](https://github.com/matrix-org/matrix-react-sdk/pull/11831)). Contributed by @kerryarchibald.
|
||||
* Fix edge cases around macos draggability ([\#1291](https://github.com/vector-im/element-desktop/pull/1291)). Fixes #1290.
|
||||
* Fix multi-tab session lock on Firefox not being cleared ([\#11800](https://github.com/matrix-org/matrix-react-sdk/pull/11800)). Fixes vector-im/element-web#26165. Contributed by @ManuelHu.
|
||||
* Deserialise spoilers back into slash command form ([\#11805](https://github.com/matrix-org/matrix-react-sdk/pull/11805)). Fixes vector-im/element-web#26344.
|
||||
* Fix Incorrect message scaling for verification request ([\#11793](https://github.com/matrix-org/matrix-react-sdk/pull/11793)). Fixes vector-im/element-web#24304. Contributed by @capGoblin.
|
||||
* Fix: Unable to restore a soft-logged-out session established via SSO ([\#11794](https://github.com/matrix-org/matrix-react-sdk/pull/11794)). Fixes vector-im/element-web#25957. Contributed by @kerryarchibald.
|
||||
* Use configurable github issue links more consistently ([\#11796](https://github.com/matrix-org/matrix-react-sdk/pull/11796)).
|
||||
* Fix io.element.late_event received_ts vs received_at ([\#11789](https://github.com/matrix-org/matrix-react-sdk/pull/11789)).
|
||||
* Make invitation dialog scrollable when infos are too long ([\#11753](https://github.com/matrix-org/matrix-react-sdk/pull/11753)). Contributed by @nurjinjafar.
|
||||
* Fix spoiler text-align ([\#11790](https://github.com/matrix-org/matrix-react-sdk/pull/11790)). Contributed by @ajbura.
|
||||
* Fix: Right panel keeps showing chat when unmaximizing widget. ([\#11697](https://github.com/matrix-org/matrix-react-sdk/pull/11697)). Fixes vector-im/element-web#26265. Contributed by @manancodes.
|
||||
* Fix margin of invite to room button ([\#11780](https://github.com/matrix-org/matrix-react-sdk/pull/11780)). Fixes vector-im/element-web#26410.
|
||||
* Update base64 import ([\#11784](https://github.com/matrix-org/matrix-react-sdk/pull/11784)).
|
||||
* Set max size for Element logo in search warning ([\#11779](https://github.com/matrix-org/matrix-react-sdk/pull/11779)). Fixes vector-im/element-web#26408.
|
||||
* Fix: emoji size in room header topic, remove obsolete emoji style ([\#11757](https://github.com/matrix-org/matrix-react-sdk/pull/11757)). Fixes vector-im/element-web#26326. Contributed by @kerryarchibald.
|
||||
* Fix: Bubble layout design is broken ([\#11763](https://github.com/matrix-org/matrix-react-sdk/pull/11763)). Fixes vector-im/element-web#25818. Contributed by @manancodes.
|
||||
|
||||
Changes in [1.11.47](https://github.com/vector-im/element-desktop/releases/tag/v1.11.47) (2023-10-24)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Allow overwriting app.element.io when popping out widgets ([\#1277](https://github.com/vector-im/element-desktop/pull/1277)). Fixes #1187.
|
||||
* Implement macos title bar negative space ([\#1272](https://github.com/vector-im/element-desktop/pull/1272)). Fixes #1245.
|
||||
* vector-im/element-x-ios/issues/1824 - Convert the apple-app-site-association file to a newer format… ([\#26307](https://github.com/vector-im/element-web/pull/26307)). Contributed by @stefanceriu.
|
||||
* Iterate `io.element.late_event` decoration ([\#11760](https://github.com/matrix-org/matrix-react-sdk/pull/11760)). Fixes vector-im/element-web#26384.
|
||||
* Render timeline separator for late event groups ([\#11739](https://github.com/matrix-org/matrix-react-sdk/pull/11739)).
|
||||
* OIDC: revoke tokens on logout ([\#11718](https://github.com/matrix-org/matrix-react-sdk/pull/11718)). Fixes vector-im/element-web#25394. Contributed by @kerryarchibald.
|
||||
* Show `io.element.late_event` in MessageTimestamp when known ([\#11733](https://github.com/matrix-org/matrix-react-sdk/pull/11733)).
|
||||
* Show all labs flags if developerMode enabled ([\#11746](https://github.com/matrix-org/matrix-react-sdk/pull/11746)). Fixes vector-im/element-web#24571 and vector-im/element-web#8498.
|
||||
* Use Compound tooltips on MessageTimestamp to improve UX of date time discovery ([\#11732](https://github.com/matrix-org/matrix-react-sdk/pull/11732)). Fixes vector-im/element-web#25913.
|
||||
* Consolidate 4s passphrase input fields and use stable IDs ([\#11743](https://github.com/matrix-org/matrix-react-sdk/pull/11743)). Fixes vector-im/element-web#26228.
|
||||
* Disable upgraderoom command without developer mode enabled ([\#11744](https://github.com/matrix-org/matrix-react-sdk/pull/11744)). Fixes vector-im/element-web#17620.
|
||||
* Avoid rendering app download buttons if disabled in config ([\#11741](https://github.com/matrix-org/matrix-react-sdk/pull/11741)). Fixes vector-im/element-web#26309.
|
||||
* OIDC: refresh tokens ([\#11699](https://github.com/matrix-org/matrix-react-sdk/pull/11699)). Fixes vector-im/element-web#25839. Contributed by @kerryarchibald.
|
||||
* OIDC: register ([\#11727](https://github.com/matrix-org/matrix-react-sdk/pull/11727)). Fixes vector-im/element-web#25393. Contributed by @kerryarchibald.
|
||||
* Use stable get_login_token and remove unstable MSC3882 support ([\#11001](https://github.com/matrix-org/matrix-react-sdk/pull/11001)). Contributed by @hughns.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Set max size for Element logo in search warning ([\#11779](https://github.com/matrix-org/matrix-react-sdk/pull/11779)). Fixes vector-im/element-web#26408.
|
||||
* Avoid error when DMing oneself ([\#11754](https://github.com/matrix-org/matrix-react-sdk/pull/11754)). Fixes vector-im/element-web#7242.
|
||||
* Fix: Message shield alignment is not right. ([\#11703](https://github.com/matrix-org/matrix-react-sdk/pull/11703)). Fixes vector-im/element-web#26142. Contributed by @manancodes.
|
||||
* fix logging full event ([\#11755](https://github.com/matrix-org/matrix-react-sdk/pull/11755)). Fixes vector-im/element-web#26376.
|
||||
* OIDC: use delegated auth account URL from `OidcClientStore` ([\#11723](https://github.com/matrix-org/matrix-react-sdk/pull/11723)). Fixes vector-im/element-web#26305. Contributed by @kerryarchibald.
|
||||
* Fix: Members list shield alignment is not right. ([\#11700](https://github.com/matrix-org/matrix-react-sdk/pull/11700)). Fixes vector-im/element-web#26261. Contributed by @manancodes.
|
||||
* Fix: <detail> HTML elements clickable area too wide. ([\#11666](https://github.com/matrix-org/matrix-react-sdk/pull/11666)). Fixes vector-im/element-web#25454. Contributed by @manancodes.
|
||||
* Fix untranslated headings in the devtools dialog ([\#11734](https://github.com/matrix-org/matrix-react-sdk/pull/11734)).
|
||||
* Fixes invite dialog alignment and pill color contrast ([\#11722](https://github.com/matrix-org/matrix-react-sdk/pull/11722)). Contributed by @gabrc52.
|
||||
* Prevent select element in General settings overflowing in a room with very long room-id ([\#11597](https://github.com/matrix-org/matrix-react-sdk/pull/11597)). Contributed by @ABHIXIT2.
|
||||
* Fix: Clicking on members pile does nothing. ([\#11657](https://github.com/matrix-org/matrix-react-sdk/pull/11657)). Fixes vector-im/element-web#26164. Contributed by @manancodes.
|
||||
* Fix: Wierd shadow below room avatar in dark mode. ([\#11678](https://github.com/matrix-org/matrix-react-sdk/pull/11678)). Fixes vector-im/element-web#26153. Contributed by @manancodes.
|
||||
* Fix start_sso / start_cas URLs failing to redirect to a authentication prompt ([\#11681](https://github.com/matrix-org/matrix-react-sdk/pull/11681)). Contributed by @Half-Shot.
|
||||
|
||||
Changes in [1.11.46](https://github.com/vector-im/element-desktop/releases/tag/v1.11.46) (2023-10-10)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Use .well-known to discover a default rendezvous server for use with Sign in with QR ([\#11655](https://github.com/matrix-org/matrix-react-sdk/pull/11655)). Contributed by @hughns.
|
||||
* Message layout will update according to the selected style ([\#10170](https://github.com/matrix-org/matrix-react-sdk/pull/10170)). Fixes vector-im/element-web#21782. Contributed by @manancodes.
|
||||
* Implement MSC4039: Add an MSC for a new Widget API action to upload files into the media repository ([\#11311](https://github.com/matrix-org/matrix-react-sdk/pull/11311)). Contributed by @dhenneke.
|
||||
* Render space pills with square corners to match new avatar ([\#11632](https://github.com/matrix-org/matrix-react-sdk/pull/11632)). Fixes vector-im/element-web#26056.
|
||||
* Linkify room topic ([\#11631](https://github.com/matrix-org/matrix-react-sdk/pull/11631)). Fixes vector-im/element-web#26185.
|
||||
* Show knock rooms in the list ([\#11573](https://github.com/matrix-org/matrix-react-sdk/pull/11573)). Contributed by @maheichyk.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Bump matrix-web-i18n dependency to 3.1.3 ([\#1259](https://github.com/vector-im/element-desktop/pull/1259) and [\#26287](https://github.com/vector-im/element-web/pull/26287))
|
||||
* Fix: Avatar shrinks with long names ([\#11698](https://github.com/matrix-org/matrix-react-sdk/pull/11698)). Fixes vector-im/element-web#26252. Contributed by @manancodes.
|
||||
* Update custom translations to support nested fields in structured JSON ([\#11685](https://github.com/matrix-org/matrix-react-sdk/pull/11685)).
|
||||
* Fix: Edited message remove button is hard to reach. ([\#11674](https://github.com/matrix-org/matrix-react-sdk/pull/11674)). Fixes vector-im/element-web#24917. Contributed by @manancodes.
|
||||
* Fix: Theme selector radio button not aligned in center with the text ([\#11676](https://github.com/matrix-org/matrix-react-sdk/pull/11676)). Fixes vector-im/element-web#25460. Contributed by @manancodes.
|
||||
* Fix: Unread notification dot aligned ([\#11658](https://github.com/matrix-org/matrix-react-sdk/pull/11658)). Fixes vector-im/element-web#25285. Contributed by @manancodes.
|
||||
* Fix: sync intentional mentions push rules with legacy rules ([\#11667](https://github.com/matrix-org/matrix-react-sdk/pull/11667)). Fixes vector-im/element-web#26227. Contributed by @kerryarchibald.
|
||||
* Revert "Fix regression around FacePile with overflow (#11527)" ([\#11634](https://github.com/matrix-org/matrix-react-sdk/pull/11634)). Fixes vector-im/element-web#26209.
|
||||
* Fix: Alignment Fixed ([\#11648](https://github.com/matrix-org/matrix-react-sdk/pull/11648)). Fixes vector-im/element-web#26169. Contributed by @manancodes.
|
||||
* Fix: onFinished added which closes the menu ([\#11647](https://github.com/matrix-org/matrix-react-sdk/pull/11647)). Fixes vector-im/element-web#25556. Contributed by @manancodes.
|
||||
* Don't start key backups when opening settings ([\#11640](https://github.com/matrix-org/matrix-react-sdk/pull/11640)).
|
||||
* Fix add to space avatar text centering ([\#11643](https://github.com/matrix-org/matrix-react-sdk/pull/11643)). Fixes vector-im/element-web#26154.
|
||||
* fix avatar styling in lightbox ([\#11641](https://github.com/matrix-org/matrix-react-sdk/pull/11641)). Fixes vector-im/element-web#26196.
|
||||
|
||||
Changes in [1.11.45](https://github.com/vector-im/element-desktop/releases/tag/v1.11.45) (2023-09-29)
|
||||
=====================================================================================================
|
||||
|
||||
## 🔒 Security
|
||||
* Upgrade electron to 26.2.4 to fix CVE-2023-5217 ([\#1254](https://github.com/vector-im/element-desktop/pull/1254)). Contributed by @andybalaam.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix Emoji font on Safari 17 ([\#11673](https://github.com/matrix-org/matrix-react-sdk/pull/11673)).
|
||||
|
||||
Changes in [1.11.44](https://github.com/vector-im/element-desktop/releases/tag/v1.11.44) (2023-09-26)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Make video & voice call buttons pin conference widget if unpinned ([\#11576](https://github.com/matrix-org/matrix-react-sdk/pull/11576)). Fixes vector-im/customer-retainer#72.
|
||||
* OIDC: persist refresh token ([\#11249](https://github.com/matrix-org/matrix-react-sdk/pull/11249)). Contributed by @kerryarchibald.
|
||||
* ElementR: Cross user verification ([\#11364](https://github.com/matrix-org/matrix-react-sdk/pull/11364)). Fixes vector-im/element-web#25752. Contributed by @florianduros.
|
||||
* Default intentional mentions ([\#11602](https://github.com/matrix-org/matrix-react-sdk/pull/11602)).
|
||||
* Notify users about denied access on ask-to-join rooms ([\#11480](https://github.com/matrix-org/matrix-react-sdk/pull/11480)). Contributed by @nurjinjafar.
|
||||
* Allow setting knock room directory visibility ([\#11529](https://github.com/matrix-org/matrix-react-sdk/pull/11529)). Contributed by @charlynguyen.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Revert "Fix regression around FacePile with overflow (#11527)" ([\#11634](https://github.com/matrix-org/matrix-react-sdk/pull/11634)). Fixes vector-im/element-web#26209.
|
||||
* upgrade electron to 26.2.1 to fix CVE-2023-4863 ([\#1226](https://github.com/vector-im/element-desktop/pull/1226)). Contributed by @selfisekai.
|
||||
* Improve edge cases around macOS drag handles ([\#1219](https://github.com/vector-im/element-desktop/pull/1219)). Fixes #1199 and #1188.
|
||||
* Escape placeholder before injecting it into the style ([\#11607](https://github.com/matrix-org/matrix-react-sdk/pull/11607)).
|
||||
* Move ViewUser action callback to RoomView ([\#11495](https://github.com/matrix-org/matrix-react-sdk/pull/11495)). Fixes vector-im/element-web#26040.
|
||||
* Fix room timeline search toggling behaviour edge case ([\#11605](https://github.com/matrix-org/matrix-react-sdk/pull/11605)). Fixes vector-im/element-web#26105.
|
||||
* Avoid rendering view-message link in RoomKnocksBar unnecessarily ([\#11598](https://github.com/matrix-org/matrix-react-sdk/pull/11598)). Contributed by @charlynguyen.
|
||||
* Use knock rooms sync to reflect the knock state ([\#11596](https://github.com/matrix-org/matrix-react-sdk/pull/11596)). Fixes vector-im/element-web#26043 and vector-im/element-web#26044. Contributed by @charlynguyen.
|
||||
* Fix avatar in right panel not using the correct font ([\#11593](https://github.com/matrix-org/matrix-react-sdk/pull/11593)). Fixes vector-im/element-web#26061. Contributed by @MidhunSureshR.
|
||||
* Add waits in Spotlight Cypress tests, hoping this unflakes them ([\#11590](https://github.com/matrix-org/matrix-react-sdk/pull/11590)). Fixes vector-im/element-web#26053, vector-im/element-web#26140 vector-im/element-web#26139 and vector-im/element-web#26138. Contributed by @andybalaam.
|
||||
* Fix vertical alignment of default avatar font ([\#11582](https://github.com/matrix-org/matrix-react-sdk/pull/11582)). Fixes vector-im/element-web#26081.
|
||||
* Fix avatars in public room & space search being flex shrunk ([\#11580](https://github.com/matrix-org/matrix-react-sdk/pull/11580)). Fixes vector-im/element-web#26133.
|
||||
* Fix EventTile avatars being rendered with a size of 0 instead of hidden ([\#11558](https://github.com/matrix-org/matrix-react-sdk/pull/11558)). Fixes vector-im/element-web#26075.
|
||||
|
||||
Changes in [1.11.43](https://github.com/vector-im/element-desktop/releases/tag/v1.11.43) (2023-09-15)
|
||||
=====================================================================================================
|
||||
|
||||
## 🔒 Security
|
||||
* upgrade electron to 26.2.1 to fix CVE-2023-4863 ([\#1226](https://github.com/vector-im/element-desktop/pull/1226)). Contributed by @selfisekai.
|
||||
|
||||
Changes in [1.11.42](https://github.com/vector-im/element-desktop/releases/tag/v1.11.42) (2023-09-13)
|
||||
=====================================================================================================
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Update Compound to fix Firefox-specific avatar regression ([\#11604](https://github.com/matrix-org/matrix-react-sdk/pull/11604)). Fixes vector-im/element-web#26155.
|
||||
|
||||
Changes in [1.11.41](https://github.com/vector-im/element-desktop/releases/tag/v1.11.41) (2023-09-12)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Make SVGR icons use forward ref ([\#26082](https://github.com/vector-im/element-web/pull/26082)).
|
||||
* Add support for rendering a custom wrapper around Element ([\#25537](https://github.com/vector-im/element-web/pull/25537)). Contributed by @maheichyk.
|
||||
* Allow creating public knock rooms ([\#11481](https://github.com/matrix-org/matrix-react-sdk/pull/11481)). Contributed by @charlynguyen.
|
||||
* Render custom images in reactions according to MSC4027 ([\#11087](https://github.com/matrix-org/matrix-react-sdk/pull/11087)). Contributed by @sumnerevans.
|
||||
* Introduce room knocks bar ([\#11475](https://github.com/matrix-org/matrix-react-sdk/pull/11475)). Contributed by @charlynguyen.
|
||||
* Room header UI updates ([\#11507](https://github.com/matrix-org/matrix-react-sdk/pull/11507)). Fixes vector-im/element-web#25892.
|
||||
* Remove green "verified" bar for encrypted events ([\#11496](https://github.com/matrix-org/matrix-react-sdk/pull/11496)).
|
||||
* Update member count on room summary update ([\#11488](https://github.com/matrix-org/matrix-react-sdk/pull/11488)).
|
||||
* Support for E2EE in Element Call ([\#11492](https://github.com/matrix-org/matrix-react-sdk/pull/11492)).
|
||||
* Allow requesting to join knock rooms via spotlight ([\#11482](https://github.com/matrix-org/matrix-react-sdk/pull/11482)). Contributed by @charlynguyen.
|
||||
* Lock out the first tab if Element is opened in a second tab. ([\#11425](https://github.com/matrix-org/matrix-react-sdk/pull/11425)). Fixes vector-im/element-web#25157.
|
||||
* Change avatar to use Compound implementation ([\#11448](https://github.com/matrix-org/matrix-react-sdk/pull/11448)).
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix vertical alignment of default avatar font ([\#11582](https://github.com/matrix-org/matrix-react-sdk/pull/11582)). Fixes vector-im/element-web#26081.
|
||||
* Fix avatars in public room & space search being flex shrunk ([\#11580](https://github.com/matrix-org/matrix-react-sdk/pull/11580)). Fixes vector-im/element-web#26133.
|
||||
* Fix EventTile avatars being rendered with a size of 0 instead of hidden ([\#11558](https://github.com/matrix-org/matrix-react-sdk/pull/11558)). Fixes vector-im/element-web#26075.
|
||||
* Updated no drag zones ([\#1193](https://github.com/vector-im/element-desktop/pull/1193)).
|
||||
* Fix compound external assets path in bundle ([\#26069](https://github.com/vector-im/element-web/pull/26069)).
|
||||
* Use RoomStateEvent.Update for knocks ([\#11516](https://github.com/matrix-org/matrix-react-sdk/pull/11516)). Contributed by @charlynguyen.
|
||||
* Prevent event propagation when clicking icon buttons ([\#11515](https://github.com/matrix-org/matrix-react-sdk/pull/11515)).
|
||||
* Only display RoomKnocksBar when feature flag is enabled ([\#11513](https://github.com/matrix-org/matrix-react-sdk/pull/11513)). Contributed by @andybalaam.
|
||||
* Fix avatars of knock members for people tab of room settings ([\#11506](https://github.com/matrix-org/matrix-react-sdk/pull/11506)). Fixes vector-im/element-web#26083. Contributed by @charlynguyen.
|
||||
* Fixes read receipt avatar offset ([\#11483](https://github.com/matrix-org/matrix-react-sdk/pull/11483)). Fixes vector-im/element-web#26067, vector-im/element-web#26064 vector-im/element-web#26059 and vector-im/element-web#26061.
|
||||
* Fix avatar defects ([\#11473](https://github.com/matrix-org/matrix-react-sdk/pull/11473)). Fixes vector-im/element-web#26051 and vector-im/element-web#26046.
|
||||
* Fix consistent avatar output for Percy ([\#11472](https://github.com/matrix-org/matrix-react-sdk/pull/11472)). Fixes vector-im/element-web#26049 and vector-im/element-web#26052.
|
||||
* Fix colour of avatar and colour matching with username ([\#11470](https://github.com/matrix-org/matrix-react-sdk/pull/11470)). Fixes vector-im/element-web#26042.
|
||||
* Fix incompatibility of Soft Logout with Element-R ([\#11468](https://github.com/matrix-org/matrix-react-sdk/pull/11468)).
|
||||
* Fix instances of double translation and guard translation calls using typescript ([\#11443](https://github.com/matrix-org/matrix-react-sdk/pull/11443)).
|
||||
|
||||
Changes in [1.11.40](https://github.com/vector-im/element-desktop/releases/tag/v1.11.40) (2023-08-29)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Add FreeBSD support ([\#1163](https://github.com/vector-im/element-desktop/pull/1163)). Contributed by @lwhsu.
|
||||
* Hide account deactivation for externally managed accounts ([\#11445](https://github.com/matrix-org/matrix-react-sdk/pull/11445)). Fixes vector-im/element-web#26022. Contributed by @kerryarchibald.
|
||||
* OIDC: Redirect to delegated auth provider when signing out ([\#11432](https://github.com/matrix-org/matrix-react-sdk/pull/11432)). Fixes vector-im/element-web#26000. Contributed by @kerryarchibald.
|
||||
* Disable 3pid fields in settings when `m.3pid_changes` capability is disabled ([\#11430](https://github.com/matrix-org/matrix-react-sdk/pull/11430)). Fixes vector-im/element-web#25995. Contributed by @kerryarchibald.
|
||||
* OIDC: disable multi session signout for OIDC-aware servers in session manager ([\#11431](https://github.com/matrix-org/matrix-react-sdk/pull/11431)). Contributed by @kerryarchibald.
|
||||
* Implement updated open dialog method of the Module API ([\#11395](https://github.com/matrix-org/matrix-react-sdk/pull/11395)). Contributed by @dhenneke.
|
||||
* Polish & delabs `Exploring public spaces` feature ([\#11423](https://github.com/matrix-org/matrix-react-sdk/pull/11423)).
|
||||
* Treat lists with a single empty item as plain text, not Markdown. ([\#6833](https://github.com/matrix-org/matrix-react-sdk/pull/6833)). Fixes vector-im/element-meta#1265.
|
||||
* Allow managing room knocks ([\#11404](https://github.com/matrix-org/matrix-react-sdk/pull/11404)). Contributed by @charlynguyen.
|
||||
* Pin the action buttons to the bottom of the scrollable dialogs ([\#11407](https://github.com/matrix-org/matrix-react-sdk/pull/11407)). Contributed by @dhenneke.
|
||||
* Support Matrix 1.1 (drop legacy r0 versions) ([\#9819](https://github.com/matrix-org/matrix-react-sdk/pull/9819)).
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Don't intercept Ctrl + Cmd + Q on macOS ([\#1174](https://github.com/vector-im/element-desktop/pull/1174)). Contributed by @zhaofengli.
|
||||
* Improve selectors for macos app draggable regions ([\#1170](https://github.com/vector-im/element-desktop/pull/1170)). Fixes #1169.
|
||||
* Fix path separator for Windows based systems ([\#25997](https://github.com/vector-im/element-web/pull/25997)).
|
||||
* Fix instances of double translation and guard translation calls using typescript ([\#11443](https://github.com/matrix-org/matrix-react-sdk/pull/11443)).
|
||||
* Fix export type "Current timeline" to match its behaviour to its name ([\#11426](https://github.com/matrix-org/matrix-react-sdk/pull/11426)). Fixes vector-im/element-web#25988.
|
||||
* Fix Room Settings > Notifications file upload input being shown superfluously ([\#11415](https://github.com/matrix-org/matrix-react-sdk/pull/11415)). Fixes vector-im/element-web#18392.
|
||||
* Simplify registration with email validation ([\#11398](https://github.com/matrix-org/matrix-react-sdk/pull/11398)). Fixes vector-im/element-web#25832 vector-im/element-web#23601 and vector-im/element-web#22297.
|
||||
* correct home server URL ([\#11391](https://github.com/matrix-org/matrix-react-sdk/pull/11391)). Fixes vector-im/element-web#25931. Contributed by @NSV1991.
|
||||
* Include non-matching DMs in Spotlight recent conversations when the DM's userId is part of the search API results ([\#11374](https://github.com/matrix-org/matrix-react-sdk/pull/11374)). Contributed by @mgcm.
|
||||
* Fix useRoomMembers missing updates causing incorrect membership counts ([\#11392](https://github.com/matrix-org/matrix-react-sdk/pull/11392)). Fixes vector-im/element-web#17096.
|
||||
* Show error when searching public rooms fails ([\#11378](https://github.com/matrix-org/matrix-react-sdk/pull/11378)).
|
||||
|
||||
Changes in [1.11.39](https://github.com/vector-im/element-desktop/releases/tag/v1.11.39) (2023-08-15)
|
||||
=====================================================================================================
|
||||
|
||||
## 🦖 Deprecations
|
||||
* Deprecate camelCase config options ([\#25800](https://github.com/vector-im/element-web/pull/25800)).
|
||||
* Deprecate customisations in favour of Module API ([\#25736](https://github.com/vector-im/element-web/pull/25736)). Fixes vector-im/element-web#25733.
|
||||
|
||||
## ✨ Features
|
||||
* Switch to hidden titleBar on macOS to integrate the app better ([\#1101](https://github.com/vector-im/element-desktop/pull/1101)).
|
||||
* Update labs.md for knock rooms ([\#25923](https://github.com/vector-im/element-web/pull/25923)). Contributed by @charlynguyen.
|
||||
* Package release builds of element-web in package.element.io debs ([\#25198](https://github.com/vector-im/element-web/pull/25198)).
|
||||
* Allow knocking rooms ([\#11353](https://github.com/matrix-org/matrix-react-sdk/pull/11353)). Contributed by @charlynguyen.
|
||||
* Support adding space-restricted joins on rooms not members of those spaces ([\#9017](https://github.com/matrix-org/matrix-react-sdk/pull/9017)). Fixes vector-im/element-web#19213.
|
||||
* Clear requiresClient and show pop-out if widget-api fails to ready ([\#11321](https://github.com/matrix-org/matrix-react-sdk/pull/11321)). Fixes vector-im/customer-retainer#73.
|
||||
* Bump pagination sizes due to hidden events ([\#11342](https://github.com/matrix-org/matrix-react-sdk/pull/11342)).
|
||||
* Remove display of key backup signatures from backup settings ([\#11333](https://github.com/matrix-org/matrix-react-sdk/pull/11333)).
|
||||
* Use PassphraseFields in ExportE2eKeysDialog to enforce minimum passphrase complexity ([\#11222](https://github.com/matrix-org/matrix-react-sdk/pull/11222)). Fixes vector-im/element-web#9478.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Prevent the media lightbox sender info clipping with traffic light on macos ([\#1141](https://github.com/vector-im/element-desktop/pull/1141)). Fixes #1140.
|
||||
* Restore macOs room header dragability ([\#1136](https://github.com/vector-im/element-desktop/pull/1136)). Fixes #1135.
|
||||
* Fix ability to interact with room topic in header ([\#1126](https://github.com/vector-im/element-desktop/pull/1126)). Fixes undefined/element-desktop#1125.
|
||||
* Fix "Export chat" not respecting configured time format in plain text mode ([\#10696](https://github.com/matrix-org/matrix-react-sdk/pull/10696)). Fixes vector-im/element-web#23838. Contributed by @rashmitpankhania.
|
||||
* Fix some missing 1-count pluralisations around event list summaries ([\#11371](https://github.com/matrix-org/matrix-react-sdk/pull/11371)). Fixes vector-im/element-web#25925.
|
||||
* Fix create subspace dialog not working for public space creation ([\#11367](https://github.com/matrix-org/matrix-react-sdk/pull/11367)). Fixes vector-im/element-web#25916.
|
||||
* Search for users on paste ([\#11304](https://github.com/matrix-org/matrix-react-sdk/pull/11304)). Fixes vector-im/element-web#17523. Contributed by @peterscheu-aceart.
|
||||
* Fix AppTile context menu not always showing up when it has options ([\#11358](https://github.com/matrix-org/matrix-react-sdk/pull/11358)). Fixes vector-im/element-web#25914.
|
||||
* Fix clicking on home all rooms space notification not working ([\#11337](https://github.com/matrix-org/matrix-react-sdk/pull/11337)). Fixes vector-im/element-web#22844.
|
||||
* Fix joining a suggested room switching space away ([\#11347](https://github.com/matrix-org/matrix-react-sdk/pull/11347)). Fixes vector-im/element-web#25838.
|
||||
* Fix home/all rooms context menu in space panel ([\#11350](https://github.com/matrix-org/matrix-react-sdk/pull/11350)). Fixes vector-im/element-web#25896.
|
||||
* Make keyboard handling in and out of autocomplete completions consistent ([\#11344](https://github.com/matrix-org/matrix-react-sdk/pull/11344)). Fixes vector-im/element-web#25878.
|
||||
* De-duplicate reactions by sender to account for faulty/malicious servers ([\#11340](https://github.com/matrix-org/matrix-react-sdk/pull/11340)). Fixes vector-im/element-web#25872.
|
||||
* Fix disable_3pid_login being ignored for the email field ([\#11335](https://github.com/matrix-org/matrix-react-sdk/pull/11335)). Fixes vector-im/element-web#25863.
|
||||
* Upgrade wysiwyg editor for ctrl+backspace windows fix ([\#11324](https://github.com/matrix-org/matrix-react-sdk/pull/11324)). Fixes vector-im/verticals-internal#102.
|
||||
* Unhide the view source event toggle - it works well enough ([\#11336](https://github.com/matrix-org/matrix-react-sdk/pull/11336)). Fixes vector-im/element-web#25861.
|
||||
|
||||
Changes in [1.11.38](https://github.com/vector-im/element-desktop/releases/tag/v1.11.38) (2023-08-04)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Package release builds of element-web in package.element.io debs ([\#25921](https://github.com/vector-im/element-web/pull/25921)). Contributed by @RiotRobot.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Revert to using the /presence API for presence ([\#11366](https://github.com/matrix-org/matrix-react-sdk/pull/11366))
|
||||
|
||||
Changes in [1.11.37](https://github.com/vector-im/element-desktop/releases/tag/v1.11.37) (2023-08-01)
|
||||
=====================================================================================================
|
||||
|
||||
## 🦖 Deprecations
|
||||
* Deprecate camelCase config options ([\#25800](https://github.com/vector-im/element-web/pull/25800)).
|
||||
* Deprecate customisations in favour of Module API ([\#25736](https://github.com/vector-im/element-web/pull/25736)). Fixes vector-im/element-web#25733.
|
||||
|
||||
## ✨ Features
|
||||
* Fix Tray icon in Windows forgetting your settings ([\#1059](https://github.com/vector-im/element-desktop/pull/1059)). Fixes #786.
|
||||
* Do not show "Forget room" button in Room View header for guest users ([\#10898](https://github.com/matrix-org/matrix-react-sdk/pull/10898)). Contributed by @spantaleev.
|
||||
* Switch to updating presence via /sync calls instead of PUT /presence ([\#11223](https://github.com/matrix-org/matrix-react-sdk/pull/11223)). Fixes vector-im/element-web#20809 vector-im/element-web#13877 and vector-im/element-web#4813.
|
||||
* Fix blockquote colour contrast ([\#11299](https://github.com/matrix-org/matrix-react-sdk/pull/11299)). Fixes matrix-org/element-web-rageshakes#21800.
|
||||
* Don't hide room header buttons in video rooms and rooms with a call ([\#9712](https://github.com/matrix-org/matrix-react-sdk/pull/9712)). Fixes vector-im/element-web#23900.
|
||||
* OIDC: Persist details in session storage, create store ([\#11302](https://github.com/matrix-org/matrix-react-sdk/pull/11302)). Fixes vector-im/element-web#25710. Contributed by @kerryarchibald.
|
||||
* Allow setting room join rule to knock ([\#11248](https://github.com/matrix-org/matrix-react-sdk/pull/11248)). Contributed by @charlynguyen.
|
||||
* Retry joins on 524 (Cloudflare timeout) also ([\#11296](https://github.com/matrix-org/matrix-react-sdk/pull/11296)). Fixes vector-im/element-web#8776.
|
||||
* Make sure users returned by the homeserver search API are displayed. Don't silently drop any. ([\#9556](https://github.com/matrix-org/matrix-react-sdk/pull/9556)). Fixes vector-im/element-web#24422. Contributed by @maxmalek.
|
||||
* Offer to unban user during invite if inviter has sufficient permissions ([\#11256](https://github.com/matrix-org/matrix-react-sdk/pull/11256)). Fixes vector-im/element-web#3222.
|
||||
* Split join and goto slash commands, the latter shouldn't auto_join ([\#11259](https://github.com/matrix-org/matrix-react-sdk/pull/11259)). Fixes vector-im/element-web#10128.
|
||||
* Integration work for rich text editor 2.3.1 ([\#11172](https://github.com/matrix-org/matrix-react-sdk/pull/11172)). Contributed by @alunturner.
|
||||
* Compound color pass ([\#11079](https://github.com/matrix-org/matrix-react-sdk/pull/11079)). Fixes vector-im/internal-planning#450 and vector-im/element-web#25547.
|
||||
* Warn when demoting self via /op and /deop slash commands ([\#11214](https://github.com/matrix-org/matrix-react-sdk/pull/11214)). Fixes vector-im/element-web#13726.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Correct Jitsi preferred_domain property ([\#25813](https://github.com/vector-im/element-web/pull/25813)). Contributed by @benbz.
|
||||
* Fix edge case with sent indicator being drawn when it shouldn't be ([\#11320](https://github.com/matrix-org/matrix-react-sdk/pull/11320)).
|
||||
* Use correct translation function for WYSIWYG buttons ([\#11315](https://github.com/matrix-org/matrix-react-sdk/pull/11315)). Fixes vector-im/verticals-internal#109.
|
||||
* Handle empty own profile ([\#11319](https://github.com/matrix-org/matrix-react-sdk/pull/11319)). Fixes vector-im/element-web#25510.
|
||||
* Fix peeked rooms showing up in historical ([\#11316](https://github.com/matrix-org/matrix-react-sdk/pull/11316)). Fixes vector-im/element-web#22473.
|
||||
* Ensure consistency when rendering the sent event indicator ([\#11314](https://github.com/matrix-org/matrix-react-sdk/pull/11314)). Fixes vector-im/element-web#17937.
|
||||
* Prevent re-filtering user directory results in spotlight ([\#11290](https://github.com/matrix-org/matrix-react-sdk/pull/11290)). Fixes vector-im/element-web#24422.
|
||||
* Fix GIF label on dark theme ([\#11312](https://github.com/matrix-org/matrix-react-sdk/pull/11312)). Fixes vector-im/element-web#25836.
|
||||
* Fix issues around room notification settings flaking out ([\#11306](https://github.com/matrix-org/matrix-react-sdk/pull/11306)). Fixes vector-im/element-web#16472 vector-im/element-web#21309 and vector-im/element-web#6828.
|
||||
* Fix invite dialog showing the same user multiple times ([\#11308](https://github.com/matrix-org/matrix-react-sdk/pull/11308)). Fixes vector-im/element-web#25578.
|
||||
* Don't show composer send button if user cannot send ([\#11298](https://github.com/matrix-org/matrix-react-sdk/pull/11298)). Fixes vector-im/element-web#25825.
|
||||
* Restore color for sender in imageview ([\#11289](https://github.com/matrix-org/matrix-react-sdk/pull/11289)). Fixes vector-im/element-web#25822.
|
||||
* Fix changelog dialog heading size ([\#11286](https://github.com/matrix-org/matrix-react-sdk/pull/11286)). Fixes vector-im/element-web#25789.
|
||||
* Restore offline presence badge color ([\#11287](https://github.com/matrix-org/matrix-react-sdk/pull/11287)). Fixes vector-im/element-web#25792.
|
||||
* Fix bubble message layout avatar overlap ([\#11284](https://github.com/matrix-org/matrix-react-sdk/pull/11284)). Fixes vector-im/element-web#25818.
|
||||
* Fix voice call tile size ([\#11285](https://github.com/matrix-org/matrix-react-sdk/pull/11285)). Fixes vector-im/element-web#25684.
|
||||
* Fix layout of sessions tab buttons ([\#11279](https://github.com/matrix-org/matrix-react-sdk/pull/11279)). Fixes vector-im/element-web#25545.
|
||||
* Don't bother showing redundant tooltip on space menu ([\#11276](https://github.com/matrix-org/matrix-react-sdk/pull/11276)). Fixes vector-im/element-web#20380.
|
||||
* Remove reply fallback from notifications ([\#11278](https://github.com/matrix-org/matrix-react-sdk/pull/11278)). Fixes vector-im/element-web#17859.
|
||||
* Populate info.duration for audio & video file uploads ([\#11225](https://github.com/matrix-org/matrix-react-sdk/pull/11225)). Fixes vector-im/element-web#17720.
|
||||
* Hide widget menu button if it there are no options available ([\#11257](https://github.com/matrix-org/matrix-react-sdk/pull/11257)). Fixes vector-im/element-web#24826.
|
||||
* Fix colour regressions ([\#11273](https://github.com/matrix-org/matrix-react-sdk/pull/11273)). Fixes vector-im/element-web#25788, vector-im/element-web#25808 vector-im/element-web#25811 and vector-im/element-web#25812.
|
||||
* Fix room view not properly maintaining scroll position ([\#11274](https://github.com/matrix-org/matrix-react-sdk/pull/11274)). Fixes vector-im/element-web#25810.
|
||||
* Prevent user from accidentally double clicking user info admin actions ([\#11254](https://github.com/matrix-org/matrix-react-sdk/pull/11254)). Fixes vector-im/element-web#10944.
|
||||
* Fix missing metaspace notification badges ([\#11269](https://github.com/matrix-org/matrix-react-sdk/pull/11269)). Fixes vector-im/element-web#25679.
|
||||
* Fix clicking MXID in timeline going to matrix.to ([\#11263](https://github.com/matrix-org/matrix-react-sdk/pull/11263)). Fixes vector-im/element-web#23342.
|
||||
* Restoring optional ligatures by resetting letter-spacing ([\#11202](https://github.com/matrix-org/matrix-react-sdk/pull/11202)). Fixes vector-im/element-web#25727.
|
||||
* Allow emoji presentation selector to not break BigEmoji styling ([\#11253](https://github.com/matrix-org/matrix-react-sdk/pull/11253)). Fixes vector-im/element-web#17848.
|
||||
* Make event highliht use primary content token ([\#11255](https://github.com/matrix-org/matrix-react-sdk/pull/11255)).
|
||||
* Fix event info events size and color ([\#11252](https://github.com/matrix-org/matrix-react-sdk/pull/11252)). Fixes vector-im/element-web#25778.
|
||||
* Fix color mapping for blockquote border ([\#11251](https://github.com/matrix-org/matrix-react-sdk/pull/11251)). Fixes vector-im/element-web#25782.
|
||||
* Strip emoji variation when searching emoji by emoji ([\#11221](https://github.com/matrix-org/matrix-react-sdk/pull/11221)). Fixes vector-im/element-web#18703.
|
||||
|
||||
Changes in [1.11.36](https://github.com/vector-im/element-desktop/releases/tag/v1.11.36) (2023-07-18)
|
||||
=====================================================================================================
|
||||
|
||||
## 🔒 Security
|
||||
* Fixes for [CVE-2023-37259](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE-2023-37259) / [GHSA-c9vx-2g7w-rp65](https://github.com/matrix-org/matrix-react-sdk/security/advisories/GHSA-c9vx-2g7w-rp65)
|
||||
|
||||
## 🦖 Deprecations
|
||||
* Deprecate customisations in favour of Module API ([\#25736](https://github.com/vector-im/element-web/pull/25736)). Fixes vector-im/element-web#25733.
|
||||
|
||||
## ✨ Features
|
||||
* OIDC: store initial screen in session storage ([\#25688](https://github.com/vector-im/element-web/pull/25688)). Fixes vector-im/element-web#25656. Contributed by @kerryarchibald.
|
||||
* Allow default_server_config as a fallback config ([\#25682](https://github.com/vector-im/element-web/pull/25682)). Contributed by @ShadowRZ.
|
||||
* OIDC: remove auth params from url after login attempt ([\#25664](https://github.com/vector-im/element-web/pull/25664)). Contributed by @kerryarchibald.
|
||||
* feat(faq): remove keyboard shortcuts button ([\#9342](https://github.com/matrix-org/matrix-react-sdk/pull/9342)). Fixes vector-im/element-web#22625. Contributed by @gefgu.
|
||||
* GYU: Update banner ([\#11211](https://github.com/matrix-org/matrix-react-sdk/pull/11211)). Fixes vector-im/element-web#25530. Contributed by @justjanne.
|
||||
* Linkify mxc:// URLs as links to your media repo ([\#11213](https://github.com/matrix-org/matrix-react-sdk/pull/11213)). Fixes vector-im/element-web#6942.
|
||||
* OIDC: Log in ([\#11199](https://github.com/matrix-org/matrix-react-sdk/pull/11199)). Fixes vector-im/element-web#25657. Contributed by @kerryarchibald.
|
||||
* Handle all permitted url schemes in linkify ([\#11215](https://github.com/matrix-org/matrix-react-sdk/pull/11215)). Fixes vector-im/element-web#4457 and vector-im/element-web#8720.
|
||||
* Autoapprove Element Call oidc requests ([\#11209](https://github.com/matrix-org/matrix-react-sdk/pull/11209)). Contributed by @toger5.
|
||||
* Allow creating knock rooms ([\#11182](https://github.com/matrix-org/matrix-react-sdk/pull/11182)). Contributed by @charlynguyen.
|
||||
* Expose and pre-populate thread ID in devtools dialog ([\#10953](https://github.com/matrix-org/matrix-react-sdk/pull/10953)).
|
||||
* Hide URL preview if it will be empty ([\#9029](https://github.com/matrix-org/matrix-react-sdk/pull/9029)).
|
||||
* Change wording from avatar to profile picture ([\#7015](https://github.com/matrix-org/matrix-react-sdk/pull/7015)). Fixes vector-im/element-meta#1331. Contributed by @aaronraimist.
|
||||
* Quick and dirty devtool to explore state history ([\#11197](https://github.com/matrix-org/matrix-react-sdk/pull/11197)).
|
||||
* Consider more user inputs when calculating zxcvbn score ([\#11180](https://github.com/matrix-org/matrix-react-sdk/pull/11180)).
|
||||
* GYU: Account Notification Settings ([\#11008](https://github.com/matrix-org/matrix-react-sdk/pull/11008)). Fixes vector-im/element-web#24567. Contributed by @justjanne.
|
||||
* Compound Typography pass ([\#11103](https://github.com/matrix-org/matrix-react-sdk/pull/11103)). Fixes vector-im/element-web#25548.
|
||||
* OIDC: navigate to authorization endpoint ([\#11096](https://github.com/matrix-org/matrix-react-sdk/pull/11096)). Fixes vector-im/element-web#25574. Contributed by @kerryarchibald.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix read receipt sending behaviour around thread roots ([\#3600](https://github.com/matrix-org/matrix-js-sdk/pull/3600)).
|
||||
* Fix missing metaspace notification badges ([\#11269](https://github.com/matrix-org/matrix-react-sdk/pull/11269)). Fixes vector-im/element-web#25679.
|
||||
* Make checkboxes less rounded ([\#11224](https://github.com/matrix-org/matrix-react-sdk/pull/11224)). Contributed by @andybalaam.
|
||||
* GYU: Fix issues with audible keywords without activated mentions ([\#11218](https://github.com/matrix-org/matrix-react-sdk/pull/11218)). Contributed by @justjanne.
|
||||
* PosthogAnalytics unwatch settings on logout ([\#11207](https://github.com/matrix-org/matrix-react-sdk/pull/11207)). Fixes vector-im/element-web#25703.
|
||||
* Avoid trying to set room account data for pinned events as guest ([\#11216](https://github.com/matrix-org/matrix-react-sdk/pull/11216)). Fixes vector-im/element-web#6300.
|
||||
* GYU: Disable sound for DMs checkbox when DM notifications are disabled ([\#11210](https://github.com/matrix-org/matrix-react-sdk/pull/11210)). Contributed by @justjanne.
|
||||
* force to allow calls without video and audio in embedded mode ([\#11131](https://github.com/matrix-org/matrix-react-sdk/pull/11131)). Contributed by @EnricoSchw.
|
||||
* Fix room tile text clipping ([\#11196](https://github.com/matrix-org/matrix-react-sdk/pull/11196)). Fixes vector-im/element-web#25718.
|
||||
* Handle newlines in user pills ([\#11166](https://github.com/matrix-org/matrix-react-sdk/pull/11166)). Fixes vector-im/element-web#10994.
|
||||
* Limit width of user menu in space panel ([\#11192](https://github.com/matrix-org/matrix-react-sdk/pull/11192)). Fixes vector-im/element-web#22627.
|
||||
* Add isLocation to ComposerEvent analytics events ([\#11187](https://github.com/matrix-org/matrix-react-sdk/pull/11187)). Contributed by @andybalaam.
|
||||
* Fix: hide unsupported login elements ([\#11185](https://github.com/matrix-org/matrix-react-sdk/pull/11185)). Fixes vector-im/element-web#25711. Contributed by @kerryarchibald.
|
||||
* Scope smaller font size to user info panel ([\#11178](https://github.com/matrix-org/matrix-react-sdk/pull/11178)). Fixes vector-im/element-web#25683.
|
||||
* Apply i18n to strings in the html export ([\#11176](https://github.com/matrix-org/matrix-react-sdk/pull/11176)).
|
||||
* Inhibit url previews on MXIDs containing slashes same as those without ([\#11160](https://github.com/matrix-org/matrix-react-sdk/pull/11160)).
|
||||
* Make event info size consistent with state events ([\#11181](https://github.com/matrix-org/matrix-react-sdk/pull/11181)).
|
||||
* Fix markdown content spacing ([\#11177](https://github.com/matrix-org/matrix-react-sdk/pull/11177)). Fixes vector-im/element-web#25685.
|
||||
* Fix font-family definition for emojis ([\#11170](https://github.com/matrix-org/matrix-react-sdk/pull/11170)). Fixes vector-im/element-web#25686.
|
||||
* Fix spurious error sending receipt in thread errors ([\#11157](https://github.com/matrix-org/matrix-react-sdk/pull/11157)).
|
||||
* Consider the empty push rule actions array equiv to deprecated dont_notify ([\#11155](https://github.com/matrix-org/matrix-react-sdk/pull/11155)). Fixes vector-im/element-web#25674.
|
||||
* Only trap escape key for cancel reply if there is a reply ([\#11140](https://github.com/matrix-org/matrix-react-sdk/pull/11140)). Fixes vector-im/element-web#25640.
|
||||
* Update linkify to 4.1.1 ([\#11132](https://github.com/matrix-org/matrix-react-sdk/pull/11132)). Fixes vector-im/element-web#23806.
|
||||
|
||||
Changes in [1.11.35](https://github.com/vector-im/element-desktop/releases/tag/v1.11.35) (2023-07-04)
|
||||
=====================================================================================================
|
||||
|
||||
## 🦖 Deprecations
|
||||
* Remove `feature_favourite_messages` as it is has been abandoned for now ([\#11097](https://github.com/matrix-org/matrix-react-sdk/pull/11097)). Fixes vector-im/element-web#25555.
|
||||
|
||||
## ✨ Features
|
||||
* Use brand and help url from config ([\#1008](https://github.com/vector-im/element-desktop/pull/1008)).
|
||||
* Don't setup keys on login when encryption is force disabled ([\#11125](https://github.com/matrix-org/matrix-react-sdk/pull/11125)). Contributed by @kerryarchibald.
|
||||
* OIDC: attempt dynamic client registration ([\#11074](https://github.com/matrix-org/matrix-react-sdk/pull/11074)). Fixes vector-im/element-web#25468 and vector-im/element-web#25467. Contributed by @kerryarchibald.
|
||||
* OIDC: Check static client registration and add login flow ([\#11088](https://github.com/matrix-org/matrix-react-sdk/pull/11088)). Fixes vector-im/element-web#25467. Contributed by @kerryarchibald.
|
||||
* Improve message body output from plain text editor ([\#11124](https://github.com/matrix-org/matrix-react-sdk/pull/11124)). Contributed by @alunturner.
|
||||
* Disable encryption toggle in room settings when force disabled ([\#11122](https://github.com/matrix-org/matrix-react-sdk/pull/11122)). Contributed by @kerryarchibald.
|
||||
* Add .well-known config option to force disable encryption on room creation ([\#11120](https://github.com/matrix-org/matrix-react-sdk/pull/11120)). Contributed by @kerryarchibald.
|
||||
* Handle permalinks in room topic ([\#11115](https://github.com/matrix-org/matrix-react-sdk/pull/11115)). Fixes vector-im/element-web#23395.
|
||||
* Add at room avatar for RTE ([\#11106](https://github.com/matrix-org/matrix-react-sdk/pull/11106)). Contributed by @alunturner.
|
||||
* Remove new room breadcrumbs ([\#11104](https://github.com/matrix-org/matrix-react-sdk/pull/11104)).
|
||||
* Update rich text editor dependency and associated changes ([\#11098](https://github.com/matrix-org/matrix-react-sdk/pull/11098)). Contributed by @alunturner.
|
||||
* Implement new model, hooks and reconcilation code for new GYU notification settings ([\#11089](https://github.com/matrix-org/matrix-react-sdk/pull/11089)). Contributed by @justjanne.
|
||||
* Allow maintaining a different right panel width for thread panels ([\#11064](https://github.com/matrix-org/matrix-react-sdk/pull/11064)). Fixes vector-im/element-web#25487.
|
||||
* Make AppPermission pane scrollable ([\#10954](https://github.com/matrix-org/matrix-react-sdk/pull/10954)). Fixes vector-im/element-web#25438 and vector-im/element-web#25511. Contributed by @luixxiul.
|
||||
* Integrate compound design tokens ([\#11091](https://github.com/matrix-org/matrix-react-sdk/pull/11091)). Fixes vector-im/internal-planning#450.
|
||||
* Don't warn about the effects of redacting state events when redacting non-state-events ([\#11071](https://github.com/matrix-org/matrix-react-sdk/pull/11071)). Fixes vector-im/element-web#8478.
|
||||
* Allow specifying help URLs in config.json ([\#11070](https://github.com/matrix-org/matrix-react-sdk/pull/11070)). Fixes vector-im/element-web#15268.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix error when generating error for polling for updates ([\#25609](https://github.com/vector-im/element-web/pull/25609)).
|
||||
* Fix spurious notifications on non-live events ([\#11133](https://github.com/matrix-org/matrix-react-sdk/pull/11133)). Fixes vector-im/element-web#24336.
|
||||
* Prevent auto-translation within composer ([\#11114](https://github.com/matrix-org/matrix-react-sdk/pull/11114)). Fixes vector-im/element-web#25624.
|
||||
* Fix caret jump when backspacing into empty line at beginning of editor ([\#11128](https://github.com/matrix-org/matrix-react-sdk/pull/11128)). Fixes vector-im/element-web#22335.
|
||||
* Fix server picker not allowing you to switch from custom to default ([\#11127](https://github.com/matrix-org/matrix-react-sdk/pull/11127)). Fixes vector-im/element-web#25650.
|
||||
* Consider the unthreaded read receipt for Unread dot state ([\#11117](https://github.com/matrix-org/matrix-react-sdk/pull/11117)). Fixes vector-im/element-web#24229.
|
||||
* Increase RTE resilience ([\#11111](https://github.com/matrix-org/matrix-react-sdk/pull/11111)). Fixes vector-im/element-web#25277. Contributed by @alunturner.
|
||||
* Fix RoomView ignoring alias lookup errors due to them not knowing the roomId ([\#11099](https://github.com/matrix-org/matrix-react-sdk/pull/11099)). Fixes vector-im/element-web#24783 and vector-im/element-web#25562.
|
||||
* Fix style inconsistencies on SecureBackupPanel ([\#11102](https://github.com/matrix-org/matrix-react-sdk/pull/11102)). Fixes vector-im/element-web#25615. Contributed by @luixxiul.
|
||||
* Remove unknown MXIDs from invite suggestions ([\#11055](https://github.com/matrix-org/matrix-react-sdk/pull/11055)). Fixes vector-im/element-web#25446.
|
||||
* Reduce volume of ring sounds to normalised levels ([\#9143](https://github.com/matrix-org/matrix-react-sdk/pull/9143)). Contributed by @JMoVS.
|
||||
* Fix slash commands not being enabled in certain cases ([\#11090](https://github.com/matrix-org/matrix-react-sdk/pull/11090)). Fixes vector-im/element-web#25572.
|
||||
* Prevent escape in threads from sending focus to main timeline composer ([\#11061](https://github.com/matrix-org/matrix-react-sdk/pull/11061)). Fixes vector-im/element-web#23397.
|
||||
|
||||
Changes in [1.11.34](https://github.com/vector-im/element-desktop/releases/tag/v1.11.34) (2023-06-20)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* OIDC: add delegatedauthentication to validated server config ([\#11053](https://github.com/matrix-org/matrix-react-sdk/pull/11053)). Contributed by @kerryarchibald.
|
||||
* Allow image pasting in plain mode in RTE ([\#11056](https://github.com/matrix-org/matrix-react-sdk/pull/11056)). Contributed by @alunturner.
|
||||
* Show room options menu if "UIComponent.roomOptionsMenu" is enabled ([\#10365](https://github.com/matrix-org/matrix-react-sdk/pull/10365)). Contributed by @maheichyk.
|
||||
* Allow image pasting in rich text mode in RTE ([\#11049](https://github.com/matrix-org/matrix-react-sdk/pull/11049)). Contributed by @alunturner.
|
||||
* Update voice broadcast redaction to use MSC3912 `with_rel_type` instead of `with_relations` ([\#11014](https://github.com/matrix-org/matrix-react-sdk/pull/11014)). Fixes vector-im/element-web#25471.
|
||||
* Add config to skip widget_build_url for DM rooms ([\#11044](https://github.com/matrix-org/matrix-react-sdk/pull/11044)). Fixes vector-im/customer-retainer#74.
|
||||
* Inhibit interactions on forward dialog message previews ([\#11025](https://github.com/matrix-org/matrix-react-sdk/pull/11025)). Fixes vector-im/element-web#23459.
|
||||
* Removed `DecryptionFailureBar.tsx` ([\#11027](https://github.com/matrix-org/matrix-react-sdk/pull/11027)). Fixes vector-im/element-meta#1358. Contributed by @florianduros.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix translucent `TextualEvent` on search results panel ([\#10810](https://github.com/matrix-org/matrix-react-sdk/pull/10810)). Fixes vector-im/element-web#25292. Contributed by @luixxiul.
|
||||
* Matrix matrix scheme permalink constructor not stripping query params ([\#11060](https://github.com/matrix-org/matrix-react-sdk/pull/11060)). Fixes vector-im/element-web#25535.
|
||||
* Fix: "manually verify by text" does nothing ([\#11059](https://github.com/matrix-org/matrix-react-sdk/pull/11059)). Fixes vector-im/element-web#25375. Contributed by @kerryarchibald.
|
||||
* Make group calls respect the ICE fallback setting ([\#11047](https://github.com/matrix-org/matrix-react-sdk/pull/11047)). Fixes vector-im/voip-internal#65.
|
||||
* Align list items on the tooltip to the start ([\#11041](https://github.com/matrix-org/matrix-react-sdk/pull/11041)). Fixes vector-im/element-web#25355. Contributed by @luixxiul.
|
||||
* Clear thread panel event permalink when changing rooms ([\#11024](https://github.com/matrix-org/matrix-react-sdk/pull/11024)). Fixes vector-im/element-web#25484.
|
||||
* Fix spinner placement on pinned widgets being reloaded ([\#10970](https://github.com/matrix-org/matrix-react-sdk/pull/10970)). Fixes vector-im/element-web#25431. Contributed by @luixxiul.
|
||||
|
||||
Changes in [1.11.33](https://github.com/vector-im/element-desktop/releases/tag/v1.11.33) (2023-06-09)
|
||||
=====================================================================================================
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Bump matrix-react-sdk to v3.73.1 for matrix-js-sdk v26.0.1 Fixes vector-im/element-web#25526.
|
||||
|
||||
Changes in [1.11.32](https://github.com/vector-im/element-desktop/releases/tag/v1.11.32) (2023-06-06)
|
||||
=====================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Redirect to the SSO page if `sso_redirect_options.on_welcome_page` is enabled and the URL hash is empty ([\#25495](https://github.com/vector-im/element-web/pull/25495)). Contributed by @dhenneke.
|
||||
* vector/index.html: Allow fetching blob urls ([\#25336](https://github.com/vector-im/element-web/pull/25336)). Contributed by @SuperKenVery.
|
||||
* When joining room in sub-space join the parents too ([\#11011](https://github.com/matrix-org/matrix-react-sdk/pull/11011)).
|
||||
* Include thread replies in message previews ([\#10631](https://github.com/matrix-org/matrix-react-sdk/pull/10631)). Fixes vector-im/element-web#23920.
|
||||
* Use semantic headings in space preferences ([\#11021](https://github.com/matrix-org/matrix-react-sdk/pull/11021)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings - Ignored users ([\#11006](https://github.com/matrix-org/matrix-react-sdk/pull/11006)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings - profile ([\#10973](https://github.com/matrix-org/matrix-react-sdk/pull/10973)). Fixes vector-im/element-web#25461. Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings - account ([\#10972](https://github.com/matrix-org/matrix-react-sdk/pull/10972)). Contributed by @kerryarchibald.
|
||||
* Support `Insert from iPhone or iPad` in Safari ([\#10851](https://github.com/matrix-org/matrix-react-sdk/pull/10851)). Fixes vector-im/element-web#25327. Contributed by @SuperKenVery.
|
||||
* Specify supportedStages for User Interactive Auth ([\#10975](https://github.com/matrix-org/matrix-react-sdk/pull/10975)). Fixes vector-im/element-web#19605.
|
||||
* Pass device id to widgets ([\#10209](https://github.com/matrix-org/matrix-react-sdk/pull/10209)). Contributed by @Fox32.
|
||||
* Use semantic headings in user settings - discovery ([\#10838](https://github.com/matrix-org/matrix-react-sdk/pull/10838)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings - Notifications ([\#10948](https://github.com/matrix-org/matrix-react-sdk/pull/10948)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings - spellcheck and language ([\#10959](https://github.com/matrix-org/matrix-react-sdk/pull/10959)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings Appearance ([\#10827](https://github.com/matrix-org/matrix-react-sdk/pull/10827)). Contributed by @kerryarchibald.
|
||||
* Use semantic heading in user settings Sidebar & Voip ([\#10782](https://github.com/matrix-org/matrix-react-sdk/pull/10782)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings Security ([\#10774](https://github.com/matrix-org/matrix-react-sdk/pull/10774)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings - integrations and account deletion ([\#10837](https://github.com/matrix-org/matrix-react-sdk/pull/10837)). Fixes vector-im/element-web#25378. Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings Preferences ([\#10794](https://github.com/matrix-org/matrix-react-sdk/pull/10794)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings Keyboard ([\#10793](https://github.com/matrix-org/matrix-react-sdk/pull/10793)). Contributed by @kerryarchibald.
|
||||
* RTE plain text mentions as pills ([\#10852](https://github.com/matrix-org/matrix-react-sdk/pull/10852)). Contributed by @alunturner.
|
||||
* Allow welcome.html logo to be replaced by config ([\#25339](https://github.com/vector-im/element-web/pull/25339)). Fixes vector-im/element-web#8636.
|
||||
* Use semantic headings in user settings Labs ([\#10773](https://github.com/matrix-org/matrix-react-sdk/pull/10773)). Contributed by @kerryarchibald.
|
||||
* Use semantic list elements for menu lists and tab lists ([\#10902](https://github.com/matrix-org/matrix-react-sdk/pull/10902)). Fixes vector-im/element-web#24928.
|
||||
* Fix aria-required-children axe violation ([\#10900](https://github.com/matrix-org/matrix-react-sdk/pull/10900)). Fixes vector-im/element-web#25342.
|
||||
* Enable pagination for overlay timelines ([\#10757](https://github.com/matrix-org/matrix-react-sdk/pull/10757)). Fixes vector-im/voip-internal#107.
|
||||
* Add tooltip to disabled invite button due to lack of permissions ([\#10869](https://github.com/matrix-org/matrix-react-sdk/pull/10869)). Fixes vector-im/element-web#9824.
|
||||
* Respect configured auth_header_logo_url for default Welcome page ([\#10870](https://github.com/matrix-org/matrix-react-sdk/pull/10870)).
|
||||
* Specify lazy loading for avatars ([\#10866](https://github.com/matrix-org/matrix-react-sdk/pull/10866)). Fixes vector-im/element-web#1983.
|
||||
* Room and user mentions for plain text editor ([\#10665](https://github.com/matrix-org/matrix-react-sdk/pull/10665)). Contributed by @alunturner.
|
||||
* Add audible notifcation on broadcast error ([\#10654](https://github.com/matrix-org/matrix-react-sdk/pull/10654)). Fixes vector-im/element-web#25132.
|
||||
* Fall back from server generated thumbnail to original image ([\#10853](https://github.com/matrix-org/matrix-react-sdk/pull/10853)).
|
||||
* Use semantically correct elements for room sublist context menu ([\#10831](https://github.com/matrix-org/matrix-react-sdk/pull/10831)). Fixes vector-im/customer-retainer#46.
|
||||
* Avoid calling prepareToEncrypt onKeyDown ([\#10828](https://github.com/matrix-org/matrix-react-sdk/pull/10828)).
|
||||
* Allows search to recognize full room links ([\#8275](https://github.com/matrix-org/matrix-react-sdk/pull/8275)). Contributed by @bolu-tife.
|
||||
* "Show rooms with unread messages first" should not be on by default for new users ([\#10820](https://github.com/matrix-org/matrix-react-sdk/pull/10820)). Fixes vector-im/element-web#25304. Contributed by @kerryarchibald.
|
||||
* Fix emitter handler leak in ThreadView ([\#10803](https://github.com/matrix-org/matrix-react-sdk/pull/10803)).
|
||||
* Add better error for email invites without identity server ([\#10739](https://github.com/matrix-org/matrix-react-sdk/pull/10739)). Fixes vector-im/element-web#16893.
|
||||
* Move reaction message previews out of labs ([\#10601](https://github.com/matrix-org/matrix-react-sdk/pull/10601)). Fixes vector-im/element-web#25083.
|
||||
* Sort muted rooms to the bottom of their section of the room list ([\#10592](https://github.com/matrix-org/matrix-react-sdk/pull/10592)). Fixes vector-im/element-web#25131. Contributed by @kerryarchibald.
|
||||
* Use semantic headings in user settings Help & About ([\#10752](https://github.com/matrix-org/matrix-react-sdk/pull/10752)). Contributed by @kerryarchibald.
|
||||
* use ExternalLink components for external links ([\#10758](https://github.com/matrix-org/matrix-react-sdk/pull/10758)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings in space settings ([\#10751](https://github.com/matrix-org/matrix-react-sdk/pull/10751)). Contributed by @kerryarchibald.
|
||||
* Use semantic headings for room settings content ([\#10734](https://github.com/matrix-org/matrix-react-sdk/pull/10734)). Contributed by @kerryarchibald.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Use consistent fonts for Japanese text ([\#10980](https://github.com/matrix-org/matrix-react-sdk/pull/10980)). Fixes vector-im/element-web#22333 and vector-im/element-web#23899.
|
||||
* Fix: server picker validates unselected option ([\#11020](https://github.com/matrix-org/matrix-react-sdk/pull/11020)). Fixes vector-im/element-web#25488. Contributed by @kerryarchibald.
|
||||
* Fix room list notification badges going missing in compact layout ([\#11022](https://github.com/matrix-org/matrix-react-sdk/pull/11022)). Fixes vector-im/element-web#25372.
|
||||
* Fix call to `startSingleSignOn` passing enum in place of idpId ([\#10998](https://github.com/matrix-org/matrix-react-sdk/pull/10998)). Fixes vector-im/element-web#24953.
|
||||
* Remove hover effect from user name on a DM creation UI ([\#10887](https://github.com/matrix-org/matrix-react-sdk/pull/10887)). Fixes vector-im/element-web#25305. Contributed by @luixxiul.
|
||||
* Fix layout regression in public space invite dialog ([\#11009](https://github.com/matrix-org/matrix-react-sdk/pull/11009)). Fixes vector-im/element-web#25458.
|
||||
* Fix layout regression in session dropdown ([\#10999](https://github.com/matrix-org/matrix-react-sdk/pull/10999)). Fixes vector-im/element-web#25448.
|
||||
* Fix spacing regression in user settings - roles & permissions ([\#10993](https://github.com/matrix-org/matrix-react-sdk/pull/10993)). Fixes vector-im/element-web#25447 and vector-im/element-web#25451. Contributed by @kerryarchibald.
|
||||
* Fall back to receipt timestamp if we have no event (react-sdk part) ([\#10974](https://github.com/matrix-org/matrix-react-sdk/pull/10974)). Fixes vector-im/element-web#10954. Contributed by @andybalaam.
|
||||
* Fix: Room header 'view your device list' does not link to new session manager ([\#10979](https://github.com/matrix-org/matrix-react-sdk/pull/10979)). Fixes vector-im/element-web#25440. Contributed by @kerryarchibald.
|
||||
* Fix display of devices without encryption support in Settings dialog ([\#10977](https://github.com/matrix-org/matrix-react-sdk/pull/10977)). Fixes vector-im/element-web#25413.
|
||||
* Use aria descriptions instead of labels for TextWithTooltip ([\#10952](https://github.com/matrix-org/matrix-react-sdk/pull/10952)). Fixes vector-im/element-web#25398.
|
||||
* Use grapheme-splitter instead of lodash for saving emoji from being ripped apart ([\#10976](https://github.com/matrix-org/matrix-react-sdk/pull/10976)). Fixes vector-im/element-web#22196.
|
||||
* Fix: content overflow in settings subsection ([\#10960](https://github.com/matrix-org/matrix-react-sdk/pull/10960)). Fixes vector-im/element-web#25416. Contributed by @kerryarchibald.
|
||||
* Make `Privacy Notice` external link on integration manager ToS clickable ([\#10914](https://github.com/matrix-org/matrix-react-sdk/pull/10914)). Fixes vector-im/element-web#25384. Contributed by @luixxiul.
|
||||
* Ensure that open message context menus are updated when the event is sent ([\#10950](https://github.com/matrix-org/matrix-react-sdk/pull/10950)).
|
||||
* Ensure that open sticker picker dialogs are updated when the widget configuration is updated. ([\#10945](https://github.com/matrix-org/matrix-react-sdk/pull/10945)).
|
||||
* Fix big emoji in replies ([\#10932](https://github.com/matrix-org/matrix-react-sdk/pull/10932)). Fixes vector-im/element-web#24798.
|
||||
* Hide empty `MessageActionBar` on message edit history dialog ([\#10447](https://github.com/matrix-org/matrix-react-sdk/pull/10447)). Fixes vector-im/element-web#24903. Contributed by @luixxiul.
|
||||
* Fix roving tab index getting confused after dragging space order ([\#10901](https://github.com/matrix-org/matrix-react-sdk/pull/10901)).
|
||||
* Attempt a potential workaround for stuck notifs ([\#3384](https://github.com/matrix-org/matrix-js-sdk/pull/3384)). Fixes vector-im/element-web#25406. Contributed by @andybalaam.
|
||||
* Update to seshat 3.0.1 ([\#960](https://github.com/vector-im/element-desktop/pull/960)). Fixes #959.
|
||||
* Fix macos update check exploding ([\#944](https://github.com/vector-im/element-desktop/pull/944)). Fixes #668.
|
||||
* Handle trailing dot FQDNs for domain-specific config.json files ([\#25351](https://github.com/vector-im/element-web/pull/25351)). Fixes vector-im/element-web#8858.
|
||||
* Ignore edits in message previews when they concern messages other than latest ([\#10868](https://github.com/matrix-org/matrix-react-sdk/pull/10868)). Fixes vector-im/element-web#14872.
|
||||
* Send correct receipts when viewing a room ([\#10864](https://github.com/matrix-org/matrix-react-sdk/pull/10864)). Fixes vector-im/element-web#25196.
|
||||
* Fix timeline search bar being overlapped by the right panel ([\#10809](https://github.com/matrix-org/matrix-react-sdk/pull/10809)). Fixes vector-im/element-web#25291. Contributed by @luixxiul.
|
||||
* Fix the state shown for call in rooms ([\#10833](https://github.com/matrix-org/matrix-react-sdk/pull/10833)).
|
||||
* Add string for membership event where both displayname & avatar change ([\#10880](https://github.com/matrix-org/matrix-react-sdk/pull/10880)). Fixes vector-im/element-web#18026.
|
||||
* Fix people space notification badge not updating for new DM invites ([\#10849](https://github.com/matrix-org/matrix-react-sdk/pull/10849)). Fixes vector-im/element-web#23248.
|
||||
* Fix regression in emoji picker order mangling after clearing filter ([\#10854](https://github.com/matrix-org/matrix-react-sdk/pull/10854)). Fixes vector-im/element-web#25323.
|
||||
* Fix: Edit history modal crash ([\#10834](https://github.com/matrix-org/matrix-react-sdk/pull/10834)). Fixes vector-im/element-web#25309. Contributed by @kerryarchibald.
|
||||
* Fix long room address and name not being clipped on room info card and update `_RoomSummaryCard.pcss` ([\#10811](https://github.com/matrix-org/matrix-react-sdk/pull/10811)). Fixes vector-im/element-web#25293. Contributed by @luixxiul.
|
||||
* Treat thumbnail upload failures as complete upload failures ([\#10829](https://github.com/matrix-org/matrix-react-sdk/pull/10829)). Fixes vector-im/element-web#7069.
|
||||
* Update finite automata to match user identifiers as per spec ([\#10798](https://github.com/matrix-org/matrix-react-sdk/pull/10798)). Fixes vector-im/element-web#25246.
|
||||
* Fix icon on empty notification panel ([\#10817](https://github.com/matrix-org/matrix-react-sdk/pull/10817)). Fixes vector-im/element-web#25298 and vector-im/element-web#25302. Contributed by @luixxiul.
|
||||
* Fix: Threads button is highlighted when I create a new room ([\#10819](https://github.com/matrix-org/matrix-react-sdk/pull/10819)). Fixes vector-im/element-web#25284. Contributed by @kerryarchibald.
|
||||
* Fix the top heading of notification panel ([\#10818](https://github.com/matrix-org/matrix-react-sdk/pull/10818)). Fixes vector-im/element-web#25303. Contributed by @luixxiul.
|
||||
* Fix the color of the verified E2EE icon on `RoomSummaryCard` ([\#10812](https://github.com/matrix-org/matrix-react-sdk/pull/10812)). Fixes vector-im/element-web#25295. Contributed by @luixxiul.
|
||||
* Fix: No feedback when waiting for the server on a /delete_devices request with SSO ([\#10795](https://github.com/matrix-org/matrix-react-sdk/pull/10795)). Fixes vector-im/element-web#23096. Contributed by @kerryarchibald.
|
||||
* Fix: reveal images when image previews are disabled ([\#10781](https://github.com/matrix-org/matrix-react-sdk/pull/10781)). Fixes vector-im/element-web#25271. Contributed by @kerryarchibald.
|
||||
* Fix accessibility issues around the room list and space panel ([\#10717](https://github.com/matrix-org/matrix-react-sdk/pull/10717)). Fixes vector-im/element-web#13345.
|
||||
* Ensure tooltip contents is linked via aria to the target element ([\#10729](https://github.com/matrix-org/matrix-react-sdk/pull/10729)). Fixes vector-im/customer-retainer#43.
|
||||
|
||||
Changes in [1.11.31](https://github.com/vector-im/element-desktop/releases/tag/v1.11.31) (2023-05-10)
|
||||
=====================================================================================================
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||

|
||||

|
||||
[](https://translate.element.io/engage/element-desktop/)
|
||||
[](https://localazy.com/p/element-web)
|
||||
[](https://sonarcloud.io/summary/new_code?id=element-desktop)
|
||||
[](https://sonarcloud.io/summary/new_code?id=element-desktop)
|
||||
[](https://sonarcloud.io/summary/new_code?id=element-desktop)
|
||||
@@ -149,8 +149,6 @@ To add a new translation, head to the [translating doc](https://github.com/vecto
|
||||
|
||||
For a developer guide, see the [translating dev doc](https://github.com/vector-im/element-web/blob/develop/docs/translating-dev.md).
|
||||
|
||||
[<img src="https://translate.element.io/widgets/element-desktop/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.element.io/engage/element-desktop/?utm_source=widget)
|
||||
|
||||
# Report bugs & give feedback
|
||||
|
||||
If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.
|
||||
|
||||
16
docs/SUMMARY.md
Normal file
16
docs/SUMMARY.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Summary
|
||||
|
||||
- [Introduction](../README.md)
|
||||
|
||||
# Build
|
||||
|
||||
- [Native Node modules](native-node-modules.md)
|
||||
- [Windows requirements](windows-requirements.md)
|
||||
|
||||
# Distribution
|
||||
|
||||
- [Updates](updates.md)
|
||||
|
||||
# Setup
|
||||
|
||||
- [Config](config.md)
|
||||
15
docs/config.md
Normal file
15
docs/config.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Configuration
|
||||
|
||||
All Element Web options documented [here](https://github.com/vector-im/element-web/blob/develop/docs/config.md) can be used as well as the following:
|
||||
|
||||
---
|
||||
|
||||
The app contains a configuration file specified at build time using [these instructions](https://github.com/vector-im/element-desktop/#config).
|
||||
This config can be overwritten by the end using by creating a `config.json` file at the paths described [here](https://github.com/vector-im/element-desktop/#user-specified-configjson).
|
||||
|
||||
After changing the config, the app will need to be exited fully (including via the task tray) and re-started.
|
||||
|
||||
---
|
||||
|
||||
1. `update_base_url`: Specifies the URL of the update server, see [document](https://github.com/vector-im/element-desktop/blob/develop/docs/updates.md).
|
||||
2. `web_base_url`: Specifies the Element Web URL when performing actions such as popout widget. Defaults to `https://app.element.io/`.
|
||||
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"update_base_url": "https://packages.element.io/nightly/update/",
|
||||
"default_server_name": "matrix.org",
|
||||
"default_server_config": {
|
||||
"m.homeserver": {
|
||||
"base_url": "https://matrix-client.matrix.org"
|
||||
},
|
||||
"m.identity_server": {
|
||||
"base_url": "https://vector.im"
|
||||
}
|
||||
},
|
||||
"brand": "Element Nightly",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
@@ -13,8 +21,8 @@
|
||||
],
|
||||
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
|
||||
"uisi_autorageshake_app": "element-auto-uisi",
|
||||
"showLabsSettings": true,
|
||||
"roomDirectory": {
|
||||
"show_labs_settings": true,
|
||||
"room_directory": {
|
||||
"servers": ["matrix.org", "gitter.im", "libera.chat"]
|
||||
},
|
||||
"enable_presence_by_hs_url": {
|
||||
@@ -36,8 +44,8 @@
|
||||
"environment": "nightly"
|
||||
},
|
||||
"posthog": {
|
||||
"projectApiKey": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
|
||||
"apiHost": "https://posthog.element.io"
|
||||
"project_api_key": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
|
||||
"api_host": "https://posthog.element.io"
|
||||
},
|
||||
"privacy_policy_url": "https://element.io/cookie-policy",
|
||||
"features": {
|
||||
@@ -45,7 +53,7 @@
|
||||
"feature_video_rooms": true
|
||||
},
|
||||
"element_call": {
|
||||
"url": "https://element-call.netlify.app"
|
||||
"url": "https://call.element.dev"
|
||||
},
|
||||
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
{
|
||||
"update_base_url": "https://packages.element.io/desktop/update/",
|
||||
"default_server_name": "matrix.org",
|
||||
"default_server_config": {
|
||||
"m.homeserver": {
|
||||
"base_url": "https://matrix-client.matrix.org"
|
||||
},
|
||||
"m.identity_server": {
|
||||
"base_url": "https://vector.im"
|
||||
}
|
||||
},
|
||||
"brand": "Element",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
@@ -13,10 +21,10 @@
|
||||
],
|
||||
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
|
||||
"uisi_autorageshake_app": "element-auto-uisi",
|
||||
"roomDirectory": {
|
||||
"room_directory": {
|
||||
"servers": ["matrix.org", "gitter.im", "libera.chat"]
|
||||
},
|
||||
"showLabsSettings": false,
|
||||
"show_labs_settings": false,
|
||||
"enable_presence_by_hs_url": {
|
||||
"https://matrix.org": false,
|
||||
"https://matrix-client.matrix.org": false
|
||||
@@ -32,8 +40,8 @@
|
||||
}
|
||||
],
|
||||
"posthog": {
|
||||
"projectApiKey": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
|
||||
"apiHost": "https://posthog.element.io"
|
||||
"project_api_key": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
|
||||
"api_host": "https://posthog.element.io"
|
||||
},
|
||||
"privacy_policy_url": "https://element.io/cookie-policy",
|
||||
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
|
||||
|
||||
37
localazy.json
Normal file
37
localazy.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"readKey": "a7688614897667993891-866e2615b0a22e6ccef56aea9b10e815efa3e1296752a7a30bd9925f1a8f33e7",
|
||||
|
||||
"upload": {
|
||||
"type": "json",
|
||||
"keySeparator": "|",
|
||||
"deprecate": "file",
|
||||
"features": ["plural_object", "filter_untranslated"],
|
||||
"files": [
|
||||
{
|
||||
"pattern": "src/i18n/strings/en_EN.json",
|
||||
"file": "element-desktop.json",
|
||||
"lang": "inherited"
|
||||
},
|
||||
{
|
||||
"group": "existing",
|
||||
"pattern": "src/i18n/strings/*.json",
|
||||
"file": "element-desktop.json",
|
||||
"excludes": ["src/i18n/strings/en_EN.json"],
|
||||
"lang": "${autodetectLang}"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"download": {
|
||||
"files": [
|
||||
{
|
||||
"conditions": "equals: ${file}, element-desktop.json",
|
||||
"output": "src/i18n/strings/${langLsrUnderscore}.json"
|
||||
}
|
||||
],
|
||||
"includeSourceLang": "${includeSourceLang|false}",
|
||||
"langAliases": {
|
||||
"en": "en-EN"
|
||||
}
|
||||
}
|
||||
}
|
||||
38
package.json
38
package.json
@@ -2,7 +2,7 @@
|
||||
"name": "element-desktop",
|
||||
"productName": "Element",
|
||||
"main": "lib/electron-main.js",
|
||||
"version": "1.11.31",
|
||||
"version": "1.11.50",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Element",
|
||||
"homepage": "https://element.io",
|
||||
@@ -16,9 +16,10 @@
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"i18n": "matrix-gen-i18n",
|
||||
"prunei18n": "matrix-prune-i18n",
|
||||
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
|
||||
"i18n": "matrix-gen-i18n && yarn i18n:sort && yarn i18n:lint",
|
||||
"i18n:sort": "jq --sort-keys '.' src/i18n/strings/en_EN.json > src/i18n/strings/en_EN.json.tmp && mv src/i18n/strings/en_EN.json.tmp src/i18n/strings/en_EN.json",
|
||||
"i18n:lint": "prettier --write src/i18n/strings/ --ignore-path /dev/null",
|
||||
"i18n:diff": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
|
||||
"mkdirs": "mkdirp packages deploys",
|
||||
"fetch": "yarn run mkdirs && ts-node scripts/fetch-package.ts",
|
||||
"asar-webapp": "asar p webapp webapp.asar",
|
||||
@@ -64,63 +65,64 @@
|
||||
"electron-window-state": "^5.0.3",
|
||||
"minimist": "^1.2.6",
|
||||
"node-fetch": "^2",
|
||||
"png-to-ico": "^2.1.1"
|
||||
"png-to-ico": "^2.1.1",
|
||||
"uuid": "^9.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.18.10",
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@electron/asar": "^3.2.3",
|
||||
"@electron/notarize": "^1.2.3",
|
||||
"@types/auto-launch": "^5.0.1",
|
||||
"@types/counterpart": "^0.18.1",
|
||||
"@types/detect-libc": "^1.0.0",
|
||||
"@types/jest": "^29.0.0",
|
||||
"@types/minimist": "^1.2.1",
|
||||
"@types/mkdirp": "^1.0.2",
|
||||
"@types/node": "16.18.30",
|
||||
"@types/node": "16.18.52",
|
||||
"@types/pacote": "^11.1.1",
|
||||
"@types/tar": "^6.1.3",
|
||||
"@types/uuid": "^9.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.42.0",
|
||||
"@typescript-eslint/parser": "^5.42.0",
|
||||
"allchange": "^1.0.6",
|
||||
"app-builder-lib": "24.4.0",
|
||||
"app-builder-lib": "24.8.0",
|
||||
"babel-jest": "^29.0.0",
|
||||
"chokidar": "^3.5.2",
|
||||
"detect-libc": "^1.0.3",
|
||||
"electron": "^24.0.0",
|
||||
"electron-builder": "24.4.0",
|
||||
"electron-builder-squirrel-windows": "24.4.0",
|
||||
"electron": "^27.0.0",
|
||||
"electron-builder": "24.6.4",
|
||||
"electron-builder-squirrel-windows": "24.8.0",
|
||||
"electron-devtools-installer": "^3.2.0",
|
||||
"eslint": "^8.26.0",
|
||||
"eslint-config-google": "^0.14.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"eslint-plugin-import": "^2.25.4",
|
||||
"eslint-plugin-matrix-org": "^1.0.0",
|
||||
"eslint-plugin-unicorn": "^47.0.0",
|
||||
"eslint-plugin-unicorn": "^49.0.0",
|
||||
"expect-playwright": "^0.8.0",
|
||||
"find-npm-prefix": "^1.0.2",
|
||||
"fs-extra": "^11.0.0",
|
||||
"glob": "^10.0.0",
|
||||
"jest": "^29.0.0",
|
||||
"matrix-web-i18n": "^1.3.0",
|
||||
"matrix-web-i18n": "^3.1.3",
|
||||
"mkdirp": "^3.0.0",
|
||||
"node-pre-gyp": "^0.17.0",
|
||||
"pacote": "^15.0.0",
|
||||
"playwright": "^1.25.0",
|
||||
"pacote": "^17.0.0",
|
||||
"playwright": "1.37.1",
|
||||
"prettier": "^2.8.1",
|
||||
"rimraf": "^5.0.0",
|
||||
"tar": "^6.1.2",
|
||||
"ts-jest": "^29.0.0",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "5.0.4"
|
||||
"typescript": "5.2.2"
|
||||
},
|
||||
"hakDependencies": {
|
||||
"matrix-seshat": "^3.0.1",
|
||||
"keytar": "^7.9.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"@types/node": "16.18.30"
|
||||
"@types/node": "16.18.59"
|
||||
},
|
||||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
|
||||
@@ -28,11 +28,11 @@ fs.mkdirSync("lib/i18n/strings", { recursive: true });
|
||||
type Translations = Record<string, Record<string, string> | string>;
|
||||
|
||||
function genLangFile(file: string, dest: string): void {
|
||||
const inTrs: Record<string, string> = {};
|
||||
const translations: Translations = {};
|
||||
[file].forEach(function (f) {
|
||||
if (fs.existsSync(f)) {
|
||||
try {
|
||||
Object.assign(inTrs, JSON.parse(fs.readFileSync(f).toString()));
|
||||
Object.assign(translations, JSON.parse(fs.readFileSync(f).toString()));
|
||||
} catch (e) {
|
||||
console.error("Failed: " + f, e);
|
||||
throw e;
|
||||
@@ -40,7 +40,6 @@ function genLangFile(file: string, dest: string): void {
|
||||
}
|
||||
});
|
||||
|
||||
const translations = weblateToCounterpart(inTrs);
|
||||
const json = JSON.stringify(translations, null, 4);
|
||||
const filename = path.basename(file);
|
||||
|
||||
@@ -50,46 +49,6 @@ function genLangFile(file: string, dest: string): void {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert translation key from weblate format
|
||||
* (which only supports a single level) to counterpart
|
||||
* which requires object values for 'count' translations.
|
||||
*
|
||||
* eg.
|
||||
* "there are %(count)s badgers|one": "a badger",
|
||||
* "there are %(count)s badgers|other": "%(count)s badgers"
|
||||
* becomes
|
||||
* "there are %(count)s badgers": {
|
||||
* "one": "a badger",
|
||||
* "other": "%(count)s badgers"
|
||||
* }
|
||||
*/
|
||||
function weblateToCounterpart(inTrs: Record<string, string>): Translations {
|
||||
const outTrs: Translations = {};
|
||||
|
||||
for (const key of Object.keys(inTrs)) {
|
||||
const keyParts = key.split("|", 2);
|
||||
if (keyParts.length === 2) {
|
||||
let obj = outTrs[keyParts[0]];
|
||||
if (obj === undefined) {
|
||||
obj = outTrs[keyParts[0]] = {};
|
||||
} else if (typeof obj === "string") {
|
||||
// This is a transitional edge case if a string went from singular to pluralised and both still remain
|
||||
// in the translation json file. Use the singular translation as `other` and merge pluralisation atop.
|
||||
obj = outTrs[keyParts[0]] = {
|
||||
other: inTrs[key],
|
||||
};
|
||||
console.warn("Found entry in i18n file in both singular and pluralised form", keyParts[0]);
|
||||
}
|
||||
obj[keyParts[1]] = inTrs[key];
|
||||
} else {
|
||||
outTrs[key] = inTrs[key];
|
||||
}
|
||||
}
|
||||
|
||||
return outTrs;
|
||||
}
|
||||
|
||||
/*
|
||||
watch the input files for a given language,
|
||||
regenerate the file, and regenerating languages.json with the new filename
|
||||
|
||||
@@ -81,6 +81,10 @@ export default class HakEnv {
|
||||
return this.target.platform === "linux";
|
||||
}
|
||||
|
||||
public isFreeBSD(): boolean {
|
||||
return this.target.platform === "freebsd";
|
||||
}
|
||||
|
||||
public getTargetArch(): Arch {
|
||||
return this.target.arch;
|
||||
}
|
||||
@@ -102,6 +106,6 @@ export default class HakEnv {
|
||||
}
|
||||
|
||||
public wantsStaticSqlCipher(): boolean {
|
||||
return !this.isLinux() || process.env.SQLCIPHER_BUNDLED == "1";
|
||||
return !(this.isLinux() || this.isFreeBSD()) || process.env.SQLCIPHER_BUNDLED == "1";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,9 @@ export type TargetId =
|
||||
| "i686-pc-windows-msvc"
|
||||
| "x86_64-pc-windows-msvc"
|
||||
| "aarch64-pc-windows-msvc"
|
||||
| "i686-unknown-freebsd"
|
||||
| "x86_64-unknown-freebsd"
|
||||
| "aarch64-unknown-freebsd"
|
||||
| "i686-unknown-linux-musl"
|
||||
| "i686-unknown-linux-gnu"
|
||||
| "x86_64-unknown-linux-musl"
|
||||
@@ -36,7 +39,7 @@ export type TargetId =
|
||||
| "powerpc64le-unknown-linux-gnu";
|
||||
|
||||
// Values are expected to match those used in `process.platform`.
|
||||
export type Platform = "darwin" | "linux" | "win32";
|
||||
export type Platform = "darwin" | "freebsd" | "linux" | "win32";
|
||||
|
||||
// Values are expected to match those used in `process.arch`.
|
||||
export type Arch = "arm64" | "ia32" | "x64" | "ppc64" | "universal";
|
||||
@@ -106,6 +109,24 @@ const aarch64WindowsMsvc: WindowsTarget = {
|
||||
vcVarsArch: "arm64",
|
||||
};
|
||||
|
||||
const i686UnknownFreebsd: Target = {
|
||||
id: "i686-unknown-freebsd",
|
||||
platform: "freebsd",
|
||||
arch: "ia32",
|
||||
};
|
||||
|
||||
const x8664UnknownFreebsd: Target = {
|
||||
id: "x86_64-unknown-freebsd",
|
||||
platform: "freebsd",
|
||||
arch: "x64",
|
||||
};
|
||||
|
||||
const aarch64UnknownFreebsd: Target = {
|
||||
id: "aarch64-unknown-freebsd",
|
||||
platform: "freebsd",
|
||||
arch: "arm64",
|
||||
};
|
||||
|
||||
const x8664UnknownLinuxGnu: LinuxTarget = {
|
||||
id: "x86_64-unknown-linux-gnu",
|
||||
platform: "linux",
|
||||
@@ -171,6 +192,10 @@ export const TARGETS: Record<TargetId, Target> = {
|
||||
"i686-pc-windows-msvc": i686PcWindowsMsvc,
|
||||
"x86_64-pc-windows-msvc": x8664PcWindowsMsvc,
|
||||
"aarch64-pc-windows-msvc": aarch64WindowsMsvc,
|
||||
// FreeBSD
|
||||
"i686-unknown-freebsd": i686UnknownFreebsd,
|
||||
"x86_64-unknown-freebsd": x8664UnknownFreebsd,
|
||||
"aarch64-unknown-freebsd": aarch64UnknownFreebsd,
|
||||
// Linux
|
||||
"i686-unknown-linux-musl": i686UnknownLinuxMusl,
|
||||
"i686-unknown-linux-gnu": i686UnknownLinuxGnu,
|
||||
|
||||
29
src/displayMediaCallback.ts
Normal file
29
src/displayMediaCallback.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2023 New Vector Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { Streams } from "electron";
|
||||
|
||||
type DisplayMediaCallback = (streams: Streams) => void;
|
||||
|
||||
let displayMediaCallback: DisplayMediaCallback | null;
|
||||
|
||||
export const getDisplayMediaCallback = (): DisplayMediaCallback | null => {
|
||||
return displayMediaCallback;
|
||||
};
|
||||
|
||||
export const setDisplayMediaCallback = (callback: DisplayMediaCallback | null): void => {
|
||||
displayMediaCallback = callback;
|
||||
};
|
||||
@@ -19,7 +19,7 @@ limitations under the License.
|
||||
|
||||
// Squirrel on windows starts the app with various flags as hooks to tell us when we've been installed/uninstalled etc.
|
||||
import "./squirrelhooks";
|
||||
import { app, BrowserWindow, Menu, autoUpdater, protocol, dialog, Input } from "electron";
|
||||
import { app, BrowserWindow, Menu, autoUpdater, protocol, dialog, Input, Event, session } from "electron";
|
||||
import * as Sentry from "@sentry/electron/main";
|
||||
import AutoLaunch from "auto-launch";
|
||||
import path from "path";
|
||||
@@ -39,6 +39,8 @@ import webContentsHandler from "./webcontents-handler";
|
||||
import * as updater from "./updater";
|
||||
import { getProfileFromDeeplink, protocolInit } from "./protocol";
|
||||
import { _t, AppLocalization } from "./language-helper";
|
||||
import { setDisplayMediaCallback } from "./displayMediaCallback";
|
||||
import { setupMacosTitleBar } from "./macos-titlebar";
|
||||
|
||||
const argv = minimist(process.argv, {
|
||||
alias: { help: "h" },
|
||||
@@ -258,7 +260,8 @@ global.appQuitting = false;
|
||||
const exitShortcuts: Array<(input: Input, platform: string) => boolean> = [
|
||||
(input, platform): boolean => platform !== "darwin" && input.alt && input.key.toUpperCase() === "F4",
|
||||
(input, platform): boolean => platform !== "darwin" && input.control && input.key.toUpperCase() === "Q",
|
||||
(input, platform): boolean => platform === "darwin" && input.meta && input.key.toUpperCase() === "Q",
|
||||
(input, platform): boolean =>
|
||||
platform === "darwin" && input.meta && !input.control && input.key.toUpperCase() === "Q",
|
||||
];
|
||||
|
||||
const warnBeforeExit = (event: Event, input: Input): void => {
|
||||
@@ -271,12 +274,12 @@ const warnBeforeExit = (event: Event, input: Input): void => {
|
||||
dialog.showMessageBoxSync(global.mainWindow, {
|
||||
type: "question",
|
||||
buttons: [
|
||||
_t("Cancel"),
|
||||
_t("Close %(brand)s", {
|
||||
_t("action|cancel"),
|
||||
_t("action|close_brand", {
|
||||
brand: global.vectorConfig.brand || "Element",
|
||||
}),
|
||||
],
|
||||
message: _t("Are you sure you want to quit?"),
|
||||
message: _t("confirm_quit"),
|
||||
defaultId: 1,
|
||||
cancelId: 0,
|
||||
}) === 0;
|
||||
@@ -453,6 +456,9 @@ app.on("ready", async () => {
|
||||
// https://www.electronjs.org/docs/faq#the-font-looks-blurry-what-is-this-and-what-can-i-do
|
||||
backgroundColor: "#fff",
|
||||
|
||||
titleBarStyle: process.platform === "darwin" ? "hidden" : "default",
|
||||
trafficLightPosition: { x: 9, y: 8 },
|
||||
|
||||
icon: global.trayConfig.icon_path,
|
||||
show: false,
|
||||
autoHideMenuBar: global.store.get("autoHideMenuBar", true),
|
||||
@@ -471,6 +477,10 @@ app.on("ready", async () => {
|
||||
});
|
||||
global.mainWindow.loadURL("vector://vector/webapp/");
|
||||
|
||||
if (process.platform === "darwin") {
|
||||
setupMacosTitleBar(global.mainWindow);
|
||||
}
|
||||
|
||||
// Handle spellchecker
|
||||
// For some reason spellCheckerEnabled isn't persisted, so we have to use the store here
|
||||
global.mainWindow.webContents.session.setSpellCheckerEnabled(global.store.get("spellCheckerEnabled", true));
|
||||
@@ -532,6 +542,11 @@ app.on("ready", async () => {
|
||||
store: global.store,
|
||||
components: [(): void => tray.initApplicationMenu(), (): void => Menu.setApplicationMenu(buildMenuTemplate())],
|
||||
});
|
||||
|
||||
session.defaultSession.setDisplayMediaRequestHandler((_, callback) => {
|
||||
global.mainWindow?.webContents.send("openDesktopCapturerSourcePicker");
|
||||
setDisplayMediaCallback(callback);
|
||||
});
|
||||
});
|
||||
|
||||
app.on("window-all-closed", () => {
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"File": "ملف",
|
||||
"Close": "أغلِق",
|
||||
"Actual Size": "المقاس الفعلي",
|
||||
"View": "منظور",
|
||||
"Select All": "حدّد الكل",
|
||||
"Delete": "احذف",
|
||||
"Copy": "انسخ",
|
||||
"Edit": "تحرير",
|
||||
"Cancel": "ألغِ",
|
||||
"Bring All to Front": "ضَع الكل في المقدّمة",
|
||||
"Speech": "نطق",
|
||||
"Add to dictionary": "أضِف إلى القاموس",
|
||||
"The image failed to save": "فشل حفظ الصورة",
|
||||
"Failed to save image": "فشل حفظ الصورة",
|
||||
"Save image as...": "احفظ الصورة كَ...",
|
||||
"Copy link address": "انسخ عنوان الرابط",
|
||||
"Copy email address": "انسخ عنوان البريد الإلكتروني",
|
||||
"Copy image": "انسخ الصورة",
|
||||
"Zoom": "تقريب",
|
||||
"Stop Speaking": "أوقِف النطق",
|
||||
"Start Speaking": "ابدأ النطق",
|
||||
"Unhide": "اعرض",
|
||||
"Hide Others": "أخفِ البقية",
|
||||
"Hide": "أخفِ",
|
||||
"Services": "الخدمات",
|
||||
"About": "عن",
|
||||
"Element Help": "مساعدة Element",
|
||||
"Help": "مساعدة",
|
||||
"Minimize": "صغّر",
|
||||
"Window": "نافذة",
|
||||
"Toggle Developer Tools": "فعّل/عطّل أدوات المطوّرين",
|
||||
"Toggle Full Screen": "فعّل/عطّل ملء الشاشة",
|
||||
"Preferences": "التفضيلات",
|
||||
"Zoom In": "قرّب",
|
||||
"Zoom Out": "بعّد",
|
||||
"Paste and Match Style": "ألصِق وطابِق النمط",
|
||||
"Paste": "ألصِق",
|
||||
"Cut": "قصّ",
|
||||
"Redo": "أعِد",
|
||||
"Undo": "تراجَع",
|
||||
"Quit": "غادِر",
|
||||
"Show/Hide": "اعرض/أخفِ",
|
||||
"Are you sure you want to quit?": "أمتأكّد من الإغلاق؟",
|
||||
"Copy image address": "انسخ عنوان (رابط) الصورة",
|
||||
"Close %(brand)s": "اغلاق %(brand)s"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"Add to dictionary": "Дадаць у слоўнік",
|
||||
"The image failed to save": "Не атрымалася захаваць малюнак",
|
||||
"Failed to save image": "Не атрымалася захаваць малюнак",
|
||||
"Save image as...": "Захаваць малюнак як...",
|
||||
"Copy link address": "Скапіраваць спасылку",
|
||||
"Copy email address": "Скапіраваць адрас пошты",
|
||||
"Copy image": "Скапіраваць малюнак",
|
||||
"File": "Файл",
|
||||
"Bring All to Front": "Вынесці ўсё наперад",
|
||||
"Zoom": "Маштаб",
|
||||
"Stop Speaking": "Перастаць гаварыць",
|
||||
"Start Speaking": "Гаварыць",
|
||||
"Speech": "Голас",
|
||||
"Unhide": "Паказаць",
|
||||
"Hide Others": "Схаваць іншыя",
|
||||
"Hide": "Схаваць",
|
||||
"Services": "Сервісы",
|
||||
"About": "Аб праграме",
|
||||
"Element Help": "Даведка Element",
|
||||
"Help": "Даведка",
|
||||
"Close": "Зачыніць",
|
||||
"Minimize": "Згарнуць",
|
||||
"Window": "Акно",
|
||||
"Toggle Developer Tools": "Пераключэнне інструментаў распрацоўніка",
|
||||
"Toggle Full Screen": "Пераключэнне на ўвесь экран",
|
||||
"Preferences": "Параметры",
|
||||
"Zoom Out": "Паменшыць",
|
||||
"Zoom In": "Павялічыць",
|
||||
"Actual Size": "Фактычны Памер",
|
||||
"View": "Прагляд",
|
||||
"Select All": "Выбраць усё",
|
||||
"Delete": "Выдаліць",
|
||||
"Paste and Match Style": "Уставіць і супаставіць стыль",
|
||||
"Paste": "Уставіць",
|
||||
"Copy": "Капіяваць",
|
||||
"Cut": "Выразаць",
|
||||
"Redo": "Паўтарыць",
|
||||
"Undo": "Адмяніць",
|
||||
"Edit": "Змяніць",
|
||||
"Quit": "Выйсці",
|
||||
"Show/Hide": "Паказаць / схаваць",
|
||||
"Are you sure you want to quit?": "Вы ўпэўненыя, што хочаце выйсці?",
|
||||
"Cancel": "Адмена"
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"Add to dictionary": "Добави към речника",
|
||||
"The image failed to save": "Изображението не успя да се запази",
|
||||
"Failed to save image": "Неуспешно запазване на изображението",
|
||||
"Save image as...": "Запази изображението като...",
|
||||
"Copy link address": "Копирай линка",
|
||||
"Copy image address": "Копирай адреса на изображението",
|
||||
"Copy email address": "Копирай имейл адрес",
|
||||
"Copy image": "Копирай изображение",
|
||||
"File": "Файл",
|
||||
"Bring All to Front": "Покажи всички най-отгоре",
|
||||
"Zoom": "Мащабирай",
|
||||
"Stop Speaking": "Спри да говориш",
|
||||
"Start Speaking": "Започни да говориш",
|
||||
"Speech": "Говор",
|
||||
"Unhide": "Покажи",
|
||||
"Hide Others": "Скрий Останалите",
|
||||
"Hide": "Скрий",
|
||||
"Services": "Услуги",
|
||||
"About": "Относно",
|
||||
"Element Help": "Помощ за Елемент",
|
||||
"Help": "Помощ",
|
||||
"Close": "Затвори",
|
||||
"Minimize": "Минимизирай",
|
||||
"Window": "Прозорец",
|
||||
"Toggle Developer Tools": "Превключи инструментите за разработчици",
|
||||
"Toggle Full Screen": "Превключи на Цял екран",
|
||||
"Preferences": "Предпочитания",
|
||||
"Zoom Out": "Намали",
|
||||
"Zoom In": "Увеличи",
|
||||
"Actual Size": "Действителен Размер",
|
||||
"View": "Преглед",
|
||||
"Select All": "Избери Всичко",
|
||||
"Delete": "Изтрий",
|
||||
"Paste and Match Style": "Постави и Използвай текущия стил",
|
||||
"Paste": "Постави",
|
||||
"Copy": "Копирай",
|
||||
"Cut": "Изрежи",
|
||||
"Redo": "Върни",
|
||||
"Undo": "Отмени",
|
||||
"Edit": "Редактирай",
|
||||
"Quit": "Напусни",
|
||||
"Show/Hide": "Покажи/Скрий",
|
||||
"Are you sure you want to quit?": "Сигурен ли си че искаш да напуснеш?",
|
||||
"Cancel": "Отказ"
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"Are you sure you want to quit?": "তুমি কি আসলেই বের হতে চাও?",
|
||||
"Cancel": "বাতিল",
|
||||
"Save image as...": "ছবি সংরক্ষণের ধরন...",
|
||||
"Failed to save image": "ছবি সংরক্ষণ ব্যর্থ",
|
||||
"The image failed to save": "ছবি সংরক্ষণ ব্যর্থ",
|
||||
"Add to dictionary": "অভিধানে যোগ করি",
|
||||
"Copy link address": "সংযোগের ঠিকানা অনুলিপি করো",
|
||||
"Copy image address": "ছবির ঠিকানা অনুলিপি করো",
|
||||
"Copy email address": "ইমেইল ঠিকানা অনুলিপি করো",
|
||||
"Copy image": "ছবি অনুলিপি করো",
|
||||
"File": "নথি",
|
||||
"Bring All to Front": "সবকিছু সামনে আনো",
|
||||
"Zoom": "বড় করা",
|
||||
"Stop Speaking": "কথা বন্ধ করো",
|
||||
"Start Speaking": "কথা শুরু করো",
|
||||
"Speech": "বাচন",
|
||||
"Unhide": "দেখাও",
|
||||
"Hide Others": "অন্যগুলো লুকাও",
|
||||
"Hide": "লুকাও",
|
||||
"Services": "সেবা",
|
||||
"About": "আমাদের সম্পর্কে",
|
||||
"Element Help": "এলিমেন্ট সাহায্য",
|
||||
"Help": "সাহায্য",
|
||||
"Close": "বন্ধ",
|
||||
"Minimize": "সংকোচন",
|
||||
"Window": "জানালা",
|
||||
"Toggle Developer Tools": "ডেভেলপার সরঞ্জামাদি",
|
||||
"Toggle Full Screen": "পূর্ণ পর্দা করো/বের হও",
|
||||
"Preferences": "পছন্দসমূহ",
|
||||
"Zoom Out": "ছোট করো",
|
||||
"Zoom In": "বড়ো করো",
|
||||
"Actual Size": "আসল আকার",
|
||||
"View": "দেখো",
|
||||
"Select All": "সব নির্বাচন",
|
||||
"Delete": "অপসারণ",
|
||||
"Paste and Match Style": "লেপন ও একই ধরনে",
|
||||
"Paste": "লেপন",
|
||||
"Copy": "অনুলিপি",
|
||||
"Cut": "কাটো",
|
||||
"Redo": "পুন",
|
||||
"Undo": "ফিরত",
|
||||
"Edit": "সম্পাদনা",
|
||||
"Quit": "প্রস্থান",
|
||||
"Show/Hide": "দেখাও/লুকাও"
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"Add to dictionary": "Afegeix al diccionari",
|
||||
"The image failed to save": "S'ha fallat en desar la imatge",
|
||||
"Failed to save image": "S'ha fallat en desar la imatge",
|
||||
"Save image as...": "Anomena i desa la imatge...",
|
||||
"Copy link address": "Copia l'adreça de l'enllaç",
|
||||
"Copy email address": "Copia l'adreça de correu electrònic",
|
||||
"Copy image": "Copia la imatge",
|
||||
"File": "Fitxer",
|
||||
"Bring All to Front": "Porta-ho tot al davant",
|
||||
"Zoom": "Escala",
|
||||
"Stop Speaking": "Para la veu",
|
||||
"Start Speaking": "Comença la veu",
|
||||
"Speech": "Veu",
|
||||
"Unhide": "Deixa d'amagar",
|
||||
"Hide Others": "Amaga les altres",
|
||||
"Hide": "Amaga",
|
||||
"Services": "Serveis",
|
||||
"About": "Quant a",
|
||||
"Element Help": "Ajuda sobre l'Element",
|
||||
"Help": "Ajuda",
|
||||
"Close": "Tanca",
|
||||
"Minimize": "Minimitza",
|
||||
"Window": "Finestra",
|
||||
"Toggle Developer Tools": "Commuta les eines per a desenvolupadors",
|
||||
"Toggle Full Screen": "Commuta la pantalla completa",
|
||||
"Preferences": "Preferències",
|
||||
"Zoom Out": "Allunya",
|
||||
"Zoom In": "Apropia",
|
||||
"Actual Size": "Mida real",
|
||||
"View": "Visualitza",
|
||||
"Select All": "Selecciona-ho tot",
|
||||
"Delete": "Suprimeix",
|
||||
"Paste and Match Style": "Enganxa i fes coincidir l'estil",
|
||||
"Paste": "Enganxa",
|
||||
"Copy": "Copia",
|
||||
"Cut": "Retalla",
|
||||
"Redo": "Refés",
|
||||
"Undo": "Desfés",
|
||||
"Edit": "Edita",
|
||||
"Quit": "Surt",
|
||||
"Show/Hide": "Mostra/Amaga",
|
||||
"Are you sure you want to quit?": "Esteu segur que voleu sortir?",
|
||||
"Cancel": "Cancel·la"
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Add to dictionary": "Přidat do slovníku",
|
||||
"Failed to save image": "Chyba při ukládání obrázku",
|
||||
"The image failed to save": "Obrázek se nepodařilo uložit",
|
||||
"Save image as...": "Uložit obrázek jako...",
|
||||
"Copy link address": "Kopírovat adresu odkazu",
|
||||
"Copy image address": "Kopírovat adresu obrázku",
|
||||
"Copy email address": "Kopírovat e-mailovou adresu",
|
||||
"Copy image": "Kopírovat obrázek",
|
||||
"File": "Soubor",
|
||||
"Bring All to Front": "Přenést vše do popředí",
|
||||
"Zoom": "Lupa",
|
||||
"Stop Speaking": "Zastavit nahrávání hlasu",
|
||||
"Start Speaking": "Spustit nahrávání hlasu",
|
||||
"Speech": "Řeč",
|
||||
"Unhide": "Zrušit skrytí",
|
||||
"Hide Others": "Skrýt ostatní",
|
||||
"Hide": "Skrýt",
|
||||
"Services": "Služby",
|
||||
"About": "O aplikaci",
|
||||
"Element Help": "Nápověda aplikace Element",
|
||||
"Help": "Nápověda",
|
||||
"Close": "Zavřít",
|
||||
"Minimize": "Minimalizovat",
|
||||
"Window": "Okno",
|
||||
"Toggle Developer Tools": "Přepnout zobrazení nástrojů pro vývojáře",
|
||||
"Toggle Full Screen": "Přepnout zobrazení celé obrazovky",
|
||||
"Preferences": "Předvolby",
|
||||
"Zoom Out": "Oddálit",
|
||||
"Zoom In": "Přiblížit",
|
||||
"Actual Size": "Aktuální velikost",
|
||||
"View": "Zobrazit",
|
||||
"Select All": "Vybrat vše",
|
||||
"Delete": "Smazat",
|
||||
"Paste and Match Style": "Vložit a přizpůsobit styl",
|
||||
"Paste": "Vložit",
|
||||
"Copy": "Kopírovat",
|
||||
"Cut": "Vyjmout",
|
||||
"Redo": "Znovu",
|
||||
"Undo": "Zpět",
|
||||
"Edit": "Úpravy",
|
||||
"Quit": "Ukončit",
|
||||
"Show/Hide": "Zobrazit/Skrýt",
|
||||
"Are you sure you want to quit?": "Opravdu chcete ukončit aplikaci?",
|
||||
"Close %(brand)s": "Zavřít %(brand)s",
|
||||
"Cancel": "Zrušit"
|
||||
"action": {
|
||||
"cancel": "Storno",
|
||||
"close": "Zavřít",
|
||||
"close_brand": "Zavřít %(brand)s",
|
||||
"copy": "Zkopírovat",
|
||||
"cut": "Vyjmout",
|
||||
"delete": "Smazat",
|
||||
"edit": "Upravit",
|
||||
"minimise": "Minimalizovat",
|
||||
"paste": "Vložit",
|
||||
"paste_match_style": "Vložit a přizpůsobit styl",
|
||||
"quit": "Ukončit",
|
||||
"redo": "Znovu",
|
||||
"select_all": "Vybrat vše",
|
||||
"show_hide": "Zobrazit/Skrýt",
|
||||
"undo": "Zpět",
|
||||
"zoom_in": "Přiblížit",
|
||||
"zoom_out": "Oddálit"
|
||||
},
|
||||
"common": {
|
||||
"about": "O",
|
||||
"brand_help": "%(brand)s nápověda",
|
||||
"help": "Nápověda",
|
||||
"preferences": "Předvolby"
|
||||
},
|
||||
"confirm_quit": "Opravdu chcete ukončit aplikaci?",
|
||||
"edit_menu": {
|
||||
"speech": "Řeč",
|
||||
"speech_start_speaking": "Spustit nahrávání hlasu",
|
||||
"speech_stop_speaking": "Zastavit nahrávání hlasu"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Soubor"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Skrýt",
|
||||
"hide_others": "Skrýt ostatní",
|
||||
"services": "Služby",
|
||||
"unhide": "Zrušit skrytí"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Přidat do slovníku",
|
||||
"copy_email": "Kopírovat e-mailovou adresu",
|
||||
"copy_image": "Kopírovat obrázek",
|
||||
"copy_image_url": "Kopírovat adresu obrázku",
|
||||
"copy_link_url": "Kopírovat adresu odkazu",
|
||||
"save_image_as": "Uložit obrázek jako...",
|
||||
"save_image_as_error_description": "Obrázek se nepodařilo uložit",
|
||||
"save_image_as_error_title": "Chyba při ukládání obrázku"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Aktuální velikost",
|
||||
"toggle_developer_tools": "Přepnout zobrazení nástrojů pro vývojáře",
|
||||
"toggle_full_screen": "Přepnout zobrazení celé obrazovky",
|
||||
"view": "Zobrazit"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Přenést vše do popředí",
|
||||
"label": "Okno",
|
||||
"zoom": "Lupa"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"Speech": "Sprache",
|
||||
"Paste and Match Style": "Einfügen und Formatierung beibehalten",
|
||||
"Stop Speaking": "Aufnahme beenden",
|
||||
"Start Speaking": "Aufnahme starten",
|
||||
"Services": "Dienste",
|
||||
"Are you sure you want to quit?": "Wirklich beenden?",
|
||||
"Add to dictionary": "Wörterbuch hinzufügen",
|
||||
"The image failed to save": "Das Bild konnte nicht gespeichert werden",
|
||||
"Failed to save image": "Bild kann nicht gespeichert werden",
|
||||
"Save image as...": "Bild speichern unter...",
|
||||
"Copy link address": "Link-Adresse kopieren",
|
||||
"Copy email address": "Email-Adresse kopieren",
|
||||
"Copy image": "Bild kopieren",
|
||||
"File": "Datei",
|
||||
"Bring All to Front": "Alles in den Vordergrund",
|
||||
"Zoom": "Zoom",
|
||||
"Unhide": "Wieder anzeigen",
|
||||
"Hide Others": "Andere verstecken",
|
||||
"Hide": "Verstecken",
|
||||
"About": "Über",
|
||||
"Element Help": "Hilfe zu Element",
|
||||
"Help": "Hilfe",
|
||||
"Close": "Schließen",
|
||||
"Minimize": "Minimieren",
|
||||
"Window": "Fenster",
|
||||
"Toggle Developer Tools": "Developer-Tools an/aus",
|
||||
"Toggle Full Screen": "Vollbildschirm an/aus",
|
||||
"Preferences": "Einstellungen",
|
||||
"Zoom Out": "Verkleinern",
|
||||
"Zoom In": "Vergrößern",
|
||||
"Actual Size": "Tatsächliche Größe",
|
||||
"View": "Ansicht",
|
||||
"Select All": "Alles auswählen",
|
||||
"Delete": "Löschen",
|
||||
"Paste": "Einfügen",
|
||||
"Copy": "Kopieren",
|
||||
"Cut": "Ausschneiden",
|
||||
"Redo": "Wiederherstellen",
|
||||
"Undo": "Rückgängig",
|
||||
"Edit": "Bearbeiten",
|
||||
"Quit": "Beenden",
|
||||
"Show/Hide": "Anzeigen/Ausblenden",
|
||||
"Cancel": "Abbrechen",
|
||||
"Copy image address": "Bild-Adresse kopieren",
|
||||
"Close %(brand)s": "%(brand)s schließen"
|
||||
}
|
||||
63
src/i18n/strings/de_DE.json
Normal file
63
src/i18n/strings/de_DE.json
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"action": {
|
||||
"cancel": "Abbrechen",
|
||||
"close": "Schließen",
|
||||
"close_brand": "%(brand)s schließen",
|
||||
"copy": "Kopieren",
|
||||
"cut": "Ausschneiden",
|
||||
"delete": "Löschen",
|
||||
"edit": "Bearbeiten",
|
||||
"minimise": "Minimieren",
|
||||
"paste": "Einfügen",
|
||||
"paste_match_style": "Einfügen und Formatierung beibehalten",
|
||||
"quit": "Beenden",
|
||||
"redo": "Wiederherstellen",
|
||||
"select_all": "Alles auswählen",
|
||||
"show_hide": "Anzeigen/Ausblenden",
|
||||
"undo": "Rückgängig",
|
||||
"zoom_in": "Vergrößern",
|
||||
"zoom_out": "Verkleinern"
|
||||
},
|
||||
"common": {
|
||||
"about": "Über",
|
||||
"brand_help": "%(brand)s Hilfe",
|
||||
"help": "Hilfe",
|
||||
"preferences": "Einstellungen"
|
||||
},
|
||||
"confirm_quit": "Wirklich beenden?",
|
||||
"edit_menu": {
|
||||
"speech": "Sprache",
|
||||
"speech_start_speaking": "Aufnahme starten",
|
||||
"speech_stop_speaking": "Aufnahme beenden"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Datei"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Verstecken",
|
||||
"hide_others": "Andere verstecken",
|
||||
"services": "Dienste",
|
||||
"unhide": "Wieder anzeigen"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Wörterbuch hinzufügen",
|
||||
"copy_email": "Email-Adresse kopieren",
|
||||
"copy_image": "Bild kopieren",
|
||||
"copy_image_url": "Bild-Adresse kopieren",
|
||||
"copy_link_url": "Link-Adresse kopieren",
|
||||
"save_image_as": "Bild speichern unter...",
|
||||
"save_image_as_error_description": "Das Bild konnte nicht gespeichert werden",
|
||||
"save_image_as_error_title": "Bild kann nicht gespeichert werden"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Tatsächliche Größe",
|
||||
"toggle_developer_tools": "Developer-Tools an/aus",
|
||||
"toggle_full_screen": "Vollbildschirm an/aus",
|
||||
"view": "Ansicht"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Alles in den Vordergrund",
|
||||
"label": "Fenster",
|
||||
"zoom": "Zoomen"
|
||||
}
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Are you sure you want to quit?": "Είστε βέβαιος ότι θέλετε να εγκαταλείψετε;",
|
||||
"Zoom": "Ζουμ",
|
||||
"Unhide": "Εμφάνιση",
|
||||
"Window": "Παράθυρο",
|
||||
"Toggle Developer Tools": "Άνοιγμα Εργαλείων Προγραμματιστή",
|
||||
"Toggle Full Screen": "Εναλλαγή σε Πλήρη Οθόνη",
|
||||
"Copy email address": "Αντιγραφή διεύθυνσης email",
|
||||
"File": "Αρχείο",
|
||||
"Bring All to Front": "Μεταφορά Όλων στο Προσκήνιο",
|
||||
"Stop Speaking": "Τερματίστε να μιλάτε",
|
||||
"Start Speaking": "Ξεκινήστε να μιλάτε",
|
||||
"Speech": "Ομιλία",
|
||||
"Hide Others": "Απόκρυψη Άλλων",
|
||||
"Hide": "Απόκρυψη",
|
||||
"Services": "Υπηρεσίες",
|
||||
"About": "Σχετικά με",
|
||||
"Element Help": "Βοήθεια για το Element",
|
||||
"Help": "Βοήθεια",
|
||||
"Close": "Κλείσιμο",
|
||||
"Minimize": "Ελαχιστοποίηση",
|
||||
"Preferences": "Προτιμήσεις",
|
||||
"Zoom Out": "Σμίκρυνση",
|
||||
"Zoom In": "Μεγέθυνση",
|
||||
"Actual Size": "Πραγματικό Μέγεθος",
|
||||
"View": "Προβολή",
|
||||
"Select All": "Επιλογή Όλων",
|
||||
"Delete": "Διαγραφή",
|
||||
"Paste and Match Style": "Επικόλληση και Ταίριασμα Στυλ",
|
||||
"Paste": "Επικόλληση",
|
||||
"Copy": "Αντιγραφή",
|
||||
"Cut": "Αποκοπή",
|
||||
"Redo": "Επανάληψη",
|
||||
"Undo": "Αναίρεση",
|
||||
"Edit": "Επεξεργασία",
|
||||
"Quit": "Κλείσιμο",
|
||||
"Show/Hide": "Eμφάνιση/Απόκρυψη",
|
||||
"Cancel": "Ακύρωση",
|
||||
"Add to dictionary": "Προσθήκη στο λεξικό",
|
||||
"The image failed to save": "Η αποθήκευση της εικόνας απέτυχε",
|
||||
"Failed to save image": "Αποτυχία αποθήκευσης εικόνας",
|
||||
"Save image as...": "Αποθήκευση εικόνας ως...",
|
||||
"Copy link address": "Αντιγραφή διεύθυνσης συνδέσμου",
|
||||
"Copy image address": "Αντιγραφή διεύθυνσης εικόνας",
|
||||
"Copy image": "Αντιγραφή εικόνας",
|
||||
"Close %(brand)s": "Κλείσιμο %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Ακύρωση",
|
||||
"close": "Κλείσιμο",
|
||||
"close_brand": "Κλείσιμο %(brand)s",
|
||||
"copy": "Αντιγραφή",
|
||||
"cut": "Αποκοπή",
|
||||
"delete": "Διαγραφή",
|
||||
"edit": "Επεξεργασία",
|
||||
"minimise": "Ελαχιστοποίηση",
|
||||
"paste": "Επικόλληση",
|
||||
"paste_match_style": "Επικόλληση και Ταίριασμα Στυλ",
|
||||
"quit": "Κλείσιμο",
|
||||
"redo": "Επανάληψη",
|
||||
"select_all": "Επιλογή Όλων",
|
||||
"show_hide": "Eμφάνιση/Απόκρυψη",
|
||||
"undo": "Αναίρεση",
|
||||
"zoom_in": "Μεγέθυνση",
|
||||
"zoom_out": "Σμίκρυνση"
|
||||
},
|
||||
"common": {
|
||||
"about": "Σχετικά με",
|
||||
"brand_help": "%(brand)s Υποστήριξη",
|
||||
"help": "Βοήθεια",
|
||||
"preferences": "Προτιμήσεις"
|
||||
},
|
||||
"confirm_quit": "Είστε βέβαιος ότι θέλετε να εγκαταλείψετε;",
|
||||
"edit_menu": {
|
||||
"speech": "Ομιλία",
|
||||
"speech_start_speaking": "Ξεκινήστε να μιλάτε",
|
||||
"speech_stop_speaking": "Τερματίστε να μιλάτε"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Αρχείο"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Απόκρυψη",
|
||||
"hide_others": "Απόκρυψη Άλλων",
|
||||
"services": "Υπηρεσίες",
|
||||
"unhide": "Εμφάνιση"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Προσθήκη στο λεξικό",
|
||||
"copy_email": "Αντιγραφή διεύθυνσης email",
|
||||
"copy_image": "Αντιγραφή εικόνας",
|
||||
"copy_image_url": "Αντιγραφή διεύθυνσης εικόνας",
|
||||
"copy_link_url": "Αντιγραφή διεύθυνσης συνδέσμου",
|
||||
"save_image_as": "Αποθήκευση εικόνας ως...",
|
||||
"save_image_as_error_description": "Η αποθήκευση της εικόνας απέτυχε",
|
||||
"save_image_as_error_title": "Αποτυχία αποθήκευσης εικόνας"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Πραγματικό Μέγεθος",
|
||||
"toggle_developer_tools": "Άνοιγμα Εργαλείων Προγραμματιστή",
|
||||
"toggle_full_screen": "Εναλλαγή σε Πλήρη Οθόνη",
|
||||
"view": "Προβολή"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Μεταφορά Όλων στο Προσκήνιο",
|
||||
"label": "Παράθυρο",
|
||||
"zoom": "Ζουμ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Cancel": "Cancel",
|
||||
"Close %(brand)s": "Close %(brand)s",
|
||||
"Are you sure you want to quit?": "Are you sure you want to quit?",
|
||||
"Show/Hide": "Show/Hide",
|
||||
"Quit": "Quit",
|
||||
"Edit": "Edit",
|
||||
"Undo": "Undo",
|
||||
"Redo": "Redo",
|
||||
"Cut": "Cut",
|
||||
"Copy": "Copy",
|
||||
"Paste": "Paste",
|
||||
"Paste and Match Style": "Paste and Match Style",
|
||||
"Delete": "Delete",
|
||||
"Select All": "Select All",
|
||||
"View": "View",
|
||||
"Actual Size": "Actual Size",
|
||||
"Zoom In": "Zoom In",
|
||||
"Zoom Out": "Zoom Out",
|
||||
"Preferences": "Preferences",
|
||||
"Toggle Full Screen": "Toggle Full Screen",
|
||||
"Toggle Developer Tools": "Toggle Developer Tools",
|
||||
"Window": "Window",
|
||||
"Minimize": "Minimize",
|
||||
"Close": "Close",
|
||||
"Help": "Help",
|
||||
"Element Help": "Element Help",
|
||||
"About": "About",
|
||||
"Services": "Services",
|
||||
"Hide": "Hide",
|
||||
"Hide Others": "Hide Others",
|
||||
"Unhide": "Unhide",
|
||||
"Speech": "Speech",
|
||||
"Start Speaking": "Start Speaking",
|
||||
"Stop Speaking": "Stop Speaking",
|
||||
"Zoom": "Zoom",
|
||||
"Bring All to Front": "Bring All to Front",
|
||||
"File": "File",
|
||||
"Copy image": "Copy image",
|
||||
"Copy email address": "Copy email address",
|
||||
"Copy image address": "Copy image address",
|
||||
"Copy link address": "Copy link address",
|
||||
"Save image as...": "Save image as...",
|
||||
"Failed to save image": "Failed to save image",
|
||||
"The image failed to save": "The image failed to save",
|
||||
"Add to dictionary": "Add to dictionary"
|
||||
"action": {
|
||||
"cancel": "Cancel",
|
||||
"close": "Close",
|
||||
"close_brand": "Close %(brand)s",
|
||||
"copy": "Copy",
|
||||
"cut": "Cut",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"minimise": "Minimize",
|
||||
"paste": "Paste",
|
||||
"paste_match_style": "Paste and Match Style",
|
||||
"quit": "Quit",
|
||||
"redo": "Redo",
|
||||
"select_all": "Select All",
|
||||
"show_hide": "Show/Hide",
|
||||
"undo": "Undo",
|
||||
"zoom_in": "Zoom In",
|
||||
"zoom_out": "Zoom Out"
|
||||
},
|
||||
"common": {
|
||||
"about": "About",
|
||||
"brand_help": "%(brand)s Help",
|
||||
"help": "Help",
|
||||
"preferences": "Preferences"
|
||||
},
|
||||
"confirm_quit": "Are you sure you want to quit?",
|
||||
"edit_menu": {
|
||||
"speech": "Speech",
|
||||
"speech_start_speaking": "Start Speaking",
|
||||
"speech_stop_speaking": "Stop Speaking"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "File"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Hide",
|
||||
"hide_others": "Hide Others",
|
||||
"services": "Services",
|
||||
"unhide": "Unhide"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Add to dictionary",
|
||||
"copy_email": "Copy email address",
|
||||
"copy_image": "Copy image",
|
||||
"copy_image_url": "Copy image address",
|
||||
"copy_link_url": "Copy link address",
|
||||
"save_image_as": "Save image as...",
|
||||
"save_image_as_error_description": "The image failed to save",
|
||||
"save_image_as_error_title": "Failed to save image"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Actual Size",
|
||||
"toggle_developer_tools": "Toggle Developer Tools",
|
||||
"toggle_full_screen": "Toggle Full Screen",
|
||||
"view": "View"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Bring All to Front",
|
||||
"label": "Window",
|
||||
"zoom": "Zoom"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"Close": "Close",
|
||||
"Add to dictionary": "Add to dictionary",
|
||||
"The image failed to save": "The image failed to save",
|
||||
"Failed to save image": "Failed to save image",
|
||||
"Save image as...": "Save image as...",
|
||||
"Copy link address": "Copy link address",
|
||||
"Copy email address": "Copy email address",
|
||||
"Copy image": "Copy image",
|
||||
"File": "File",
|
||||
"Bring All to Front": "Bring All to Front",
|
||||
"Zoom": "Zoom",
|
||||
"Stop Speaking": "Stop Speaking",
|
||||
"Start Speaking": "Start Speaking",
|
||||
"Speech": "Speech",
|
||||
"Unhide": "Unhide",
|
||||
"Hide Others": "Hide Others",
|
||||
"Hide": "Hide",
|
||||
"Services": "Services",
|
||||
"About": "About",
|
||||
"Element Help": "Element Help",
|
||||
"Help": "Help",
|
||||
"Minimize": "Minimize",
|
||||
"Window": "Window",
|
||||
"Toggle Developer Tools": "Toggle Developer Tools",
|
||||
"Toggle Full Screen": "Toggle Full Screen",
|
||||
"Preferences": "Preferences",
|
||||
"Zoom Out": "Zoom Out",
|
||||
"Zoom In": "Zoom In",
|
||||
"Actual Size": "Actual Size",
|
||||
"View": "View",
|
||||
"Select All": "Select All",
|
||||
"Delete": "Delete",
|
||||
"Paste and Match Style": "Paste and Match Style",
|
||||
"Paste": "Paste",
|
||||
"Copy": "Copy",
|
||||
"Cut": "Cut",
|
||||
"Redo": "Redo",
|
||||
"Undo": "Undo",
|
||||
"Edit": "Edit",
|
||||
"Quit": "Quit",
|
||||
"Show/Hide": "Show/Hide",
|
||||
"Are you sure you want to quit?": "Are you sure you want to quit?",
|
||||
"Cancel": "Cancel"
|
||||
}
|
||||
@@ -1,34 +1,50 @@
|
||||
{
|
||||
"The image failed to save": "La bildo malsukcesis elŝutiĝi",
|
||||
"Failed to save image": "Malsukcesis elŝuti bildon",
|
||||
"Stop Speaking": "Ĉesi Paroli",
|
||||
"Start Speaking": "Ekparoli",
|
||||
"Unhide": "Malkaŝi",
|
||||
"Hide Others": "Kaŝi Aliajn",
|
||||
"Hide": "Kaŝi",
|
||||
"About": "Informilo",
|
||||
"Element Help": "Element-a Helpo",
|
||||
"Help": "Helpo",
|
||||
"Toggle Developer Tools": "Baskuligi Programistajn Ilojn",
|
||||
"Preferences": "Preferoj",
|
||||
"View": "Vidi",
|
||||
"Delete": "Forigi",
|
||||
"Redo": "Refari",
|
||||
"Undo": "Malfari",
|
||||
"Edit": "Redakti",
|
||||
"Show/Hide": "Montri/Kaŝi",
|
||||
"Cancel": "Nuligi",
|
||||
"Copy link address": "Kopiu ligilon de la bildo",
|
||||
"Copy image address": "Kopiu adreson de la bildo",
|
||||
"Copy email address": "Kopiu retadreson",
|
||||
"Copy image": "Kopiu bildon",
|
||||
"File": "Dosiero",
|
||||
"Minimize": "Minimumigi",
|
||||
"Window": "Fenestro",
|
||||
"Select All": "Elekti Ĉiujn",
|
||||
"Paste": "Enmeti",
|
||||
"Copy": "Kopiu",
|
||||
"Cut": "Tranĉi",
|
||||
"Are you sure you want to quit?": "Ĉu vi certas, ke vi volas ĉesi?",
|
||||
"Close %(brand)s": "Fermu %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Nuligi",
|
||||
"close": "Fermi",
|
||||
"close_brand": "Fermu %(brand)s",
|
||||
"copy": "Kopiu",
|
||||
"cut": "Tranĉi",
|
||||
"delete": "Forigi",
|
||||
"edit": "Redakti",
|
||||
"minimise": "Minimumigi",
|
||||
"paste": "Enmeti",
|
||||
"redo": "Refari",
|
||||
"select_all": "Elekti Ĉiujn",
|
||||
"show_hide": "Montri/Kaŝi",
|
||||
"undo": "Malfari"
|
||||
},
|
||||
"common": {
|
||||
"about": "Informilo",
|
||||
"help": "Helpo",
|
||||
"preferences": "Preferoj"
|
||||
},
|
||||
"confirm_quit": "Ĉu vi certas, ke vi volas ĉesi?",
|
||||
"edit_menu": {
|
||||
"speech_start_speaking": "Ekparoli",
|
||||
"speech_stop_speaking": "Ĉesi Paroli"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Dosiero"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Kaŝi",
|
||||
"hide_others": "Kaŝi Aliajn",
|
||||
"unhide": "Malkaŝi"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"copy_email": "Kopiu retadreson",
|
||||
"copy_image": "Kopiu bildon",
|
||||
"copy_image_url": "Kopiu adreson de la bildo",
|
||||
"copy_link_url": "Kopiu ligilon de la bildo",
|
||||
"save_image_as_error_description": "La bildo malsukcesis elŝutiĝi",
|
||||
"save_image_as_error_title": "Malsukcesis elŝuti bildon"
|
||||
},
|
||||
"view_menu": {
|
||||
"toggle_developer_tools": "Baskuligi Programistajn Ilojn",
|
||||
"view": "Vidi"
|
||||
},
|
||||
"window_menu": {
|
||||
"label": "Fenestro"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,62 @@
|
||||
{
|
||||
"Add to dictionary": "Añadir al diccionario",
|
||||
"The image failed to save": "La imagen no se ha podido guardar",
|
||||
"Failed to save image": "No se ha podido guardar la imagen",
|
||||
"Save image as...": "Guardar imagen como...",
|
||||
"Copy link address": "Copiar dirección de enlace",
|
||||
"Copy email address": "Copiar dirección de correo",
|
||||
"Copy image": "Copiar imagen",
|
||||
"File": "Archivo",
|
||||
"Bring All to Front": "Traer todas al primer plano",
|
||||
"Zoom": "Zoom",
|
||||
"Start Speaking": "Empezar a hablar",
|
||||
"Stop Speaking": "Parar de hablar",
|
||||
"Speech": "Dictado",
|
||||
"Unhide": "Mostrar",
|
||||
"Hide Others": "Ocultar otros",
|
||||
"Hide": "Ocultar",
|
||||
"Services": "Servicios",
|
||||
"About": "Acerca de",
|
||||
"Element Help": "Ayuda de Element",
|
||||
"Help": "Ayuda",
|
||||
"Close": "Cerrar",
|
||||
"Minimize": "Minimizar",
|
||||
"Window": "Ventana",
|
||||
"Toggle Developer Tools": "Abrir/cerrar herramientas de desarrollo",
|
||||
"Toggle Full Screen": "Entrar/salir de pantalla completa",
|
||||
"Preferences": "Preferencias",
|
||||
"Zoom Out": "Alejar",
|
||||
"Zoom In": "Acercar",
|
||||
"Actual Size": "Tamaño real",
|
||||
"View": "Ver",
|
||||
"Select All": "Seleccionar todo",
|
||||
"Delete": "Eliminar",
|
||||
"Paste and Match Style": "Pegar manteniendo estilo",
|
||||
"Paste": "Pegar",
|
||||
"Copy": "Copiar",
|
||||
"Cut": "Cortar",
|
||||
"Redo": "Rehacer",
|
||||
"Undo": "Deshacer",
|
||||
"Edit": "Editar",
|
||||
"Quit": "Salir",
|
||||
"Show/Hide": "Ver/Ocultar",
|
||||
"Are you sure you want to quit?": "¿Quieres salir?",
|
||||
"Cancel": "Cancelar",
|
||||
"Copy image address": "Copiar dirección de la imagen",
|
||||
"Close %(brand)s": "Cerrar %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Cancelar",
|
||||
"close": "Cerrar",
|
||||
"close_brand": "Cerrar %(brand)s",
|
||||
"copy": "Copiar",
|
||||
"cut": "Cortar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"minimise": "Minimizar",
|
||||
"paste": "Pegar",
|
||||
"paste_match_style": "Pegar manteniendo estilo",
|
||||
"quit": "Salir",
|
||||
"redo": "Rehacer",
|
||||
"select_all": "Seleccionar todo",
|
||||
"show_hide": "Ver/Ocultar",
|
||||
"undo": "Deshacer",
|
||||
"zoom_in": "Acercar",
|
||||
"zoom_out": "Alejar"
|
||||
},
|
||||
"common": {
|
||||
"about": "Acerca de",
|
||||
"brand_help": "Ayuda sobre %(brand)s",
|
||||
"help": "Ayuda",
|
||||
"preferences": "Preferencias"
|
||||
},
|
||||
"confirm_quit": "¿Quieres salir?",
|
||||
"edit_menu": {
|
||||
"speech": "Dictado",
|
||||
"speech_start_speaking": "Empezar a hablar",
|
||||
"speech_stop_speaking": "Parar de hablar"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Archivo"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Ocultar",
|
||||
"hide_others": "Ocultar otros",
|
||||
"services": "Servicios",
|
||||
"unhide": "Mostrar"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Añadir al diccionario",
|
||||
"copy_email": "Copiar dirección de correo",
|
||||
"copy_image": "Copiar imagen",
|
||||
"copy_image_url": "Copiar dirección de la imagen",
|
||||
"copy_link_url": "Copiar dirección de enlace",
|
||||
"save_image_as": "Guardar imagen como...",
|
||||
"save_image_as_error_description": "La imagen no se ha podido guardar",
|
||||
"save_image_as_error_title": "No se ha podido guardar la imagen"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Tamaño real",
|
||||
"toggle_developer_tools": "Abrir/cerrar herramientas de desarrollo",
|
||||
"toggle_full_screen": "Entrar/salir de pantalla completa",
|
||||
"view": "Ver"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Traer todas al primer plano",
|
||||
"label": "Ventana"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Element Help": "Rakenduse Element abiteave",
|
||||
"About": "Rakenduse teave",
|
||||
"The image failed to save": "Seda pilti ei õnnestunud salvestada",
|
||||
"Add to dictionary": "Lisa sõnastikku",
|
||||
"Failed to save image": "Pildi salvestamine ei õnnestunud",
|
||||
"Save image as...": "Salvesta pilt kui...",
|
||||
"Copy link address": "Kopeeri lingi aadress",
|
||||
"Copy email address": "Kopeeri e-posti aadress",
|
||||
"Copy image": "Kopeeri pilt",
|
||||
"File": "Fail",
|
||||
"Bring All to Front": "Too kõik esiplaanile",
|
||||
"Zoom": "Suumi",
|
||||
"Stop Speaking": "Lõpeta rääkimine",
|
||||
"Start Speaking": "Alusta rääkimist",
|
||||
"Speech": "Kõne",
|
||||
"Unhide": "Näita uuesti",
|
||||
"Hide Others": "Peida muud",
|
||||
"Hide": "Peida",
|
||||
"Services": "Teenused",
|
||||
"Help": "Abiteave",
|
||||
"Close": "Sulge",
|
||||
"Minimize": "Vähenda",
|
||||
"Window": "Aken",
|
||||
"Toggle Developer Tools": "Arendaja töövahendid sisse/välja",
|
||||
"Toggle Full Screen": "Täisekraanivaade sisse/välja",
|
||||
"Preferences": "Seadistused",
|
||||
"Zoom Out": "Vähenda",
|
||||
"Zoom In": "Suurenda",
|
||||
"Actual Size": "Näita tavasuuruses",
|
||||
"View": "Vaata",
|
||||
"Select All": "Vali kõik",
|
||||
"Delete": "Kustuta",
|
||||
"Paste and Match Style": "Aseta kasutades sama stiili",
|
||||
"Paste": "Aseta",
|
||||
"Copy": "Kopeeri",
|
||||
"Cut": "Lõika",
|
||||
"Redo": "Tee uuesti",
|
||||
"Undo": "Võta tagasi",
|
||||
"Edit": "Muuda",
|
||||
"Quit": "Välju",
|
||||
"Show/Hide": "Näita/peida",
|
||||
"Are you sure you want to quit?": "Kas sa kindlasti soovid rakendusest väljuda?",
|
||||
"Cancel": "Tühista",
|
||||
"Copy image address": "Kopeeri pildi aadress",
|
||||
"Close %(brand)s": "Sulge %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Tühista",
|
||||
"close": "Sulge",
|
||||
"close_brand": "Sulge %(brand)s",
|
||||
"copy": "Kopeeri",
|
||||
"cut": "Lõika",
|
||||
"delete": "Kustuta",
|
||||
"edit": "Muuda",
|
||||
"minimise": "Vähenda",
|
||||
"paste": "Aseta",
|
||||
"paste_match_style": "Aseta kasutades sama stiili",
|
||||
"quit": "Välju",
|
||||
"redo": "Tee uuesti",
|
||||
"select_all": "Vali kõik",
|
||||
"show_hide": "Näita/peida",
|
||||
"undo": "Võta tagasi",
|
||||
"zoom_in": "Suurenda",
|
||||
"zoom_out": "Vähenda"
|
||||
},
|
||||
"common": {
|
||||
"about": "Rakenduse teave",
|
||||
"brand_help": "%(brand)s abiteave",
|
||||
"help": "Abiteave",
|
||||
"preferences": "Seadistused"
|
||||
},
|
||||
"confirm_quit": "Kas sa kindlasti soovid rakendusest väljuda?",
|
||||
"edit_menu": {
|
||||
"speech": "Kõne",
|
||||
"speech_start_speaking": "Alusta rääkimist",
|
||||
"speech_stop_speaking": "Lõpeta rääkimine"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Fail"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Peida",
|
||||
"hide_others": "Peida muud",
|
||||
"services": "Teenused",
|
||||
"unhide": "Näita uuesti"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Lisa sõnastikku",
|
||||
"copy_email": "Kopeeri e-posti aadress",
|
||||
"copy_image": "Kopeeri pilt",
|
||||
"copy_image_url": "Kopeeri pildi aadress",
|
||||
"copy_link_url": "Kopeeri lingi aadress",
|
||||
"save_image_as": "Salvesta pilt kui...",
|
||||
"save_image_as_error_description": "Seda pilti ei õnnestunud salvestada",
|
||||
"save_image_as_error_title": "Pildi salvestamine ei õnnestunud"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Näita tavasuuruses",
|
||||
"toggle_developer_tools": "Arendaja töövahendid sisse/välja",
|
||||
"toggle_full_screen": "Täisekraanivaade sisse/välja",
|
||||
"view": "Vaata"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Too kõik esiplaanile",
|
||||
"label": "Aken",
|
||||
"zoom": "Suumi"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,62 @@
|
||||
{
|
||||
"Paste and Match Style": "جایگذاری و تطبیق سَبک",
|
||||
"Add to dictionary": "افزودن به لغتنامه",
|
||||
"The image failed to save": "تصویر ذخیره نشد",
|
||||
"Failed to save image": "ذخیرهٔ تصویر شکست خورد",
|
||||
"Save image as...": "ذخیرهٔ تصویر به عنوان...",
|
||||
"Copy link address": "رونوشت نشانی پیوند",
|
||||
"Copy image address": "رونوشت نشانی تصویر",
|
||||
"Copy email address": "رونوشت نشانی رایانامه",
|
||||
"Copy image": "رونوشت تصویر",
|
||||
"File": "پرونده",
|
||||
"Bring All to Front": "همه را به جلو بیاورید",
|
||||
"Zoom": "بزرگنمایی",
|
||||
"Speech": "صحبت کردن",
|
||||
"Stop Speaking": "صحبت کردن را تمام کنید",
|
||||
"Start Speaking": "صحبت کردن را شروع کنید",
|
||||
"Unhide": "آشکار",
|
||||
"Hide Others": "پنهان کردن دیگران",
|
||||
"Hide": "پنهان",
|
||||
"Services": "خدمات",
|
||||
"About": "درباره",
|
||||
"Element Help": "راهنمای المنت",
|
||||
"Help": "راهنما",
|
||||
"Close": "بستن",
|
||||
"Minimize": "کمینه",
|
||||
"Window": "پنجره",
|
||||
"Toggle Developer Tools": "تغییر وضعیت ابزارهای توسعهدهنده",
|
||||
"Toggle Full Screen": "تغییر وضعیت تمامصفحه",
|
||||
"Preferences": "ترجیحات",
|
||||
"Zoom Out": "بزرگنمایی به خارج",
|
||||
"Zoom In": "بزرگنمایی به داخل",
|
||||
"Actual Size": "اندازهٔ واقعی",
|
||||
"View": "دیدن",
|
||||
"Select All": "گزینش همه",
|
||||
"Delete": "حذف",
|
||||
"Paste": "جایگذاری",
|
||||
"Copy": "رونوشت",
|
||||
"Cut": "برش",
|
||||
"Redo": "انجام دوباره",
|
||||
"Undo": "بازگردانی",
|
||||
"Edit": "ویرایش",
|
||||
"Quit": "خروج",
|
||||
"Show/Hide": "نمایش/پنهان",
|
||||
"Are you sure you want to quit?": "آیا مطمئنید که میخواهید خارج شوید؟",
|
||||
"Cancel": "لغو",
|
||||
"Close %(brand)s": "بستن %(brand)s"
|
||||
"action": {
|
||||
"cancel": "لغو",
|
||||
"close": "بستن",
|
||||
"close_brand": "بستن %(brand)s",
|
||||
"copy": "رونوشت",
|
||||
"cut": "برش",
|
||||
"delete": "حذف",
|
||||
"edit": "ویرایش",
|
||||
"minimise": "کمینه",
|
||||
"paste": "جایگذاری",
|
||||
"paste_match_style": "جایگذاری و تطبیق سَبک",
|
||||
"quit": "خروج",
|
||||
"redo": "انجام دوباره",
|
||||
"select_all": "گزینش همه",
|
||||
"show_hide": "نمایش/پنهان",
|
||||
"undo": "بازگردانی",
|
||||
"zoom_in": "بزرگنمایی به داخل",
|
||||
"zoom_out": "بزرگنمایی به خارج"
|
||||
},
|
||||
"common": {
|
||||
"about": "درباره",
|
||||
"help": "راهنما",
|
||||
"preferences": "ترجیحات"
|
||||
},
|
||||
"confirm_quit": "آیا مطمئنید که میخواهید خارج شوید؟",
|
||||
"edit_menu": {
|
||||
"speech": "صحبت کردن",
|
||||
"speech_start_speaking": "صحبت کردن را شروع کنید",
|
||||
"speech_stop_speaking": "صحبت کردن را تمام کنید"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "پرونده"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "پنهان",
|
||||
"hide_others": "پنهان کردن دیگران",
|
||||
"services": "خدمات",
|
||||
"unhide": "آشکار"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "افزودن به لغتنامه",
|
||||
"copy_email": "رونوشت نشانی رایانامه",
|
||||
"copy_image": "رونوشت تصویر",
|
||||
"copy_image_url": "رونوشت نشانی تصویر",
|
||||
"copy_link_url": "رونوشت نشانی پیوند",
|
||||
"save_image_as": "ذخیرهٔ تصویر به عنوان...",
|
||||
"save_image_as_error_description": "تصویر ذخیره نشد",
|
||||
"save_image_as_error_title": "ذخیرهٔ تصویر شکست خورد"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "اندازهٔ واقعی",
|
||||
"toggle_developer_tools": "تغییر وضعیت ابزارهای توسعهدهنده",
|
||||
"toggle_full_screen": "تغییر وضعیت تمامصفحه",
|
||||
"view": "دیدن"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "همه را به جلو بیاورید",
|
||||
"label": "پنجره",
|
||||
"zoom": "بزرگنمایی"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,62 @@
|
||||
{
|
||||
"Paste": "Liitä",
|
||||
"Paste and Match Style": "Liitä ja sovita tyyli",
|
||||
"Add to dictionary": "Lisää sanakirjaan",
|
||||
"The image failed to save": "Kuvan tallennus epäonnistui",
|
||||
"Failed to save image": "Kuvan tallennus epäonnistui",
|
||||
"Save image as...": "Tallenna kuva nimellä...",
|
||||
"Copy link address": "Kopioi linkin osoite",
|
||||
"Copy email address": "Kopioi sähköpostiosoite",
|
||||
"Copy image": "Kopioi kuva",
|
||||
"File": "Tiedosto",
|
||||
"Bring All to Front": "Tuo kaikki eteen",
|
||||
"Zoom": "Suurennus",
|
||||
"Stop Speaking": "Lopeta puhe",
|
||||
"Start Speaking": "Aloita puhe",
|
||||
"Speech": "Puhe",
|
||||
"Unhide": "Palauta näkyviin",
|
||||
"Hide Others": "Piilota muut",
|
||||
"Hide": "Piilota",
|
||||
"Services": "Palvelut",
|
||||
"About": "Tietoja",
|
||||
"Element Help": "Elementin ohjeet",
|
||||
"Help": "Apua",
|
||||
"Close": "Sulje",
|
||||
"Minimize": "Pienennä",
|
||||
"Window": "Ikkuna",
|
||||
"Toggle Developer Tools": "Näytä tai piilota kehittäjätyökalut",
|
||||
"Toggle Full Screen": "Vaihda koko näytön tilaa",
|
||||
"Preferences": "Asetukset",
|
||||
"Zoom Out": "Pienennä",
|
||||
"Zoom In": "Suurenna",
|
||||
"Actual Size": "Alkuperäinen koko",
|
||||
"View": "Näytä",
|
||||
"Select All": "Valitse kaikki",
|
||||
"Delete": "Poista",
|
||||
"Copy": "Kopioi",
|
||||
"Cut": "Leikkaa",
|
||||
"Redo": "Tee uudestaan",
|
||||
"Undo": "Peru",
|
||||
"Edit": "Muokkaa",
|
||||
"Quit": "Lopeta",
|
||||
"Show/Hide": "Näytä/piilota",
|
||||
"Are you sure you want to quit?": "Haluatko varmasti poistua?",
|
||||
"Cancel": "Peruuta",
|
||||
"Copy image address": "Kopioi kuvan osoite",
|
||||
"Close %(brand)s": "Sulje %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Peruuta",
|
||||
"close": "Sulje",
|
||||
"close_brand": "Sulje %(brand)s",
|
||||
"copy": "Kopioi",
|
||||
"cut": "Leikkaa",
|
||||
"delete": "Poista",
|
||||
"edit": "Muokkaa",
|
||||
"minimise": "Pienennä",
|
||||
"paste": "Liitä",
|
||||
"paste_match_style": "Liitä ja sovita tyyli",
|
||||
"quit": "Lopeta",
|
||||
"redo": "Tee uudestaan",
|
||||
"select_all": "Valitse kaikki",
|
||||
"show_hide": "Näytä/piilota",
|
||||
"undo": "Peru",
|
||||
"zoom_in": "Suurenna",
|
||||
"zoom_out": "Pienennä"
|
||||
},
|
||||
"common": {
|
||||
"about": "Tietoja",
|
||||
"help": "Apua",
|
||||
"preferences": "Asetukset"
|
||||
},
|
||||
"confirm_quit": "Haluatko varmasti poistua?",
|
||||
"edit_menu": {
|
||||
"speech": "Puhe",
|
||||
"speech_start_speaking": "Aloita puhe",
|
||||
"speech_stop_speaking": "Lopeta puhe"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Tiedosto"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Piilota",
|
||||
"hide_others": "Piilota muut",
|
||||
"services": "Palvelut",
|
||||
"unhide": "Palauta näkyviin"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Lisää sanakirjaan",
|
||||
"copy_email": "Kopioi sähköpostiosoite",
|
||||
"copy_image": "Kopioi kuva",
|
||||
"copy_image_url": "Kopioi kuvan osoite",
|
||||
"copy_link_url": "Kopioi linkin osoite",
|
||||
"save_image_as": "Tallenna kuva nimellä...",
|
||||
"save_image_as_error_description": "Kuvan tallennus epäonnistui",
|
||||
"save_image_as_error_title": "Kuvan tallennus epäonnistui"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Alkuperäinen koko",
|
||||
"toggle_developer_tools": "Näytä tai piilota kehittäjätyökalut",
|
||||
"toggle_full_screen": "Vaihda koko näytön tilaa",
|
||||
"view": "Näytä"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Tuo kaikki eteen",
|
||||
"label": "Ikkuna",
|
||||
"zoom": "Suurennus"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,61 @@
|
||||
{
|
||||
"Undo": "Annuler",
|
||||
"Edit": "Modifier",
|
||||
"Quit": "Quitter",
|
||||
"Show/Hide": "Afficher/Masquer",
|
||||
"Are you sure you want to quit?": "Êtes-vous sûr de vouloir quitter ?",
|
||||
"Cancel": "Annuler",
|
||||
"Unhide": "Dé-masquer",
|
||||
"Hide Others": "Masquer les autres",
|
||||
"Hide": "Masquer",
|
||||
"Services": "Services",
|
||||
"About": "À propos",
|
||||
"Element Help": "Aide d’Element",
|
||||
"Help": "Aide",
|
||||
"Close": "Fermer",
|
||||
"Minimize": "Minimiser",
|
||||
"Window": "Fenêtre",
|
||||
"Toggle Developer Tools": "Basculer les outils de développement",
|
||||
"Toggle Full Screen": "Basculer le plein écran",
|
||||
"Preferences": "Préférences",
|
||||
"Zoom Out": "Dé-zoomer",
|
||||
"Zoom In": "Zoomer",
|
||||
"Actual Size": "Taille réelle",
|
||||
"View": "Afficher",
|
||||
"Select All": "Tout sélectionner",
|
||||
"Delete": "Supprimer",
|
||||
"Paste and Match Style": "Copier avec le style de destination",
|
||||
"Paste": "Coller",
|
||||
"Copy": "Copier",
|
||||
"Cut": "Couper",
|
||||
"Speech": "Dictée",
|
||||
"Add to dictionary": "Ajouter au dictionnaire",
|
||||
"The image failed to save": "L’image n’a pas pu être sauvegardée",
|
||||
"Failed to save image": "Échec de la sauvegarde de l’image",
|
||||
"Save image as...": "Enregistrer l’image sous…",
|
||||
"Copy link address": "Copier l’adresse du lien",
|
||||
"Copy email address": "Copier l’adresse e-mail",
|
||||
"Copy image": "Copier l’image",
|
||||
"File": "Fichier",
|
||||
"Bring All to Front": "Tout amener au premier plan",
|
||||
"Zoom": "Zoom",
|
||||
"Stop Speaking": "Arrêter la dictée",
|
||||
"Start Speaking": "Commencer la dictée",
|
||||
"Copy image address": "Copier l'adresse de l'image",
|
||||
"Redo": "Refaire",
|
||||
"Close %(brand)s": "Fermer %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Annuler",
|
||||
"close": "Fermer",
|
||||
"close_brand": "Fermer %(brand)s",
|
||||
"copy": "Copier",
|
||||
"cut": "Couper",
|
||||
"delete": "Supprimer",
|
||||
"edit": "Modifier",
|
||||
"minimise": "Minimiser",
|
||||
"paste": "Coller",
|
||||
"paste_match_style": "Copier avec le style de destination",
|
||||
"quit": "Quitter",
|
||||
"redo": "Refaire",
|
||||
"select_all": "Tout sélectionner",
|
||||
"show_hide": "Afficher/Masquer",
|
||||
"undo": "Annuler",
|
||||
"zoom_in": "Zoomer",
|
||||
"zoom_out": "Dé-zoomer"
|
||||
},
|
||||
"common": {
|
||||
"about": "À propos",
|
||||
"brand_help": "Aide de %(brand)s",
|
||||
"help": "Aide",
|
||||
"preferences": "Préférences"
|
||||
},
|
||||
"confirm_quit": "Êtes-vous sûr de vouloir quitter ?",
|
||||
"edit_menu": {
|
||||
"speech": "Dictée",
|
||||
"speech_start_speaking": "Commencer la dictée",
|
||||
"speech_stop_speaking": "Arrêter la dictée"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Fichier"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Masquer",
|
||||
"hide_others": "Masquer les autres",
|
||||
"unhide": "Dé-masquer"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Ajouter au dictionnaire",
|
||||
"copy_email": "Copier l’adresse e-mail",
|
||||
"copy_image": "Copier l’image",
|
||||
"copy_image_url": "Copier l'adresse de l'image",
|
||||
"copy_link_url": "Copier l’adresse du lien",
|
||||
"save_image_as": "Enregistrer l’image sous…",
|
||||
"save_image_as_error_description": "L’image n’a pas pu être sauvegardée",
|
||||
"save_image_as_error_title": "Échec de la sauvegarde de l’image"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Taille réelle",
|
||||
"toggle_developer_tools": "Basculer les outils de développement",
|
||||
"toggle_full_screen": "Basculer le plein écran",
|
||||
"view": "Afficher"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Tout amener au premier plan",
|
||||
"label": "Fenêtre"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"Copy image": "Ofbylding kopiearje",
|
||||
"Speech": "Spraak",
|
||||
"View": "Byld",
|
||||
"Paste and Match Style": "Plakke en lit stilen oerienkomme",
|
||||
"Add to dictionary": "Oan wurdlist tafoegje",
|
||||
"The image failed to save": "It is net slagge de ôfbylding te bewarjen",
|
||||
"Failed to save image": "Ofbylding bewarjen mislearre",
|
||||
"Save image as...": "Ofbylding bewarje as…",
|
||||
"Copy link address": "Keppeling kopiearje",
|
||||
"Copy email address": "E-mailadres kopiearje",
|
||||
"File": "Bestân",
|
||||
"Bring All to Front": "Alles nei foaren bringe",
|
||||
"Zoom": "Zoom",
|
||||
"Stop Speaking": "Stopje mei praten",
|
||||
"Start Speaking": "Begjin mei praten",
|
||||
"Unhide": "Wer toane",
|
||||
"Hide Others": "Oare ferbergje",
|
||||
"Hide": "Ferbergje",
|
||||
"Services": "Tsjinsten",
|
||||
"About": "Oer",
|
||||
"Element Help": "Element help",
|
||||
"Help": "Help",
|
||||
"Close": "Slute",
|
||||
"Minimize": "Minimalisearje",
|
||||
"Window": "Finster",
|
||||
"Toggle Developer Tools": "Untwikkelersark yn-/útskeakelje",
|
||||
"Toggle Full Screen": "Folslein skerm yn-/útskeakelje",
|
||||
"Preferences": "Foarkarren",
|
||||
"Zoom Out": "Utzoome",
|
||||
"Zoom In": "Ynzoome",
|
||||
"Actual Size": "Werklike grutte",
|
||||
"Select All": "Alles selektearje",
|
||||
"Delete": "Fuortsmite",
|
||||
"Paste": "Plakke",
|
||||
"Copy": "Kopiearje",
|
||||
"Cut": "Knippe",
|
||||
"Redo": "Opnij útfiere",
|
||||
"Undo": "Ungedien meitsje",
|
||||
"Edit": "Bewurkje",
|
||||
"Quit": "Ofslute",
|
||||
"Show/Hide": "Toane/Ferbergje",
|
||||
"Are you sure you want to quit?": "Binne jo der wis fan dat jo ôfslute wolle?",
|
||||
"Cancel": "Annulearje"
|
||||
}
|
||||
@@ -1,45 +1,60 @@
|
||||
{
|
||||
"Add to dictionary": "Engadir ao dicionario",
|
||||
"The image failed to save": "Non se gardou a imaxe",
|
||||
"Failed to save image": "Fallou o gardado da imaxe",
|
||||
"Save image as...": "Gardar imaxe como...",
|
||||
"Copy link address": "Copiar enderezo da ligazón",
|
||||
"Copy email address": "Copiar enderezo de email",
|
||||
"Copy image": "Copiar imaxe",
|
||||
"File": "Ficheiro",
|
||||
"Bring All to Front": "Traer todo á fronte",
|
||||
"Zoom": "Aumento",
|
||||
"Stop Speaking": "Deixa de falar",
|
||||
"Start Speaking": "Comeza a falar",
|
||||
"Speech": "Falar",
|
||||
"Unhide": "Desagochar",
|
||||
"Hide Others": "Agochar outras",
|
||||
"Hide": "Agochar",
|
||||
"Services": "Servizos",
|
||||
"About": "Acerca de",
|
||||
"Element Help": "Axuda de Element",
|
||||
"Help": "Axuda",
|
||||
"Close": "Pechar",
|
||||
"Minimize": "Minimizar",
|
||||
"Window": "Ventá",
|
||||
"Toggle Developer Tools": "Activar ferramentas de desenvolvemento",
|
||||
"Toggle Full Screen": "Activar pantalla completa",
|
||||
"Preferences": "Preferencias",
|
||||
"Zoom Out": "Diminuir",
|
||||
"Zoom In": "Aumentar",
|
||||
"Actual Size": "Tamaño real",
|
||||
"View": "Ver",
|
||||
"Select All": "Elexir todo",
|
||||
"Delete": "Eliminar",
|
||||
"Paste and Match Style": "Pegar e imitar estilo",
|
||||
"Paste": "Pegar",
|
||||
"Copy": "Copiar",
|
||||
"Cut": "Cortar",
|
||||
"Redo": "Refacer",
|
||||
"Undo": "Desfacer",
|
||||
"Edit": "Editar",
|
||||
"Quit": "Saír",
|
||||
"Show/Hide": "Mostrar/Agochar",
|
||||
"Are you sure you want to quit?": "Tes a certeza de que queres saír?",
|
||||
"Cancel": "Cancelar"
|
||||
"action": {
|
||||
"cancel": "Cancelar",
|
||||
"close": "Pechar",
|
||||
"copy": "Copiar",
|
||||
"cut": "Cortar",
|
||||
"delete": "Eliminar",
|
||||
"edit": "Editar",
|
||||
"minimise": "Minimizar",
|
||||
"paste": "Pegar",
|
||||
"paste_match_style": "Pegar e imitar estilo",
|
||||
"quit": "Saír",
|
||||
"redo": "Refacer",
|
||||
"select_all": "Elexir todo",
|
||||
"show_hide": "Mostrar/Agochar",
|
||||
"undo": "Desfacer",
|
||||
"zoom_in": "Aumentar",
|
||||
"zoom_out": "Diminuir"
|
||||
},
|
||||
"common": {
|
||||
"about": "Acerca de",
|
||||
"help": "Axuda",
|
||||
"preferences": "Preferencias"
|
||||
},
|
||||
"confirm_quit": "Tes a certeza de que queres saír?",
|
||||
"edit_menu": {
|
||||
"speech": "Falar",
|
||||
"speech_start_speaking": "Comeza a falar",
|
||||
"speech_stop_speaking": "Deixa de falar"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Ficheiro"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Agochar",
|
||||
"hide_others": "Agochar outras",
|
||||
"services": "Servizos",
|
||||
"unhide": "Desagochar"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Engadir ao dicionario",
|
||||
"copy_email": "Copiar enderezo de email",
|
||||
"copy_image": "Copiar imaxe",
|
||||
"copy_link_url": "Copiar enderezo da ligazón",
|
||||
"save_image_as": "Gardar imaxe como...",
|
||||
"save_image_as_error_description": "Non se gardou a imaxe",
|
||||
"save_image_as_error_title": "Fallou o gardado da imaxe"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Tamaño real",
|
||||
"toggle_developer_tools": "Activar ferramentas de desenvolvemento",
|
||||
"toggle_full_screen": "Activar pantalla completa",
|
||||
"view": "Ver"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Traer todo á fronte",
|
||||
"label": "Ventá",
|
||||
"zoom": "Aumento"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,46 +1,61 @@
|
||||
{
|
||||
"Actual Size": "גודל ממשי",
|
||||
"Add to dictionary": "הוסף למילון",
|
||||
"The image failed to save": "שמירת התמונה נכשלה",
|
||||
"Failed to save image": "נכשל בשמירת התמונה",
|
||||
"Save image as...": "שמור תמונה בשם...",
|
||||
"Copy link address": "העתק קישור",
|
||||
"Copy email address": "העתק כתובת אימייל",
|
||||
"Copy image": "העתק תמונה",
|
||||
"File": "קובץ",
|
||||
"Bring All to Front": "הבא הכל לחזית",
|
||||
"Zoom": "גודל תצוגה",
|
||||
"Stop Speaking": "הפסק לדבר",
|
||||
"Start Speaking": "התחל לדבר",
|
||||
"Speech": "דיבור",
|
||||
"Unhide": "בטל הסתרה",
|
||||
"Hide Others": "הסתר אחרים",
|
||||
"Hide": "הסתר",
|
||||
"Services": "שרותים",
|
||||
"About": "אודות",
|
||||
"Element Help": "עזרה של אלמנט",
|
||||
"Help": "עזרה",
|
||||
"Close": "סגור",
|
||||
"Minimize": "מזער",
|
||||
"Window": "חלון",
|
||||
"Toggle Developer Tools": "הפעל כלי מפתחים",
|
||||
"Toggle Full Screen": "הפעל מצב מסך מלא",
|
||||
"Preferences": "העדפות",
|
||||
"Zoom Out": "התרחק",
|
||||
"Zoom In": "התקרב",
|
||||
"View": "צפה",
|
||||
"Select All": "בחר הכל",
|
||||
"Delete": "מחק",
|
||||
"Paste": "הדבק",
|
||||
"Copy": "העתק",
|
||||
"Cut": "גזור",
|
||||
"Undo": "בטל ביצוע",
|
||||
"Redo": "בצע שוב",
|
||||
"Edit": "עריכה",
|
||||
"Quit": "יציאה",
|
||||
"Show/Hide": "הצג\\הסתר",
|
||||
"Are you sure you want to quit?": "האם אתה בטוח שברצונך לצאת?",
|
||||
"Cancel": "ביטול",
|
||||
"Paste and Match Style": "הדבק והתאם סגנון",
|
||||
"Copy image address": "העתקת כתובת התמונה"
|
||||
"action": {
|
||||
"cancel": "ביטול",
|
||||
"close": "סגור",
|
||||
"copy": "העתק",
|
||||
"cut": "גזור",
|
||||
"delete": "מחק",
|
||||
"edit": "עריכה",
|
||||
"minimise": "מזער",
|
||||
"paste": "הדבק",
|
||||
"paste_match_style": "הדבק והתאם סגנון",
|
||||
"quit": "יציאה",
|
||||
"redo": "בצע שוב",
|
||||
"select_all": "בחר הכל",
|
||||
"show_hide": "הצג\\הסתר",
|
||||
"undo": "בטל ביצוע",
|
||||
"zoom_in": "התקרב",
|
||||
"zoom_out": "התרחק"
|
||||
},
|
||||
"common": {
|
||||
"about": "אודות",
|
||||
"help": "עזרה",
|
||||
"preferences": "העדפות"
|
||||
},
|
||||
"confirm_quit": "האם אתה בטוח שברצונך לצאת?",
|
||||
"edit_menu": {
|
||||
"speech": "דיבור",
|
||||
"speech_start_speaking": "התחל לדבר",
|
||||
"speech_stop_speaking": "הפסק לדבר"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "קובץ"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "הסתר",
|
||||
"hide_others": "הסתר אחרים",
|
||||
"services": "שרותים",
|
||||
"unhide": "בטל הסתרה"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "הוסף למילון",
|
||||
"copy_email": "העתק כתובת אימייל",
|
||||
"copy_image": "העתק תמונה",
|
||||
"copy_image_url": "העתקת כתובת התמונה",
|
||||
"copy_link_url": "העתק קישור",
|
||||
"save_image_as": "שמור תמונה בשם...",
|
||||
"save_image_as_error_description": "שמירת התמונה נכשלה",
|
||||
"save_image_as_error_title": "נכשל בשמירת התמונה"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "גודל ממשי",
|
||||
"toggle_developer_tools": "הפעל כלי מפתחים",
|
||||
"toggle_full_screen": "הפעל מצב מסך מלא",
|
||||
"view": "צפה"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "הבא הכל לחזית",
|
||||
"label": "חלון",
|
||||
"zoom": "גודל תצוגה"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"Paste": "Zalijepiti",
|
||||
"Copy": "Kopirati",
|
||||
"Cut": "Izrezati",
|
||||
"Redo": "Preurediti",
|
||||
"Undo": "Poništi",
|
||||
"Edit": "Uredi",
|
||||
"Quit": "Prestati",
|
||||
"Show/Hide": "Pokaži/sakrij",
|
||||
"Are you sure you want to quit?": "Jesi li siguran da želiš odustati?",
|
||||
"Cancel": "Otkazati"
|
||||
}
|
||||
@@ -1,47 +1,62 @@
|
||||
{
|
||||
"Add to dictionary": "Hozzáadás a szótárhoz",
|
||||
"The image failed to save": "A kép mentése sikertelen",
|
||||
"Failed to save image": "Kép mentése sikertelen",
|
||||
"Save image as...": "Kép mentése másként...",
|
||||
"Copy link address": "Hivatkozás másolása",
|
||||
"Copy email address": "E-mail cím másolása",
|
||||
"Copy image": "Kép másolása",
|
||||
"File": "Fájl",
|
||||
"Bring All to Front": "Mindent előtérbe hoz",
|
||||
"Zoom": "Nagyítás",
|
||||
"Stop Speaking": "Fejezze be a beszédet",
|
||||
"Start Speaking": "Kezdjen beszélni",
|
||||
"Speech": "Beszéd",
|
||||
"Unhide": "Felfed",
|
||||
"Hide Others": "Minden mást eltakar",
|
||||
"Hide": "Eltakar",
|
||||
"Services": "Szolgáltatás",
|
||||
"About": "Névjegy",
|
||||
"Element Help": "Element segítség",
|
||||
"Help": "Segítség",
|
||||
"Close": "Bezár",
|
||||
"Minimize": "Lecsukás",
|
||||
"Window": "Ablak",
|
||||
"Toggle Developer Tools": "Fejlesztői eszközök",
|
||||
"Toggle Full Screen": "Teljes képernyő",
|
||||
"Preferences": "Beállítások",
|
||||
"Zoom Out": "Kicsinyít",
|
||||
"Zoom In": "Nagyít",
|
||||
"Actual Size": "Jelenlegi méret",
|
||||
"View": "Nézet",
|
||||
"Select All": "Összes kijelölése",
|
||||
"Delete": "Töröl",
|
||||
"Paste and Match Style": "Beillesztés formázással",
|
||||
"Paste": "Beillesztés",
|
||||
"Copy": "Másol",
|
||||
"Cut": "Kivág",
|
||||
"Redo": "Újra",
|
||||
"Undo": "Visszavon",
|
||||
"Edit": "Szerkeszt",
|
||||
"Quit": "Kilép",
|
||||
"Show/Hide": "Megmutat/Elrejt",
|
||||
"Are you sure you want to quit?": "Biztos, hogy kilép?",
|
||||
"Cancel": "Mégsem",
|
||||
"Copy image address": "Kép címének másolása",
|
||||
"Close %(brand)s": "%(brand)s bezárása"
|
||||
"action": {
|
||||
"cancel": "Mégsem",
|
||||
"close": "Bezár",
|
||||
"close_brand": "%(brand)s bezárása",
|
||||
"copy": "Másol",
|
||||
"cut": "Kivág",
|
||||
"delete": "Töröl",
|
||||
"edit": "Szerkeszt",
|
||||
"minimise": "Lecsukás",
|
||||
"paste": "Beillesztés",
|
||||
"paste_match_style": "Beillesztés formázással",
|
||||
"quit": "Kilép",
|
||||
"redo": "Újra",
|
||||
"select_all": "Összes kijelölése",
|
||||
"show_hide": "Megmutat/Elrejt",
|
||||
"undo": "Visszavon",
|
||||
"zoom_in": "Nagyít",
|
||||
"zoom_out": "Kicsinyít"
|
||||
},
|
||||
"common": {
|
||||
"about": "Névjegy",
|
||||
"help": "Segítség",
|
||||
"preferences": "Beállítások"
|
||||
},
|
||||
"confirm_quit": "Biztos, hogy kilép?",
|
||||
"edit_menu": {
|
||||
"speech": "Beszéd",
|
||||
"speech_start_speaking": "Kezdjen beszélni",
|
||||
"speech_stop_speaking": "Fejezze be a beszédet"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Fájl"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Eltakar",
|
||||
"hide_others": "Minden mást eltakar",
|
||||
"services": "Szolgáltatás",
|
||||
"unhide": "Felfed"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Hozzáadás a szótárhoz",
|
||||
"copy_email": "E-mail cím másolása",
|
||||
"copy_image": "Kép másolása",
|
||||
"copy_image_url": "Kép címének másolása",
|
||||
"copy_link_url": "Hivatkozás másolása",
|
||||
"save_image_as": "Kép mentése másként...",
|
||||
"save_image_as_error_description": "A kép mentése sikertelen",
|
||||
"save_image_as_error_title": "Kép mentése sikertelen"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Jelenlegi méret",
|
||||
"toggle_developer_tools": "Fejlesztői eszközök",
|
||||
"toggle_full_screen": "Teljes képernyő",
|
||||
"view": "Nézet"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Mindent előtérbe hoz",
|
||||
"label": "Ablak",
|
||||
"zoom": "Nagyítás"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,59 @@
|
||||
{
|
||||
"Add to dictionary": "Tambah ke kamus",
|
||||
"The image failed to save": "Gambar gagal disimpan",
|
||||
"Failed to save image": "Gagal menyimpan gambar",
|
||||
"Save image as...": "Simpan gambar sebagai...",
|
||||
"Copy link address": "Salin alamat tautan",
|
||||
"Copy email address": "Salin surel",
|
||||
"Copy image": "Salin gambar",
|
||||
"File": "File",
|
||||
"Hide Others": "Sembunyikan yang Lain",
|
||||
"Bring All to Front": "Bawa Semua ke Depan",
|
||||
"Zoom": "Perbesar",
|
||||
"Stop Speaking": "Berhenti Berbicara",
|
||||
"Start Speaking": "Mulai Berbicara",
|
||||
"Speech": "Dikte",
|
||||
"Unhide": "Tampilkan",
|
||||
"Hide": "Sembunyikan",
|
||||
"Services": "Layanan",
|
||||
"About": "Tentang",
|
||||
"Element Help": "Bantuan Element",
|
||||
"Help": "Bantuan",
|
||||
"Close": "Tutup",
|
||||
"Minimize": "Minimalkan",
|
||||
"Window": "Jendela",
|
||||
"Toggle Developer Tools": "Beralih Alat Pengembang",
|
||||
"Toggle Full Screen": "Beralih Layar Penuh",
|
||||
"Preferences": "Pengaturan",
|
||||
"Zoom Out": "Perkecil",
|
||||
"Zoom In": "Perbesar",
|
||||
"Cut": "Potong",
|
||||
"Redo": "Ulangi",
|
||||
"Undo": "Urungkan",
|
||||
"Actual Size": "Ukuran Sebenarnya",
|
||||
"View": "Tampilan",
|
||||
"Select All": "Pilih Semua",
|
||||
"Delete": "Hapus",
|
||||
"Paste and Match Style": "Tempel dan Cocokkan Gaya",
|
||||
"Paste": "Tempel",
|
||||
"Copy": "Salin",
|
||||
"Edit": "Edit",
|
||||
"Quit": "Keluar",
|
||||
"Show/Hide": "Tampilkan/Sembunyikan",
|
||||
"Are you sure you want to quit?": "Apakah Anda yakin ingin keluar?",
|
||||
"Cancel": "Batal",
|
||||
"Copy image address": "Salin alamat gambar",
|
||||
"Close %(brand)s": "Tutuo %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Batal",
|
||||
"close": "Tutup",
|
||||
"close_brand": "Tutuo %(brand)s",
|
||||
"copy": "Salin",
|
||||
"cut": "Potong",
|
||||
"delete": "Hapus",
|
||||
"minimise": "Minimalkan",
|
||||
"paste": "Tempel",
|
||||
"paste_match_style": "Tempel dan Cocokkan Gaya",
|
||||
"quit": "Keluar",
|
||||
"redo": "Ulangi",
|
||||
"select_all": "Pilih Semua",
|
||||
"show_hide": "Tampilkan/Sembunyikan",
|
||||
"undo": "Urungkan",
|
||||
"zoom_in": "Perbesar",
|
||||
"zoom_out": "Perkecil"
|
||||
},
|
||||
"common": {
|
||||
"about": "Tentang",
|
||||
"brand_help": "Bantuan %(brand)s",
|
||||
"help": "Bantuan",
|
||||
"preferences": "Pengaturan"
|
||||
},
|
||||
"confirm_quit": "Apakah Anda yakin ingin keluar?",
|
||||
"edit_menu": {
|
||||
"speech": "Dikte",
|
||||
"speech_start_speaking": "Mulai Berbicara",
|
||||
"speech_stop_speaking": "Berhenti Berbicara"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Sembunyikan",
|
||||
"hide_others": "Sembunyikan yang Lain",
|
||||
"services": "Layanan",
|
||||
"unhide": "Tampilkan"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Tambah ke kamus",
|
||||
"copy_email": "Salin surel",
|
||||
"copy_image": "Salin gambar",
|
||||
"copy_image_url": "Salin alamat gambar",
|
||||
"copy_link_url": "Salin alamat tautan",
|
||||
"save_image_as": "Simpan gambar sebagai...",
|
||||
"save_image_as_error_description": "Gambar gagal disimpan",
|
||||
"save_image_as_error_title": "Gagal menyimpan gambar"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Ukuran Sebenarnya",
|
||||
"toggle_developer_tools": "Beralih Alat Pengembang",
|
||||
"toggle_full_screen": "Beralih Layar Penuh",
|
||||
"view": "Tampilan"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Bawa Semua ke Depan",
|
||||
"label": "Jendela",
|
||||
"zoom": "Perbesar"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,62 @@
|
||||
{
|
||||
"Add to dictionary": "Bæta við orðasafn",
|
||||
"The image failed to save": "Myndina var ekki hægt að vista",
|
||||
"Failed to save image": "Mistókst að vista mynd",
|
||||
"Save image as...": "Vista mynd sem...",
|
||||
"Copy link address": "Afrita vistfang tengils",
|
||||
"Copy email address": "Afrita tölvupóstfang",
|
||||
"Copy image": "Afrita mynd",
|
||||
"File": "Skrá",
|
||||
"Bring All to Front": "Setja allt fremst",
|
||||
"Zoom": "Stærð",
|
||||
"Stop Speaking": "Hætta tali",
|
||||
"Start Speaking": "Byrja tal",
|
||||
"Speech": "Tal",
|
||||
"Unhide": "Birta",
|
||||
"Hide Others": "Fela aðra",
|
||||
"Hide": "Fela",
|
||||
"Services": "Þjónustur",
|
||||
"About": "Um hugbúnaðinn",
|
||||
"Element Help": "Hjálp við Element",
|
||||
"Help": "Hjálp",
|
||||
"Close": "Loka",
|
||||
"Minimize": "Lágmarka",
|
||||
"Window": "Gluggi",
|
||||
"Toggle Developer Tools": "Víxla forritunarverkfærum af/á",
|
||||
"Toggle Full Screen": "Víxla fullum skjá af/á",
|
||||
"Preferences": "Stillingar",
|
||||
"Zoom Out": "Minnka",
|
||||
"Zoom In": "Stækka",
|
||||
"Actual Size": "Raunstærð",
|
||||
"View": "Skoða",
|
||||
"Select All": "Velja allt",
|
||||
"Delete": "Eyða",
|
||||
"Paste and Match Style": "Líma og samsvara stíl",
|
||||
"Paste": "Líma",
|
||||
"Copy": "Afrita",
|
||||
"Cut": "Klippa",
|
||||
"Redo": "Endurgera",
|
||||
"Undo": "Afturkalla",
|
||||
"Edit": "Breyta",
|
||||
"Quit": "Hætta",
|
||||
"Show/Hide": "Sýna/Fela",
|
||||
"Are you sure you want to quit?": "Ertu viss um að þú viljir hætta?",
|
||||
"Cancel": "Hætta við",
|
||||
"Copy image address": "Afrita slóð myndar",
|
||||
"Close %(brand)s": "Loka %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Hætta við",
|
||||
"close": "Loka",
|
||||
"close_brand": "Loka %(brand)s",
|
||||
"copy": "Afrita",
|
||||
"cut": "Klippa",
|
||||
"delete": "Eyða",
|
||||
"edit": "Breyta",
|
||||
"minimise": "Lágmarka",
|
||||
"paste": "Líma",
|
||||
"paste_match_style": "Líma og samsvara stíl",
|
||||
"quit": "Hætta",
|
||||
"redo": "Endurgera",
|
||||
"select_all": "Velja allt",
|
||||
"show_hide": "Sýna/Fela",
|
||||
"undo": "Afturkalla",
|
||||
"zoom_in": "Stækka",
|
||||
"zoom_out": "Minnka"
|
||||
},
|
||||
"common": {
|
||||
"about": "Um hugbúnaðinn",
|
||||
"help": "Hjálp",
|
||||
"preferences": "Stillingar"
|
||||
},
|
||||
"confirm_quit": "Ertu viss um að þú viljir hætta?",
|
||||
"edit_menu": {
|
||||
"speech": "Tal",
|
||||
"speech_start_speaking": "Byrja tal",
|
||||
"speech_stop_speaking": "Hætta tali"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Skrá"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Fela",
|
||||
"hide_others": "Fela aðra",
|
||||
"services": "Þjónustur",
|
||||
"unhide": "Birta"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Bæta við orðasafn",
|
||||
"copy_email": "Afrita tölvupóstfang",
|
||||
"copy_image": "Afrita mynd",
|
||||
"copy_image_url": "Afrita slóð myndar",
|
||||
"copy_link_url": "Afrita vistfang tengils",
|
||||
"save_image_as": "Vista mynd sem...",
|
||||
"save_image_as_error_description": "Myndina var ekki hægt að vista",
|
||||
"save_image_as_error_title": "Mistókst að vista mynd"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Raunstærð",
|
||||
"toggle_developer_tools": "Víxla forritunarverkfærum af/á",
|
||||
"toggle_full_screen": "Víxla fullum skjá af/á",
|
||||
"view": "Skoða"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Setja allt fremst",
|
||||
"label": "Gluggi",
|
||||
"zoom": "Stærð"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,59 @@
|
||||
{
|
||||
"Add to dictionary": "Aggiungi al dizionario",
|
||||
"The image failed to save": "Non è stato possibile salvare l'immagine",
|
||||
"Failed to save image": "Salvataggio immagine fallito",
|
||||
"Save image as...": "Salva immagine come...",
|
||||
"Copy link address": "Copia indirizzo collegamento",
|
||||
"Copy email address": "Copia indirizzo email",
|
||||
"Copy image": "Copia immagine",
|
||||
"File": "File",
|
||||
"Bring All to Front": "Porta tutto in primo piano",
|
||||
"Zoom": "Zoom",
|
||||
"Start Speaking": "Inizia a parlare",
|
||||
"Unhide": "Mostra",
|
||||
"Hide Others": "Nascondi gli altri",
|
||||
"Hide": "Nascondi",
|
||||
"Services": "Servizi",
|
||||
"About": "Informazioni su",
|
||||
"Element Help": "Aiuto di Element",
|
||||
"Help": "Aiuto",
|
||||
"Close": "Chiudi",
|
||||
"Minimize": "Riduci",
|
||||
"Window": "Finestra",
|
||||
"Toggle Developer Tools": "Attiva strumenti per sviluppatori",
|
||||
"Toggle Full Screen": "Passa a schermo intero",
|
||||
"Preferences": "Preferenze",
|
||||
"Zoom Out": "Rimpicciolisci",
|
||||
"Zoom In": "Ingrandisci",
|
||||
"Actual Size": "Dimensione effettiva",
|
||||
"View": "Vedi",
|
||||
"Select All": "Seleziona tutto",
|
||||
"Delete": "Elimina",
|
||||
"Paste and Match Style": "Incolla e adegua lo stile",
|
||||
"Paste": "Incolla",
|
||||
"Copy": "Copia",
|
||||
"Cut": "Taglia",
|
||||
"Redo": "Ripeti",
|
||||
"Undo": "Annulla",
|
||||
"Edit": "Modifica",
|
||||
"Quit": "Esci",
|
||||
"Show/Hide": "Mostra/Nascondi",
|
||||
"Are you sure you want to quit?": "Vuoi veramente uscire?",
|
||||
"Cancel": "Annulla",
|
||||
"Stop Speaking": "Smetti di parlare",
|
||||
"Speech": "Dettatura",
|
||||
"Copy image address": "Copia indirizzo immagine",
|
||||
"Close %(brand)s": "Chiudi %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Annulla",
|
||||
"close": "Chiudi",
|
||||
"close_brand": "Chiudi %(brand)s",
|
||||
"copy": "Copia",
|
||||
"cut": "Taglia",
|
||||
"delete": "Elimina",
|
||||
"edit": "Modifica",
|
||||
"minimise": "Riduci",
|
||||
"paste": "Incolla",
|
||||
"paste_match_style": "Incolla e adegua lo stile",
|
||||
"quit": "Esci",
|
||||
"redo": "Ripeti",
|
||||
"select_all": "Seleziona tutto",
|
||||
"show_hide": "Mostra/Nascondi",
|
||||
"undo": "Annulla",
|
||||
"zoom_in": "Ingrandisci",
|
||||
"zoom_out": "Rimpicciolisci"
|
||||
},
|
||||
"common": {
|
||||
"about": "Informazioni su",
|
||||
"brand_help": "Aiuto per %(brand)s",
|
||||
"help": "Aiuto",
|
||||
"preferences": "Preferenze"
|
||||
},
|
||||
"confirm_quit": "Vuoi veramente uscire?",
|
||||
"edit_menu": {
|
||||
"speech": "Dettatura",
|
||||
"speech_start_speaking": "Inizia a parlare",
|
||||
"speech_stop_speaking": "Smetti di parlare"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Nascondi",
|
||||
"hide_others": "Nascondi gli altri",
|
||||
"services": "Servizi",
|
||||
"unhide": "Mostra"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Aggiungi al dizionario",
|
||||
"copy_email": "Copia indirizzo email",
|
||||
"copy_image": "Copia immagine",
|
||||
"copy_image_url": "Copia indirizzo immagine",
|
||||
"copy_link_url": "Copia indirizzo collegamento",
|
||||
"save_image_as": "Salva immagine come...",
|
||||
"save_image_as_error_description": "Non è stato possibile salvare l'immagine",
|
||||
"save_image_as_error_title": "Salvataggio immagine fallito"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Dimensione effettiva",
|
||||
"toggle_developer_tools": "Attiva strumenti per sviluppatori",
|
||||
"toggle_full_screen": "Passa a schermo intero",
|
||||
"view": "Vedi"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Porta tutto in primo piano",
|
||||
"label": "Finestra"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,62 @@
|
||||
{
|
||||
"Close %(brand)s": "%(brand)sを閉じる",
|
||||
"Bring All to Front": "全てを前面に表示",
|
||||
"The image failed to save": "画像の保存に失敗しました",
|
||||
"Unhide": "再表示",
|
||||
"Actual Size": "等倍",
|
||||
"Paste and Match Style": "スタイルを保持して貼り付け",
|
||||
"Add to dictionary": "辞書に追加",
|
||||
"Failed to save image": "画像の保存に失敗",
|
||||
"Save image as...": "画像を保存",
|
||||
"Speech": "スピーチ",
|
||||
"Stop Speaking": "録音を停止",
|
||||
"Start Speaking": "録音を開始",
|
||||
"Toggle Developer Tools": "開発者ツールを切り替える",
|
||||
"Toggle Full Screen": "全画面表示を切り替える",
|
||||
"Redo": "やり直す",
|
||||
"Undo": "取り消す",
|
||||
"Minimize": "最小化",
|
||||
"Window": "ウィンドウ",
|
||||
"Preferences": "環境設定",
|
||||
"Zoom Out": "縮小",
|
||||
"Zoom In": "拡大",
|
||||
"Copy link address": "リンクのアドレスをコピー",
|
||||
"Copy image address": "画像のアドレスをコピー",
|
||||
"Copy email address": "メールアドレスをコピー",
|
||||
"Copy image": "画像をコピー",
|
||||
"File": "ファイル",
|
||||
"Zoom": "ズーム",
|
||||
"Hide Others": "他を非表示",
|
||||
"Hide": "非表示",
|
||||
"Services": "サービス",
|
||||
"About": "概要",
|
||||
"Element Help": "Element ヘルプ",
|
||||
"Help": "ヘルプ",
|
||||
"Close": "閉じる",
|
||||
"View": "表示",
|
||||
"Select All": "全て選択",
|
||||
"Delete": "削除",
|
||||
"Paste": "貼り付け",
|
||||
"Copy": "コピー",
|
||||
"Cut": "切り取り",
|
||||
"Edit": "編集",
|
||||
"Quit": "終了",
|
||||
"Are you sure you want to quit?": "終了してよろしいですか?",
|
||||
"Show/Hide": "表示/非表示",
|
||||
"Cancel": "キャンセル"
|
||||
"action": {
|
||||
"cancel": "キャンセル",
|
||||
"close": "閉じる",
|
||||
"close_brand": "%(brand)sを閉じる",
|
||||
"copy": "コピー",
|
||||
"cut": "切り取り",
|
||||
"delete": "削除",
|
||||
"edit": "編集",
|
||||
"minimise": "最小化",
|
||||
"paste": "貼り付け",
|
||||
"paste_match_style": "スタイルを保持して貼り付け",
|
||||
"quit": "終了",
|
||||
"redo": "やり直す",
|
||||
"select_all": "全て選択",
|
||||
"show_hide": "表示/非表示",
|
||||
"undo": "取り消す",
|
||||
"zoom_in": "拡大",
|
||||
"zoom_out": "縮小"
|
||||
},
|
||||
"common": {
|
||||
"about": "概要",
|
||||
"help": "ヘルプ",
|
||||
"preferences": "環境設定"
|
||||
},
|
||||
"confirm_quit": "終了してよろしいですか?",
|
||||
"edit_menu": {
|
||||
"speech": "スピーチ",
|
||||
"speech_start_speaking": "録音を開始",
|
||||
"speech_stop_speaking": "録音を停止"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "ファイル"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "非表示",
|
||||
"hide_others": "他を非表示",
|
||||
"services": "サービス",
|
||||
"unhide": "再表示"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "辞書に追加",
|
||||
"copy_email": "メールアドレスをコピー",
|
||||
"copy_image": "画像をコピー",
|
||||
"copy_image_url": "画像のアドレスをコピー",
|
||||
"copy_link_url": "リンクのアドレスをコピー",
|
||||
"save_image_as": "画像を保存",
|
||||
"save_image_as_error_description": "画像の保存に失敗しました",
|
||||
"save_image_as_error_title": "画像の保存に失敗"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "等倍",
|
||||
"toggle_developer_tools": "開発者ツールを切り替える",
|
||||
"toggle_full_screen": "全画面表示を切り替える",
|
||||
"view": "表示"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "全てを前面に表示",
|
||||
"label": "ウィンドウ",
|
||||
"zoom": "ズーム"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"File": "파일",
|
||||
"Copy email address": "이메일 주소 복사",
|
||||
"Paste": "붙여넣기",
|
||||
"Hide": "숨기기",
|
||||
"Preferences": "환경설정",
|
||||
"Undo": "실행 취소",
|
||||
"Edit": "수정",
|
||||
"Quit": "종료",
|
||||
"Delete": "삭제",
|
||||
"Cancel": "취소"
|
||||
}
|
||||
@@ -1,46 +1,61 @@
|
||||
{
|
||||
"Toggle Developer Tools": "ສະຫຼັບໄປໜ້າເຄື່ອງມືພັດທະນາ",
|
||||
"Add to dictionary": "ເພີ່ມເຂົ້າໄປວັດຈະນານຸກົມ",
|
||||
"The image failed to save": "ຮູບພາບບໍ່ສາມາດບັດທຶກໄດ້",
|
||||
"Failed to save image": "ການບັນທຶກຮູບພາບບໍ່ສຳເລັດ",
|
||||
"Save image as...": "ບັນທຶກຮູບພາບເປັນ...",
|
||||
"Copy link address": "ສຳເນົາທີ່ຢູ່ລິ້ງ",
|
||||
"Copy image address": "ສຳເນົາທີ່ຢູ່ຮູບພາບ",
|
||||
"Copy email address": "ສຳເນົາທີ່ຢູ່ເມວ",
|
||||
"Copy image": "ສຳເນົາຮູບ",
|
||||
"File": "ຟາຍ",
|
||||
"Bring All to Front": "ເອົາທັງໝົດມາທາງໜ້າ",
|
||||
"Zoom": "ຊູມ",
|
||||
"Stop Speaking": "ເຊົາສົນທະນາ",
|
||||
"Start Speaking": "ເລີ່ມສົນທະນາ",
|
||||
"Speech": "ຄຳກ່າວ",
|
||||
"Unhide": "ໂຊຄືນ",
|
||||
"Hide Others": "ເຊື່ອງອັນອື່ນ",
|
||||
"Hide": "ເຊື່ອງ",
|
||||
"Services": "ບໍລິການ",
|
||||
"About": "ກ່ຽວກັບ",
|
||||
"Element Help": "ລະບົບຊ່ວຍເຫຼືອ",
|
||||
"Help": "ຊ່ວຍເຫຼືອ",
|
||||
"Close": "ປິດ",
|
||||
"Minimize": "ຫຍໍ້ນ້ອຍ",
|
||||
"Window": "ປ່ອງຢ້ຽມ",
|
||||
"Toggle Full Screen": "ສະຫຼັບເຕັມຈໍ",
|
||||
"Preferences": "ການຕັ້ງຄ່າ",
|
||||
"Zoom Out": "ຊູມອອກ",
|
||||
"Zoom In": "ຊູມເຂົ້າ",
|
||||
"Actual Size": "ຂະໜາດຕົວຈິງ",
|
||||
"View": "ເບິ່ງ",
|
||||
"Select All": "ເລືອກທັງໝົດ",
|
||||
"Delete": "ລຶບ",
|
||||
"Paste and Match Style": "ກັອບມາໃສ່ ແລະໃຫ້ສະຕາຍຕົງກັນ",
|
||||
"Paste": "ກັອບມາໃສ່",
|
||||
"Copy": "ສຳເນົາ",
|
||||
"Cut": "ຕັດ",
|
||||
"Redo": "ລຶ້ມຄືນ",
|
||||
"Undo": "ຮື້ຄືນ",
|
||||
"Edit": "ແກ້ໄຂ",
|
||||
"Quit": "ຍົກເລີກ",
|
||||
"Show/Hide": "ສະແດງ/ເຊື່ອງ",
|
||||
"Are you sure you want to quit?": "ທ່ານຕ້ອງການປິດແທ້ບໍ່?",
|
||||
"Cancel": "ຍົກເລີກ"
|
||||
"action": {
|
||||
"cancel": "ຍົກເລີກ",
|
||||
"close": "ປິດ",
|
||||
"copy": "ສຳເນົາ",
|
||||
"cut": "ຕັດ",
|
||||
"delete": "ລຶບ",
|
||||
"edit": "ແກ້ໄຂ",
|
||||
"minimise": "ຫຍໍ້ນ້ອຍ",
|
||||
"paste": "ກັອບມາໃສ່",
|
||||
"paste_match_style": "ກັອບມາໃສ່ ແລະໃຫ້ສະຕາຍຕົງກັນ",
|
||||
"quit": "ຍົກເລີກ",
|
||||
"redo": "ລຶ້ມຄືນ",
|
||||
"select_all": "ເລືອກທັງໝົດ",
|
||||
"show_hide": "ສະແດງ/ເຊື່ອງ",
|
||||
"undo": "ຮື້ຄືນ",
|
||||
"zoom_in": "ຊູມເຂົ້າ",
|
||||
"zoom_out": "ຊູມອອກ"
|
||||
},
|
||||
"common": {
|
||||
"about": "ກ່ຽວກັບ",
|
||||
"help": "ຊ່ວຍເຫຼືອ",
|
||||
"preferences": "ການຕັ້ງຄ່າ"
|
||||
},
|
||||
"confirm_quit": "ທ່ານຕ້ອງການປິດແທ້ບໍ່?",
|
||||
"edit_menu": {
|
||||
"speech": "ຄຳກ່າວ",
|
||||
"speech_start_speaking": "ເລີ່ມສົນທະນາ",
|
||||
"speech_stop_speaking": "ເຊົາສົນທະນາ"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "ຟາຍ"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "ເຊື່ອງ",
|
||||
"hide_others": "ເຊື່ອງອັນອື່ນ",
|
||||
"services": "ບໍລິການ",
|
||||
"unhide": "ໂຊຄືນ"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "ເພີ່ມເຂົ້າໄປວັດຈະນານຸກົມ",
|
||||
"copy_email": "ສຳເນົາທີ່ຢູ່ເມວ",
|
||||
"copy_image": "ສຳເນົາຮູບ",
|
||||
"copy_image_url": "ສຳເນົາທີ່ຢູ່ຮູບພາບ",
|
||||
"copy_link_url": "ສຳເນົາທີ່ຢູ່ລິ້ງ",
|
||||
"save_image_as": "ບັນທຶກຮູບພາບເປັນ...",
|
||||
"save_image_as_error_description": "ຮູບພາບບໍ່ສາມາດບັດທຶກໄດ້",
|
||||
"save_image_as_error_title": "ການບັນທຶກຮູບພາບບໍ່ສຳເລັດ"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "ຂະໜາດຕົວຈິງ",
|
||||
"toggle_developer_tools": "ສະຫຼັບໄປໜ້າເຄື່ອງມືພັດທະນາ",
|
||||
"toggle_full_screen": "ສະຫຼັບເຕັມຈໍ",
|
||||
"view": "ເບິ່ງ"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "ເອົາທັງໝົດມາທາງໜ້າ",
|
||||
"label": "ປ່ອງຢ້ຽມ",
|
||||
"zoom": "ຊູມ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,62 @@
|
||||
{
|
||||
"Failed to save image": "Nepavyko įrašyti paveikslėlio",
|
||||
"Save image as...": "Įrašyti paveikslėlį kaip...",
|
||||
"Copy image address": "Kopijuoti paveikslėlio adresą",
|
||||
"Copy image": "Kopijuoti paveikslėlį",
|
||||
"The image failed to save": "Paveikslėlio nepavyko išsaugoti",
|
||||
"Bring All to Front": "Viską iškelti į priekį",
|
||||
"Speech": "Kalba",
|
||||
"Actual Size": "Tikrasis dydis",
|
||||
"Toggle Developer Tools": "Perjungti kūrėjo įrankius",
|
||||
"Toggle Full Screen": "Perjungti viso ekrano režimą",
|
||||
"Paste and Match Style": "Įklijuoti ir suderinti stilių",
|
||||
"Redo": "Sugrąžinti veiksmą",
|
||||
"Undo": "Atšaukti veiksmą",
|
||||
"Select All": "Pasirinkti visus",
|
||||
"Delete": "Ištrinti",
|
||||
"Paste": "Įklijuoti",
|
||||
"Copy": "Kopijuoti",
|
||||
"Cut": "Iškirpti",
|
||||
"Add to dictionary": "Pridėti prie žodyno",
|
||||
"Copy link address": "Kopijuoti nuorodos adresą",
|
||||
"Copy email address": "Kopijuoti el. pašto adresą",
|
||||
"File": "Failas",
|
||||
"Zoom": "Priartinti",
|
||||
"Stop Speaking": "Nustoti kalbėti",
|
||||
"Start Speaking": "Pradėti kalbėti",
|
||||
"Unhide": "Nebeslėpti",
|
||||
"Hide Others": "Slėpti kitus",
|
||||
"Hide": "Slėpti",
|
||||
"Services": "Paslaugos",
|
||||
"About": "Apie",
|
||||
"Element Help": "Element Pagalba",
|
||||
"Help": "Pagalba",
|
||||
"Close": "Uždaryti",
|
||||
"Minimize": "Sumažinti",
|
||||
"Window": "Langas",
|
||||
"Preferences": "Nuostatos",
|
||||
"Zoom Out": "Atitolinti",
|
||||
"Zoom In": "Priartinti",
|
||||
"View": "Peržiūrėti",
|
||||
"Edit": "Redaguoti",
|
||||
"Quit": "Išeiti",
|
||||
"Show/Hide": "Rodyti/Slėpti",
|
||||
"Are you sure you want to quit?": "Ar tikrai norite išeiti?",
|
||||
"Cancel": "Atšaukti",
|
||||
"Close %(brand)s": "Uždaryti %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Atšaukti",
|
||||
"close": "Uždaryti",
|
||||
"close_brand": "Uždaryti %(brand)s",
|
||||
"copy": "Kopijuoti",
|
||||
"cut": "Iškirpti",
|
||||
"delete": "Ištrinti",
|
||||
"edit": "Redaguoti",
|
||||
"minimise": "Sumažinti",
|
||||
"paste": "Įklijuoti",
|
||||
"paste_match_style": "Įklijuoti ir suderinti stilių",
|
||||
"quit": "Išeiti",
|
||||
"redo": "Sugrąžinti veiksmą",
|
||||
"select_all": "Pasirinkti visus",
|
||||
"show_hide": "Rodyti/Slėpti",
|
||||
"undo": "Atšaukti veiksmą",
|
||||
"zoom_in": "Priartinti",
|
||||
"zoom_out": "Atitolinti"
|
||||
},
|
||||
"common": {
|
||||
"about": "Apie",
|
||||
"help": "Pagalba",
|
||||
"preferences": "Nuostatos"
|
||||
},
|
||||
"confirm_quit": "Ar tikrai norite išeiti?",
|
||||
"edit_menu": {
|
||||
"speech": "Kalba",
|
||||
"speech_start_speaking": "Pradėti kalbėti",
|
||||
"speech_stop_speaking": "Nustoti kalbėti"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Failas"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Slėpti",
|
||||
"hide_others": "Slėpti kitus",
|
||||
"services": "Paslaugos",
|
||||
"unhide": "Nebeslėpti"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Pridėti prie žodyno",
|
||||
"copy_email": "Kopijuoti el. pašto adresą",
|
||||
"copy_image": "Kopijuoti paveikslėlį",
|
||||
"copy_image_url": "Kopijuoti paveikslėlio adresą",
|
||||
"copy_link_url": "Kopijuoti nuorodos adresą",
|
||||
"save_image_as": "Įrašyti paveikslėlį kaip...",
|
||||
"save_image_as_error_description": "Paveikslėlio nepavyko išsaugoti",
|
||||
"save_image_as_error_title": "Nepavyko įrašyti paveikslėlio"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Tikrasis dydis",
|
||||
"toggle_developer_tools": "Perjungti kūrėjo įrankius",
|
||||
"toggle_full_screen": "Perjungti viso ekrano režimą",
|
||||
"view": "Peržiūrėti"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Viską iškelti į priekį",
|
||||
"label": "Langas",
|
||||
"zoom": "Priartinti"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"Start Speaking": "Runājiet...",
|
||||
"Add to dictionary": "Pievienot vārdnīcai",
|
||||
"The image failed to save": "Attēlu neizdevās saglabāt",
|
||||
"Failed to save image": "Neizdevās saglabāt attēlu",
|
||||
"Save image as...": "Saglabāt attēlu kā...",
|
||||
"Copy link address": "Kopēt saiti",
|
||||
"Copy email address": "Kopēt e-pasta adresi",
|
||||
"Copy image": "Kopēt attēlu",
|
||||
"File": "Fails",
|
||||
"Bring All to Front": "Iznest visu priekšplānā",
|
||||
"Zoom": "Mērogošana",
|
||||
"Stop Speaking": "Beidziet runāt",
|
||||
"Speech": "Runa",
|
||||
"Unhide": "Rādīt",
|
||||
"Hide Others": "Slēpt citus",
|
||||
"Hide": "Slēpt",
|
||||
"Services": "Pakalpojumi",
|
||||
"About": "Par programmu",
|
||||
"Element Help": "Element palīdzība",
|
||||
"Help": "Palīdzība",
|
||||
"Close": "Aizvērt",
|
||||
"Minimize": "Minimizēt",
|
||||
"Window": "Logs",
|
||||
"Toggle Developer Tools": "Pārslēgt uz Izstrādātāja rīkiem",
|
||||
"Toggle Full Screen": "Pārslēgt uz pilnekrānu",
|
||||
"Preferences": "Iestatījumi",
|
||||
"Zoom Out": "Samazināt",
|
||||
"Zoom In": "Palielināt",
|
||||
"Actual Size": "Faktiskais izmērs",
|
||||
"View": "Skats",
|
||||
"Select All": "Atzīmēt visus",
|
||||
"Delete": "Dzēst",
|
||||
"Paste and Match Style": "Ievietot, saglabājot stilu",
|
||||
"Paste": "Ievietot",
|
||||
"Copy": "Kopēt",
|
||||
"Cut": "Izgriezt",
|
||||
"Redo": "Atatgriezt/atatsaukt/atatdarīt",
|
||||
"Undo": "Atgriezt/atsaukt/atdarīt",
|
||||
"Edit": "Rediģēt",
|
||||
"Quit": "Iziet",
|
||||
"Show/Hide": "Rādīt/nerādīt",
|
||||
"Are you sure you want to quit?": "Tiešām vēlaties iziet?",
|
||||
"Cancel": "Atcelt",
|
||||
"Copy image address": "Kopēt attēla adresi",
|
||||
"Close %(brand)s": "Aizvērt %(brand)s"
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"Toggle Developer Tools": "Veksle Utvikleralternativer",
|
||||
"Add to dictionary": "Legg til i ordbok",
|
||||
"The image failed to save": "Bildet kunne ikke lagres",
|
||||
"Failed to save image": "Kunne ikke lagre bildet",
|
||||
"Save image as...": "Lagre bildet som...",
|
||||
"Copy email address": "Kopier e-postadressen",
|
||||
"Copy image": "Kopier bildet",
|
||||
"File": "Fil",
|
||||
"Stop Speaking": "Slutt å snakke",
|
||||
"Start Speaking": "Begynn å snakke",
|
||||
"Speech": "Tale",
|
||||
"Hide": "Skjul",
|
||||
"About": "Om",
|
||||
"Element Help": "Element Hjelp",
|
||||
"Help": "Hjelp",
|
||||
"Close": "Lukk",
|
||||
"Minimize": "Minimere",
|
||||
"Window": "Vindu",
|
||||
"Zoom Out": "Zoom ut",
|
||||
"Zoom In": "Zoom inn",
|
||||
"Actual Size": "Faktisk størrelse",
|
||||
"View": "Se",
|
||||
"Select All": "Velg alle",
|
||||
"Delete": "Slett",
|
||||
"Paste": "Lim inn",
|
||||
"Copy": "Kopier",
|
||||
"Undo": "Angre",
|
||||
"Edit": "Rediger",
|
||||
"Quit": "Avslutt",
|
||||
"Show/Hide": "Vis/Skjul",
|
||||
"Are you sure you want to quit?": "Er du sikker på at du vil slutte?",
|
||||
"Cancel": "Avbryt",
|
||||
"Services": "Tjenester",
|
||||
"Hide Others": "Skjul Andre",
|
||||
"Bring All to Front": "Flytt Alt Frem",
|
||||
"Toggle Full Screen": "Veksle Fullskjerm"
|
||||
}
|
||||
@@ -1,47 +1,60 @@
|
||||
{
|
||||
"Add to dictionary": "Aan woordenboek toevoegen",
|
||||
"The image failed to save": "De afbeelding opslaan is mislukt",
|
||||
"Failed to save image": "Afbeelding opslaan is mislukt",
|
||||
"Save image as...": "Afbeelding opslaan als...",
|
||||
"Copy link address": "Link kopiëren",
|
||||
"Copy email address": "E-mailadres kopiëren",
|
||||
"Copy image": "Afbeelding kopiëren",
|
||||
"File": "Bestand",
|
||||
"Bring All to Front": "Alles naar voren brengen",
|
||||
"Zoom": "Zoom",
|
||||
"Stop Speaking": "Stop met praten",
|
||||
"Start Speaking": "Begin met praten",
|
||||
"Speech": "Spraak",
|
||||
"Unhide": "Weer laten zien",
|
||||
"Hide Others": "Anderen verbergen",
|
||||
"Hide": "Verbergen",
|
||||
"Services": "Diensten",
|
||||
"About": "Over",
|
||||
"Element Help": "Element-hulp",
|
||||
"Help": "Help",
|
||||
"Close": "Sluiten",
|
||||
"Minimize": "Minimaliseren",
|
||||
"Window": "Venster",
|
||||
"Toggle Developer Tools": "Developer Tools wisselen",
|
||||
"Toggle Full Screen": "Volledig scherm wisselen",
|
||||
"Preferences": "Voorkeuren",
|
||||
"Zoom Out": "Uitzoomen",
|
||||
"Zoom In": "Inzoomen",
|
||||
"Actual Size": "Werkelijke grootte",
|
||||
"View": "Bekijken",
|
||||
"Select All": "Alles selecteren",
|
||||
"Delete": "Verwijderen",
|
||||
"Paste and Match Style": "Plakken zonder stijl",
|
||||
"Paste": "Plakken",
|
||||
"Copy": "Kopiëren",
|
||||
"Cut": "Knippen",
|
||||
"Redo": "Opnieuw doen",
|
||||
"Undo": "Ongedaan maken",
|
||||
"Edit": "Bewerken",
|
||||
"Quit": "Sluiten",
|
||||
"Show/Hide": "Tonen/Verbergen",
|
||||
"Are you sure you want to quit?": "Weet u zeker dat u wilt stoppen?",
|
||||
"Cancel": "Annuleren",
|
||||
"Copy image address": "Kopieer afbeeldingsadres",
|
||||
"Close %(brand)s": "Sluit %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Annuleren",
|
||||
"close": "Sluiten",
|
||||
"close_brand": "Sluit %(brand)s",
|
||||
"copy": "Kopiëren",
|
||||
"cut": "Knippen",
|
||||
"delete": "Verwijderen",
|
||||
"edit": "Bewerken",
|
||||
"minimise": "Minimaliseren",
|
||||
"paste": "Plakken",
|
||||
"paste_match_style": "Plakken zonder stijl",
|
||||
"quit": "Sluiten",
|
||||
"redo": "Opnieuw doen",
|
||||
"select_all": "Alles selecteren",
|
||||
"show_hide": "Tonen/Verbergen",
|
||||
"undo": "Ongedaan maken",
|
||||
"zoom_in": "Inzoomen",
|
||||
"zoom_out": "Uitzoomen"
|
||||
},
|
||||
"common": {
|
||||
"about": "Over",
|
||||
"preferences": "Voorkeuren"
|
||||
},
|
||||
"confirm_quit": "Weet u zeker dat u wilt stoppen?",
|
||||
"edit_menu": {
|
||||
"speech": "Spraak",
|
||||
"speech_start_speaking": "Begin met praten",
|
||||
"speech_stop_speaking": "Stop met praten"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Bestand"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Verbergen",
|
||||
"hide_others": "Anderen verbergen",
|
||||
"services": "Diensten",
|
||||
"unhide": "Weer laten zien"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Aan woordenboek toevoegen",
|
||||
"copy_email": "E-mailadres kopiëren",
|
||||
"copy_image": "Afbeelding kopiëren",
|
||||
"copy_image_url": "Kopieer afbeeldingsadres",
|
||||
"copy_link_url": "Link kopiëren",
|
||||
"save_image_as": "Afbeelding opslaan als...",
|
||||
"save_image_as_error_description": "De afbeelding opslaan is mislukt",
|
||||
"save_image_as_error_title": "Afbeelding opslaan is mislukt"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Werkelijke grootte",
|
||||
"toggle_developer_tools": "Developer Tools wisselen",
|
||||
"toggle_full_screen": "Volledig scherm wisselen",
|
||||
"view": "Bekijken"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Alles naar voren brengen",
|
||||
"label": "Venster"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"The image failed to save": "Biletet vart ikkje lagra",
|
||||
"Paste and Match Style": "Lim inn og tilpass stil",
|
||||
"Redo": "Gjer om",
|
||||
"Undo": "Angre",
|
||||
"Are you sure you want to quit?": "Er du sikker på at du vil avslutta?",
|
||||
"Add to dictionary": "Legg til i ordlista",
|
||||
"Failed to save image": "Klarte ikkje å lagra biletet",
|
||||
"Save image as...": "Lagre bilete som…",
|
||||
"Copy link address": "Kopier lenkjeadresse",
|
||||
"Copy email address": "Kopier e-postadresse",
|
||||
"Copy image": "Kopier bilete",
|
||||
"File": "Fil",
|
||||
"Bring All to Front": "Plasser lengst fram",
|
||||
"Zoom": "Zoom",
|
||||
"Stop Speaking": "Stopp snakka",
|
||||
"Start Speaking": "Byrja snakka",
|
||||
"Speech": "Tale",
|
||||
"Unhide": "Ikkje gøym",
|
||||
"Hide Others": "Gøym andre",
|
||||
"Hide": "Gøym",
|
||||
"Services": "Tenester",
|
||||
"About": "Om",
|
||||
"Element Help": "Hjelp med Element",
|
||||
"Help": "Hjelp",
|
||||
"Close": "Lat att",
|
||||
"Minimize": "Minimer",
|
||||
"Window": "Vindauga",
|
||||
"Toggle Developer Tools": "Developer Tools av/på",
|
||||
"Toggle Full Screen": "Fullskjerm av/på",
|
||||
"Preferences": "Innstillingar",
|
||||
"Zoom Out": "Zoom ut",
|
||||
"Zoom In": "Zoom inn",
|
||||
"Actual Size": "Faktisk storleik",
|
||||
"View": "Vis",
|
||||
"Select All": "Marker alt",
|
||||
"Delete": "Slett",
|
||||
"Paste": "Lim inn",
|
||||
"Copy": "Lim inn",
|
||||
"Cut": "Klipp ut",
|
||||
"Edit": "Rediger",
|
||||
"Quit": "Avslutt",
|
||||
"Show/Hide": "Vis/Gøym",
|
||||
"Cancel": "Avbryt"
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Bring All to Front": "Wyciągnij wszystko do przodu",
|
||||
"Add to dictionary": "Dodaj do słownika",
|
||||
"The image failed to save": "Obraz nie został zapisany",
|
||||
"Failed to save image": "Nie udało się zapisać obrazu",
|
||||
"Save image as...": "Zapisz obraz jako...",
|
||||
"Copy link address": "Kopiuj adres odnośnika",
|
||||
"Copy email address": "Kopiuj adres e-mail",
|
||||
"Copy image": "Kopiuj obraz",
|
||||
"File": "Plik",
|
||||
"Zoom": "Powiększenie",
|
||||
"Stop Speaking": "Przestań mówić",
|
||||
"Start Speaking": "Zacznij mówić",
|
||||
"Speech": "Mowa",
|
||||
"Unhide": "Odkryj",
|
||||
"Hide Others": "Ukryj inne",
|
||||
"Hide": "Ukryj",
|
||||
"Services": "Usługi",
|
||||
"About": "O nas",
|
||||
"Element Help": "Pomoc Element",
|
||||
"Help": "Pomoc",
|
||||
"Close": "Zamknij",
|
||||
"Minimize": "Minimalizuj",
|
||||
"Window": "Okno",
|
||||
"Toggle Developer Tools": "Przełącz na narzędzia deweloperskie",
|
||||
"Toggle Full Screen": "Przełącz na pełny ekran",
|
||||
"Preferences": "Preferencje",
|
||||
"Zoom Out": "Pomniejsz",
|
||||
"Zoom In": "Powiększ",
|
||||
"Actual Size": "Rozmiar rzeczywisty",
|
||||
"View": "Pokaż",
|
||||
"Select All": "Zaznacz wszystko",
|
||||
"Delete": "Usuń",
|
||||
"Paste and Match Style": "Wklej i dopasuj styl",
|
||||
"Paste": "Wklej",
|
||||
"Copy": "Kopiuj",
|
||||
"Cut": "Wytnij",
|
||||
"Redo": "Ponów",
|
||||
"Undo": "Cofnij",
|
||||
"Edit": "Edytuj",
|
||||
"Quit": "Zamknij",
|
||||
"Show/Hide": "Pokaż/Ukryj",
|
||||
"Are you sure you want to quit?": "Czy na pewno chcesz zamknąć?",
|
||||
"Cancel": "Anuluj",
|
||||
"Copy image address": "Kopiuj adres obrazu",
|
||||
"Close %(brand)s": "Zamknij %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Anuluj",
|
||||
"close": "Zamknij",
|
||||
"close_brand": "Zamknij %(brand)s",
|
||||
"copy": "Kopiuj",
|
||||
"cut": "Wytnij",
|
||||
"delete": "Usuń",
|
||||
"edit": "Edytuj",
|
||||
"minimise": "Minimalizuj",
|
||||
"paste": "Wklej",
|
||||
"paste_match_style": "Wklej i dopasuj styl",
|
||||
"quit": "Zamknij",
|
||||
"redo": "Ponów",
|
||||
"select_all": "Zaznacz wszystko",
|
||||
"show_hide": "Pokaż/Ukryj",
|
||||
"undo": "Cofnij",
|
||||
"zoom_in": "Powiększ",
|
||||
"zoom_out": "Pomniejsz"
|
||||
},
|
||||
"common": {
|
||||
"about": "Informacje",
|
||||
"brand_help": "Pomoc %(brand)s",
|
||||
"help": "Pomoc",
|
||||
"preferences": "Preferencje"
|
||||
},
|
||||
"confirm_quit": "Czy na pewno chcesz zamknąć?",
|
||||
"edit_menu": {
|
||||
"speech": "Mowa",
|
||||
"speech_start_speaking": "Zacznij mówić",
|
||||
"speech_stop_speaking": "Przestań mówić"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Plik"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Ukryj",
|
||||
"hide_others": "Ukryj inne",
|
||||
"services": "Usługi",
|
||||
"unhide": "Odkryj"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Dodaj do słownika",
|
||||
"copy_email": "Kopiuj adres e-mail",
|
||||
"copy_image": "Kopiuj obraz",
|
||||
"copy_image_url": "Kopiuj adres obrazu",
|
||||
"copy_link_url": "Kopiuj adres odnośnika",
|
||||
"save_image_as": "Zapisz obraz jako...",
|
||||
"save_image_as_error_description": "Obraz nie został zapisany",
|
||||
"save_image_as_error_title": "Nie udało się zapisać obrazu"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Rozmiar rzeczywisty",
|
||||
"toggle_developer_tools": "Przełącz na narzędzia deweloperskie",
|
||||
"toggle_full_screen": "Przełącz na pełny ekran",
|
||||
"view": "Wyświetl"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Wyciągnij wszystko do przodu",
|
||||
"label": "Okno",
|
||||
"zoom": "Powiększenie"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,61 @@
|
||||
{
|
||||
"Add to dictionary": "Adicionar a dicionário",
|
||||
"The image failed to save": "A imagem falhou para salvar",
|
||||
"Failed to save image": "Falha para salvar imagem",
|
||||
"Save image as...": "Salvar imagem como...",
|
||||
"Copy link address": "Copiar endereço de link",
|
||||
"Copy email address": "Copiar endereço de email",
|
||||
"Copy image": "Copiar imagem",
|
||||
"File": "Arquivo",
|
||||
"Zoom": "Zoom",
|
||||
"Stop Speaking": "Parar de Falar",
|
||||
"Start Speaking": "Começar a Falar",
|
||||
"Speech": "Fala",
|
||||
"Unhide": "Desesconder",
|
||||
"Hide": "Esconder",
|
||||
"Services": "Serviços",
|
||||
"About": "Sobre",
|
||||
"Element Help": "Ajuda de Element",
|
||||
"Help": "Ajuda",
|
||||
"Close": "Fechar",
|
||||
"Minimize": "Minimizar",
|
||||
"Window": "Janela",
|
||||
"Toggle Developer Tools": "Ativar/Desativar Ferramentas de Desenvolvimento",
|
||||
"Toggle Full Screen": "Pôr em/Tirar de Tela Cheia",
|
||||
"Preferences": "Preferências",
|
||||
"Zoom Out": "Dar Zoom Out",
|
||||
"Zoom In": "Dar Zoom In",
|
||||
"Actual Size": "Tamanho de Verdade",
|
||||
"View": "Visualizar",
|
||||
"Select All": "Selecionar Todas",
|
||||
"Delete": "Deletar",
|
||||
"Paste and Match Style": "Colar e Adequar Estilo",
|
||||
"Paste": "Colar",
|
||||
"Copy": "Copiar",
|
||||
"Cut": "Cortar",
|
||||
"Redo": "Refazer",
|
||||
"Undo": "Desfazer",
|
||||
"Edit": "Editar",
|
||||
"Quit": "Sair",
|
||||
"Show/Hide": "Mostrar/Esconder",
|
||||
"Are you sure you want to quit?": "Você tem certeza que você quer sair?",
|
||||
"Cancel": "Cancelar",
|
||||
"Bring All to Front": "Trazer Todas Para Frente",
|
||||
"Hide Others": "Esconder Outras(os)",
|
||||
"Copy image address": "Copiar endereço de imagem",
|
||||
"Close %(brand)s": "Fechar %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Cancelar",
|
||||
"close": "Fechar",
|
||||
"close_brand": "Fechar %(brand)s",
|
||||
"copy": "Copiar",
|
||||
"cut": "Cortar",
|
||||
"delete": "Deletar",
|
||||
"edit": "Editar",
|
||||
"minimise": "Minimizar",
|
||||
"paste": "Colar",
|
||||
"paste_match_style": "Colar e Adequar Estilo",
|
||||
"quit": "Sair",
|
||||
"redo": "Refazer",
|
||||
"select_all": "Selecionar Todas",
|
||||
"show_hide": "Mostrar/Esconder",
|
||||
"undo": "Desfazer",
|
||||
"zoom_in": "Dar Zoom In",
|
||||
"zoom_out": "Dar Zoom Out"
|
||||
},
|
||||
"common": {
|
||||
"about": "Sobre",
|
||||
"help": "Ajuda",
|
||||
"preferences": "Preferências"
|
||||
},
|
||||
"confirm_quit": "Você tem certeza que você quer sair?",
|
||||
"edit_menu": {
|
||||
"speech": "Fala",
|
||||
"speech_start_speaking": "Começar a Falar",
|
||||
"speech_stop_speaking": "Parar de Falar"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Arquivo"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Esconder",
|
||||
"hide_others": "Esconder Outras(os)",
|
||||
"services": "Serviços",
|
||||
"unhide": "Desesconder"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Adicionar a dicionário",
|
||||
"copy_email": "Copiar endereço de email",
|
||||
"copy_image": "Copiar imagem",
|
||||
"copy_image_url": "Copiar endereço de imagem",
|
||||
"copy_link_url": "Copiar endereço de link",
|
||||
"save_image_as": "Salvar imagem como...",
|
||||
"save_image_as_error_description": "A imagem falhou para salvar",
|
||||
"save_image_as_error_title": "Falha para salvar imagem"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Tamanho de Verdade",
|
||||
"toggle_developer_tools": "Ativar/Desativar Ferramentas de Desenvolvimento",
|
||||
"toggle_full_screen": "Pôr em/Tirar de Tela Cheia",
|
||||
"view": "Visualizar"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Trazer Todas Para Frente",
|
||||
"label": "Janela"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
"Add to dictionary": "Adăugați la dicționar",
|
||||
"Failed to save image": "Eroare în salvarea imaginii",
|
||||
"Save image as...": "Salvează imagine ca ...",
|
||||
"Copy link address": "Copiază link",
|
||||
"Copy email address": "Copiază adresă de email",
|
||||
"Copy image": "Copiază imagine",
|
||||
"File": "Fișier",
|
||||
"Bring All to Front": "Aduce-ți totul in față",
|
||||
"Zoom": "Zoom",
|
||||
"Stop Speaking": "Oprire Voce",
|
||||
"Start Speaking": "Pornire Voce",
|
||||
"Speech": "Voce",
|
||||
"Hide Others": "Ascunde restul",
|
||||
"Hide": "Ascunde",
|
||||
"Services": "Servicii",
|
||||
"About": "Despre",
|
||||
"Element Help": "Ajutor Element",
|
||||
"Help": "Ajutor",
|
||||
"Close": "Inchide",
|
||||
"Minimize": "Minimizare",
|
||||
"Window": "Fereastră",
|
||||
"Toggle Developer Tools": "Comutare unelte dezvoltator",
|
||||
"Toggle Full Screen": "Comutare pe tot ecranul",
|
||||
"Preferences": "Preferințe",
|
||||
"Zoom Out": "Micșorează",
|
||||
"Zoom In": "Mărește",
|
||||
"Actual Size": "Mărime reală",
|
||||
"View": "Vizualizează",
|
||||
"Select All": "Selectează tot",
|
||||
"Delete": "Șterge",
|
||||
"Paste and Match Style": "Lipește si potrivește stilul",
|
||||
"Paste": "Lipește",
|
||||
"Copy": "Copiază",
|
||||
"Redo": "Refă",
|
||||
"Undo": "Anulare",
|
||||
"Edit": "Editare",
|
||||
"Quit": "Închid",
|
||||
"Show/Hide": "Arată/Ascunde",
|
||||
"Are you sure you want to quit?": "Sigur vrei să ieși din cont?",
|
||||
"Cancel": "Anulare",
|
||||
"Close %(brand)s": "Închide %(brand)s",
|
||||
"Cut": "Taie"
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Edit": "Изменить",
|
||||
"Quit": "Выйти",
|
||||
"Cancel": "Отмена",
|
||||
"Show/Hide": "Показать/скрыть",
|
||||
"Are you sure you want to quit?": "Вы уверены, что хотите выйти?",
|
||||
"Copy email address": "Копировать адрес почты",
|
||||
"Copy image": "Копировать изображение",
|
||||
"File": "Файл",
|
||||
"Zoom": "Масштаб",
|
||||
"Unhide": "Показать",
|
||||
"Hide": "Скрыть",
|
||||
"Services": "Сервисы",
|
||||
"About": "О программе",
|
||||
"Element Help": "Справка Element",
|
||||
"Help": "Справка",
|
||||
"Close": "Закрыть",
|
||||
"Minimize": "Свернуть",
|
||||
"Window": "Окно",
|
||||
"Toggle Developer Tools": "Переключить инструменты разработчика",
|
||||
"Toggle Full Screen": "Переключить полноэкранный режим",
|
||||
"Preferences": "Параметры",
|
||||
"Zoom Out": "Уменьшить",
|
||||
"Zoom In": "Увеличить",
|
||||
"Actual Size": "Фактический размер",
|
||||
"View": "Просмотр",
|
||||
"Select All": "Выбрать все",
|
||||
"Delete": "Удалить",
|
||||
"Paste": "Вставить",
|
||||
"Copy": "Копировать",
|
||||
"Cut": "Вырезать",
|
||||
"Redo": "Повторить",
|
||||
"Undo": "Отменить",
|
||||
"Save image as...": "Сохранить изображение как...",
|
||||
"Copy link address": "Копировать ссылку",
|
||||
"Add to dictionary": "Добавить в словарь",
|
||||
"The image failed to save": "Не удалось сохранить изображение",
|
||||
"Failed to save image": "Не удалось сохранить изображение",
|
||||
"Bring All to Front": "Вынести всё вперёд",
|
||||
"Stop Speaking": "Перестаньте говорить",
|
||||
"Start Speaking": "Говорите",
|
||||
"Speech": "Голос",
|
||||
"Hide Others": "Скрыть прочие",
|
||||
"Paste and Match Style": "Вставить с тем же стилем",
|
||||
"Copy image address": "Копировать адрес изображения",
|
||||
"Close %(brand)s": "Закрыть %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Отмена",
|
||||
"close": "Закрыть",
|
||||
"close_brand": "Закрыть %(brand)s",
|
||||
"copy": "Копировать",
|
||||
"cut": "Вырезать",
|
||||
"delete": "Удалить",
|
||||
"edit": "Изменить",
|
||||
"minimise": "Свернуть",
|
||||
"paste": "Вставить",
|
||||
"paste_match_style": "Вставить с тем же стилем",
|
||||
"quit": "Выйти",
|
||||
"redo": "Повторить",
|
||||
"select_all": "Выбрать все",
|
||||
"show_hide": "Показать/скрыть",
|
||||
"undo": "Отменить",
|
||||
"zoom_in": "Увеличить",
|
||||
"zoom_out": "Уменьшить"
|
||||
},
|
||||
"common": {
|
||||
"about": "О программе",
|
||||
"brand_help": "Помощь %(brand)s",
|
||||
"help": "Помощь",
|
||||
"preferences": "Предпочтения"
|
||||
},
|
||||
"confirm_quit": "Вы уверены, что хотите выйти?",
|
||||
"edit_menu": {
|
||||
"speech": "Речь",
|
||||
"speech_start_speaking": "Говорите",
|
||||
"speech_stop_speaking": "Перестаньте говорить"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Файл"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Скрыть",
|
||||
"hide_others": "Скрыть прочие",
|
||||
"services": "Службы",
|
||||
"unhide": "Показать"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Добавить в словарь",
|
||||
"copy_email": "Копировать адрес почты",
|
||||
"copy_image": "Копировать изображение",
|
||||
"copy_image_url": "Копировать адрес изображения",
|
||||
"copy_link_url": "Копировать ссылку",
|
||||
"save_image_as": "Сохранить изображение как...",
|
||||
"save_image_as_error_description": "Не удалось сохранить изображение",
|
||||
"save_image_as_error_title": "Не удалось сохранить изображение"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Фактический размер",
|
||||
"toggle_developer_tools": "Переключить инструменты разработчика",
|
||||
"toggle_full_screen": "Переключить полноэкранный режим",
|
||||
"view": "Просмотр"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Вынести всё вперёд",
|
||||
"label": "Окно",
|
||||
"zoom": "Масштаб"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"Show/Hide": "පෙන්වන්න/සඟවන්න",
|
||||
"Are you sure you want to quit?": "ඔබට ඉවත් වීමට අවශ්ය බව විශ්වාස ද?",
|
||||
"Cancel": "අවලංගු කරන්න",
|
||||
"Add to dictionary": "ශබ්ද කෝෂයට එකතු කරන්න",
|
||||
"Copy link address": "සබැඳියේ ලිපිනය පිටපත් කරන්න",
|
||||
"Copy email address": "වි-තැපෑල පිටපත් කරන්න",
|
||||
"File": "ගොනුව",
|
||||
"Zoom": "විශාල කරන්න",
|
||||
"Hide Others": "වෙනත් දෑ සඟවන්න",
|
||||
"Hide": "සඟවන්න",
|
||||
"Services": "සේවා",
|
||||
"About": "පිළිබඳව",
|
||||
"Element Help": "ඉලමෙන්ට් උපකාර",
|
||||
"Help": "උපකාර",
|
||||
"Close": "වසන්න",
|
||||
"Minimize": "හකුලන්න",
|
||||
"Window": "කවුළුව",
|
||||
"Zoom Out": "කුඩාලනය කරන්න",
|
||||
"Zoom In": "විශාලනය කරන්න",
|
||||
"Actual Size": "සැබෑ ප්රමාණය",
|
||||
"Select All": "සියල්ල තෝරන්න",
|
||||
"Paste": "අලවන්න",
|
||||
"Copy": "පිටපත්",
|
||||
"Cut": "කපන්න",
|
||||
"Redo": "පසුසේ",
|
||||
"Undo": "පෙරසේ",
|
||||
"Edit": "සංස්කරණය",
|
||||
"Quit": "ඉවත් වන්න",
|
||||
"Paste and Match Style": "අලවා ශෛලිය ගැළපුම",
|
||||
"Delete": "මකන්න",
|
||||
"The image failed to save": "රූපය සුරැකීමට අසමත්",
|
||||
"Failed to save image": "රූපය සුරැකීමට අසමත්",
|
||||
"Save image as...": "...ලෙස රූපය සුරකින්න",
|
||||
"Copy image address": "රූපයේ ලිපිනයේ පිටපතක්",
|
||||
"Copy image": "රූපයෙහි පිටපතක්",
|
||||
"Bring All to Front": "සියල්ල ඉදිරිපසට",
|
||||
"Stop Speaking": "කථාව නිමාව",
|
||||
"Start Speaking": "කථාව ආරම්භය",
|
||||
"Speech": "කථාව",
|
||||
"Unhide": "නොසඟවන්න",
|
||||
"Toggle Developer Tools": "සංවර්ධක මෙවලම්",
|
||||
"Toggle Full Screen": "පූර්ණ තිරයට",
|
||||
"Preferences": "පෙනුම",
|
||||
"View": "දකින්න"
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Unhide": "Odkryť",
|
||||
"Stop Speaking": "Zastaviť nahrávanie hlasu",
|
||||
"Start Speaking": "Spustiť nahrávanie hlasu",
|
||||
"Speech": "Reč",
|
||||
"Element Help": "Pomocník pre aplikáciu Element",
|
||||
"Paste and Match Style": "Vložiť a prispôsobiť štýl",
|
||||
"Add to dictionary": "Pridať do slovníka",
|
||||
"The image failed to save": "Obrázok sa nepodarilo uložiť",
|
||||
"Failed to save image": "Chyba pri ukladaní obrázka",
|
||||
"Save image as...": "Uložiť obrázok ako...",
|
||||
"Copy link address": "Kopírovať adresu odkazu",
|
||||
"Copy email address": "Kopírovať e-mailovú adresu",
|
||||
"Copy image": "Kopírovať obrázok",
|
||||
"File": "Súbor",
|
||||
"Bring All to Front": "Preniesť všetky do popredia",
|
||||
"Zoom": "Lupa",
|
||||
"Hide Others": "Skryť ostatné",
|
||||
"Hide": "Skryť",
|
||||
"Services": "Služby",
|
||||
"About": "O aplikácii",
|
||||
"Help": "Pomocník",
|
||||
"Close": "Zavrieť",
|
||||
"Minimize": "Minimalizovať",
|
||||
"Window": "Okno",
|
||||
"Toggle Developer Tools": "Nástroje pre vývojárov",
|
||||
"Toggle Full Screen": "Celá obrazovka",
|
||||
"Preferences": "Vlastnosti",
|
||||
"Zoom Out": "Oddialiť",
|
||||
"Zoom In": "Priblížiť",
|
||||
"Actual Size": "Aktuálna veľkosť",
|
||||
"View": "Zobraziť",
|
||||
"Select All": "Vybrať všetko",
|
||||
"Delete": "Odstrániť",
|
||||
"Paste": "Vložiť",
|
||||
"Copy": "Kopírovať",
|
||||
"Cut": "Vystrihnúť",
|
||||
"Redo": "Opakovať",
|
||||
"Undo": "Späť",
|
||||
"Edit": "Úpravy",
|
||||
"Quit": "Ukončiť",
|
||||
"Show/Hide": "Zobraziť/Skryť",
|
||||
"Are you sure you want to quit?": "Naozaj chcete zavrieť aplikáciu?",
|
||||
"Cancel": "Zrušiť",
|
||||
"Copy image address": "Kopírovať adresu obrázka",
|
||||
"Close %(brand)s": "Zatvoriť %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Zrušiť",
|
||||
"close": "Zavrieť",
|
||||
"close_brand": "Zatvoriť %(brand)s",
|
||||
"copy": "Kopírovať",
|
||||
"cut": "Vystrihnúť",
|
||||
"delete": "Odstrániť",
|
||||
"edit": "Úpravy",
|
||||
"minimise": "Minimalizovať",
|
||||
"paste": "Vložiť",
|
||||
"paste_match_style": "Vložiť a prispôsobiť štýl",
|
||||
"quit": "Ukončiť",
|
||||
"redo": "Opakovať",
|
||||
"select_all": "Vybrať všetko",
|
||||
"show_hide": "Zobraziť/Skryť",
|
||||
"undo": "Späť",
|
||||
"zoom_in": "Priblížiť",
|
||||
"zoom_out": "Oddialiť"
|
||||
},
|
||||
"common": {
|
||||
"about": "O aplikácii",
|
||||
"brand_help": "%(brand)s Pomoc",
|
||||
"help": "Pomocník",
|
||||
"preferences": "Vlastnosti"
|
||||
},
|
||||
"confirm_quit": "Naozaj chcete zavrieť aplikáciu?",
|
||||
"edit_menu": {
|
||||
"speech": "Reč",
|
||||
"speech_start_speaking": "Spustiť nahrávanie hlasu",
|
||||
"speech_stop_speaking": "Zastaviť nahrávanie hlasu"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Súbor"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Skryť",
|
||||
"hide_others": "Skryť ostatné",
|
||||
"services": "Služby",
|
||||
"unhide": "Odkryť"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Pridať do slovníka",
|
||||
"copy_email": "Kopírovať e-mailovú adresu",
|
||||
"copy_image": "Kopírovať obrázok",
|
||||
"copy_image_url": "Kopírovať adresu obrázka",
|
||||
"copy_link_url": "Kopírovať adresu odkazu",
|
||||
"save_image_as": "Uložiť obrázok ako...",
|
||||
"save_image_as_error_description": "Obrázok sa nepodarilo uložiť",
|
||||
"save_image_as_error_title": "Chyba pri ukladaní obrázka"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Aktuálna veľkosť",
|
||||
"toggle_developer_tools": "Nástroje pre vývojárov",
|
||||
"toggle_full_screen": "Celá obrazovka",
|
||||
"view": "Zobraziť"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Preniesť všetky do popredia",
|
||||
"label": "Okno",
|
||||
"zoom": "Lupa"
|
||||
}
|
||||
}
|
||||
|
||||
17
src/i18n/strings/sq.json
Normal file
17
src/i18n/strings/sq.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"action": {
|
||||
"cancel": "Anuloje",
|
||||
"close": "Mbylle",
|
||||
"copy": "Kopjoje",
|
||||
"delete": "Fshije",
|
||||
"edit": "Përpuno"
|
||||
},
|
||||
"common": {
|
||||
"about": "Mbi",
|
||||
"help": "Ndihmë",
|
||||
"preferences": "Parapëlqime"
|
||||
},
|
||||
"view_menu": {
|
||||
"view": "Shihni"
|
||||
}
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Save image as...": "Spara bild som…",
|
||||
"Copy link address": "Kopiera länkadress",
|
||||
"Copy email address": "Kopiera e-postadress",
|
||||
"Copy image": "Kopiera bild",
|
||||
"File": "Arkiv",
|
||||
"Bring All to Front": "Lägg alla överst",
|
||||
"Stop Speaking": "Sluta tala",
|
||||
"Start Speaking": "Börja tala",
|
||||
"Speech": "Tal",
|
||||
"Hide Others": "Göm övriga",
|
||||
"Hide": "Göm",
|
||||
"Services": "Tjänster",
|
||||
"About": "Om",
|
||||
"Element Help": "Element-Hjälp",
|
||||
"Help": "Hjälp",
|
||||
"Close": "Stäng",
|
||||
"Minimize": "Minimera",
|
||||
"Window": "Fönster",
|
||||
"Preferences": "Inställningar",
|
||||
"Actual Size": "Verklig storlek",
|
||||
"View": "Visa",
|
||||
"Select All": "Markera allt",
|
||||
"Delete": "Radera",
|
||||
"Paste and Match Style": "Klistra in och matcha stilen",
|
||||
"Paste": "Klistra in",
|
||||
"Copy": "Kopiera",
|
||||
"Cut": "Klipp ut",
|
||||
"Redo": "Gör om",
|
||||
"Undo": "Ångra",
|
||||
"Edit": "Redigera",
|
||||
"Quit": "Avsluta",
|
||||
"Cancel": "Avbryt",
|
||||
"Zoom": "Zooma",
|
||||
"Toggle Developer Tools": "Växla utvecklarverktyg",
|
||||
"Toggle Full Screen": "Växla helskärm",
|
||||
"Unhide": "Sluta gömma",
|
||||
"Zoom Out": "Zooma ut",
|
||||
"Zoom In": "Zooma in",
|
||||
"Show/Hide": "Visa/dölj",
|
||||
"Add to dictionary": "Lägg till i ordlistan",
|
||||
"The image failed to save": "Bilden sparades inte",
|
||||
"Failed to save image": "Misslyckades med att spara bilden",
|
||||
"Are you sure you want to quit?": "Är du säker att du vill avsluta?",
|
||||
"Copy image address": "Kopiera bildadress",
|
||||
"Close %(brand)s": "Stäng %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Avbryt",
|
||||
"close": "Stäng",
|
||||
"close_brand": "Stäng %(brand)s",
|
||||
"copy": "Kopiera",
|
||||
"cut": "Klipp ut",
|
||||
"delete": "Radera",
|
||||
"edit": "Redigera",
|
||||
"minimise": "Minimera",
|
||||
"paste": "Klistra in",
|
||||
"paste_match_style": "Klistra in och matcha stilen",
|
||||
"quit": "Avsluta",
|
||||
"redo": "Gör om",
|
||||
"select_all": "Markera allt",
|
||||
"show_hide": "Visa/dölj",
|
||||
"undo": "Ångra",
|
||||
"zoom_in": "Zooma in",
|
||||
"zoom_out": "Zooma ut"
|
||||
},
|
||||
"common": {
|
||||
"about": "Om",
|
||||
"brand_help": "%(brand)s-hjälp",
|
||||
"help": "Hjälp",
|
||||
"preferences": "Inställningar"
|
||||
},
|
||||
"confirm_quit": "Är du säker att du vill avsluta?",
|
||||
"edit_menu": {
|
||||
"speech": "Tal",
|
||||
"speech_start_speaking": "Börja tala",
|
||||
"speech_stop_speaking": "Sluta tala"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Arkiv"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Göm",
|
||||
"hide_others": "Göm övriga",
|
||||
"services": "Tjänster",
|
||||
"unhide": "Sluta gömma"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Lägg till i ordlistan",
|
||||
"copy_email": "Kopiera e-postadress",
|
||||
"copy_image": "Kopiera bild",
|
||||
"copy_image_url": "Kopiera bildadress",
|
||||
"copy_link_url": "Kopiera länkadress",
|
||||
"save_image_as": "Spara bild som…",
|
||||
"save_image_as_error_description": "Bilden sparades inte",
|
||||
"save_image_as_error_title": "Misslyckades med att spara bilden"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Verklig storlek",
|
||||
"toggle_developer_tools": "Växla utvecklarverktyg",
|
||||
"toggle_full_screen": "Växla helskärm",
|
||||
"view": "Visa"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Lägg alla överst",
|
||||
"label": "Fönster",
|
||||
"zoom": "Zooma"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"Zoom": "பெரிதாக்குதல்",
|
||||
"Minimize": "சிறிதாக்கு",
|
||||
"Toggle Developer Tools": "உருவாக்குநர் கருவிகளை நிலைமாற்று",
|
||||
"Toggle Full Screen": "முழு திரையை நிலைமாற்று",
|
||||
"Paste and Match Style": "ஒட்டு மற்றும் நடையை பொருத்து",
|
||||
"Add to dictionary": "அகராதியில் சேர்",
|
||||
"The image failed to save": "படம் சேமிக்கத் தவறிவிட்டது",
|
||||
"Failed to save image": "படத்தைச் சேமிப்பதில் தோல்வி",
|
||||
"Save image as...": "படத்தை இவ்வாறு சேமி...",
|
||||
"Copy link address": "இணைப்பு முகவரியை நகலெடு",
|
||||
"Copy email address": "மின்னஞ்சல் முகவரியை நகலெடு",
|
||||
"Copy image": "படத்தை நகலெடு",
|
||||
"File": "கோப்பு",
|
||||
"Bring All to Front": "அனைத்தையும் முன்னால் கொண்டுவா",
|
||||
"Stop Speaking": "பேசுவதை நிறுத்து",
|
||||
"Start Speaking": "பேசத் துவங்கு",
|
||||
"Speech": "பேச்சு",
|
||||
"Unhide": "மறைநீக்கு",
|
||||
"Hide Others": "மற்றவற்றை மறை",
|
||||
"Hide": "மறை",
|
||||
"Services": "சேவைகள்",
|
||||
"About": "இதனைப் பற்றி",
|
||||
"Element Help": "எலிமெண்ட் உதவி",
|
||||
"Help": "உதவி",
|
||||
"Close": "மூடு",
|
||||
"Window": "சாளரம்",
|
||||
"Preferences": "விருப்பத்தேர்வுகள்",
|
||||
"Zoom Out": "சிறிதாக்கு",
|
||||
"Zoom In": "பெரிதாக்கு",
|
||||
"Actual Size": "உண்மையான அளவு",
|
||||
"View": "காட்டு",
|
||||
"Select All": "அனைத்தையும் தேர்ந்தெடு",
|
||||
"Delete": "அழி",
|
||||
"Paste": "ஒட்டு",
|
||||
"Copy": "நகலெடு",
|
||||
"Cut": "வெட்டு",
|
||||
"Redo": "மீண்டும் செய்",
|
||||
"Undo": "செயல்தவிர்",
|
||||
"Edit": "திருத்து",
|
||||
"Quit": "வெளியேறு",
|
||||
"Show/Hide": "காட்டு/மறை",
|
||||
"Are you sure you want to quit?": "நீங்கள் நிச்சயம் வெளியேற விரும்புகிறீர்களா?",
|
||||
"Cancel": "விலக்கிக்கொள்",
|
||||
"Copy image address": "பட முகவரியை நகலெடு",
|
||||
"Close %(brand)s": "%(brand)s ஐ மூடு"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"About": "గ్రెంచ్",
|
||||
"Paste and Match Style": "మునుపటి వంటి అతికించండి",
|
||||
"Paste": "పేస్ట్",
|
||||
"Cut": "కట్",
|
||||
"Copy": "కాపీ",
|
||||
"Are you sure you want to quit?": "మీరు వెళ్ళిపోవాలని అనుకుంటున్నారా?",
|
||||
"Cancel": "ఆపు"
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"Hide": "Itago",
|
||||
"Delete": "Alisin",
|
||||
"Paste and Match Style": "I-paste at Tumugma ng Style",
|
||||
"Paste": "I-paste",
|
||||
"Copy": "I-copy",
|
||||
"Cut": "I-cut",
|
||||
"Redo": "Redo",
|
||||
"Undo": "Undo",
|
||||
"Edit": "I-edit",
|
||||
"Quit": "Magsara",
|
||||
"Show/Hide": "Ipakita/itago",
|
||||
"Are you sure you want to quit?": "Sigurado ka ba na gusto mong magsara?",
|
||||
"Close %(brand)s": "Isara ang %(brand)s",
|
||||
"Cancel": "Kanselahin"
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"Add to dictionary": "Sözlüğe ekle",
|
||||
"The image failed to save": "Bu resim kaydedilemedi",
|
||||
"Failed to save image": "Resim kaydedilemedi",
|
||||
"Save image as...": "Resmi ... olarak farklı kaydet",
|
||||
"Copy link address": "Bağlantılı adresi kopyala",
|
||||
"Copy email address": "E-posta adresini kopyala",
|
||||
"Copy image": "Resmi kopyala",
|
||||
"File": "Dosya",
|
||||
"Bring All to Front": "Hepsini öne getir",
|
||||
"Zoom": "Yaklaştır",
|
||||
"Stop Speaking": "Konuşmayı durdur",
|
||||
"Start Speaking": "Konuşmaya başla",
|
||||
"Speech": "Konuşma",
|
||||
"Unhide": "Gizlemeyi bırak",
|
||||
"Hide Others": "Diğerlerini gizle",
|
||||
"Hide": "Gizle",
|
||||
"Services": "Hizmetler",
|
||||
"About": "Hakkında",
|
||||
"Element Help": "Element yardımı",
|
||||
"Help": "Yardım",
|
||||
"Close": "Kapat",
|
||||
"Minimize": "Küçült",
|
||||
"Window": "Pencere",
|
||||
"Toggle Developer Tools": "Geliştirici araçları",
|
||||
"Toggle Full Screen": "Tam ekran",
|
||||
"Preferences": "Tercihler",
|
||||
"Zoom Out": "Uzaklaştır",
|
||||
"Zoom In": "Yaklaştır",
|
||||
"Actual Size": "Gerçek boyut",
|
||||
"View": "Görünüm",
|
||||
"Select All": "Tümünü seç",
|
||||
"Delete": "Sil",
|
||||
"Paste and Match Style": "Biçimiyle bir yapıştır",
|
||||
"Paste": "Yapıştır",
|
||||
"Copy": "Kopyala",
|
||||
"Cut": "Kes",
|
||||
"Redo": "Yinele",
|
||||
"Undo": "Geri al",
|
||||
"Edit": "Düzenle",
|
||||
"Quit": "Çık",
|
||||
"Show/Hide": "Göster/Gizle",
|
||||
"Are you sure you want to quit?": "Çıkmak istediğinize emin misiniz?",
|
||||
"Cancel": "İptal",
|
||||
"Copy image address": "Görsel adresini kopyala"
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Add to dictionary": "Додати до словника",
|
||||
"The image failed to save": "Не вдалося зберегти зображення",
|
||||
"Failed to save image": "Не вдалося зберегти зображення",
|
||||
"Save image as...": "Зберегти зображення як...",
|
||||
"Copy link address": "Копіювати адресу посилання",
|
||||
"Copy image address": "Копіювати адресу зображення",
|
||||
"Copy email address": "Копіювати адресу е-пошти",
|
||||
"Copy image": "Копіювати зображення",
|
||||
"File": "Файл",
|
||||
"Bring All to Front": "Винести все вперед",
|
||||
"Zoom": "Масштаб",
|
||||
"Stop Speaking": "Припинити говорити",
|
||||
"Start Speaking": "Почати говорити",
|
||||
"Speech": "Мовлення",
|
||||
"Unhide": "Показати",
|
||||
"Hide Others": "Сховати інші",
|
||||
"Hide": "Сховати",
|
||||
"Services": "Служби",
|
||||
"About": "Про застосунок",
|
||||
"Element Help": "Довідка Element",
|
||||
"Help": "Довідка",
|
||||
"Close": "Закрити",
|
||||
"Minimize": "Згорнути",
|
||||
"Window": "Вікно",
|
||||
"Toggle Developer Tools": "Перемкнути інструменти розробника",
|
||||
"Toggle Full Screen": "Перемкнути повноекранний режим",
|
||||
"Preferences": "Параметри",
|
||||
"Zoom Out": "Зменшити",
|
||||
"Zoom In": "Збільшити",
|
||||
"Actual Size": "Фактичний розмір",
|
||||
"View": "Перегляд",
|
||||
"Select All": "Вибрати все",
|
||||
"Delete": "Видалити",
|
||||
"Paste and Match Style": "Вставити з таким же стилем",
|
||||
"Paste": "Вставити",
|
||||
"Copy": "Копіювати",
|
||||
"Cut": "Вирізати",
|
||||
"Redo": "Повторити дію",
|
||||
"Undo": "Скасувати дію",
|
||||
"Edit": "Змінити",
|
||||
"Quit": "Вийти",
|
||||
"Show/Hide": "Показати/Сховати",
|
||||
"Are you sure you want to quit?": "Ви впевнені, що хочете вийти?",
|
||||
"Close %(brand)s": "Закрити %(brand)s",
|
||||
"Cancel": "Скасувати"
|
||||
"action": {
|
||||
"cancel": "Скасувати",
|
||||
"close": "Закрити",
|
||||
"close_brand": "Закрити %(brand)s",
|
||||
"copy": "Скопіювати",
|
||||
"cut": "Вирізати",
|
||||
"delete": "Видалити",
|
||||
"edit": "Змінити",
|
||||
"minimise": "Згорнути",
|
||||
"paste": "Вставити",
|
||||
"paste_match_style": "Вставити з таким же стилем",
|
||||
"quit": "Вийти",
|
||||
"redo": "Повторити дію",
|
||||
"select_all": "Вибрати все",
|
||||
"show_hide": "Показати/Сховати",
|
||||
"undo": "Скасувати дію",
|
||||
"zoom_in": "Збільшити",
|
||||
"zoom_out": "Зменшити"
|
||||
},
|
||||
"common": {
|
||||
"about": "Про застосунок",
|
||||
"brand_help": "Довідка %(brand)s",
|
||||
"help": "Довідка",
|
||||
"preferences": "Параметри"
|
||||
},
|
||||
"confirm_quit": "Ви впевнені, що хочете вийти?",
|
||||
"edit_menu": {
|
||||
"speech": "Мовлення",
|
||||
"speech_start_speaking": "Почати говорити",
|
||||
"speech_stop_speaking": "Припинити говорити"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Файл"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Сховати",
|
||||
"hide_others": "Сховати інші",
|
||||
"services": "Служби",
|
||||
"unhide": "Показати"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Додати до словника",
|
||||
"copy_email": "Копіювати адресу е-пошти",
|
||||
"copy_image": "Копіювати зображення",
|
||||
"copy_image_url": "Копіювати адресу зображення",
|
||||
"copy_link_url": "Копіювати адресу посилання",
|
||||
"save_image_as": "Зберегти зображення як...",
|
||||
"save_image_as_error_description": "Не вдалося зберегти зображення",
|
||||
"save_image_as_error_title": "Не вдалося зберегти зображення"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Фактичний розмір",
|
||||
"toggle_developer_tools": "Перемкнути інструменти розробника",
|
||||
"toggle_full_screen": "Перемкнути повноекранний режим",
|
||||
"view": "Перегляд"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Винести все вперед",
|
||||
"label": "Вікно",
|
||||
"zoom": "Масштаб"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"Paste": "پیسٹ",
|
||||
"Redo": "دوبارہ کریں",
|
||||
"Preferences": "ترجیحات",
|
||||
"Hide Others": "",
|
||||
"Show/Hide": "دکھائیں/چھپائیں",
|
||||
"Quit": "چھوڑو",
|
||||
"Hide": "چھپائیں",
|
||||
"Unhide": "دکھائیں",
|
||||
"Zoom": "زوم",
|
||||
"Close": "بند",
|
||||
"Window": "کھڑکی",
|
||||
"Cut": "کٹ",
|
||||
"Delete": "مٹاؤ",
|
||||
"File": "فائل",
|
||||
"Help": "مدد",
|
||||
"Copy": "کاپی",
|
||||
"Add to dictionary": "لغت میں شامل کریں",
|
||||
"Copy image": "تصویر کاپی کریں",
|
||||
"Start Speaking": "بولنا شروع کریں"
|
||||
}
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Add to dictionary": "Thêm vào từ điển",
|
||||
"The image failed to save": "Ảnh không lưu được",
|
||||
"Failed to save image": "Không lưu được ảnh",
|
||||
"Save image as...": "Lưu ảnh…",
|
||||
"Copy link address": "Sao chép địa chỉ liên kết",
|
||||
"Copy email address": "Sao chép địa chỉ email",
|
||||
"Copy image": "Sao chép ảnh",
|
||||
"File": "Tệp",
|
||||
"Bring All to Front": "Đưa tất cả lên trước",
|
||||
"Zoom": "Thu phóng",
|
||||
"Stop Speaking": "Dừng nói",
|
||||
"Start Speaking": "Bắt đầu nói",
|
||||
"Speech": "Đọc màn hình",
|
||||
"Unhide": "Bỏ ẩn",
|
||||
"Hide Others": "Ẩn cái khác",
|
||||
"Hide": "Ẩn",
|
||||
"Services": "Dịch vụ",
|
||||
"About": "Giới thiệu",
|
||||
"Element Help": "Trợ giúp",
|
||||
"Help": "Hỗ trợ",
|
||||
"Close": "Đóng",
|
||||
"Minimize": "Thu nhỏ",
|
||||
"Window": "Cửa sổ",
|
||||
"Toggle Developer Tools": "Công cụ phát triển",
|
||||
"Toggle Full Screen": "Toàn màn hình",
|
||||
"Preferences": "Tùy chọn",
|
||||
"Zoom Out": "Thu nhỏ",
|
||||
"Zoom In": "Phóng to",
|
||||
"Actual Size": "Kích thước thực",
|
||||
"View": "Xem",
|
||||
"Select All": "Chọn tất cả",
|
||||
"Delete": "Xóa",
|
||||
"Paste and Match Style": "Dán và khớp kiểu",
|
||||
"Paste": "Dán",
|
||||
"Copy": "Sao chép",
|
||||
"Cut": "Cắt",
|
||||
"Redo": "Làm lại",
|
||||
"Undo": "Hoàn tác",
|
||||
"Edit": "Chỉnh sửa",
|
||||
"Quit": "Thoát",
|
||||
"Show/Hide": "Hiện/Ẩn",
|
||||
"Are you sure you want to quit?": "Bạn có chắc chắn muốn thoát?",
|
||||
"Cancel": "Hủy bỏ",
|
||||
"Copy image address": "Sao chép địa chỉ ảnh",
|
||||
"Close %(brand)s": "Đóng %(brand)s"
|
||||
"action": {
|
||||
"cancel": "Hủy bỏ",
|
||||
"close": "Đóng",
|
||||
"close_brand": "Đóng %(brand)s",
|
||||
"copy": "Sao chép",
|
||||
"cut": "Cắt",
|
||||
"delete": "Xóa",
|
||||
"edit": "Chỉnh sửa",
|
||||
"minimise": "Thu nhỏ",
|
||||
"paste": "Dán",
|
||||
"paste_match_style": "Dán và khớp kiểu",
|
||||
"quit": "Thoát",
|
||||
"redo": "Làm lại",
|
||||
"select_all": "Chọn tất cả",
|
||||
"show_hide": "Hiện/Ẩn",
|
||||
"undo": "Hoàn tác",
|
||||
"zoom_in": "Phóng to",
|
||||
"zoom_out": "Thu nhỏ"
|
||||
},
|
||||
"common": {
|
||||
"about": "Giới thiệu",
|
||||
"brand_help": "Hỗ trợ %(brand)s",
|
||||
"help": "Hỗ trợ",
|
||||
"preferences": "Tùy chọn"
|
||||
},
|
||||
"confirm_quit": "Bạn có chắc chắn muốn thoát?",
|
||||
"edit_menu": {
|
||||
"speech": "Đọc màn hình",
|
||||
"speech_start_speaking": "Bắt đầu nói",
|
||||
"speech_stop_speaking": "Dừng nói"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "Tệp"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "Ẩn",
|
||||
"hide_others": "Ẩn cái khác",
|
||||
"services": "Dịch vụ",
|
||||
"unhide": "Bỏ ẩn"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "Thêm vào từ điển",
|
||||
"copy_email": "Sao chép địa chỉ email",
|
||||
"copy_image": "Sao chép ảnh",
|
||||
"copy_image_url": "Sao chép địa chỉ ảnh",
|
||||
"copy_link_url": "Sao chép địa chỉ liên kết",
|
||||
"save_image_as": "Lưu ảnh…",
|
||||
"save_image_as_error_description": "Ảnh không lưu được",
|
||||
"save_image_as_error_title": "Không lưu được ảnh"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "Kích thước thực",
|
||||
"toggle_developer_tools": "Công cụ phát triển",
|
||||
"toggle_full_screen": "Toàn màn hình",
|
||||
"view": "Xem"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "Đưa tất cả lên trước",
|
||||
"label": "Cửa sổ",
|
||||
"zoom": "Thu phóng"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Add to dictionary": "添加到字典",
|
||||
"The image failed to save": "图片保存失败",
|
||||
"Failed to save image": "图片保存失败",
|
||||
"Save image as...": "保存图片为……",
|
||||
"Copy link address": "复制链接地址",
|
||||
"Copy email address": "复制邮箱地址",
|
||||
"Copy image": "复制图片",
|
||||
"File": "文件",
|
||||
"Bring All to Front": "全部置前",
|
||||
"Zoom": "放大",
|
||||
"Stop Speaking": "停止讲话",
|
||||
"Start Speaking": "开始讲话",
|
||||
"Speech": "讲话",
|
||||
"Unhide": "显示",
|
||||
"Hide Others": "隐藏其他",
|
||||
"Hide": "隐藏",
|
||||
"Services": "服务",
|
||||
"About": "关于",
|
||||
"Element Help": "Element 帮助",
|
||||
"Help": "帮助",
|
||||
"Close": "关闭",
|
||||
"Minimize": "最小化",
|
||||
"Window": "窗口",
|
||||
"Toggle Developer Tools": "切换开发者工具",
|
||||
"Toggle Full Screen": "切换全屏",
|
||||
"Preferences": "偏好",
|
||||
"Zoom Out": "缩小",
|
||||
"Zoom In": "放大",
|
||||
"Actual Size": "实际大小",
|
||||
"View": "查看",
|
||||
"Select All": "选中全部",
|
||||
"Delete": "删除",
|
||||
"Paste and Match Style": "粘贴并匹配样式",
|
||||
"Paste": "粘贴",
|
||||
"Copy": "复制",
|
||||
"Cut": "剪切",
|
||||
"Redo": "重做",
|
||||
"Undo": "撤销",
|
||||
"Edit": "编辑",
|
||||
"Quit": "退出",
|
||||
"Show/Hide": "显示/隐藏",
|
||||
"Are you sure you want to quit?": "你确定要退出吗?",
|
||||
"Cancel": "取消",
|
||||
"Copy image address": "复制图片地址",
|
||||
"Close %(brand)s": "关闭 %(brand)s"
|
||||
"action": {
|
||||
"cancel": "取消",
|
||||
"close": "关闭",
|
||||
"close_brand": "关闭 %(brand)s",
|
||||
"copy": "复制",
|
||||
"cut": "剪切",
|
||||
"delete": "删除",
|
||||
"edit": "编辑",
|
||||
"minimise": "最小化",
|
||||
"paste": "粘贴",
|
||||
"paste_match_style": "粘贴并匹配样式",
|
||||
"quit": "退出",
|
||||
"redo": "重做",
|
||||
"select_all": "选中全部",
|
||||
"show_hide": "显示/隐藏",
|
||||
"undo": "撤销",
|
||||
"zoom_in": "放大",
|
||||
"zoom_out": "缩小"
|
||||
},
|
||||
"common": {
|
||||
"about": "关于",
|
||||
"brand_help": "%(brand)s帮助",
|
||||
"help": "帮助",
|
||||
"preferences": "偏好"
|
||||
},
|
||||
"confirm_quit": "你确定要退出吗?",
|
||||
"edit_menu": {
|
||||
"speech": "讲话",
|
||||
"speech_start_speaking": "开始讲话",
|
||||
"speech_stop_speaking": "停止讲话"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "文件"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "隐藏",
|
||||
"hide_others": "隐藏其他",
|
||||
"services": "服务",
|
||||
"unhide": "显示"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "添加到字典",
|
||||
"copy_email": "复制邮箱地址",
|
||||
"copy_image": "复制图片",
|
||||
"copy_image_url": "复制图片地址",
|
||||
"copy_link_url": "复制链接地址",
|
||||
"save_image_as": "保存图片为……",
|
||||
"save_image_as_error_description": "图片保存失败",
|
||||
"save_image_as_error_title": "图片保存失败"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "实际大小",
|
||||
"toggle_developer_tools": "切换开发者工具",
|
||||
"toggle_full_screen": "切换全屏",
|
||||
"view": "查看"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "全部置前",
|
||||
"label": "窗口",
|
||||
"zoom": "放大"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,63 @@
|
||||
{
|
||||
"Bring All to Front": "全部移至最前",
|
||||
"Add to dictionary": "新增到字典",
|
||||
"The image failed to save": "儲存圖片失敗",
|
||||
"Failed to save image": "儲存圖片失敗",
|
||||
"Save image as...": "另存圖片為...",
|
||||
"Copy link address": "複製連結",
|
||||
"Copy email address": "複製電子郵件地址",
|
||||
"Copy image": "複製圖片",
|
||||
"File": "檔案",
|
||||
"Zoom": "縮放",
|
||||
"Stop Speaking": "停止說話",
|
||||
"Start Speaking": "開始說話",
|
||||
"Speech": "語音",
|
||||
"Unhide": "取消隱藏",
|
||||
"Hide Others": "隱藏其他",
|
||||
"Hide": "隱藏",
|
||||
"Services": "服務",
|
||||
"About": "關於",
|
||||
"Element Help": "Element 說明",
|
||||
"Help": "說明",
|
||||
"Close": "關閉",
|
||||
"Minimize": "最小化",
|
||||
"Window": "視窗",
|
||||
"Toggle Developer Tools": "切換開發工具",
|
||||
"Toggle Full Screen": "切換全螢幕",
|
||||
"Preferences": "偏好設定",
|
||||
"Zoom Out": "縮小",
|
||||
"Zoom In": "放大",
|
||||
"Actual Size": "實際大小",
|
||||
"View": "檢視",
|
||||
"Select All": "全選",
|
||||
"Delete": "刪除",
|
||||
"Paste and Match Style": "貼上並保留格式",
|
||||
"Paste": "貼上",
|
||||
"Copy": "複製",
|
||||
"Cut": "剪下",
|
||||
"Redo": "取消復原",
|
||||
"Undo": "復原",
|
||||
"Edit": "編輯",
|
||||
"Quit": "離開",
|
||||
"Show/Hide": "顯示/隱藏",
|
||||
"Are you sure you want to quit?": "您確定要離開嗎?",
|
||||
"Cancel": "取消",
|
||||
"Copy image address": "複製圖片地址",
|
||||
"Close %(brand)s": "關閉 %(brand)s"
|
||||
"action": {
|
||||
"cancel": "取消",
|
||||
"close": "關閉",
|
||||
"close_brand": "關閉 %(brand)s",
|
||||
"copy": "複製",
|
||||
"cut": "剪下",
|
||||
"delete": "刪除",
|
||||
"edit": "編輯",
|
||||
"minimise": "最小化",
|
||||
"paste": "貼上",
|
||||
"paste_match_style": "貼上並保留格式",
|
||||
"quit": "離開",
|
||||
"redo": "取消復原",
|
||||
"select_all": "全選",
|
||||
"show_hide": "顯示/隱藏",
|
||||
"undo": "復原",
|
||||
"zoom_in": "放大",
|
||||
"zoom_out": "縮小"
|
||||
},
|
||||
"common": {
|
||||
"about": "關於",
|
||||
"brand_help": "%(brand)s 說明",
|
||||
"help": "說明",
|
||||
"preferences": "偏好設定"
|
||||
},
|
||||
"confirm_quit": "您確定要離開嗎?",
|
||||
"edit_menu": {
|
||||
"speech": "語音",
|
||||
"speech_start_speaking": "開始說話",
|
||||
"speech_stop_speaking": "停止說話"
|
||||
},
|
||||
"file_menu": {
|
||||
"label": "檔案"
|
||||
},
|
||||
"menu": {
|
||||
"hide": "隱藏",
|
||||
"hide_others": "隱藏其他",
|
||||
"services": "服務",
|
||||
"unhide": "取消隱藏"
|
||||
},
|
||||
"right_click_menu": {
|
||||
"add_to_dictionary": "新增到字典",
|
||||
"copy_email": "複製電子郵件地址",
|
||||
"copy_image": "複製圖片",
|
||||
"copy_image_url": "複製圖片地址",
|
||||
"copy_link_url": "複製連結",
|
||||
"save_image_as": "另存圖片為...",
|
||||
"save_image_as_error_description": "儲存圖片失敗",
|
||||
"save_image_as_error_title": "儲存圖片失敗"
|
||||
},
|
||||
"view_menu": {
|
||||
"actual_size": "實際大小",
|
||||
"toggle_developer_tools": "切換開發工具",
|
||||
"toggle_full_screen": "切換全螢幕",
|
||||
"view": "檢視"
|
||||
},
|
||||
"window_menu": {
|
||||
"bring_all_to_front": "全部移至最前",
|
||||
"label": "視窗",
|
||||
"zoom": "縮放"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import { recordSSOSession } from "./protocol";
|
||||
import { randomArray } from "./utils";
|
||||
import { Settings } from "./settings";
|
||||
import { keytar } from "./keytar";
|
||||
import { getDisplayMediaCallback, setDisplayMediaCallback } from "./displayMediaCallback";
|
||||
|
||||
ipcMain.on("setBadgeCount", function (_ev: IpcMainEvent, count: number): void {
|
||||
if (process.platform !== "win32") {
|
||||
@@ -186,6 +187,11 @@ ipcMain.on("ipcCall", async function (_ev: IpcMainEvent, payload) {
|
||||
thumbnailURL: source.thumbnail.toDataURL(),
|
||||
}));
|
||||
break;
|
||||
case "callDisplayMediaCallback":
|
||||
await getDisplayMediaCallback()?.({ video: args[0] });
|
||||
setDisplayMediaCallback(null);
|
||||
ret = null;
|
||||
break;
|
||||
|
||||
case "clearStorage":
|
||||
global.store.clear();
|
||||
|
||||
@@ -15,23 +15,27 @@ limitations under the License.
|
||||
*/
|
||||
|
||||
import counterpart from "counterpart";
|
||||
import { TranslationKey as TKey } from "matrix-web-i18n";
|
||||
|
||||
import type Store from "electron-store";
|
||||
import type EN from "./i18n/strings/en_EN.json";
|
||||
|
||||
const FALLBACK_LOCALE = "en";
|
||||
|
||||
export function _td(text: string): string {
|
||||
type TranslationKey = TKey<typeof EN>;
|
||||
|
||||
export function _td(text: TranslationKey): TranslationKey {
|
||||
return text;
|
||||
}
|
||||
|
||||
type SubstitutionValue = number | string;
|
||||
|
||||
interface IVariables {
|
||||
interface Variables {
|
||||
[key: string]: SubstitutionValue | undefined;
|
||||
count?: number;
|
||||
}
|
||||
|
||||
export function _t(text: string, variables: IVariables = {}): string {
|
||||
export function _t(text: TranslationKey, variables: Variables = {}): string {
|
||||
const { count } = variables;
|
||||
|
||||
// Horrible hack to avoid https://github.com/vector-im/element-web/issues/4191
|
||||
|
||||
164
src/macos-titlebar.ts
Normal file
164
src/macos-titlebar.ts
Normal file
@@ -0,0 +1,164 @@
|
||||
/*
|
||||
Copyright 2023 New Vector Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserWindow } from "electron";
|
||||
|
||||
export function setupMacosTitleBar(window: BrowserWindow): void {
|
||||
if (process.platform !== "darwin") return;
|
||||
|
||||
let cssKey: string | undefined;
|
||||
|
||||
async function applyStyling(): Promise<void> {
|
||||
cssKey = await window.webContents.insertCSS(`
|
||||
/* Create margin of space for the traffic light buttons */
|
||||
.mx_UserMenu {
|
||||
/* We zero the margin and use padding as we want to use it as a drag handle */
|
||||
margin-top: 0 !important;
|
||||
margin-left: 0 !important;
|
||||
padding-top: 32px !important;
|
||||
padding-left: 20px !important;
|
||||
-webkit-app-region: drag;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
/* Exclude the button from being a drag handle and not working */
|
||||
.mx_UserMenu > * {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
/* Maintain alignment of the toggle space panel button */
|
||||
.mx_SpacePanel_toggleCollapse {
|
||||
/* 19px original top value, 32px margin-top above, 12px original margin-top value */
|
||||
top: calc(19px + 32px - 12px) !important;
|
||||
}
|
||||
/* Prevent the media lightbox sender info from clipping into the traffic light buttons */
|
||||
.mx_ImageView_info_wrapper {
|
||||
margin-top: 32px;
|
||||
}
|
||||
|
||||
/* Mark the splash screen as a drag handle */
|
||||
.mx_MatrixChat_splash {
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
/* Exclude the splash buttons from being drag handles */
|
||||
.mx_MatrixChat_splashButtons {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
/* Mark the background as a drag handle */
|
||||
.mx_AuthPage {
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
/* Exclude the main content elements from being drag handles */
|
||||
.mx_AuthPage .mx_AuthPage_modalBlur,
|
||||
.mx_AuthPage .mx_AuthFooter > * {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
/* Mark the home page background as a drag handle */
|
||||
.mx_HomePage {
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
/* Exclude interactive elements from being drag handles */
|
||||
.mx_HomePage .mx_HomePage_body,
|
||||
.mx_HomePage .mx_HomePage_default_wrapper > * {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
/* Mark the header as a drag handle */
|
||||
.mx_ImageView_panel {
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
/* Exclude header interactive elements from being drag handles */
|
||||
.mx_ImageView_panel > .mx_ImageView_info_wrapper,
|
||||
.mx_ImageView_panel > .mx_ImageView_title,
|
||||
.mx_ImageView_panel > .mx_ImageView_toolbar > * {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
/* Mark the background as a drag handle only if no modal is open */
|
||||
.mx_MatrixChat_wrapper[aria-hidden="false"] .mx_RoomView_wrapper,
|
||||
.mx_MatrixChat_wrapper[aria-hidden="false"] .mx_HomePage {
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
/* Exclude content elements from being drag handles */
|
||||
.mx_SpaceRoomView_landing > *,
|
||||
.mx_RoomPreviewBar,
|
||||
.mx_RoomView_body,
|
||||
.mx_AutoHideScrollbar,
|
||||
.mx_RightPanel_ResizeWrapper,
|
||||
.mx_RoomPreviewCard,
|
||||
.mx_LeftPanel,
|
||||
.mx_RoomView,
|
||||
.mx_SpaceRoomView,
|
||||
.mx_AccessibleButton {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
/* Exclude context menus and their backgrounds */
|
||||
.mx_ContextualMenu, .mx_ContextualMenu_background {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
/* Exclude iframes, such as recaptcha */
|
||||
iframe {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
/* Add a bar above room header + left panel */
|
||||
|
||||
.mx_LeftPanel {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mx_LeftPanel::before {
|
||||
content: "";
|
||||
height: 20px;
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
|
||||
.mx_RoomView::before,
|
||||
.mx_SpaceRoomView::before {
|
||||
content: "";
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
|
||||
.mx_SpaceRoomView::before {
|
||||
display: block;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.mx_RoomView[data-room-header="new"]::before {
|
||||
height: 13px;
|
||||
}
|
||||
|
||||
.mx_RoomView[data-room-header="legacy"]::before {
|
||||
height: 27px;
|
||||
}
|
||||
|
||||
`);
|
||||
}
|
||||
|
||||
window.on("enter-full-screen", () => {
|
||||
if (cssKey !== undefined) {
|
||||
window.webContents.removeInsertedCSS(cssKey);
|
||||
}
|
||||
});
|
||||
window.on("leave-full-screen", () => {
|
||||
applyStyling();
|
||||
});
|
||||
window.webContents.on("did-finish-load", () => {
|
||||
if (!window.isFullScreen()) {
|
||||
applyStyling();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -34,6 +34,7 @@ const CHANNELS = [
|
||||
"update-downloaded",
|
||||
"userDownloadCompleted",
|
||||
"userDownloadAction",
|
||||
"openDesktopCapturerSourcePicker",
|
||||
];
|
||||
|
||||
contextBridge.exposeInMainWorld("electron", {
|
||||
|
||||
39
src/tray.ts
39
src/tray.ts
@@ -15,10 +15,11 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { app, Tray, Menu, nativeImage, NativeImage } from "electron";
|
||||
import { app, Tray, Menu, nativeImage } from "electron";
|
||||
import pngToIco from "png-to-ico";
|
||||
import path from "path";
|
||||
import fs from "fs";
|
||||
import { v5 as uuidv5 } from "uuid";
|
||||
|
||||
import { _t } from "./language-helper";
|
||||
|
||||
@@ -50,10 +51,10 @@ interface IConfig {
|
||||
brand: string;
|
||||
}
|
||||
|
||||
async function convertToIco(img: NativeImage): Promise<NativeImage> {
|
||||
const icoPath = path.join(app.getPath("temp"), "win32_element_icon.ico");
|
||||
fs.writeFileSync(icoPath, await pngToIco(img.toPNG()));
|
||||
return nativeImage.createFromPath(icoPath);
|
||||
function getUuid(): string {
|
||||
// The uuid field is optional and only needed on unsigned Windows packages where the executable path changes
|
||||
// The hardcoded uuid is an arbitrary v4 uuid generated on https://www.uuidgenerator.net/version4
|
||||
return global.vectorConfig["uuid"] || "eba84003-e499-4563-8e9d-166e34b5cc25";
|
||||
}
|
||||
|
||||
export function create(config: IConfig): void {
|
||||
@@ -61,14 +62,24 @@ export function create(config: IConfig): void {
|
||||
if (process.platform === "darwin" || trayIcon) return;
|
||||
const defaultIcon = nativeImage.createFromPath(config.icon_path);
|
||||
|
||||
trayIcon = new Tray(defaultIcon);
|
||||
let guid: string | undefined;
|
||||
if (process.platform === "win32" && app.isPackaged) {
|
||||
// Providing a GUID lets Windows be smarter about maintaining user's tray preferences
|
||||
// https://github.com/electron/electron/pull/21891
|
||||
// Ideally we would only specify it for signed packages but determining whether the app is signed sufficiently
|
||||
// is non-trivial. So instead we have an escape hatch that unsigned packages can iterate the `uuid` in
|
||||
// config.json to prevent Windows refusing GUID-reuse if their executable path changes.
|
||||
guid = uuidv5(`${app.getName()}-${app.getPath("userData")}`, getUuid());
|
||||
}
|
||||
|
||||
trayIcon = new Tray(defaultIcon, guid);
|
||||
trayIcon.setToolTip(config.brand);
|
||||
initApplicationMenu();
|
||||
trayIcon.on("click", toggleWin);
|
||||
|
||||
let lastFavicon: string | null = null;
|
||||
global.mainWindow?.webContents.on("page-favicon-updated", async function (ev, favicons) {
|
||||
if (!favicons?.[0]?.startsWith("data:")) {
|
||||
if (!favicons || favicons.length <= 0 || !favicons[0].startsWith("data:")) {
|
||||
if (lastFavicon !== null) {
|
||||
global.mainWindow?.setIcon(defaultIcon);
|
||||
trayIcon?.setImage(defaultIcon);
|
||||
@@ -86,18 +97,16 @@ export function create(config: IConfig): void {
|
||||
// Windows likes ico's too much.
|
||||
if (process.platform === "win32") {
|
||||
try {
|
||||
newFavicon = await convertToIco(newFavicon);
|
||||
const icoPath = path.join(app.getPath("temp"), "win32_element_icon.ico");
|
||||
fs.writeFileSync(icoPath, await pngToIco(newFavicon.toPNG()));
|
||||
newFavicon = nativeImage.createFromPath(icoPath);
|
||||
} catch (e) {
|
||||
console.error("Failed to make win32 ico", e);
|
||||
}
|
||||
}
|
||||
|
||||
trayIcon?.setImage(newFavicon);
|
||||
|
||||
// Don't set the main window icon on Windows as we call Navigator::setAppBadge to do it for us
|
||||
if (process.platform !== "win32") {
|
||||
global.mainWindow?.setIcon(newFavicon);
|
||||
}
|
||||
global.mainWindow?.setIcon(newFavicon);
|
||||
});
|
||||
|
||||
global.mainWindow?.webContents.on("page-title-updated", function (ev, title) {
|
||||
@@ -112,12 +121,12 @@ export function initApplicationMenu(): void {
|
||||
|
||||
const contextMenu = Menu.buildFromTemplate([
|
||||
{
|
||||
label: _t("Show/Hide"),
|
||||
label: _t("action|show_hide"),
|
||||
click: toggleWin,
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: _t("Quit"),
|
||||
label: _t("action|quit"),
|
||||
click: function (): void {
|
||||
app.quit();
|
||||
},
|
||||
|
||||
@@ -24,46 +24,46 @@ export function buildMenuTemplate(): Menu {
|
||||
// Menu template from http://electron.atom.io/docs/api/menu/, edited
|
||||
const template: Array<MenuItemConstructorOptions | MenuItem> = [
|
||||
{
|
||||
label: _t("Edit"),
|
||||
label: _t("action|edit"),
|
||||
accelerator: "e",
|
||||
submenu: [
|
||||
{
|
||||
role: "undo",
|
||||
label: _t("Undo"),
|
||||
label: _t("action|undo"),
|
||||
},
|
||||
{
|
||||
role: "redo",
|
||||
label: _t("Redo"),
|
||||
label: _t("action|redo"),
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
role: "cut",
|
||||
label: _t("Cut"),
|
||||
label: _t("action|cut"),
|
||||
},
|
||||
{
|
||||
role: "copy",
|
||||
label: _t("Copy"),
|
||||
label: _t("action|copy"),
|
||||
},
|
||||
{
|
||||
role: "paste",
|
||||
label: _t("Paste"),
|
||||
label: _t("action|paste"),
|
||||
},
|
||||
{
|
||||
role: "pasteAndMatchStyle",
|
||||
label: _t("Paste and Match Style"),
|
||||
label: _t("action|paste_match_style"),
|
||||
},
|
||||
{
|
||||
role: "delete",
|
||||
label: _t("Delete"),
|
||||
label: _t("action|delete"),
|
||||
},
|
||||
{
|
||||
role: "selectAll",
|
||||
label: _t("Select All"),
|
||||
label: _t("action|select_all"),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: _t("View"),
|
||||
label: _t("view_menu|view"),
|
||||
accelerator: "V",
|
||||
submenu: [
|
||||
{ type: "separator" },
|
||||
@@ -84,22 +84,22 @@ export function buildMenuTemplate(): Menu {
|
||||
},
|
||||
{
|
||||
role: "resetZoom",
|
||||
label: _t("Actual Size"),
|
||||
label: _t("view_menu|actual_size"),
|
||||
},
|
||||
{
|
||||
role: "zoomIn",
|
||||
label: _t("Zoom In"),
|
||||
label: _t("action|zoom_in"),
|
||||
},
|
||||
{
|
||||
role: "zoomOut",
|
||||
label: _t("Zoom Out"),
|
||||
label: _t("action|zoom_out"),
|
||||
},
|
||||
{ type: "separator" },
|
||||
// in macOS the Preferences menu item goes in the first menu
|
||||
...(!isMac
|
||||
? [
|
||||
{
|
||||
label: _t("Preferences"),
|
||||
label: _t("common|preferences"),
|
||||
click(): void {
|
||||
global.mainWindow?.webContents.send("preferences");
|
||||
},
|
||||
@@ -108,38 +108,39 @@ export function buildMenuTemplate(): Menu {
|
||||
: []),
|
||||
{
|
||||
role: "togglefullscreen",
|
||||
label: _t("Toggle Full Screen"),
|
||||
label: _t("view_menu|toggle_full_screen"),
|
||||
},
|
||||
{
|
||||
role: "toggleDevTools",
|
||||
label: _t("Toggle Developer Tools"),
|
||||
label: _t("view_menu|toggle_developer_tools"),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: _t("Window"),
|
||||
label: _t("window_menu|label"),
|
||||
accelerator: "w",
|
||||
role: "window",
|
||||
submenu: [
|
||||
{
|
||||
role: "minimize",
|
||||
label: _t("Minimize"),
|
||||
label: _t("action|minimise"),
|
||||
},
|
||||
{
|
||||
role: "close",
|
||||
label: _t("Close"),
|
||||
label: _t("action|close"),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: _t("Help"),
|
||||
label: _t("common|help"),
|
||||
accelerator: "h",
|
||||
role: "help",
|
||||
submenu: [
|
||||
{
|
||||
label: _t("Element Help"),
|
||||
// XXX: vectorConfig won't have defaults applied to it so we need to duplicate them here
|
||||
label: _t("common|brand_help", { brand: global.vectorConfig?.brand || "Element" }),
|
||||
click(): void {
|
||||
shell.openExternal("https://element.io/help");
|
||||
shell.openExternal(global.vectorConfig?.help_url || "https://element.io/help");
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -155,11 +156,11 @@ export function buildMenuTemplate(): Menu {
|
||||
submenu: [
|
||||
{
|
||||
role: "about",
|
||||
label: _t("About") + " " + app.name,
|
||||
label: _t("common|about") + " " + app.name,
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: _t("Preferences") + "…",
|
||||
label: _t("common|preferences") + "…",
|
||||
accelerator: "Command+,", // Mac-only accelerator
|
||||
click(): void {
|
||||
global.mainWindow?.webContents.send("preferences");
|
||||
@@ -168,26 +169,26 @@ export function buildMenuTemplate(): Menu {
|
||||
{ type: "separator" },
|
||||
{
|
||||
role: "services",
|
||||
label: _t("Services"),
|
||||
label: _t("menu|services"),
|
||||
submenu: [],
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
role: "hide",
|
||||
label: _t("Hide"),
|
||||
label: _t("menu|hide"),
|
||||
},
|
||||
{
|
||||
role: "hideOthers",
|
||||
label: _t("Hide Others"),
|
||||
label: _t("menu|hide_others"),
|
||||
},
|
||||
{
|
||||
role: "unhide",
|
||||
label: _t("Unhide"),
|
||||
label: _t("menu|unhide"),
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
role: "quit",
|
||||
label: _t("Quit"),
|
||||
label: _t("action|quit"),
|
||||
},
|
||||
],
|
||||
});
|
||||
@@ -196,15 +197,15 @@ export function buildMenuTemplate(): Menu {
|
||||
(template[1].submenu as MenuItemConstructorOptions[]).push(
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: _t("Speech"),
|
||||
label: _t("edit_menu|speech"),
|
||||
submenu: [
|
||||
{
|
||||
role: "startSpeaking",
|
||||
label: _t("Start Speaking"),
|
||||
label: _t("edit_menu|speech_start_speaking"),
|
||||
},
|
||||
{
|
||||
role: "stopSpeaking",
|
||||
label: _t("Stop Speaking"),
|
||||
label: _t("edit_menu|speech_stop_speaking"),
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -214,30 +215,30 @@ export function buildMenuTemplate(): Menu {
|
||||
// This also has specific functionality on macOS
|
||||
template[3].submenu = [
|
||||
{
|
||||
label: _t("Close"),
|
||||
label: _t("action|close"),
|
||||
accelerator: "CmdOrCtrl+W",
|
||||
role: "close",
|
||||
},
|
||||
{
|
||||
label: _t("Minimize"),
|
||||
label: _t("action|minimise"),
|
||||
accelerator: "CmdOrCtrl+M",
|
||||
role: "minimize",
|
||||
},
|
||||
{
|
||||
label: _t("Zoom"),
|
||||
label: _t("window_menu|zoom"),
|
||||
role: "zoom",
|
||||
},
|
||||
{
|
||||
type: "separator",
|
||||
},
|
||||
{
|
||||
label: _t("Bring All to Front"),
|
||||
label: _t("window_menu|bring_all_to_front"),
|
||||
role: "front",
|
||||
},
|
||||
];
|
||||
} else {
|
||||
template.unshift({
|
||||
label: _t("File"),
|
||||
label: _t("file_menu|label"),
|
||||
accelerator: "f",
|
||||
submenu: [
|
||||
// For some reason, 'about' does not seem to work on windows.
|
||||
@@ -247,7 +248,7 @@ export function buildMenuTemplate(): Menu {
|
||||
},*/
|
||||
{
|
||||
role: "quit",
|
||||
label: _t("Quit"),
|
||||
label: _t("action|quit"),
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -28,6 +28,7 @@ import {
|
||||
DownloadItem,
|
||||
MenuItemConstructorOptions,
|
||||
IpcMainEvent,
|
||||
Event,
|
||||
} from "electron";
|
||||
import url from "url";
|
||||
import fs from "fs";
|
||||
@@ -84,8 +85,9 @@ function onLinkContextMenu(ev: Event, params: ContextMenuParams, webContents: We
|
||||
if (url.startsWith("vector://vector/webapp")) {
|
||||
// Avoid showing a context menu for app icons
|
||||
if (params.hasImageContents) return;
|
||||
// Rewrite URL so that it can be used outside of the app
|
||||
url = "https://app.element.io/" + url.substring(23);
|
||||
const baseUrl = vectorConfig.web_base_url ?? "https://app.element.io/";
|
||||
// Rewrite URL so that it can be used outside the app
|
||||
url = baseUrl + url.substring(23);
|
||||
}
|
||||
|
||||
const popupMenu = new Menu();
|
||||
@@ -104,7 +106,7 @@ function onLinkContextMenu(ev: Event, params: ContextMenuParams, webContents: We
|
||||
if (params.hasImageContents) {
|
||||
popupMenu.append(
|
||||
new MenuItem({
|
||||
label: _t("Copy image"),
|
||||
label: _t("right_click_menu|copy_image"),
|
||||
accelerator: "c",
|
||||
click(): void {
|
||||
webContents.copyImageAt(params.x, params.y);
|
||||
@@ -119,7 +121,7 @@ function onLinkContextMenu(ev: Event, params: ContextMenuParams, webContents: We
|
||||
if (url.startsWith(MAILTO_PREFIX)) {
|
||||
popupMenu.append(
|
||||
new MenuItem({
|
||||
label: _t("Copy email address"),
|
||||
label: _t("right_click_menu|copy_email"),
|
||||
accelerator: "a",
|
||||
click(): void {
|
||||
clipboard.writeText(url.substr(MAILTO_PREFIX.length));
|
||||
@@ -129,7 +131,9 @@ function onLinkContextMenu(ev: Event, params: ContextMenuParams, webContents: We
|
||||
} else {
|
||||
popupMenu.append(
|
||||
new MenuItem({
|
||||
label: params.hasImageContents ? _t("Copy image address") : _t("Copy link address"),
|
||||
label: params.hasImageContents
|
||||
? _t("right_click_menu|copy_image_url")
|
||||
: _t("right_click_menu|copy_link_url"),
|
||||
accelerator: "a",
|
||||
click(): void {
|
||||
clipboard.writeText(url);
|
||||
@@ -144,7 +148,7 @@ function onLinkContextMenu(ev: Event, params: ContextMenuParams, webContents: We
|
||||
if (params.hasImageContents && !url.startsWith("blob:")) {
|
||||
popupMenu.append(
|
||||
new MenuItem({
|
||||
label: _t("Save image as..."),
|
||||
label: _t("right_click_menu|save_image_as"),
|
||||
accelerator: "s",
|
||||
async click(): Promise<void> {
|
||||
const targetFileName = params.suggestedFilename || params.altText || "image.png";
|
||||
@@ -167,8 +171,8 @@ function onLinkContextMenu(ev: Event, params: ContextMenuParams, webContents: We
|
||||
console.error(err);
|
||||
dialog.showMessageBox({
|
||||
type: "error",
|
||||
title: _t("Failed to save image"),
|
||||
message: _t("The image failed to save"),
|
||||
title: _t("right_click_menu|save_image_as_error_title"),
|
||||
message: _t("right_click_menu|save_image_as_error_description"),
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -198,7 +202,7 @@ function cutCopyPasteSelectContextMenus(params: ContextMenuParams): MenuItemCons
|
||||
type: "separator",
|
||||
},
|
||||
{
|
||||
label: _t("Add to dictionary"),
|
||||
label: _t("right_click_menu|add_to_dictionary"),
|
||||
click: (menuItem, browserWindow) => {
|
||||
browserWindow?.webContents.session.addWordToSpellCheckerDictionary(params.misspelledWord);
|
||||
},
|
||||
@@ -212,19 +216,19 @@ function cutCopyPasteSelectContextMenus(params: ContextMenuParams): MenuItemCons
|
||||
options.push(
|
||||
{
|
||||
role: "cut",
|
||||
label: _t("Cut"),
|
||||
label: _t("action|cut"),
|
||||
accelerator: "t",
|
||||
enabled: params.editFlags.canCut,
|
||||
},
|
||||
{
|
||||
role: "copy",
|
||||
label: _t("Copy"),
|
||||
label: _t("action|copy"),
|
||||
accelerator: "c",
|
||||
enabled: params.editFlags.canCopy,
|
||||
},
|
||||
{
|
||||
role: "paste",
|
||||
label: _t("Paste"),
|
||||
label: _t("action|paste"),
|
||||
accelerator: "p",
|
||||
enabled: params.editFlags.canPaste,
|
||||
},
|
||||
@@ -234,7 +238,7 @@ function cutCopyPasteSelectContextMenus(params: ContextMenuParams): MenuItemCons
|
||||
},
|
||||
{
|
||||
role: "selectAll",
|
||||
label: _t("Select All"),
|
||||
label: _t("action|select_all"),
|
||||
accelerator: "a",
|
||||
enabled: params.editFlags.canSelectAll,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user