Compare commits

...

49 Commits

Author SHA1 Message Date
RiotRobot
eebea8b839 v1.11.51 2023-12-05 14:26:51 +00:00
RiotRobot
eda328d8fb v1.11.51-rc.0 2023-11-28 17:41:21 +00:00
Johannes Marbach
dc4b04af2d Merge pull request #1347 from vector-im/johannes/release-make 2023-11-24 15:54:40 +01:00
Johannes Marbach
70167d42f4 Adapt to renaming of release-action workflow 2023-11-24 15:33:55 +01:00
Michael Telatynski
268e61ec5a Update build_and_deploy.yaml 2023-11-23 08:21:09 +00:00
Johannes Marbach
b7cc0cf5f2 Merge pull request #1344 from vector-im/johannes/action-validator 2023-11-22 16:36:08 +01:00
Johannes Marbach
b0fa486d97 Set up CI to lint workflows with action-validator 2023-11-22 16:13:47 +01:00
Michael Telatynski
ea22bcf1eb Simplify reprepro using new composite action (#1320) 2023-11-22 08:31:25 +00:00
Michael Telatynski
06df6e97fe Update CHANGELOG.md 2023-11-21 12:32:28 +00:00
RiotRobot
41ce1c4ceb Merge branch 'master' into develop 2023-11-21 11:49:47 +00:00
RiotRobot
9a7ac5166e Merge branch 'staging' 2023-11-21 11:49:08 +00:00
RiotRobot
6ef4c62fb1 v1.11.50 2023-11-21 11:49:03 +00:00
Michael Telatynski
de59ed995a Update release-gitflow.yml 2023-11-21 11:35:12 +00:00
Michael Telatynski
699282c34a Add documentation around releases (#1341) 2023-11-21 08:38:14 +00:00
ElementRobot
be2639aeb8 Merge pull request #1340 from vector-im/actions/localazy-download
Localazy Download
2023-11-17 07:25:06 +01:00
t3chguy
0ad43a64f5 [create-pull-request] automated change 2023-11-17 06:05:17 +00:00
Michael Telatynski
95186da047 Run Localazy Download on a schedule 3 times a week instead of during release process (#1326) 2023-11-16 09:48:10 +00:00
renovate[bot]
376efe46cc Update dependency @types/jest to v29.5.8 (#1335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-15 23:12:03 +00:00
renovate[bot]
07cbe8f033 Update all non-major dependencies (#1332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-15 23:09:07 +00:00
renovate[bot]
9c762b9ec0 Update babel monorepo to v7.23.3 (#1333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-15 23:06:16 +00:00
renovate[bot]
8b7a39155f Update dependency app-builder-lib to v24.8.1 (#1336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 22:34:54 +00:00
renovate[bot]
da46964e69 Update tj-actions/changed-files digest to 25ef392 (#1331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-15 22:27:28 +00:00
RiotRobot
509c0c5678 v1.11.50-rc.1 2023-11-14 16:57:06 +00:00
RiotRobot
cdf3ce8fd6 v1.11.50-rc.0 2023-11-14 16:29:15 +00:00
Michael Telatynski
421919d146 Explicitly specify secrets
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-11-14 16:27:31 +01:00
Michael Telatynski
473e8068dc Update release-drafter.yml 2023-11-14 14:43:43 +00:00
Michael Telatynski
7c65dbf549 New release automations (#1318) 2023-11-14 10:54:42 +00:00
Michael Telatynski
7bf2fbb0ac Update build_macos.yaml 2023-11-13 12:09:18 +00:00
Michael Telatynski
b4d90bafae Update build_macos.yaml 2023-11-13 12:04:39 +00:00
Michael Telatynski
b2b7bcb5af Workaround for macos-latest switching to Python 3.12 (#1328) 2023-11-13 12:03:37 +00:00
ElementRobot
7e10269009 Merge branch 'master' into develop 2023-11-13 10:38:10 +00:00
Michael Telatynski
24dc38d99d Remove unused dependency (#1323) 2023-11-13 09:44:09 +00:00
Michael Telatynski
53902c0fd6 Update CODEOWNERS 2023-11-13 09:20:52 +00:00
ElementRobot
b8e0e26a30 Merge branch 'master' into develop 2023-11-07 15:31:08 +00:00
Johannes Marbach
572b3b6b05 Merge pull request #1312 from vector-im/Johennes-patch-1 2023-11-07 10:48:43 +01:00
Johannes Marbach
afe8956123 Inherit secrets 2023-11-07 09:40:04 +01:00
Johannes Marbach
655af71613 Forward ELEMENT_BOT_TOKEN when calling workflow 2023-11-06 15:54:28 +01:00
Johannes Marbach
cb3cb91c2b Merge pull request #1295 from vector-im/Johennes-patch-1 2023-11-06 14:56:01 +01:00
Johannes Marbach
8b363f300f Merge branch 'develop' into Johennes-patch-1 2023-11-06 14:22:45 +01:00
Johannes Marbach
4a7258cc87 Call workflow from element-web 2023-11-06 14:14:19 +01:00
renovate[bot]
7214c7e48e Update definitelyTyped (#1300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 09:28:10 +00:00
renovate[bot]
cc6e1fefae Update dependency app-builder-lib to v24.8.0 (#1303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 08:38:46 +00:00
renovate[bot]
e4f60fce10 Update docker (#1298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 08:36:54 +00:00
renovate[bot]
0cc6e2aeb1 Update all non-major dependencies (#1302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 08:36:48 +00:00
renovate[bot]
d3c5c736f8 Update tj-actions/changed-files digest to 4052680 (#1299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 08:34:40 +00:00
renovate[bot]
a8deae3950 Update tj-actions/changed-files action to v40 (#1306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-10-31 18:56:25 +00:00
renovate[bot]
06200aa663 Update dependency eslint-plugin-unicorn to v49 (#1305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 18:40:08 +00:00
renovate[bot]
fefc92d513 Update dependency @types/jest to v29.5.6 (#1301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 18:20:03 +00:00
Johannes Marbach
51dda630d1 Create triage-labelled.yml
This copies https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml as I believe we want the same label automation in both repositories.
2023-10-27 16:24:30 +02:00
22 changed files with 4925 additions and 4583 deletions

1
.github/CODEOWNERS vendored
View File

@@ -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
View File

@@ -0,0 +1 @@
_extends: vector-im/element-web

View File

@@ -108,8 +108,6 @@ jobs:
sqlcipher: static
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
@@ -130,9 +128,6 @@ jobs:
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: packages.element.io
path: packages.element.io
- name: Deploy artifacts
run: |
@@ -150,23 +145,31 @@ jobs:
repository: vector-im/packages.element.io
event-type: packages-index
reprepro:
needs:
- linux
# We queue this after the other deploy stage as we want to abort if that fails
- deploy
name: Run reprepro ${{ matrix.arch }}
strategy:
matrix:
arch: [amd64, arm64]
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:
artifact-name: linux-${{ matrix.arch }}-sqlcipher-system
- name: Find debs
id: deb
if: needs.linux.result == 'success'
run: |
for arch in amd64 arm64
do
echo "$arch=$(ls linux-$arch-sqlcipher-system/*.deb | tail -n1)" >> $GITHUB_OUTPUT
done
- name: Publish amd64 deb to packages.element.io
uses: vector-im/packages.element.io@master
if: needs.linux.result == 'success'
with:
file: ${{ steps.deb.outputs.amd64 }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
bucket-api: ${{ vars.CF_R2_S3_API }}
bucket-key-id: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
bucket-access-key: ${{ secrets.CF_R2_TOKEN }}
- name: Publish arm64 deb to packages.element.io
uses: vector-im/packages.element.io@master
if: needs.linux.result == 'success'
with:
file: ${{ steps.deb.outputs.arm64 }}
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
bucket-api: ${{ vars.CF_R2_S3_API }}
bucket-key-id: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
bucket-access-key: ${{ secrets.CF_R2_TOKEN }}

View File

@@ -41,13 +41,13 @@ jobs:
- name: "Get modified files"
id: changed_files
uses: tj-actions/changed-files@95690f9ece77c1740f4a55b7f1de9023ed6b1f87 # v39
uses: tj-actions/changed-files@25ef3926d147cd02fc7e931c1ef50772bbb0d25d # v40
with:
files: |
dockerbuild/*
dockerbuild/**
- name: Log in to the Container registry
if: steps.changed_files.outputs.any_modified == 'true'
uses: docker/login-action@b4bedf8053341df3b5a9f9e0f2cf4e79e27360c6
uses: docker/login-action@1f401f745bf57e30b3a2800ad308a87d2ebdf14b
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}

View File

@@ -67,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

View File

@@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@b4bedf8053341df3b5a9f9e0f2cf4e79e27360c6
uses: docker/login-action@1f401f745bf57e30b3a2800ad308a87d2ebdf14b
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
@@ -28,7 +28,7 @@ jobs:
- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@879dcbb708d40f8b8679d4f7941b938a086e23a7
uses: docker/metadata-action@62339db73c56dd749060f65a6ebb93a6e056b755
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |

View File

@@ -1,6 +1,8 @@
name: Localazy Download
on:
workflow_dispatch: {}
schedule:
- cron: "0 6 * * 1,3,5" # Every Monday, Wednesday and Friday at 6am UTC
jobs:
download:
uses: matrix-org/matrix-web-i18n/.github/workflows/localazy_download.yaml@main

21
.github/workflows/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,21 @@
name: Release Drafter
on:
push:
branches: [staging]
workflow_dispatch:
inputs:
previous-version:
description: What release to use as a base for release note purposes
required: false
type: string
concurrency: ${{ github.workflow }}
jobs:
draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@e64b19c4c46173209ed9f2e5a2f4ca7de89a0e86 # v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
disable-autolabeler: true
previous-version: ${{ inputs.previous-version }}

11
.github/workflows/release-gitflow.yml vendored Normal file
View 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 }}

25
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
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-make.yml@develop
secrets:
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
with:
final: ${{ inputs.mode == 'final' }}
include-changes: vector-im/element-web@$VERSION
gpg-fingerprint: ${{ vars.GPG_FINGERPRINT }}
expected-asset-count: 1

View File

@@ -1,49 +0,0 @@
on:
workflow_call:
inputs:
artifact-name:
type: string
required: true
description: "The name of the artifact containing the deb to include"
secrets:
ELEMENT_BOT_TOKEN:
required: true
CF_R2_ACCESS_KEY_ID:
required: true
CF_R2_TOKEN:
required: true
# Protect reprepro database using concurrency
concurrency: reprepro
jobs:
reprepro:
name: Deploy debian package
environment: packages.element.io
runs-on: ubuntu-latest
env:
R2_INCOMING_BUCKET: ${{ vars.R2_INCOMING_BUCKET }}
R2_URL: ${{ vars.CF_R2_S3_API }}
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: ${{ inputs.artifact-name }}
path: dist
- name: Upload incoming deb
id: upload
run: |
deb="$(ls *.deb | tail -n1)"
echo "incoming=$deb" >> $GITHUB_OUTPUT
aws s3 cp "$deb" "s3://$R2_INCOMING_BUCKET" --endpoint-url "$R2_URL" --region auto
working-directory: dist
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
- name: Notify packages.element.io of incoming deb
uses: peter-evans/repository-dispatch@bf47d102fdb849e755b0b0023ea3e81a44b6f570 # v2
with:
token: ${{ secrets.ELEMENT_BOT_TOKEN }}
repository: vector-im/packages.element.io
event-type: reprepro-incoming
client-payload: '{"incoming": "${{ steps.upload.outputs.incoming }}"}'

View File

@@ -41,3 +41,20 @@ jobs:
- name: Run Linter
run: "yarn run lint:js"
workflow_lint:
name: "Workflow Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: "yarn"
# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install --frozen-lockfile"
- name: Run Linter
run: "yarn lint:workflows"

10
.github/workflows/triage-labelled.yml vendored Normal file
View 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

View File

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,7 @@
# Distribution
- [Updates](updates.md)
- [Packaging](packaging.md)
# Setup

60
docs/packaging.md Normal file
View File

@@ -0,0 +1,60 @@
## Packaging nightlies
Element Desktop nightly builds are build automatically by the [Github Actions workflow](https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml).
The schedule is currently set for once a day at 9am UTC. It will deploy to packages.element.io upon completion.
## Triggering a manual nightly build
Simply go to https://github.com/vector-im/element-desktop/actions/workflows/build_and_deploy.yaml
1. Click `Run workflow`
1. Feel free to make changes to the checkboxes depending on the circumstances
1. Click the green `Run workflow`
## Packaging releases
**Don't do this for RCs! We don't build Element Desktop for RCs.**
For releasing Element Desktop, we assume the following prerequisites:
- a tag of `element-desktop` repo with the Element Desktop version to be released set in `package.json`.
- an Element Web tarball published to GitHub with a matching version number.
**Both of these are done automatically when you run the release automation.**
Once those are ready, the **manual** release build can be manually invoked using https://github.com/vector-im/element-desktop/actions/workflows/build_and_deploy.yaml
1. Click `Run workflow`
1. Specify the `master` branch
1. Switch type to release
1. Click the green `Run workflow`
### More detail on the github actions
We moved to Github Actions for the following reasons:
1. Removing single point of failure
2. Improving reliability
3. Unblocking the packaging on a single individual
4. Improving parallelism
The Windows builds are signed by SSL.com using their Cloud Key Adapter for eSigner.
This allows us to use Microsoft's signtool to interface with eSigner and send them a hash of the exe along with
credentials in exchange for a signed certificate which we attach onto all the relevant files.
The Apple builds are signed using standard code signing means and then notarised to appease GateKeeper.
The Linux builds are distributed via a signed reprepro repository.
The packages.element.io site is a public Cloudflare R2 bucket which is deployed to solely from Github Actions.
The main bucket in R2 is `packages-element-io` which is a direct mapping of packages.element.io,
we have a workflow which generates the index.html files there to imitate a public index which Cloudflare does not currently support.
The reprepro database lives in `packages-element-io-db`.
There is an additional pair of buckets of same name but appended with `-test` which can be used for testing,
these land on https://packages-element-io-test.element.io/.
### Debian/Ubuntu Distributions
We used to add a new distribution to match each Debian and Ubuntu release. As of April 2020, we have created a `default` distribution that everyone can use (since the packages have never differed by distribution anyway).
The distribution configuration lives in https://github.com/vector-im/packages.element.io/blob/master/debian/conf/distributions as a canonical source.

View File

@@ -2,7 +2,7 @@
"name": "element-desktop",
"productName": "Element",
"main": "lib/electron-main.js",
"version": "1.11.49",
"version": "1.11.51",
"description": "A feature-rich client for Matrix.org",
"author": "Element",
"homepage": "https://element.io",
@@ -24,7 +24,7 @@
"fetch": "yarn run mkdirs && ts-node scripts/fetch-package.ts",
"asar-webapp": "asar p webapp webapp.asar",
"start": "yarn run build:ts && yarn run build:res && electron .",
"lint": "yarn lint:types && yarn lint:js",
"lint": "yarn lint:types && yarn lint:js && yarn lint:workflows",
"lint:js": "yarn lint:js:src && yarn lint:js:test && yarn lint:js:scripts && yarn lint:js:hak",
"lint:js:src": "eslint --max-warnings 0 src",
"lint:js:test": "eslint --max-warnings 0 --config .eslintrc-test.js test",
@@ -40,6 +40,7 @@
"lint:types:test": "tsc --noEmit -p test/tsconfig.json",
"lint:types:scripts": "tsc --noEmit -p scripts/tsconfig.json",
"lint:types:hak": "tsc --noEmit -p hak/tsconfig.json",
"lint:workflows": "find .github/workflows -type f \\( -iname '*.yaml' -o -iname '*.yml' \\) | xargs -I {} sh -c 'echo \"Linting {}\"; action-validator \"{}\"'",
"build:native": "yarn run hak",
"build:native:universal": "yarn run hak --target x86_64-apple-darwin fetchandbuild && yarn run hak --target aarch64-apple-darwin fetchandbuild && yarn run hak --target x86_64-apple-darwin --target aarch64-apple-darwin copyandlink",
"build:32": "yarn run build:ts && yarn run build:res && electron-builder --ia32",
@@ -69,11 +70,12 @@
"uuid": "^9.0.0"
},
"devDependencies": {
"@action-validator/cli": "^0.5.3",
"@action-validator/core": "^0.5.3",
"@babel/core": "^7.18.10",
"@babel/preset-env": "^7.18.10",
"@babel/preset-typescript": "^7.18.6",
"@electron/asar": "^3.2.3",
"@electron/notarize": "^2.0.0",
"@types/auto-launch": "^5.0.1",
"@types/counterpart": "^0.18.1",
"@types/detect-libc": "^1.0.0",
@@ -87,20 +89,20 @@
"@typescript-eslint/eslint-plugin": "^5.42.0",
"@typescript-eslint/parser": "^5.42.0",
"allchange": "^1.0.6",
"app-builder-lib": "24.7.0",
"app-builder-lib": "24.8.1",
"babel-jest": "^29.0.0",
"chokidar": "^3.5.2",
"detect-libc": "^1.0.3",
"electron": "^27.0.0",
"electron-builder": "24.6.4",
"electron-builder-squirrel-windows": "24.7.0",
"electron-builder-squirrel-windows": "24.8.1",
"electron-devtools-installer": "^3.2.0",
"eslint": "^8.26.0",
"eslint-config-google": "^0.14.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-matrix-org": "^1.0.0",
"eslint-plugin-unicorn": "^48.0.0",
"eslint-plugin-unicorn": "^49.0.0",
"expect-playwright": "^0.8.0",
"find-npm-prefix": "^1.0.2",
"fs-extra": "^11.0.0",
@@ -123,7 +125,7 @@
"keytar": "^7.9.0"
},
"resolutions": {
"@types/node": "16.18.52"
"@types/node": "16.18.59"
},
"build": {
"appId": "im.riot.app",

View File

@@ -36,6 +36,7 @@
"menu": {
"hide": "Masquer",
"hide_others": "Masquer les autres",
"services": "Services",
"unhide": "Dé-masquer"
},
"right_click_menu": {
@@ -56,6 +57,7 @@
},
"window_menu": {
"bring_all_to_front": "Tout amener au premier plan",
"label": "Fenêtre"
"label": "Fenêtre",
"zoom": "Zoom"
}
}

View File

@@ -20,6 +20,7 @@
},
"common": {
"about": "Névjegy",
"brand_help": "%(brand)s Súgó",
"help": "Segítség",
"preferences": "Beállítások"
},

View File

@@ -30,6 +30,9 @@
"speech_start_speaking": "Inizia a parlare",
"speech_stop_speaking": "Smetti di parlare"
},
"file_menu": {
"label": "File"
},
"menu": {
"hide": "Nascondi",
"hide_others": "Nascondi gli altri",

View File

@@ -6,7 +6,7 @@
"copy": "Kopijuoti",
"cut": "Iškirpti",
"delete": "Ištrinti",
"edit": "Redaguoti",
"edit": "Koreguoti",
"minimise": "Sumažinti",
"paste": "Įklijuoti",
"paste_match_style": "Įklijuoti ir suderinti stilių",
@@ -52,7 +52,7 @@
"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"
"view": "Žiūrėti"
},
"window_menu": {
"bring_all_to_front": "Viską iškelti į priekį",

1449
yarn.lock
View File

File diff suppressed because it is too large Load Diff