mirror of
https://github.com/zadam/trilium.git
synced 2025-11-01 10:55:55 +01:00
Compare commits
63 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21f8a29761 | ||
|
|
f38870b27d | ||
|
|
56a6d27240 | ||
|
|
38e5ef2c7d | ||
|
|
e29d600517 | ||
|
|
42605fbbad | ||
|
|
11ca427a28 | ||
|
|
28d8088763 | ||
|
|
664c4789c0 | ||
|
|
7c5667b457 | ||
|
|
0afd22e196 | ||
|
|
b3abee71b7 | ||
|
|
9bd5596b2a | ||
|
|
e0e3c15e6e | ||
|
|
31396264fa | ||
|
|
b1aada22b5 | ||
|
|
d7eaf72a6d | ||
|
|
59df442676 | ||
|
|
9770db7f3c | ||
|
|
8c36cea71b | ||
|
|
b03f40f1f9 | ||
|
|
00dba7bef4 | ||
|
|
4186f3d136 | ||
|
|
529502524d | ||
|
|
7c518e9512 | ||
|
|
5e2d1bc124 | ||
|
|
7dfe6f276e | ||
|
|
858db68d66 | ||
|
|
b72f46f108 | ||
|
|
83dbe0539e | ||
|
|
87e0cf55f1 | ||
|
|
8315d5c778 | ||
|
|
61bd7dca18 | ||
|
|
4faf27364f | ||
|
|
52a6d0b48a | ||
|
|
cddc9a7b6a | ||
|
|
75d019863f | ||
|
|
849a6a3aef | ||
|
|
e7378306a2 | ||
|
|
1277dfc5d5 | ||
|
|
ae680847dc | ||
|
|
a5fd57308a | ||
|
|
fa769df7b0 | ||
|
|
8136a2972e | ||
|
|
8c8c3974f3 | ||
|
|
e81bfa3693 | ||
|
|
a857f4816f | ||
|
|
ade34f9745 | ||
|
|
fd66cb930d | ||
|
|
182d9afac1 | ||
|
|
4e6ef0be95 | ||
|
|
88961ea93f | ||
|
|
a3f2946a17 | ||
|
|
8ae5f9ea9b | ||
|
|
9ec2508f09 | ||
|
|
bae63b08a2 | ||
|
|
729a188528 | ||
|
|
2c5a5acffa | ||
|
|
e45c5f429d | ||
|
|
5c44ac5ad8 | ||
|
|
b44c2f5ebf | ||
|
|
0a69189b9b | ||
|
|
d46963e496 |
12
.github/workflows/main-docker.yml
vendored
12
.github/workflows/main-docker.yml
vendored
@@ -242,6 +242,18 @@ jobs:
|
||||
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
|
||||
-t ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${REF_NAME} \
|
||||
$(printf '${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)
|
||||
|
||||
# If the ref is a tag, also tag the image as stable as this is part of a 'release'
|
||||
# and only go in the `if` if there is NOT a `-` in the tag's name, due to tagging of `-alpha`, `-beta`, etc...
|
||||
if [[ "${GITHUB_REF}" == refs/tags/* && ! "${REF_NAME}" =~ - ]]; then
|
||||
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
|
||||
-t ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:stable \
|
||||
$(printf '${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)
|
||||
|
||||
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
|
||||
-t ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:stable \
|
||||
$(printf '${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)
|
||||
fi
|
||||
|
||||
- name: Inspect image
|
||||
run: |
|
||||
|
||||
22
.github/workflows/nightly.yml
vendored
22
.github/workflows/nightly.yml
vendored
@@ -5,10 +5,14 @@ on:
|
||||
- cron: '0 2 * * *' # run at 2 AM UTC
|
||||
# This can be used to allow manually triggering nightlies from the web interface
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
GITHUB_UPLOAD_URL: https://uploads.github.com/repos/TriliumNext/Notes/releases/179589950/assets{?name,label}
|
||||
GITHUB_RELEASE_ID: 179589950
|
||||
permissions:
|
||||
contents: write
|
||||
jobs:
|
||||
nightly-electron:
|
||||
name: Deploy nightly
|
||||
name: Deploy nightly
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -23,7 +27,7 @@ jobs:
|
||||
- name: windows
|
||||
image: windows-latest
|
||||
extension: exe
|
||||
runs-on: ${{ matrix.os.image }}
|
||||
runs-on: ${{ matrix.os.image }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up node & dependencies
|
||||
@@ -71,16 +75,16 @@ jobs:
|
||||
- name: Deploy release
|
||||
uses: WebFreak001/deploy-nightly@v3.1.0
|
||||
with:
|
||||
# upload_url: # find out this value by opening https://api.github.com/repos/<owner>/<repo>/releases in your browser and copy the full "upload_url" value including the {?name,label} part
|
||||
# release_id: # same as above (id can just be taken out the upload_url, it's used to find old releases)
|
||||
upload_url: ${{ env.GITHUB_UPLOAD_URL }}
|
||||
release_id: ${{ env.GITHUB_RELEASE_ID }}
|
||||
asset_path: upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.zip # path to archive to upload
|
||||
asset_name: TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-nightly.zip # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
|
||||
asset_content_type: application/zip # required by GitHub API
|
||||
- name: Deploy installer release
|
||||
uses: WebFreak001/deploy-nightly@v3.1.0
|
||||
with:
|
||||
# upload_url: # find out this value by opening https://api.github.com/repos/<owner>/<repo>/releases in your browser and copy the full "upload_url" value including the {?name,label} part
|
||||
# release_id: # same as above (id can just be taken out the upload_url, it's used to find old releases)
|
||||
upload_url: ${{ env.GITHUB_UPLOAD_URL }}
|
||||
release_id: ${{ env.GITHUB_RELEASE_ID }}
|
||||
asset_path: upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.${{ matrix.os.extension }} # path to archive to upload
|
||||
asset_name: TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-nightly.${{ matrix.os.extension }} # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
|
||||
asset_content_type: application/zip # required by GitHub API
|
||||
@@ -115,8 +119,8 @@ jobs:
|
||||
- name: Deploy release
|
||||
uses: WebFreak001/deploy-nightly@v3.1.0
|
||||
with:
|
||||
# upload_url: # find out this value by opening https://api.github.com/repos/<owner>/<repo>/releases in your browser and copy the full "upload_url" value including the {?name,label} part
|
||||
# release_id: # same as above (id can just be taken out the upload_url, it's used to find old releases)
|
||||
upload_url: ${{ env.GITHUB_UPLOAD_URL }}
|
||||
release_id: ${{ env.GITHUB_RELEASE_ID }}
|
||||
asset_path: upload/TriliumNextNotes-linux-x64-${{ github.ref_name }}.tar.xz # path to archive to upload
|
||||
asset_name: TriliumNextNotes-linux-x64-nightly.zip # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
|
||||
asset_content_type: application/zip # required by GitHub API
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,6 +5,7 @@ build/
|
||||
src/public/app-dist/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
po-*/
|
||||
|
||||
*.db
|
||||
!integration-tests/db/document.db
|
||||
|
||||
13
.vscode/i18n-ally-reviews.yml
vendored
13
.vscode/i18n-ally-reviews.yml
vendored
@@ -5,3 +5,16 @@ reviews:
|
||||
description: >-
|
||||
Describes the shortcut which triggers a search within the current
|
||||
page/note only
|
||||
add_label.to_value:
|
||||
locales:
|
||||
fr:
|
||||
comments:
|
||||
- user:
|
||||
name: Potjoe-97
|
||||
email: giann@LAPTOPT490-GF
|
||||
id: QXec0JUoxfGmMlpch-B1S
|
||||
comment: ''
|
||||
suggestion: vers la valeur
|
||||
type: request_change
|
||||
time: '2024-10-15T16:57:06.188Z'
|
||||
resolved: true
|
||||
|
||||
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -18,4 +18,7 @@
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "vscode.typescript-language-features"
|
||||
},
|
||||
"github-actions.workflows.pinned.workflows": [
|
||||
".github/workflows/nightly.yml"
|
||||
],
|
||||
}
|
||||
|
||||
@@ -24,11 +24,12 @@ rm -r $PKG_DIR/node/include/node
|
||||
rm -r $PKG_DIR/node_modules/electron*
|
||||
rm -r $PKG_DIR/electron*.js
|
||||
|
||||
printf "#!/bin/sh\n./node/bin/node src/www" > $PKG_DIR/trilium.sh
|
||||
printf "#!/bin/sh\n./node/bin/node src/main" > $PKG_DIR/trilium.sh
|
||||
chmod 755 $PKG_DIR/trilium.sh
|
||||
|
||||
cp bin/tpl/anonymize-database.sql $PKG_DIR/
|
||||
|
||||
cp -r translations $PKG_DIR/
|
||||
cp -r dump-db $PKG_DIR/
|
||||
rm -rf $PKG_DIR/dump-db/node_modules
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ const copy = async () => {
|
||||
await fs.copy(file, path.join(DEST_DIR, file));
|
||||
}
|
||||
|
||||
const dirsToCopy = ["images", "libraries", "db"];
|
||||
const dirsToCopy = ["images", "libraries", "translations", "db"];
|
||||
for (const dir of dirsToCopy) {
|
||||
log(`Copying ${dir}`);
|
||||
await fs.copy(dir, path.join(DEST_DIR, dir));
|
||||
|
||||
98
bin/translation.sh
Executable file
98
bin/translation.sh
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# --------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Create PO files to make easier the labor of translation.
|
||||
#
|
||||
# Info:
|
||||
# https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
|
||||
# https://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/json2po.html
|
||||
#
|
||||
# Dependencies:
|
||||
# jq
|
||||
# translate-toolkit
|
||||
# python-wcwidth
|
||||
#
|
||||
# Created by @hasecilu
|
||||
#
|
||||
# --------------------------------------------------------------------------------------------------
|
||||
|
||||
stats() {
|
||||
# Print the number of existing strings on the JSON files for each locale
|
||||
s=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[0]}/en/server.json" | wc -l)
|
||||
c=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[1]}/en/translation.json" | wc -l)
|
||||
echo "|locale |server strings |client strings |"
|
||||
echo "|-------|---------------|---------------|"
|
||||
echo "| en | ${s} | ${c} |"
|
||||
for locale in "${locales[@]}"; do
|
||||
s=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[0]}/${locale}/server.json" | wc -l)
|
||||
c=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[1]}/${locale}/translation.json" | wc -l)
|
||||
echo "| ${locale} | ${s} | ${c} |"
|
||||
done
|
||||
}
|
||||
|
||||
help() {
|
||||
echo -e "\nDescription:"
|
||||
echo -e "\tCreate PO files to make easier the labor of translation"
|
||||
echo -e "\nUsage:"
|
||||
echo -e "\t./translation.sh [--stats] [--update <OPT_LOCALE>] [--update2 <OPT_LOCALE>]"
|
||||
echo -e "\nFlags:"
|
||||
echo -e " --clear\n\tClear all po-* directories"
|
||||
echo -e " --stats\n\tPrint the number of existing strings on the JSON files for each locale"
|
||||
echo -e " --update <LOCALE>\n\tUpdate PO files from English and localized JSON files as source"
|
||||
echo -e " --update2 <LOCALE>\n\tRecover translation from PO files to localized JSON files"
|
||||
}
|
||||
|
||||
# Main function ------------------------------------------------------------------------------------
|
||||
|
||||
# Get script directory to set file path relative to it
|
||||
file_path="$(
|
||||
cd -- "$(dirname "${0}")" >/dev/null 2>&1 || exit
|
||||
pwd -P
|
||||
)"
|
||||
paths=("${file_path}/../translations/" "${file_path}/../src/public/translations/")
|
||||
locales=(cn es fr ro)
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
if [ "$1" == "--clear" ]; then
|
||||
for path in "${paths[@]}"; do
|
||||
for locale in "${locales[@]}"; do
|
||||
[ -d "${path}/po-${locale}" ] && rm -r "${path}/po-${locale}"
|
||||
done
|
||||
done
|
||||
elif [ "$1" == "--stats" ]; then
|
||||
stats
|
||||
elif [ "$1" == "--update" ]; then
|
||||
# Update PO files from English and localized JSON files as source
|
||||
for path in "${paths[@]}"; do
|
||||
for locale in "${locales[@]}"; do
|
||||
json2po -t "${path}/en" "${path}/${locale}" "${path}/po-${locale}"
|
||||
done
|
||||
done
|
||||
elif [ "$1" == "--update2" ]; then
|
||||
# Recover translation from PO files to localized JSON files
|
||||
for path in "${paths[@]}"; do
|
||||
for locale in "${locales[@]}"; do
|
||||
po2json -t "${path}/en" "${path}/po-${locale}" "${path}/${locale}"
|
||||
done
|
||||
done
|
||||
else
|
||||
help
|
||||
fi
|
||||
elif [ $# -eq 2 ]; then
|
||||
if [ "$1" == "--update" ]; then
|
||||
locale="$2"
|
||||
for path in "${paths[@]}"; do
|
||||
json2po -t "${path}/en" "${path}/${locale}" "${path}/po-${locale}"
|
||||
done
|
||||
elif [ "$1" == "--update2" ]; then
|
||||
locale="$2"
|
||||
for path in "${paths[@]}"; do
|
||||
po2json -t "${path}/en" "${path}/po-${locale}" "${path}/${locale}"
|
||||
done
|
||||
else
|
||||
help
|
||||
fi
|
||||
else
|
||||
help
|
||||
fi
|
||||
@@ -10,7 +10,13 @@ module.exports = {
|
||||
overwrite: true,
|
||||
asar: true,
|
||||
icon: "./images/app-icons/icon",
|
||||
extraResource: getExtraResourcesForPlatform(),
|
||||
extraResource: [
|
||||
// Moved to root
|
||||
...getExtraResourcesForPlatform(),
|
||||
|
||||
// Moved to resources (TriliumNext Notes.app/Contents/Resources on macOS)
|
||||
"translations/"
|
||||
],
|
||||
afterComplete: [(buildPath, _electronVersion, platform, _arch, callback) => {
|
||||
const extraResources = getExtraResourcesForPlatform();
|
||||
for (const resource of extraResources) {
|
||||
@@ -75,7 +81,10 @@ module.exports = {
|
||||
|
||||
|
||||
function getExtraResourcesForPlatform() {
|
||||
let resources = ['dump-db/', './bin/tpl/anonymize-database.sql']
|
||||
let resources = [
|
||||
'dump-db/',
|
||||
'./bin/tpl/anonymize-database.sql'
|
||||
];
|
||||
const scripts = ['trilium-portable', 'trilium-safe-mode', 'trilium-no-cert-check']
|
||||
switch (process.platform) {
|
||||
case 'win32':
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
368
package-lock.json
generated
368
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "trilium",
|
||||
"version": "0.90.6-beta",
|
||||
"version": "0.90.8",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "trilium",
|
||||
"version": "0.90.6-beta",
|
||||
"version": "0.90.8",
|
||||
"license": "AGPL-3.0-only",
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "7.1.0",
|
||||
@@ -21,7 +21,7 @@
|
||||
"boxicons": "2.1.4",
|
||||
"chokidar": "3.6.0",
|
||||
"cls-hooked": "4.2.2",
|
||||
"codemirror": "5.65.17",
|
||||
"codemirror": "5.65.18",
|
||||
"compression": "1.7.4",
|
||||
"cookie-parser": "1.4.6",
|
||||
"csurf": "1.11.0",
|
||||
@@ -46,9 +46,9 @@
|
||||
"html2plaintext": "2.1.4",
|
||||
"http-proxy-agent": "7.0.2",
|
||||
"https-proxy-agent": "7.0.5",
|
||||
"i18next": "23.15.1",
|
||||
"i18next": "23.16.0",
|
||||
"i18next-fs-backend": "2.3.2",
|
||||
"i18next-http-backend": "2.6.1",
|
||||
"i18next-http-backend": "2.6.2",
|
||||
"image-type": "4.1.0",
|
||||
"ini": "5.0.0",
|
||||
"is-animated": "2.0.2",
|
||||
@@ -64,9 +64,9 @@
|
||||
"knockout": "3.5.1",
|
||||
"mark.js": "8.11.1",
|
||||
"marked": "14.1.2",
|
||||
"mermaid": "11.2.0",
|
||||
"mermaid": "11.3.0",
|
||||
"mime-types": "2.1.35",
|
||||
"mind-elixir": "4.1.1",
|
||||
"mind-elixir": "4.2.0",
|
||||
"multer": "1.4.5-lts.1",
|
||||
"node-abi": "3.67.0",
|
||||
"normalize-strings": "1.1.1",
|
||||
@@ -101,12 +101,12 @@
|
||||
"trilium": "src/main.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron-forge/cli": "7.4.0",
|
||||
"@electron-forge/maker-deb": "7.4.0",
|
||||
"@electron-forge/maker-dmg": "7.4.0",
|
||||
"@electron-forge/maker-squirrel": "7.4.0",
|
||||
"@electron-forge/maker-zip": "7.4.0",
|
||||
"@electron-forge/plugin-auto-unpack-natives": "7.4.0",
|
||||
"@electron-forge/cli": "7.5.0",
|
||||
"@electron-forge/maker-deb": "7.5.0",
|
||||
"@electron-forge/maker-dmg": "7.5.0",
|
||||
"@electron-forge/maker-squirrel": "7.5.0",
|
||||
"@electron-forge/maker-zip": "7.5.0",
|
||||
"@electron-forge/plugin-auto-unpack-natives": "7.5.0",
|
||||
"@playwright/test": "1.47.1",
|
||||
"@types/archiver": "6.0.2",
|
||||
"@types/better-sqlite3": "7.6.11",
|
||||
@@ -145,17 +145,17 @@
|
||||
"electron-rebuild": "3.2.9",
|
||||
"esm": "3.2.25",
|
||||
"iconsur": "1.7.0",
|
||||
"jasmine": "5.3.0",
|
||||
"jasmine": "5.3.1",
|
||||
"jsdoc": "4.0.3",
|
||||
"lorem-ipsum": "2.0.8",
|
||||
"nodemon": "3.1.4",
|
||||
"nodemon": "3.1.7",
|
||||
"rcedit": "4.0.1",
|
||||
"rimraf": "6.0.1",
|
||||
"ts-node": "10.9.2",
|
||||
"tslib": "2.7.0",
|
||||
"tsx": "4.19.1",
|
||||
"typescript": "5.6.2",
|
||||
"webpack": "5.94.0",
|
||||
"typescript": "5.6.3",
|
||||
"webpack": "5.95.0",
|
||||
"webpack-cli": "5.1.4"
|
||||
}
|
||||
},
|
||||
@@ -278,9 +278,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/cli": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.4.0.tgz",
|
||||
"integrity": "sha512-a+zZv3ja/IxkJzNyx4sOHSZv6DPV85S0PEVF6pcRjUpbDL5r+DxjRFsNc0Nq4UIWyFm1nw7RWoPdd9uDst4Tvg==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-7.5.0.tgz",
|
||||
"integrity": "sha512-dlxr4ac5ONWs1Wmbgh18rclxcp9Fe5SzCF9ookp08Z1w4YP9FbQd1SHs0oLKWLF6qH9qdX8H2EWB9Nt6tOzC5g==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -293,8 +293,8 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@electron-forge/core": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/core": "7.5.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@electron/get": "^3.0.0",
|
||||
"chalk": "^4.0.0",
|
||||
"commander": "^4.1.1",
|
||||
@@ -419,9 +419,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/core": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.4.0.tgz",
|
||||
"integrity": "sha512-pYHKpB2CKeQgWsb+gox+FPkEvP+6Q2zGj2eZtgZRtKppoWIXrHIpOtcm6FllJ/gZ5u4AsQzVIYReAHGaBa0osw==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-7.5.0.tgz",
|
||||
"integrity": "sha512-Hg/fXabRZtMbyrtnpzpb3i49qNai+juCg+6bgyjYfWgJGr5VGH947lWd7skujH5qJ+Y7FgvANDGnenZuQwxZNw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -434,19 +434,19 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@electron-forge/core-utils": "7.4.0",
|
||||
"@electron-forge/maker-base": "7.4.0",
|
||||
"@electron-forge/plugin-base": "7.4.0",
|
||||
"@electron-forge/publisher-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/template-base": "7.4.0",
|
||||
"@electron-forge/template-vite": "7.4.0",
|
||||
"@electron-forge/template-vite-typescript": "7.4.0",
|
||||
"@electron-forge/template-webpack": "7.4.0",
|
||||
"@electron-forge/template-webpack-typescript": "7.4.0",
|
||||
"@electron-forge/tracer": "7.4.0",
|
||||
"@electron-forge/core-utils": "7.5.0",
|
||||
"@electron-forge/maker-base": "7.5.0",
|
||||
"@electron-forge/plugin-base": "7.5.0",
|
||||
"@electron-forge/publisher-base": "7.5.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@electron-forge/template-base": "7.5.0",
|
||||
"@electron-forge/template-vite": "7.5.0",
|
||||
"@electron-forge/template-vite-typescript": "7.5.0",
|
||||
"@electron-forge/template-webpack": "7.5.0",
|
||||
"@electron-forge/template-webpack-typescript": "7.5.0",
|
||||
"@electron-forge/tracer": "7.5.0",
|
||||
"@electron/get": "^3.0.0",
|
||||
"@electron/packager": "^18.3.1",
|
||||
"@electron/packager": "^18.3.5",
|
||||
"@electron/rebuild": "^3.2.10",
|
||||
"@malept/cross-spawn-promise": "^2.0.0",
|
||||
"chalk": "^4.0.0",
|
||||
@@ -475,12 +475,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/core-utils": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-7.4.0.tgz",
|
||||
"integrity": "sha512-9RLG0F9SX466TpkaTcW+V15KmnGuTpmr7NKMRlngtHXmnkBUJz4Mxp1x33WZLgL90dJrxrRgHSfVBtA4lstDPw==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-7.5.0.tgz",
|
||||
"integrity": "sha512-PtyQT6qeOEJsi4ltoB7Jb6YUUCwK3gDt5gVyAF2aJ8eZi9rJ0hasHc5vjcmBaz9FwDMjYZrBD8oRBhNgbhEakQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@electron/rebuild": "^3.2.10",
|
||||
"@malept/cross-spawn-promise": "^2.0.0",
|
||||
"chalk": "^4.0.0",
|
||||
@@ -794,12 +794,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/maker-base": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.4.0.tgz",
|
||||
"integrity": "sha512-LwWS4VPdwjISl1KpLhmM1Qr1M3sRTTQ/RsX+GlFd7cQ1W/FsgxMjaTG4Od1d+a5CGVTh3s6X2g99TSUfxjOveg==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.5.0.tgz",
|
||||
"integrity": "sha512-+jluKW2UPxaI1+qQQ8fqaUVVbZohRjOSF0Iti7STRFbgJKJitzPB24Cjji9qJCKIx5klMeEiwp0YPAE/d9Xt8g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"fs-extra": "^10.0.0",
|
||||
"which": "^2.0.2"
|
||||
},
|
||||
@@ -843,14 +843,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/maker-deb": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.4.0.tgz",
|
||||
"integrity": "sha512-npWea3IpGeu96xNqJpsCOYX6V4E+HY6u/okeTUzUOMX96UteT14MecdUefMam158glRTX84k2ryh7WcBoOa4mg==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-7.5.0.tgz",
|
||||
"integrity": "sha512-rMXYJzu2LuyDQ5TX4VzQ2OSWDFC7Y1nJpBoyJvXfkA5fF5NNScOFYPv1YzEYAXMcG5hCOVLorsG9HDTEC8uh9g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@electron-forge/maker-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.4.0"
|
||||
"@electron-forge/maker-base": "7.5.0",
|
||||
"@electron-forge/shared-types": "7.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 16.4.0"
|
||||
@@ -860,21 +859,20 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/maker-dmg": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-dmg/-/maker-dmg-7.4.0.tgz",
|
||||
"integrity": "sha512-xRCMNtnpvQNwrDYvwbVFegnErnIMpHGZANrjwushlH9+Fsu60DFvf5s3AVkgsYdQTqlY7wYRG1mziYZmRlPAIw==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-dmg/-/maker-dmg-7.5.0.tgz",
|
||||
"integrity": "sha512-OcySukBT6FQJRbb0CKXnre4e0JinJfDGteCOLypB8UsN5Wg/4lIDB0hMhBmWGPJkZXKUDGkB1lhkdcLKbzT50Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@electron-forge/maker-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/maker-base": "7.5.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"fs-extra": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 16.4.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"electron-installer-dmg": "^4.0.0"
|
||||
"electron-installer-dmg": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/maker-dmg/node_modules/fs-extra": {
|
||||
@@ -916,13 +914,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/maker-squirrel": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-7.4.0.tgz",
|
||||
"integrity": "sha512-mCQyufnSNfjffiKho59ZqVg4W601zGOl6h01OyfDwjOU/G4iQtpnnDEOXGe26q7OVT5ORb1WDnfyGgBeJ6Ge7g==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-7.5.0.tgz",
|
||||
"integrity": "sha512-fz3vbp1BnbQWeZVVM3lKOGhrCVKLjAXKDTntBL2+8Rz02a63eozGjOtC5KZYXax6nM4TF6LvwjagY/qTs5jFag==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/maker-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/maker-base": "7.5.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"fs-extra": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -968,14 +966,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/maker-zip": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.4.0.tgz",
|
||||
"integrity": "sha512-UGbMdpuK/P29x1FFRWNOs3bNz+7QNFWVWyTM5hcWqib66cNuUmoaPifQyuwW2POIrIohrxlzLK87/i9Zc8g4dA==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-7.5.0.tgz",
|
||||
"integrity": "sha512-gIO3bEbubOJqWV6kd0b9nBwTrFfFQv/K8PAqg6e0uSZiy7QuSCFZVAZse02gO3AzxVDSVjjTQ4nmXBXC4Glh1A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@electron-forge/maker-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/maker-base": "7.5.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"cross-zip": "^4.0.0",
|
||||
"fs-extra": "^10.0.0",
|
||||
"got": "^11.8.5"
|
||||
@@ -1023,50 +1020,50 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/plugin-auto-unpack-natives": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.4.0.tgz",
|
||||
"integrity": "sha512-jJ/v2blH32bcvdlJbeeW/yO99K9SduW8yrS7zuFN6y+B1cmzLd+S7L8oCcOghFDMAlYjQaBlnCe/nMJbT9mN4g==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.5.0.tgz",
|
||||
"integrity": "sha512-cT/yTAr5Zd81HANi5bdyCoSG9nzIrB1WIEkFA7sWuyATiOjk9SGKn1aM543XWJ/TFkTg0800JpyocsSC9wOzEg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/plugin-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.4.0"
|
||||
"@electron-forge/plugin-base": "7.5.0",
|
||||
"@electron-forge/shared-types": "7.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 16.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/plugin-base": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.4.0.tgz",
|
||||
"integrity": "sha512-LcTNtEc2YaWvhhqWVIfdJ+J0/krSgc2dqYAHhOH2aLUSm9End3dKO/PZ1Y6DPsiPiJKHnSLBJ/XBN/16NY4Sjw==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-7.5.0.tgz",
|
||||
"integrity": "sha512-44AbXSb5lDY8uHIo0mJ91atOSWgxv3iuECk07/gDBiuMPX62dwHnLteEjQF4GBXJZTpnV7SxhD+d2AUBQmoojw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0"
|
||||
"@electron-forge/shared-types": "7.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 16.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/publisher-base": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-7.4.0.tgz",
|
||||
"integrity": "sha512-PiJk4RfaC55SnVnteLW2ZIQNM9DpGOi6YoUn5t8i9UcVp2rFIdya7bJY/b9u1hwubm4d5+TdypMVEuJjM44CJQ==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-7.5.0.tgz",
|
||||
"integrity": "sha512-PcF3jWA+oXRwNVWjKW6GxHJywJ62QXpYF/8SMs7kgKzBDzLqrbUnWuaXoCP5kCP+AxM495ZU5L2dyJek1eM+VA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0"
|
||||
"@electron-forge/shared-types": "7.5.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 16.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/shared-types": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.4.0.tgz",
|
||||
"integrity": "sha512-5Ehy6enUjBaU08odf9u9TOhmOVXlqobzMvKUixtkdAWgV1XZAUJmn+p21xhj0IkO92MQiXMGv66w9pDNjRT8uQ==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.5.0.tgz",
|
||||
"integrity": "sha512-VXuLVGYa3ZulBlmjA40ZEpk+iPH5ebN0v7t27wDt3rm23bph2aQrL7uSTLXhobenXYBVKggXnQt6rJ9A7FCDNQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/tracer": "7.4.0",
|
||||
"@electron/packager": "^18.3.1",
|
||||
"@electron-forge/tracer": "7.5.0",
|
||||
"@electron/packager": "^18.3.5",
|
||||
"@electron/rebuild": "^3.2.10",
|
||||
"listr2": "^7.0.2"
|
||||
},
|
||||
@@ -1075,12 +1072,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/template-base": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-7.4.0.tgz",
|
||||
"integrity": "sha512-3YWdRSGzQfQPQkQxStn2wkJ/SuNGGKo9slwFJGvqMV+Pbx3/M/hYi9sMXOuaqVZgeaBp8Ap27yFPxaIIOC3vcA==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-7.5.0.tgz",
|
||||
"integrity": "sha512-wEz4FI90jje4FdwJ4FzqUejodfioNcJjlgG2Ci1FiRn4Qv0jX4MP8SEgKmnD44181/44HgMa429zxRv/fDYzOw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@malept/cross-spawn-promise": "^2.0.0",
|
||||
"debug": "^4.3.1",
|
||||
"fs-extra": "^10.0.0",
|
||||
@@ -1148,13 +1145,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/template-vite": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.4.0.tgz",
|
||||
"integrity": "sha512-YPVyCGiBKmZPCxK/Bd2louV3PBcxI2nT2+tRKP+mlEHOWrxbZIfmZSR2lIAFvK/ALKlwUKROdmlwyi7ZcdT7JQ==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-7.5.0.tgz",
|
||||
"integrity": "sha512-AkMO5nW5jC8ijCYeoAK7hu+K5o7NMoHNsn71eepJ/kjOnSxXjJeBVGmP4DgzF2zc6AgeRz2TCKx6P8GUtFG5cw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/template-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@electron-forge/template-base": "7.5.0",
|
||||
"fs-extra": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1162,13 +1159,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/template-vite-typescript": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.4.0.tgz",
|
||||
"integrity": "sha512-wdByG807VWcUd81E6572b/G/Ki8gb+GrCIWxO7Cl3qBa+yNaU1sHhBwB1RyTbQy1r8ubSBtsWrRD1J/yzHKWoQ==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-7.5.0.tgz",
|
||||
"integrity": "sha512-bD9QQ6uEsDHp6/V7odCkoK53egy0A4LEh++F1VYFt7SWJ5+InkcSLww7ELz2hrNmpmXb+euRrNagL1gorPToSA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/template-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@electron-forge/template-base": "7.5.0",
|
||||
"fs-extra": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1246,13 +1243,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/template-webpack": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.4.0.tgz",
|
||||
"integrity": "sha512-W558AEGwQrwEtKIbIJPPs0LIsaC/1Vncj5NgqKehEMJjBb0KQq4hwBu/6dauQrfun4jRCOp7LV+OVrf5XPJ7QA==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-7.5.0.tgz",
|
||||
"integrity": "sha512-Il9dO4VMhxibsYTsKRkccWUN3WFg55PEQFL93oarFcEtAT3sjMx/1bZDj/2AIHqbwIf7IrCylPKiPP2uUNOM9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/template-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@electron-forge/template-base": "7.5.0",
|
||||
"fs-extra": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1260,13 +1257,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/template-webpack-typescript": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.4.0.tgz",
|
||||
"integrity": "sha512-O5gwjNSGFNRdJWyiCtevcOBDPAMhgOPvLORh9qR1GcjyTutWwHWmZzycqH+MmkhpQPgrAYDEeipXcOQhSbzNZA==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-7.5.0.tgz",
|
||||
"integrity": "sha512-Q11xAzFxWtES0bwykMd8MAzrVRtmSruXQxQIvqM7Qf3VmU8joq8v5njmn13LeCDkcRGjALiJqO8EsgsW3bttNw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@electron-forge/shared-types": "7.4.0",
|
||||
"@electron-forge/template-base": "7.4.0",
|
||||
"@electron-forge/shared-types": "7.5.0",
|
||||
"@electron-forge/template-base": "7.5.0",
|
||||
"fs-extra": "^10.0.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1344,11 +1341,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron-forge/tracer": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.4.0.tgz",
|
||||
"integrity": "sha512-F4jbnDn4yIZjmky1FZ6rgBKTM05AZQQfHkyJW2hdS4pDKJjdKAqWytoZKDi1/S6Cr6tN+DD0TFGD3V0i6HPHYQ==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.5.0.tgz",
|
||||
"integrity": "sha512-1dE0wKCmv/K3BXCH70o2jp/y2kXgZQm73gIvzyadySXYwu2L4BWxhAO+Q+JsnbUk+nclHEup5ph4D0JoPIWLcQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chrome-trace-event": "^1.0.3"
|
||||
},
|
||||
@@ -1357,12 +1353,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron/asar": {
|
||||
"version": "3.2.10",
|
||||
"resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.10.tgz",
|
||||
"integrity": "sha512-mvBSwIBUeiRscrCeJE1LwctAriBj65eUDm0Pc11iE5gRwzkmsdbS7FnZ1XUWjpSeQWL1L5g12Fc/SchPM9DUOw==",
|
||||
"version": "3.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.13.tgz",
|
||||
"integrity": "sha512-pY5z2qQSwbFzJsBdgfJIzXf5ElHTVMutC2dxh0FD60njknMu3n1NnTABOcQwbb5/v5soqE79m9UjaJryBf3epg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/glob": "^7.1.0",
|
||||
"commander": "^5.0.0",
|
||||
"glob": "^7.1.6",
|
||||
"minimatch": "^3.0.4"
|
||||
@@ -1533,13 +1529,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@electron/packager": {
|
||||
"version": "18.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.3.tgz",
|
||||
"integrity": "sha512-hGXzwbUdxv49XvlYwlVPC6W6j6WaXUAzKkYyyTeiwdhxvHFMfQSEJxVHsQpqMFzZZ7wrr7iqiokOFZ/qkgEzUQ==",
|
||||
"version": "18.3.5",
|
||||
"resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.5.tgz",
|
||||
"integrity": "sha512-ClgTxXTt3MesWAcjIxIkgxELjTcllw1FRoVsihP7uT48kpDMqI71p4XvnMWbq8PvU57TcrKICAaLkxRhbc+/wQ==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": {
|
||||
"@electron/asar": "^3.2.1",
|
||||
"@electron/asar": "^3.2.13",
|
||||
"@electron/get": "^3.0.0",
|
||||
"@electron/notarize": "^2.1.0",
|
||||
"@electron/osx-sign": "^1.0.5",
|
||||
@@ -3228,6 +3223,16 @@
|
||||
"resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-21.0.0.tgz",
|
||||
"integrity": "sha512-qVfOiFh0U8ZSkLgA6tf7kj2MciqRbSCWaJZRwftVO7UbtVDNsZAXpWXqvCDtIefvjC83UJB+vHTDOGm5ibXjEA=="
|
||||
},
|
||||
"node_modules/@types/appdmg": {
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/appdmg/-/appdmg-0.5.5.tgz",
|
||||
"integrity": "sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/archiver": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-6.0.2.tgz",
|
||||
@@ -3390,7 +3395,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
|
||||
"integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@types/minimatch": "*",
|
||||
"@types/node": "*"
|
||||
@@ -3512,8 +3516,7 @@
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
|
||||
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/multer": {
|
||||
"version": "1.4.12",
|
||||
@@ -4203,7 +4206,6 @@
|
||||
"resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.6.tgz",
|
||||
"integrity": "sha512-GRmFKlCG+PWbcYF4LUNonTYmy0GjguDy6Jh9WP8mpd0T6j80XIJyXBiWlD0U+MLNhqV9Nhx49Gl9GpVToulpLg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
@@ -4233,7 +4235,6 @@
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
|
||||
"integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/appdmg/node_modules/path-exists": {
|
||||
@@ -4241,7 +4242,6 @@
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
@@ -4720,7 +4720,6 @@
|
||||
"resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.2.0.tgz",
|
||||
"integrity": "sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"to-data-view": "^1.1.0"
|
||||
@@ -4966,7 +4965,6 @@
|
||||
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz",
|
||||
"integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"stream-buffers": "~2.2.0"
|
||||
@@ -5663,10 +5661,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/codemirror": {
|
||||
"version": "5.65.17",
|
||||
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.17.tgz",
|
||||
"integrity": "sha512-1zOsUx3lzAOu/gnMAZkQ9kpIHcPYOc9y1Fbm2UVk5UBPkdq380nhkelG0qUwm1f7wPvTbndu9ZYlug35EwAZRQ==",
|
||||
"license": "MIT"
|
||||
"version": "5.65.18",
|
||||
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.18.tgz",
|
||||
"integrity": "sha512-Gaz4gHnkbHMGgahNt3CA5HBk5lLQBqmD/pBgeB4kQU6OedZmqMBjlRF0LSrp2tJ4wlLNPm2FfaUd1pDy0mdlpA=="
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
@@ -7060,7 +7057,6 @@
|
||||
"resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz",
|
||||
"integrity": "sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"bplist-creator": "~0.0.3",
|
||||
@@ -7311,21 +7307,21 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-installer-dmg": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-4.0.0.tgz",
|
||||
"integrity": "sha512-g3W6XnyUa7QGrAF7ViewHdt6bXV2KYU1Pm1CY3pZpp+H6mOjCHHAhf/iZAxtaX1ERCb+SQHz7xSsAHuNH9I8ZQ==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-5.0.1.tgz",
|
||||
"integrity": "sha512-qOa1aAQdX57C+vzhDk3549dd/PRlNL4F8y736MTD1a43qptD+PvHY97Bo9gSf+OZ8iUWE7BrYSpk/FgLUe40EA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"@types/appdmg": "^0.5.5",
|
||||
"debug": "^4.3.2",
|
||||
"minimist": "^1.1.1"
|
||||
"minimist": "^1.2.7"
|
||||
},
|
||||
"bin": {
|
||||
"electron-installer-dmg": "bin/electron-installer-dmg.js"
|
||||
"electron-installer-dmg": "dist/electron-installer-dmg-bin.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
"node": ">= 16"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"appdmg": "^0.6.4"
|
||||
@@ -7616,7 +7612,6 @@
|
||||
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
|
||||
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/encodeurl": {
|
||||
@@ -8815,7 +8810,6 @@
|
||||
"resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz",
|
||||
"integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"imul": "^1.0.0"
|
||||
@@ -8981,7 +8975,6 @@
|
||||
"resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz",
|
||||
"integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"random-path": "^0.1.0"
|
||||
@@ -8993,7 +8986,6 @@
|
||||
"integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"!win32"
|
||||
@@ -9091,7 +9083,6 @@
|
||||
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
|
||||
"integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"is-property": "^1.0.2"
|
||||
@@ -9102,7 +9093,6 @@
|
||||
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
|
||||
"integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"is-property": "^1.0.0"
|
||||
@@ -9725,9 +9715,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/i18next": {
|
||||
"version": "23.15.1",
|
||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-23.15.1.tgz",
|
||||
"integrity": "sha512-wB4abZ3uK7EWodYisHl/asf8UYEhrI/vj/8aoSsrj/ZDxj4/UXPOa1KvFt1Fq5hkUHquNqwFlDprmjZ8iySgYA==",
|
||||
"version": "23.16.0",
|
||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.0.tgz",
|
||||
"integrity": "sha512-Ni3CG6c14teOogY19YNRl+kYaE/Rb59khy0VyHVn4uOZ97E2E/Yziyi6r3C3s9+wacjdLZiq/LLYyx+Cgd+FCw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
@@ -9752,9 +9742,9 @@
|
||||
"integrity": "sha512-LIwUlkqDZnUI8lnUxBnEj8K/FrHQTT/Sc+1rvDm9E8YvvY5YxzoEAASNx+W5M9DfD5s77lI5vSAFWeTp26B/3Q=="
|
||||
},
|
||||
"node_modules/i18next-http-backend": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.6.1.tgz",
|
||||
"integrity": "sha512-rCilMAnlEQNeKOZY1+x8wLM5IpYOj10guGvEpeC59tNjj6MMreLIjIW8D1RclhD3ifLwn6d/Y9HEM1RUE6DSog==",
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.6.2.tgz",
|
||||
"integrity": "sha512-Hp/kd8/VuoxIHmxsknJXjkTYYHzivAyAF15pzliKzk2TiXC25rZCEerb1pUFoxz4IVrG3fCvQSY51/Lu4ECV4A==",
|
||||
"dependencies": {
|
||||
"cross-fetch": "4.0.0"
|
||||
}
|
||||
@@ -10359,7 +10349,6 @@
|
||||
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz",
|
||||
"integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"bin": {
|
||||
"image-size": "bin/image-size.js"
|
||||
@@ -10439,7 +10428,6 @@
|
||||
"resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz",
|
||||
"integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -10647,7 +10635,6 @@
|
||||
"resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz",
|
||||
"integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/is-my-json-valid": {
|
||||
@@ -10655,7 +10642,6 @@
|
||||
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz",
|
||||
"integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"generate-function": "^2.0.0",
|
||||
@@ -10708,7 +10694,6 @@
|
||||
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
|
||||
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/is-stream": {
|
||||
@@ -10843,9 +10828,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/jasmine": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.3.0.tgz",
|
||||
"integrity": "sha512-Vrv5VWTXVZ/5xcNawlYCmE24pOaZu3KduLr9iAaENoMJ8W8Ryvhfpw2cf3rI4Unc2ajvu2t4tCKjS72TnraBGQ==",
|
||||
"version": "5.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.3.1.tgz",
|
||||
"integrity": "sha512-3zeUCfr3d1iga3s+NgDpggCP+ex5sdbNgqNn+Tq4yw/QfnwGrWC/ZvXX1IRm5deSIZ1LnvoeGY55F/ztbVOXPQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"glob": "^10.2.2",
|
||||
@@ -11220,7 +11205,6 @@
|
||||
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
|
||||
"integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -11698,7 +11682,6 @@
|
||||
"integrity": "sha512-zIUs3+qpml+w3wiRuADutd7XIO8UABqksot10Utl/tji4UxZzLG4fWDC+yJZoO8/Ehg5RqsvSRE/6TS5AEOeWw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
@@ -11920,9 +11903,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mermaid": {
|
||||
"version": "11.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.2.0.tgz",
|
||||
"integrity": "sha512-ZinOa063lk81lujX8vkINNqmFaNMk1A95Z4kCL7fE6QLAi01CxeiUJVw+tpXU+lAM73utO39G+2PLjxS2GYS/w==",
|
||||
"version": "11.3.0",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.3.0.tgz",
|
||||
"integrity": "sha512-fFmf2gRXLtlGzug4wpIGN+rQdZ30M8IZEB1D3eZkXNqC7puhqeURBcD/9tbwXsqBO+A6Nzzo3MSSepmnw5xSeg==",
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "^7.0.1",
|
||||
"@iconify/utils": "^2.1.32",
|
||||
@@ -11934,7 +11917,7 @@
|
||||
"d3-sankey": "^0.12.3",
|
||||
"dagre-d3-es": "7.0.10",
|
||||
"dayjs": "^1.11.10",
|
||||
"dompurify": "^3.0.11",
|
||||
"dompurify": "^3.0.11 <3.1.7",
|
||||
"katex": "^0.16.9",
|
||||
"khroma": "^2.1.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
@@ -12045,9 +12028,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/mind-elixir": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/mind-elixir/-/mind-elixir-4.1.1.tgz",
|
||||
"integrity": "sha512-nLJojevBmkLNQ+bDMqeQWrRhGcCQnhkpjoNkFijzv/HczMkw4vHqqCte/3i3FekghQAtJA8pykLaVG+12NEmYg=="
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mind-elixir/-/mind-elixir-4.2.0.tgz",
|
||||
"integrity": "sha512-FBmTri+lfuScRtaBQGh6WNFU1Bbqp2IDq6dF9coxv5aj34wuTsacR8fwyTaK79Wh8A5mUL/D/HO/KvSMBKJBqg=="
|
||||
},
|
||||
"node_modules/minimalistic-assert": {
|
||||
"version": "1.0.1",
|
||||
@@ -12217,7 +12200,6 @@
|
||||
"resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz",
|
||||
"integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"encode-utf8": "^1.0.3",
|
||||
@@ -12226,11 +12208,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/nan": {
|
||||
"version": "2.20.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz",
|
||||
"integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==",
|
||||
"version": "2.22.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz",
|
||||
"integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
@@ -12456,9 +12437,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/nodemon": {
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz",
|
||||
"integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==",
|
||||
"version": "3.1.7",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.7.tgz",
|
||||
"integrity": "sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"chokidar": "^3.5.2",
|
||||
@@ -12952,7 +12933,6 @@
|
||||
"resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
|
||||
"integrity": "sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"color-convert": "~0.5.0"
|
||||
@@ -13579,7 +13559,6 @@
|
||||
"resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz",
|
||||
"integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"base32-encode": "^0.1.0 || ^1.0.0",
|
||||
@@ -13899,7 +13878,6 @@
|
||||
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
|
||||
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10"
|
||||
@@ -15013,7 +14991,6 @@
|
||||
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
|
||||
"integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==",
|
||||
"dev": true,
|
||||
"license": "Unlicense",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">= 0.10.0"
|
||||
@@ -15470,7 +15447,6 @@
|
||||
"resolved": "https://registry.npmjs.org/tn1150/-/tn1150-0.1.0.tgz",
|
||||
"integrity": "sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"unorm": "^1.4.1"
|
||||
@@ -15484,7 +15460,6 @@
|
||||
"resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz",
|
||||
"integrity": "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/to-regex-range": {
|
||||
@@ -15791,9 +15766,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.6.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
|
||||
"integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
|
||||
"version": "5.6.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
|
||||
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
@@ -15884,7 +15859,6 @@
|
||||
"resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz",
|
||||
"integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==",
|
||||
"dev": true,
|
||||
"license": "MIT or GPL-2.0",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">= 0.4.0"
|
||||
@@ -15963,9 +15937,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/uri-js": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
|
||||
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||
"dependencies": {
|
||||
"punycode": "^2.1.0"
|
||||
}
|
||||
@@ -16177,9 +16151,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/webpack": {
|
||||
"version": "5.94.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
|
||||
"integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
|
||||
"version": "5.95.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz",
|
||||
"integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "^1.0.5",
|
||||
|
||||
32
package.json
32
package.json
@@ -2,7 +2,7 @@
|
||||
"name": "trilium",
|
||||
"productName": "TriliumNext Notes",
|
||||
"description": "Build your personal knowledge base with TriliumNext Notes",
|
||||
"version": "0.90.6-beta",
|
||||
"version": "0.90.8",
|
||||
"license": "AGPL-3.0-only",
|
||||
"main": "./dist/electron-main.js",
|
||||
"author": {
|
||||
@@ -61,7 +61,7 @@
|
||||
"boxicons": "2.1.4",
|
||||
"chokidar": "3.6.0",
|
||||
"cls-hooked": "4.2.2",
|
||||
"codemirror": "5.65.17",
|
||||
"codemirror": "5.65.18",
|
||||
"compression": "1.7.4",
|
||||
"cookie-parser": "1.4.6",
|
||||
"csurf": "1.11.0",
|
||||
@@ -86,9 +86,9 @@
|
||||
"html2plaintext": "2.1.4",
|
||||
"http-proxy-agent": "7.0.2",
|
||||
"https-proxy-agent": "7.0.5",
|
||||
"i18next": "23.15.1",
|
||||
"i18next": "23.16.0",
|
||||
"i18next-fs-backend": "2.3.2",
|
||||
"i18next-http-backend": "2.6.1",
|
||||
"i18next-http-backend": "2.6.2",
|
||||
"image-type": "4.1.0",
|
||||
"ini": "5.0.0",
|
||||
"is-animated": "2.0.2",
|
||||
@@ -104,9 +104,9 @@
|
||||
"knockout": "3.5.1",
|
||||
"mark.js": "8.11.1",
|
||||
"marked": "14.1.2",
|
||||
"mermaid": "11.2.0",
|
||||
"mermaid": "11.3.0",
|
||||
"mime-types": "2.1.35",
|
||||
"mind-elixir": "4.1.1",
|
||||
"mind-elixir": "4.2.0",
|
||||
"multer": "1.4.5-lts.1",
|
||||
"node-abi": "3.67.0",
|
||||
"normalize-strings": "1.1.1",
|
||||
@@ -138,12 +138,12 @@
|
||||
"yauzl": "3.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron-forge/cli": "7.4.0",
|
||||
"@electron-forge/maker-deb": "7.4.0",
|
||||
"@electron-forge/maker-dmg": "7.4.0",
|
||||
"@electron-forge/maker-squirrel": "7.4.0",
|
||||
"@electron-forge/maker-zip": "7.4.0",
|
||||
"@electron-forge/plugin-auto-unpack-natives": "7.4.0",
|
||||
"@electron-forge/cli": "7.5.0",
|
||||
"@electron-forge/maker-deb": "7.5.0",
|
||||
"@electron-forge/maker-dmg": "7.5.0",
|
||||
"@electron-forge/maker-squirrel": "7.5.0",
|
||||
"@electron-forge/maker-zip": "7.5.0",
|
||||
"@electron-forge/plugin-auto-unpack-natives": "7.5.0",
|
||||
"@playwright/test": "1.47.1",
|
||||
"@types/archiver": "6.0.2",
|
||||
"@types/better-sqlite3": "7.6.11",
|
||||
@@ -182,17 +182,17 @@
|
||||
"electron-rebuild": "3.2.9",
|
||||
"esm": "3.2.25",
|
||||
"iconsur": "1.7.0",
|
||||
"jasmine": "5.3.0",
|
||||
"jasmine": "5.3.1",
|
||||
"jsdoc": "4.0.3",
|
||||
"lorem-ipsum": "2.0.8",
|
||||
"nodemon": "3.1.4",
|
||||
"nodemon": "3.1.7",
|
||||
"rcedit": "4.0.1",
|
||||
"rimraf": "6.0.1",
|
||||
"ts-node": "10.9.2",
|
||||
"tslib": "2.7.0",
|
||||
"tsx": "4.19.1",
|
||||
"typescript": "5.6.2",
|
||||
"webpack": "5.94.0",
|
||||
"typescript": "5.6.3",
|
||||
"webpack": "5.95.0",
|
||||
"webpack-cli": "5.1.4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ app.use(cookieParser());
|
||||
app.use(express.static(path.join(scriptDir, 'public/root')));
|
||||
app.use(`/manifest.webmanifest`, express.static(path.join(scriptDir, 'public/manifest.webmanifest')));
|
||||
app.use(`/robots.txt`, express.static(path.join(scriptDir, 'public/robots.txt')));
|
||||
app.use(`/icon.png`, express.static(path.join(scriptDir, 'public/icon.png')));
|
||||
app.use(sessionParser);
|
||||
app.use(favicon(`${scriptDir}/../images/app-icons/icon.ico`));
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import MobileScreenSwitcherExecutor from "./mobile_screen_switcher.js";
|
||||
import MainTreeExecutors from "./main_tree_executors.js";
|
||||
import toast from "../services/toast.js";
|
||||
import ShortcutComponent from "./shortcut_component.js";
|
||||
import { initLocale } from "../services/i18n.js";
|
||||
import { t, initLocale } from "../services/i18n.js";
|
||||
|
||||
class AppContext extends Component {
|
||||
constructor(isMainWindow) {
|
||||
@@ -33,11 +33,11 @@ class AppContext extends Component {
|
||||
await initLocale();
|
||||
}
|
||||
|
||||
setLayout(layout) {
|
||||
setLayout(layout) {
|
||||
this.layout = layout;
|
||||
}
|
||||
|
||||
async start() {
|
||||
async start() {
|
||||
this.initComponents();
|
||||
this.renderWidgets();
|
||||
|
||||
@@ -151,7 +151,7 @@ $(window).on('beforeunload', () => {
|
||||
if (!component.beforeUnloadEvent()) {
|
||||
console.log(`Component ${component.componentId} is not finished saving its state.`);
|
||||
|
||||
toast.showMessage("Please wait for a couple of seconds for the save to finish, then you can try again.", 10000);
|
||||
toast.showMessage(t("app_context.please_wait_for_save"), 10000);
|
||||
|
||||
allSaved = false;
|
||||
}
|
||||
|
||||
@@ -62,8 +62,8 @@ export default class TreeContextMenu {
|
||||
{ title: "----" },
|
||||
{ title: `${t("tree-context-menu.search-in-subtree")} <kbd data-command="searchInSubtree"></kbd>`, command: "searchInSubtree", uiIcon: "bx bx-search",
|
||||
enabled: notSearch && noSelectedNotes },
|
||||
isHoisted ? null : { title: 'Hoist note <kbd data-command="toggleNoteHoisting"></kbd>', command: "toggleNoteHoisting", uiIcon: "bx bx-empty", enabled: noSelectedNotes && notSearch },
|
||||
!isHoisted || !isNotRoot ? null : { title: 'Unhoist note <kbd data-command="toggleNoteHoisting"></kbd>', command: "toggleNoteHoisting", uiIcon: "bx bx-door-open" },
|
||||
isHoisted ? null : { title: `${t("tree-context-menu.hoist-note")} <kbd data-command="toggleNoteHoisting"></kbd>`, command: "toggleNoteHoisting", uiIcon: "bx bx-empty", enabled: noSelectedNotes && notSearch },
|
||||
!isHoisted || !isNotRoot ? null : { title: `${t("tree-context-menu.unhoist-note")} <kbd data-command="toggleNoteHoisting"></kbd>`, command: "toggleNoteHoisting", uiIcon: "bx bx-door-open" },
|
||||
{ title: `${t("tree-context-menu.edit-branch-prefix")} <kbd data-command="editBranchPrefix"></kbd>`, command: "editBranchPrefix", uiIcon: "bx bx-empty",
|
||||
enabled: isNotRoot && parentNotSearch && noSelectedNotes && notOptions },
|
||||
{ title: t("tree-context-menu.advanced"), uiIcon: "bx bx-empty", enabled: true, items: [
|
||||
|
||||
@@ -2,8 +2,7 @@ const CKEDITOR = {"js": ["libraries/ckeditor/ckeditor.js"]};
|
||||
|
||||
const CODE_MIRROR = {
|
||||
js: [
|
||||
"libraries/codemirror/codemirror.js",
|
||||
// "node_modules/codemirror/lib/codemirror.js",
|
||||
"node_modules/codemirror/lib/codemirror.js",
|
||||
"node_modules/codemirror/addon/display/placeholder.js",
|
||||
"node_modules/codemirror/addon/edit/matchbrackets.js",
|
||||
"node_modules/codemirror/addon/edit/matchtags.js",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { t } from "../services/i18n.js";
|
||||
import BasicWidget from "./basic_widget.js";
|
||||
import contextMenu from "../menus/context_menu.js";
|
||||
import utils from "../services/utils.js";
|
||||
@@ -37,11 +38,11 @@ const TAB_TPL = `
|
||||
<div class="note-tab-drag-handle"></div>
|
||||
<div class="note-tab-icon"></div>
|
||||
<div class="note-tab-title"></div>
|
||||
<div class="note-tab-close bx bx-x" title="Close tab" data-trigger-command="closeActiveTab"></div>
|
||||
<div class="note-tab-close bx bx-x" title="${t('tab_row.close_tab')}" data-trigger-command="closeActiveTab"></div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
const NEW_TAB_BUTTON_TPL = `<div class="note-new-tab" data-trigger-command="openNewTab" title="Add new tab">+</div>`;
|
||||
const NEW_TAB_BUTTON_TPL = `<div class="note-new-tab" data-trigger-command="openNewTab" title="${t('tab_row.add_new_tab')}">+</div>`;
|
||||
const FILLER_TPL = `<div class="tab-row-filler"></div>`;
|
||||
|
||||
const TAB_ROW_TPL = `
|
||||
@@ -258,10 +259,10 @@ export default class TabRowWidget extends BasicWidget {
|
||||
x: e.pageX,
|
||||
y: e.pageY,
|
||||
items: [
|
||||
{title: "Close", command: "closeTab", uiIcon: "bx bx-x"},
|
||||
{title: "Close other tabs", command: "closeOtherTabs", uiIcon: "bx bx-x"},
|
||||
{title: "Close all tabs", command: "closeAllTabs", uiIcon: "bx bx-x"},
|
||||
{title: "Move this tab to a new window", command: "moveTabToNewWindow", uiIcon: "bx bx-window-open"}
|
||||
{title: t('tab_row.close'), command: "closeTab", uiIcon: "bx bx-x"},
|
||||
{title: t('tab_row.close_other_tabs'), command: "closeOtherTabs", uiIcon: "bx bx-x"},
|
||||
{title: t('tab_row.close_all_tabs'), command: "closeAllTabs", uiIcon: "bx bx-x"},
|
||||
{title: t('tab_row.move_tab_to_new_window'), command: "moveTabToNewWindow", uiIcon: "bx bx-window-open"}
|
||||
],
|
||||
selectMenuItemHandler: ({command}) => {
|
||||
this.triggerCommand(command, {ntxId});
|
||||
@@ -387,7 +388,7 @@ export default class TabRowWidget extends BasicWidget {
|
||||
this.$newTab.before($tab);
|
||||
this.setVisibility();
|
||||
this.setTabCloseEvent($tab);
|
||||
this.updateTitle($tab, 'New tab');
|
||||
this.updateTitle($tab, t('tab_row.new_tab'));
|
||||
this.cleanUpPreviouslyDraggedTabs();
|
||||
this.layoutTabs();
|
||||
this.setupDraggabilly();
|
||||
@@ -672,7 +673,7 @@ export default class TabRowWidget extends BasicWidget {
|
||||
const {note} = noteContext;
|
||||
|
||||
if (!note) {
|
||||
this.updateTitle($tab, 'New tab');
|
||||
this.updateTitle($tab, t('tab_row.new_tab'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* to the wrong heading (although what "right" means in those cases is not
|
||||
* clear), but it won't crash.
|
||||
*/
|
||||
|
||||
import { t } from "../services/i18n.js";
|
||||
import attributeService from "../services/attributes.js";
|
||||
import RightPanelWidget from "./right_panel_widget.js";
|
||||
import options from "../services/options.js";
|
||||
@@ -55,14 +55,14 @@ const TPL = `<div class="toc-widget">
|
||||
|
||||
export default class TocWidget extends RightPanelWidget {
|
||||
get widgetTitle() {
|
||||
return "Table of Contents";
|
||||
return t("toc.table_of_contents");
|
||||
}
|
||||
|
||||
get widgetButtons() {
|
||||
return [
|
||||
new OnClickButtonWidget()
|
||||
.icon("bx-cog")
|
||||
.title("Options")
|
||||
.title(t("toc.options"))
|
||||
.titlePlacement("left")
|
||||
.onClick(() => appContext.tabManager.openContextWithNote('_optionsTextNotes', {activate: true}))
|
||||
.class("icon-action"),
|
||||
@@ -125,18 +125,18 @@ export default class TocWidget extends RightPanelWidget {
|
||||
*
|
||||
* @param {string} html Note's html content
|
||||
* @returns {string} The HTML content with mathematical formulas rendered by KaTeX.
|
||||
*/
|
||||
*/
|
||||
async replaceMathTextWithKatax(html) {
|
||||
const mathTextRegex = /<span class="math-tex">\\\(([\s\S]*?)\\\)<\/span>/g;
|
||||
var matches = [...html.matchAll(mathTextRegex)];
|
||||
let modifiedText = html;
|
||||
|
||||
|
||||
if (matches.length > 0) {
|
||||
// Process all matches asynchronously
|
||||
for (const match of matches) {
|
||||
let latexCode = match[1];
|
||||
let rendered;
|
||||
|
||||
|
||||
try {
|
||||
rendered = katex.renderToString(latexCode, {
|
||||
throwOnError: false
|
||||
@@ -158,7 +158,7 @@ export default class TocWidget extends RightPanelWidget {
|
||||
rendered = match[0]; // Fall back to original on error
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Replace the matched formula in the modified text
|
||||
modifiedText = modifiedText.replace(match[0], rendered);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { t } from "../services/i18n.js";
|
||||
import NoteContextAwareWidget from "./note_context_aware_widget.js";
|
||||
import server from "../services/server.js";
|
||||
import fileWatcher from "../services/file_watcher.js";
|
||||
@@ -11,12 +12,12 @@ const TPL = `
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>File <code class="file-path"></code> has been last modified on <span class="file-last-modified"></span>.</p>
|
||||
<p>${t("watched_file_update_status.file_last_modified", { count: '' })}</p>
|
||||
|
||||
<div style="display: flex; flex-direction: row; justify-content: space-evenly;">
|
||||
<button class="btn btn-sm file-upload-button">Upload modified file</button>
|
||||
<button class="btn btn-sm file-upload-button">${t("watched_file_update_status.upload_modified_file")}</button>
|
||||
|
||||
<button class="btn btn-sm ignore-this-change-button">Ignore this change</button>
|
||||
<button class="btn btn-sm ignore-this-change-button">${t("watched_file_update_status.ignore_this_change")}</button>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
|
||||
BIN
src/public/icon.png
Normal file
BIN
src/public/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
@@ -9,9 +9,9 @@
|
||||
"start_url": "/",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "180x180 512x512",
|
||||
"type": "image/x-icon"
|
||||
"src": "icon.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
src: url(../fonts/JetBrainsMono-Light.woff2) format('woff');
|
||||
}
|
||||
|
||||
.table {
|
||||
--bs-table-bg: transparent !important;
|
||||
}
|
||||
|
||||
html {
|
||||
/* this fixes FF filter vs. position fixed bug: https://github.com/zadam/trilium/issues/233 */
|
||||
height: 100%;
|
||||
@@ -32,6 +36,10 @@ body {
|
||||
font-size: var(--main-font-size);
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a, a:visited, a:hover {
|
||||
color: var(--link-color);
|
||||
}
|
||||
@@ -728,6 +736,10 @@ div[data-notify="container"] {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.ck-content a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#options-dialog input[type=number] {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
@@ -247,6 +247,9 @@
|
||||
"revisions_deleted": "笔记历史版本已删除。",
|
||||
"revision_restored": "笔记历史版本已恢复。",
|
||||
"revision_deleted": "笔记历史版本已删除。",
|
||||
"snapshot_interval": "笔记快照保存间隔: {{seconds}}秒。",
|
||||
"maximum_revisions": "当前笔记的最历史数量: {{number}}。",
|
||||
"settings": "笔记历史设置",
|
||||
"download_button": "下载",
|
||||
"mime": "MIME类型:",
|
||||
"file_size": "文件大小:",
|
||||
@@ -1090,6 +1093,13 @@
|
||||
"note_revisions_snapshot_description": "笔记修改快照时间间隔是指经过多少秒后会为笔记创建新的修改历史。更多信息请参见<a href=\"https://triliumnext.github.io/Docs/Wiki/note-revisions.html\" class=\"external\">wiki</a>。",
|
||||
"snapshot_time_interval_label": "笔记修改快照时间间隔(单位:秒)"
|
||||
},
|
||||
"revisions_snapshot_limit": {
|
||||
"note_revisions_snapshot_limit_title": "笔记历史快照限制",
|
||||
"note_revisions_snapshot_limit_description": "笔记历史快照数限制指的是每个笔记可以保存的最大历史记录数量。其中 -1 表示没有限制,0 表示删除所有历史记录。你可以通过 #versioningLimit 标签设置单个笔记的最大历史记录数量。",
|
||||
"snapshot_number_limit_label": "笔记历史快照数量限制:",
|
||||
"erase_excess_revision_snapshots": "立即删除多余的历史快照",
|
||||
"erase_excess_revision_snapshots_prompt": "多余的历史快照已被删除。"
|
||||
},
|
||||
"search_engine": {
|
||||
"title": "搜索引擎",
|
||||
"custom_search_engine_info": "自定义搜索引擎需要设置名称和URL。如果这两者之一未设置,将默认使用DuckDuckGo作为搜索引擎。",
|
||||
@@ -1280,6 +1290,8 @@
|
||||
"insert-child-note": "插入子笔记",
|
||||
"delete": "删除",
|
||||
"search-in-subtree": "在子树中搜索",
|
||||
"hoist-note": "提升笔记",
|
||||
"unhoist-note": "取消提升笔记",
|
||||
"edit-branch-prefix": "编辑分支前缀",
|
||||
"advanced": "高级",
|
||||
"expand-subtree": "展开子树",
|
||||
@@ -1391,5 +1403,26 @@
|
||||
},
|
||||
"sql_table_schemas": {
|
||||
"tables": "表"
|
||||
},
|
||||
"tab_row": {
|
||||
"close_tab": "关闭标签页",
|
||||
"add_new_tab": "添加新标签页",
|
||||
"close": "关闭",
|
||||
"close_other_tabs": "关闭其他标签页",
|
||||
"close_all_tabs": "关闭所有标签页",
|
||||
"move_tab_to_new_window": "将此标签页移动到新窗口",
|
||||
"new_tab": "新标签页"
|
||||
},
|
||||
"toc": {
|
||||
"table_of_contents": "目录",
|
||||
"options": "选项"
|
||||
},
|
||||
"watched_file_update_status": {
|
||||
"file_last_modified": "文件 <code class=\"file-path\"></code> 最后修改时间为 <span class=\"file-last-modified\"></span>。",
|
||||
"upload_modified_file": "上传修改的文件",
|
||||
"ignore_this_change": "忽略此更改"
|
||||
},
|
||||
"app_context": {
|
||||
"please_wait_for_save": "请等待几秒钟以完成保存,然后您可以尝试再操作一次。"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,9 +247,9 @@
|
||||
"revisions_deleted": "Note revisions has been deleted.",
|
||||
"revision_restored": "Note revision has been restored.",
|
||||
"revision_deleted": "Note revision has been deleted.",
|
||||
"snapshot_interval":"Note Revisions Snapshot Interval: {{seconds}}s.",
|
||||
"maximum_revisions":"Maximum revisions for current note: {{number}}.",
|
||||
"settings":"Settings for Note revisions.",
|
||||
"snapshot_interval": "Note Revisions Snapshot Interval: {{seconds}}s.",
|
||||
"maximum_revisions": "Maximum revisions for current note: {{number}}.",
|
||||
"settings": "Settings for Note revisions",
|
||||
"download_button": "Download",
|
||||
"mime": "MIME: ",
|
||||
"file_size": "File size:",
|
||||
@@ -1290,6 +1290,8 @@
|
||||
"insert-child-note": "Insert child note",
|
||||
"delete": "Delete",
|
||||
"search-in-subtree": "Search in subtree",
|
||||
"hoist-note": "Hoist note",
|
||||
"unhoist-note": "Unhoist note",
|
||||
"edit-branch-prefix": "Edit branch prefix",
|
||||
"advanced": "Advanced",
|
||||
"expand-subtree": "Expand subtree",
|
||||
@@ -1327,7 +1329,7 @@
|
||||
"mermaid-diagram": "Mermaid Diagram",
|
||||
"canvas": "Canvas",
|
||||
"web-view": "Web View",
|
||||
"mind-map": "Mind Map",
|
||||
"mind-map": "Mind Map (Beta)",
|
||||
"file": "File",
|
||||
"image": "Image",
|
||||
"launcher": "Launcher",
|
||||
@@ -1401,5 +1403,26 @@
|
||||
},
|
||||
"sql_table_schemas": {
|
||||
"tables": "Tables"
|
||||
},
|
||||
"tab_row": {
|
||||
"close_tab": "Close tab",
|
||||
"add_new_tab": "Add new tab",
|
||||
"close": "Close",
|
||||
"close_other_tabs": "Close other tabs",
|
||||
"close_all_tabs": "Close all tabs",
|
||||
"move_tab_to_new_window": "Move this tab to a new window",
|
||||
"new_tab": "New tab"
|
||||
},
|
||||
"toc": {
|
||||
"table_of_contents": "Table of Contents",
|
||||
"options": "Options"
|
||||
},
|
||||
"watched_file_update_status": {
|
||||
"file_last_modified": "File <code class=\"file-path\"></code> has been last modified on <span class=\"file-last-modified\"></span>.",
|
||||
"upload_modified_file": "Upload modified file",
|
||||
"ignore_this_change": "Ignore this change"
|
||||
},
|
||||
"app_context": {
|
||||
"please_wait_for_save": "Please wait for a couple of seconds for the save to finish, then you can try again."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,6 +247,9 @@
|
||||
"revisions_deleted": "Se han eliminado las revisiones de nota.",
|
||||
"revision_restored": "Se ha restaurado la revisión de nota.",
|
||||
"revision_deleted": "Se ha eliminado la revisión de la nota.",
|
||||
"snapshot_interval": "Intervalo de respaldo de revisiones de nota: {{seconds}}s.",
|
||||
"maximum_revisions": "Máximo de revisiones para la nota actual: {{number}}.",
|
||||
"settings": "Ajustes para revisiones de nota",
|
||||
"download_button": "Descargar",
|
||||
"mime": "MIME: ",
|
||||
"file_size": "Tamaño del archivo:",
|
||||
@@ -344,13 +347,13 @@
|
||||
"widget": "marca esta nota como un widget personalizado que se agregará al árbol de componentes de Trilium",
|
||||
"workspace": "marca esta nota como un espacio de trabajo que permite un fácil levantamiento",
|
||||
"workspace_icon_class": "define la clase CSS del ícono de cuadro que se usará en la pestaña cuando se levante a esta nota",
|
||||
"workspace_tab_background_color": "color CSS utilizado en la pestaña de nota cuando se eleva a esta nota",
|
||||
"workspace_tab_background_color": "color CSS utilizado en la pestaña de nota cuando se ancla a esta nota",
|
||||
"workspace_calendar_root": "Define la raíz del calendario por cada espacio de trabajo",
|
||||
"workspace_template": "Esta nota aparecerá en la selección de plantillas disponibles al crear una nueva nota, pero solo cuando se levante a un espacio de trabajo que contenga esta plantilla",
|
||||
"search_home": "se crearán nuevas notas de búsqueda como hijas de esta nota",
|
||||
"workspace_search_home": "se crearán nuevas notas de búsqueda como hijo de esta nota cuando se elevan a algún antecesor de esta nota del espacio de trabajo",
|
||||
"workspace_search_home": "se crearán nuevas notas de búsqueda como hijo de esta nota cuando se anclan a algún antecesor de esta nota del espacio de trabajo",
|
||||
"inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas - cuando crea una nota usando el botón \"nueva nota\" en la barra lateral, las notas serán creadas como notas hijo de la nota marcada con la etiqueta <code>#inbox</code>.",
|
||||
"workspace_inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas cuando se elevan a algún antecesor de esta nota del espacio de trabajo",
|
||||
"workspace_inbox": "ubicación predeterminada de la bandeja de entrada para nuevas notas cuando se anclan a algún antecesor de esta nota del espacio de trabajo",
|
||||
"sql_console_home": "ubicación predeterminada de las notas de la consola SQL",
|
||||
"bookmark_folder": "la nota con esta etiqueta aparecerá en los marcadores como carpeta (permitiendo el acceso a sus elementos hijos).",
|
||||
"share_hidden_from_tree": "esta nota está oculta en el árbol de navegación izquierdo, pero aún se puede acceder a ella con su URL",
|
||||
@@ -370,7 +373,7 @@
|
||||
"toc": "<code>#toc</code> o <code>#toc=show</code> forzará que se muestre la tabla de contenido, <code>#toc=hide</code> forzará a ocultarla. Si la etiqueta no existe, se observa la configuración global",
|
||||
"color": "define el color de la nota en el árbol de notas, enlaces, etc. Utilice cualquier valor de color CSS válido como 'red' o #a13d5f",
|
||||
"keyboard_shortcut": "Define un atajo de teclado que saltará inmediatamente a esta nota. Ejemplo: 'ctrl+alt+e'. Es necesario recargar la interfaz para que el cambio surta efecto.",
|
||||
"keep_current_hoisting": "Abrir este enlace no cambiará la elevación incluso si la nota no se puede mostrar en el subárbol elevado actual.",
|
||||
"keep_current_hoisting": "Abrir este enlace no cambiará el anclaje incluso si la nota no se puede mostrar en el subárbol anclado actualmente.",
|
||||
"execute_button": "Título del botón que ejecutará la nota de código actual",
|
||||
"execute_description": "Descripción más larga de la nota de código actual que se muestra junto con el botón de ejecución",
|
||||
"exclude_from_note_map": "Las notas con esta etiqueta se ocultarán del Mapa de notas",
|
||||
@@ -759,7 +762,7 @@
|
||||
"clone_button": "Clonar nota a nueva ubicación...",
|
||||
"intro_placed": "Esta nota está colocada en las siguientes rutas:",
|
||||
"intro_not_placed": "Esta nota aún no se ha colocado en el árbol de notas.",
|
||||
"outside_hoisted": "Esta ruta está fuera de la nota elevada y habría que bajarla.",
|
||||
"outside_hoisted": "Esta ruta está fuera de la nota anclada y habría que bajarla.",
|
||||
"archived": "Archivado",
|
||||
"search": "Buscar"
|
||||
},
|
||||
@@ -1090,6 +1093,13 @@
|
||||
"note_revisions_snapshot_description": "El intervalo de tiempo de la instantánea de revisión de nota es el tiempo en segundos después de lo cual se creará una nueva revisión para la nota. Ver <a href=\"https://triliumnext.github.io/docs/wiki/note-revisions.html\" class=\"external\"> wiki </a> para obtener más información.",
|
||||
"snapshot_time_interval_label": "Intervalo de tiempo de la instantánea de revisión de notas (en segundos)"
|
||||
},
|
||||
"revisions_snapshot_limit": {
|
||||
"note_revisions_snapshot_limit_title": "Límite de respaldos de revisiones de nota",
|
||||
"note_revisions_snapshot_limit_description": "El límite de número de respaldos de revisiones de notas se refiere al número máximo de revisiones que pueden guardarse para cada nota. Donde -1 significa sin límite, 0 significa borrar todas las revisiones. Puede establecer el máximo de revisiones para una sola nota a través de la etiqueta #versioningLimit.",
|
||||
"snapshot_number_limit_label": "Número límite de respaldos de revisiones de nota:",
|
||||
"erase_excess_revision_snapshots": "Eliminar el exceso de respaldos de revisiones ahora",
|
||||
"erase_excess_revision_snapshots_prompt": "El exceso de respaldos de revisiones han sido eliminadas."
|
||||
},
|
||||
"search_engine": {
|
||||
"title": "Motor de búsqueda",
|
||||
"custom_search_engine_info": "El motor de búsqueda personalizado requiere que se establezcan un nombre y una URL. Si alguno de estos no está configurado, DuckDuckGo se utilizará como motor de búsqueda predeterminado.",
|
||||
@@ -1189,7 +1199,7 @@
|
||||
"password": {
|
||||
"heading": "Contraseña",
|
||||
"alert_message": "Tenga cuidado de recordar su nueva contraseña. La contraseña se utiliza para iniciar sesión en la interfaz web y cifrar las notas protegidas. Si olvida su contraseña, todas sus notas protegidas se perderán para siempre.",
|
||||
"reset_link": "haga clic aquí para restablecerla.",
|
||||
"reset_link": "Dé clic aquí para restablecerla.",
|
||||
"old_password": "Contraseña anterior",
|
||||
"new_password": "Nueva contraseña",
|
||||
"new_password_confirmation": "Confirmación de nueva contraseña",
|
||||
@@ -1280,6 +1290,8 @@
|
||||
"insert-child-note": "Insertar nota hijo",
|
||||
"delete": "Eliminar",
|
||||
"search-in-subtree": "Buscar en subárbol",
|
||||
"hoist-note": "Anclar nota",
|
||||
"unhoist-note": "Desanclar nota",
|
||||
"edit-branch-prefix": "Editar prefijo de rama",
|
||||
"advanced": "Avanzado",
|
||||
"expand-subtree": "Expandir subárbol",
|
||||
@@ -1317,7 +1329,7 @@
|
||||
"mermaid-diagram": "Diagrama Mermaid",
|
||||
"canvas": "Lienzo",
|
||||
"web-view": "Vista Web",
|
||||
"mind-map": "Mapa Mental",
|
||||
"mind-map": "Mapa Mental (beta)",
|
||||
"file": "Archivo",
|
||||
"image": "Imagen",
|
||||
"launcher": "Lanzador",
|
||||
@@ -1391,5 +1403,26 @@
|
||||
},
|
||||
"sql_table_schemas": {
|
||||
"tables": "Tablas"
|
||||
},
|
||||
"tab_row": {
|
||||
"close_tab": "Cerrar pestaña",
|
||||
"add_new_tab": "Agregar nueva pestaña",
|
||||
"close": "Cerrar",
|
||||
"close_other_tabs": "Cerrar otras pestañas",
|
||||
"close_all_tabs": "Cerras todas las pestañas",
|
||||
"move_tab_to_new_window": "Mover esta pestaña a una nueva ventana",
|
||||
"new_tab": "Nueva pestaña"
|
||||
},
|
||||
"toc": {
|
||||
"table_of_contents": "Tabla de contenido",
|
||||
"options": "Opciones"
|
||||
},
|
||||
"watched_file_update_status": {
|
||||
"file_last_modified": "Archivo <code class=\"file-path\"></code> ha sido modificado por última vez en<span class=\"file-last-modified\"></span>.",
|
||||
"upload_modified_file": "Subir archivo modificado",
|
||||
"ignore_this_change": "Ignorar este cambio"
|
||||
},
|
||||
"app_context": {
|
||||
"please_wait_for_save": "Por favor espere algunos segundos a que se termine de guardar, después intente de nuevo."
|
||||
}
|
||||
}
|
||||
|
||||
1405
src/public/translations/fr/translation.json
Normal file
1405
src/public/translations/fr/translation.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -998,7 +998,10 @@
|
||||
"revision_deleted": "Revizia notiței a fost ștearsă.",
|
||||
"revision_last_edited": "Revizia a fost ultima oară modificată pe {{date}}",
|
||||
"revision_restored": "Revizia notiței a fost restaurată.",
|
||||
"revisions_deleted": "Notița reviziei a fost ștearsă."
|
||||
"revisions_deleted": "Notița reviziei a fost ștearsă.",
|
||||
"maximum_revisions": "Numărul maxim de revizii pentru notița curentă: {{number}}.",
|
||||
"settings": "Setări revizii ale notițelor",
|
||||
"snapshot_interval": "Intervalul de creare a reviziilor pentru notițe: {{seconds}}s."
|
||||
},
|
||||
"revisions_button": {
|
||||
"note_revisions": "Revizii ale notiței"
|
||||
@@ -1276,7 +1279,9 @@
|
||||
"recent-changes-in-subtree": "Schimbări recente în ierarhie",
|
||||
"search-in-subtree": "Caută în ierarhie",
|
||||
"sort-by": "Ordonare după...",
|
||||
"unprotect-subtree": "Deprotejează ierarhia"
|
||||
"unprotect-subtree": "Deprotejează ierarhia",
|
||||
"hoist-note": "Focalizează notița",
|
||||
"unhoist-note": "Defocalizează notița"
|
||||
},
|
||||
"shared_info": {
|
||||
"help_link": "Pentru informații vizitați <a href=\"https://triliumnext.github.io/Docs/Wiki/sharing.html\">wiki-ul</a>.",
|
||||
@@ -1288,7 +1293,7 @@
|
||||
"canvas": "Schiță",
|
||||
"code": "Cod sursă",
|
||||
"mermaid-diagram": "Diagramă Mermaid",
|
||||
"mind-map": "Hartă mentală",
|
||||
"mind-map": "Hartă mentală (beta)",
|
||||
"note-map": "Hartă notițe",
|
||||
"relation-map": "Hartă relații",
|
||||
"render-note": "Randare notiță",
|
||||
@@ -1369,5 +1374,55 @@
|
||||
},
|
||||
"title_bar_buttons": {
|
||||
"window-on-top": "Menține fereastra mereu vizibilă"
|
||||
},
|
||||
"note_detail": {
|
||||
"could_not_find_typewidget": "Nu s-a putut găsi widget-ul corespunzător tipului „{{type}}”"
|
||||
},
|
||||
"note_title": {
|
||||
"placeholder": "introduceți titlul notiței aici..."
|
||||
},
|
||||
"revisions_snapshot_limit": {
|
||||
"erase_excess_revision_snapshots": "Șterge acum reviziile excesive",
|
||||
"erase_excess_revision_snapshots_prompt": "Reviziile excesive au fost șterse.",
|
||||
"note_revisions_snapshot_limit_description": "Limita numărului de revizii se referă la numărul maxim de revizii pentru fiecare notiță. -1 reprezintă nicio limită, 0 înseamnă ștergerea tuturor reviziilor. Se poate seta valoarea individual pentru o notiță prin eticheta #versioningLimit.",
|
||||
"note_revisions_snapshot_limit_title": "Limita de revizii a notițelor",
|
||||
"snapshot_number_limit_label": "Numărul maxim de revizii pentru notițe:"
|
||||
},
|
||||
"search_result": {
|
||||
"no_notes_found": "Nu au fost găsite notițe pentru parametrii de căutare dați.",
|
||||
"search_not_executed": "Căutarea n-a fost rulată încă. Clic pe butonul „Căutare” de deasupra pentru a vedea rezultatele."
|
||||
},
|
||||
"show_floating_buttons_button": {
|
||||
"button_title": "Afișează butoanele"
|
||||
},
|
||||
"spacer": {
|
||||
"configure_launchbar": "Configurează bara de lansare"
|
||||
},
|
||||
"sql_result": {
|
||||
"no_rows": "Nu s-a găsit niciun rând pentru această interogare"
|
||||
},
|
||||
"sql_table_schemas": {
|
||||
"tables": "Tabele"
|
||||
},
|
||||
"app_context": {
|
||||
"please_wait_for_save": "Așteptați câteva secunde până se salvează toate datele și apoi reîncercați."
|
||||
},
|
||||
"tab_row": {
|
||||
"add_new_tab": "Adaugă tab nou",
|
||||
"close": "Închide",
|
||||
"close_all_tabs": "Închide toate taburile",
|
||||
"close_other_tabs": "Închide celelalte taburi",
|
||||
"close_tab": "Închide tab",
|
||||
"move_tab_to_new_window": "Mută acest tab în altă fereastră",
|
||||
"new_tab": "Tab nou"
|
||||
},
|
||||
"toc": {
|
||||
"options": "Setări",
|
||||
"table_of_contents": "Cuprins"
|
||||
},
|
||||
"watched_file_update_status": {
|
||||
"file_last_modified": "Fișierul <code class=\"file-path\"></code> a fost ultima oară modificat la data de <span class=\"file-last-modified\"></span>.",
|
||||
"ignore_this_change": "Ignoră această schimbare",
|
||||
"upload_modified_file": "Încarcă fișier modificat"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,6 +143,10 @@ function getSupportedLocales() {
|
||||
"id": "es",
|
||||
"name": "Español"
|
||||
},
|
||||
{
|
||||
"id": "fr",
|
||||
"name": "Français"
|
||||
},
|
||||
{
|
||||
"id": "cn",
|
||||
"name": "简体中文"
|
||||
|
||||
@@ -2,23 +2,37 @@ import i18next from "i18next";
|
||||
import Backend from "i18next-fs-backend";
|
||||
import options from "./options.js";
|
||||
import sql_init from "./sql_init.js";
|
||||
import { fileURLToPath } from "url";
|
||||
import { dirname, join } from "path";
|
||||
import utils from "./utils.js";
|
||||
import env from "./env.js";
|
||||
|
||||
export async function initializeTranslations() {
|
||||
const resourceDir = getResourceDir();
|
||||
|
||||
// Initialize translations
|
||||
await i18next.use(Backend).init({
|
||||
lng: await getCurrentLanguage(),
|
||||
lng: getCurrentLanguage(),
|
||||
fallbackLng: "en",
|
||||
ns: "server",
|
||||
backend: {
|
||||
loadPath: "translations/{{lng}}/{{ns}}.json"
|
||||
loadPath: join(resourceDir, "translations/{{lng}}/{{ns}}.json")
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getResourceDir() {
|
||||
if (utils.isElectron() && !env.isDev()) {
|
||||
return process.resourcesPath;
|
||||
} else {
|
||||
return join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
||||
}
|
||||
}
|
||||
|
||||
function getCurrentLanguage() {
|
||||
let language;
|
||||
if (sql_init.isDbInitialized()) {
|
||||
language = options.getOption("locale");
|
||||
language = options.getOptionOrNull("locale");
|
||||
}
|
||||
|
||||
if (!language) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,15 @@ export interface KeyboardShortcut {
|
||||
description?: string;
|
||||
defaultShortcuts?: string[];
|
||||
effectiveShortcuts?: string[];
|
||||
scope?: string;
|
||||
/**
|
||||
* Scope here means on which element the keyboard shortcuts are attached - this means that for the shortcut to work,
|
||||
* the focus has to be inside the element.
|
||||
*
|
||||
* So e.g. shortcuts with "note-tree" scope work only when the focus is in note tree.
|
||||
* This allows to have the same shortcut have different actions attached based on the context
|
||||
* e.g. CTRL-C in note tree does something a bit different from CTRL-C in the text editor.
|
||||
*/
|
||||
scope?: "window" | "note-tree" | "text-detail" | "code-detail";
|
||||
}
|
||||
|
||||
export interface KeyboardShortcutWithRequiredActionName extends KeyboardShortcut {
|
||||
|
||||
@@ -126,7 +126,7 @@ function initStartupOptions() {
|
||||
}
|
||||
|
||||
function getKeyboardDefaultOptions() {
|
||||
return (keyboardActions.DEFAULT_KEYBOARD_ACTIONS
|
||||
return (keyboardActions.getDefaultKeyboardActions()
|
||||
.filter(ka => !!ka.actionName) as KeyboardShortcutWithRequiredActionName[])
|
||||
.map(ka => ({
|
||||
name: `keyboardShortcuts${ka.actionName.charAt(0).toUpperCase()}${ka.actionName.slice(1)}`,
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
[ ! -z "${USER_GID}" ] && groupmod -og ${USER_GID} node || echo "No USER_GID specified, leaving 1000"
|
||||
|
||||
chown -R node:node /home/node
|
||||
exec su -c "node ./src/www" node
|
||||
exec su -c "node ./src/main" node
|
||||
@@ -1 +1,161 @@
|
||||
{}
|
||||
{
|
||||
"keyboard_actions": {
|
||||
"open-jump-to-note-dialog": "Abrir cuadro de diálogo \"Saltar a nota\"",
|
||||
"search-in-subtree": "Buscar notas en el subárbol de la nota activa",
|
||||
"expand-subtree": "Expandir el subárbol de la nota actual",
|
||||
"collapse-tree": "Colapsa el árbol de notas completo",
|
||||
"collapse-subtree": "Colapsa el subárbol de la nota actual",
|
||||
"sort-child-notes": "Ordenar notas hijas",
|
||||
"creating-and-moving-notes": "Creando y moviendo notas",
|
||||
"create-note-into-inbox": "Crear una nota en la bandeja de entrada (si está definida) o nota del día",
|
||||
"delete-note": "Eliminar nota",
|
||||
"move-note-up": "Mover nota hacia arriba",
|
||||
"move-note-down": "Mover nota hacia abajo",
|
||||
"move-note-up-in-hierarchy": "Mover nota hacia arriba en la jerarquía",
|
||||
"move-note-down-in-hierarchy": "Mover nota hacia abajo en la jerarquía",
|
||||
"edit-note-title": "Saltar del árbol al detalle de la nota y editar el título",
|
||||
"edit-branch-prefix": "Mostrar cuadro de diálogo Editar prefijo de rama",
|
||||
"note-clipboard": "Portapapeles de notas",
|
||||
"copy-notes-to-clipboard": "Copiar las notas seleccionadas al portapapeles",
|
||||
"paste-notes-from-clipboard": "Pegar las notas del portapapeles en una nota activa",
|
||||
"cut-notes-to-clipboard": "Cortar las notas seleccionadas al portapapeles",
|
||||
"select-all-notes-in-parent": "Seleccionar todas las notas del nivel de la nota actual",
|
||||
"add-note-above-to-the-selection": "Agregar nota arriba de la selección",
|
||||
"add-note-below-to-selection": "Agregar nota arriba de la selección",
|
||||
"duplicate-subtree": "Duplicar subárbol",
|
||||
"tabs-and-windows": "Pestañas y ventanas",
|
||||
"open-new-tab": "Abre una nueva pestaña",
|
||||
"close-active-tab": "Cierra la pestaña activa",
|
||||
"reopen-last-tab": "Vuelve a abrir la última pestaña cerrada",
|
||||
"activate-next-tab": "Activa la pestaña de la derecha",
|
||||
"activate-previous-tab": "Activa la pestaña de la izquierda",
|
||||
"open-new-window": "Abrir nueva ventana vacía",
|
||||
"toggle-tray": "Muestra/Oculta la aplicación en la bandeja del sistema",
|
||||
"first-tab": "Activa la primera pestaña de la lista",
|
||||
"second-tab": "Activa la segunda pestaña de la lista",
|
||||
"third-tab": "Activa la tercera pestaña de la lista",
|
||||
"fourth-tab": "Activa la cuarta pestaña de la lista",
|
||||
"fifth-tab": "Activa la quinta pestaña de la lista",
|
||||
"sixth-tab": "Activa la sexta pestaña de la lista",
|
||||
"seventh-tab": "Activa la séptima pestaña de la lista",
|
||||
"eight-tab": "Activa la octava pestaña de la lista",
|
||||
"ninth-tab": "Activa la novena pestaña de la lista",
|
||||
"last-tab": "Activa la última pestaña de la lista",
|
||||
"dialogs": "Diálogos",
|
||||
"show-note-source": "Muestra el cuadro de diálogo Fuente de nota",
|
||||
"show-options": "Muestra el cuadro de diálogo Opciones",
|
||||
"show-revisions": "Muestra el cuadro de diálogo Revisiones de notas",
|
||||
"show-recent-changes": "Muestra el cuadro de diálogo Cambios recientes",
|
||||
"show-sql-console": "Muestra el cuadro de diálogo Consola SQL",
|
||||
"show-backend-log": "Muestra el cuadro de diálogo Registro de backend",
|
||||
"text-note-operations": "Operaciones de notas de texto",
|
||||
"add-link-to-text": "Abrir cuadro de diálogo para agregar un enlace al texto",
|
||||
"follow-link-under-cursor": "Seguir el enlace dentro del cual se coloca el cursor",
|
||||
"insert-date-and-time-to-text": "Insertar fecha y hora actuales en el texto",
|
||||
"paste-markdown-into-text": "Pega Markdown del portapapeles en la nota de texto",
|
||||
"cut-into-note": "Corta la selección de la nota actual y crea una subnota con el texto seleccionado",
|
||||
"add-include-note-to-text": "Abre el cuadro de diálogo para incluir una nota",
|
||||
"edit-readonly-note": "Editar una nota de sólo lectura",
|
||||
"attributes-labels-and-relations": "Atributos (etiquetas y relaciones)",
|
||||
"add-new-label": "Crear nueva etiqueta",
|
||||
"create-new-relation": "Crear nueva relación",
|
||||
"ribbon-tabs": "Pestañas de cinta",
|
||||
"toggle-basic-properties": "Alternar propiedades básicas",
|
||||
"toggle-file-properties": "Alternar propiedades de archivo",
|
||||
"toggle-image-properties": "Alternar propiedades de imagen",
|
||||
"toggle-owned-attributes": "Alternar atributos de propiedad",
|
||||
"toggle-inherited-attributes": "Alternar atributos heredados",
|
||||
"toggle-promoted-attributes": "Alternar atributos promocionados",
|
||||
"toggle-link-map": "Alternar mapa de enlaces",
|
||||
"toggle-note-info": "Alternar información de nota",
|
||||
"toggle-note-paths": "Alternar rutas de notas",
|
||||
"toggle-similar-notes": "Alternar notas similares",
|
||||
"other": "Otro",
|
||||
"toggle-right-pane": "Alternar la visualización del panel derecho, que incluye la tabla de contenidos y aspectos destacados",
|
||||
"print-active-note": "Imprimir nota activa",
|
||||
"open-note-externally": "Abrir nota como un archivo con la aplicación predeterminada",
|
||||
"render-active-note": "Renderizar (volver a renderizar) nota activa",
|
||||
"run-active-note": "Ejecutar nota de código JavaScript activa (frontend/backend)",
|
||||
"toggle-note-hoisting": "Alterna la elevación de la nota activa",
|
||||
"unhoist": "Bajar desde cualquier lugar",
|
||||
"reload-frontend-app": "Recargar frontend de la aplicación",
|
||||
"open-dev-tools": "Abrir herramientas de desarrollo",
|
||||
"toggle-left-note-tree-panel": "Alternar panel izquierdo (árbol de notas)",
|
||||
"toggle-full-screen": "Alternar pantalla completa",
|
||||
"zoom-out": "Alejar",
|
||||
"zoom-in": "Acercar",
|
||||
"note-navigation": "Navegación de notas",
|
||||
"reset-zoom-level": "Restablecer nivel de zoom",
|
||||
"copy-without-formatting": "Copiar el texto seleccionado sin formatear",
|
||||
"force-save-revision": "Forzar la creación/guardado de una nueva revisión de nota de la nota activa",
|
||||
"show-help": "Muestra ayuda/hoja de referencia integrada",
|
||||
"toggle-book-properties": "Alternar propiedades del libro"
|
||||
},
|
||||
"login": {
|
||||
"title": "Iniciar sesión",
|
||||
"heading": "Iniciar sesión en Trillium",
|
||||
"incorrect-password": "La contraseña es incorrecta. Por favor inténtalo de nuevo.",
|
||||
"password": "Contraseña",
|
||||
"remember-me": "Recordarme",
|
||||
"button": "Iniciar sesión"
|
||||
},
|
||||
"set_password": {
|
||||
"heading": "Establecer contraseña",
|
||||
"description": "Antes de poder comenzar a usar Trilium desde la web, primero debe establecer una contraseña. Luego utilizará esta contraseña para iniciar sesión.",
|
||||
"password": "Contraseña",
|
||||
"password-confirmation": "Confirmación de contraseña",
|
||||
"button": "Establecer contraseña"
|
||||
},
|
||||
"javascript-required": "Trilium requiere que JavaScript esté habilitado.",
|
||||
"setup": {
|
||||
"heading": "Configuración de TrilliumNext Notes",
|
||||
"new-document": "Soy un usuario nuevo y quiero crear un nuevo documento de Trilium para mis notas",
|
||||
"sync-from-desktop": "Ya tengo una instancia de escritorio y quiero configurar la sincronización con ella",
|
||||
"sync-from-server": "Ya tengo una instancia de servidor y quiero configurar la sincronización con ella",
|
||||
"next": "Siguiente",
|
||||
"init-in-progress": "Inicialización del documento en curso",
|
||||
"redirecting": "En breve será redirigido a la aplicación.",
|
||||
"title": "Configuración"
|
||||
},
|
||||
"setup_sync-from-desktop": {
|
||||
"heading": "Sincronizar desde el escritorio",
|
||||
"description": "Esta configuración debe iniciarse desde la instancia de escritorio:",
|
||||
"step1": "Abra su instancia de escritorio de TriliumNext Notes.",
|
||||
"step2": "En el menú Trilium, dé clic en Opciones.",
|
||||
"step3": "Dé clic en la categoría Sincronizar.",
|
||||
"step4": "Cambie la dirección de la instancia del servidor a: {{- host}} y dé clic en Guardar.",
|
||||
"step5": "Dé clic en el botón \"Probar sincronización\" para verificar que la conexión fue exitosa.",
|
||||
"step6": "Una vez que haya completado estos pasos, dé clic en {{- link}}.",
|
||||
"step6-here": "aquí"
|
||||
},
|
||||
"setup_sync-from-server": {
|
||||
"heading": "Sincronización desde el servidor",
|
||||
"instructions": "Por favor, ingrese la dirección y las credenciales del servidor Trilium a continuación. Esto descargará todo el documento de Trilium desde el servidor y configurará la sincronización. Dependiendo del tamaño del documento y de la velocidad de su conexión, esto puede tardar un poco.",
|
||||
"server-host": "Dirección del servidor Trilium",
|
||||
"server-host-placeholder": "https://<hostname>:<port>",
|
||||
"proxy-server": "Servidor proxy (opcional)",
|
||||
"proxy-server-placeholder": "https://<hostname>:<port>",
|
||||
"note": "Nota:",
|
||||
"proxy-instruction": "Si deja la configuración de proxy en blanco, se utilizará el proxy del sistema (aplica únicamente a la aplicación de escritorio)",
|
||||
"password": "Contraseña",
|
||||
"password-placeholder": "Contraseña",
|
||||
"back": "Atrás",
|
||||
"finish-setup": "Finalizar la configuración"
|
||||
},
|
||||
"setup_sync-in-progress": {
|
||||
"heading": "Sincronización en progreso",
|
||||
"successful": "La sincronización se ha configurado correctamente. La sincronización inicial tardará algún tiempo en finalizar. Una vez hecho esto, será redirigido a la página de inicio de sesión.",
|
||||
"outstanding-items": "Elementos de sincronización destacados:",
|
||||
"outstanding-items-default": "N/A"
|
||||
},
|
||||
"share_404": {
|
||||
"title": "No encontrado",
|
||||
"heading": "No encontrado"
|
||||
},
|
||||
"share_page": {
|
||||
"parent": "padre:",
|
||||
"clipped-from": "Esta nota fue recortada originalmente de {{- url}}",
|
||||
"child-notes": "Notas hijo:",
|
||||
"no-content": "Esta nota no tiene contenido."
|
||||
}
|
||||
}
|
||||
|
||||
161
translations/fr/server.json
Normal file
161
translations/fr/server.json
Normal file
@@ -0,0 +1,161 @@
|
||||
{
|
||||
"keyboard_actions": {
|
||||
"open-jump-to-note-dialog": "Ouvrir la boîte de dialogue \"Aller à la note\"",
|
||||
"search-in-subtree": "Rechercher des notes dans les sous-arbres de la note active",
|
||||
"expand-subtree": "Développer le sous-arbre de la note actuelle",
|
||||
"collapse-tree": "Réduire toute l'arborescence des notes",
|
||||
"collapse-subtree": "Réduire le sous-arbre de la note actuelle",
|
||||
"sort-child-notes": "Trier les notes enfants",
|
||||
"creating-and-moving-notes": "Créer et déplacer des notes",
|
||||
"create-note-into-inbox": "Créer une note dans l'emplacement par défaut (si défini) ou une note journalière",
|
||||
"delete-note": "Supprimer la note",
|
||||
"move-note-up": "Déplacer la note vers le haut",
|
||||
"move-note-down": "Déplacer la note vers le bas",
|
||||
"move-note-up-in-hierarchy": "Déplacer la note vers le haut dans la hiérarchie",
|
||||
"move-note-down-in-hierarchy": "Déplacer la note vers le bas dans la hiérarchie",
|
||||
"edit-note-title": "Passer de l'arborescence aux détails d'une note et éditer le titre",
|
||||
"edit-branch-prefix": "Afficher la fenêtre Éditer le préfixe de branche",
|
||||
"note-clipboard": "Note presse-papiers",
|
||||
"copy-notes-to-clipboard": "Copier les notes sélectionnées dans le presse-papiers",
|
||||
"paste-notes-from-clipboard": "Coller les notes depuis le presse-papiers dans la note active",
|
||||
"cut-notes-to-clipboard": "Couper les notes sélectionnées dans le presse-papiers",
|
||||
"select-all-notes-in-parent": "Sélectionner toutes les notes du niveau de la note active",
|
||||
"add-note-above-to-the-selection": "Ajouter la note au-dessus de la sélection",
|
||||
"add-note-below-to-selection": "Ajouter la note en dessous de la sélection",
|
||||
"duplicate-subtree": "Dupliquer le sous-arbre",
|
||||
"tabs-and-windows": "Onglets et fenêtres",
|
||||
"open-new-tab": "Ouvrir un nouvel onglet",
|
||||
"close-active-tab": "Fermer l'onglet actif",
|
||||
"reopen-last-tab": "Rouvrir le dernier onglet fermé",
|
||||
"activate-next-tab": "Basculer vers l'onglet à droite de l'onglet actif",
|
||||
"activate-previous-tab": "Basculer vers l'onglet à gauche de l'onglet actif",
|
||||
"open-new-window": "Ouvrir une nouvelle fenêtre vide",
|
||||
"toggle-tray": "Afficher/masquer l'application dans la barre des tâches",
|
||||
"first-tab": "Basculer vers le premier onglet dans la liste",
|
||||
"second-tab": "Basculer vers le deuxième onglet dans la liste",
|
||||
"third-tab": "Basculer vers le troisième onglet dans la liste",
|
||||
"fourth-tab": "Basculer vers le quatrième onglet dans la liste",
|
||||
"fifth-tab": "Basculer vers le cinquième onglet dans la liste",
|
||||
"sixth-tab": "Basculer vers le sixième onglet dans la liste",
|
||||
"seventh-tab": "Basculer vers le septième onglet dans la liste",
|
||||
"eight-tab": "Basculer vers le huitième onglet dans la liste",
|
||||
"ninth-tab": "Basculer vers le neuvième onglet dans la liste",
|
||||
"last-tab": "Basculer vers le dernier onglet dans la liste",
|
||||
"dialogs": "Boîtes de dialogue",
|
||||
"show-note-source": "Affiche la boîte de dialogue Source de la note",
|
||||
"show-options": "Afficher les Options",
|
||||
"show-revisions": "Afficher la boîte de dialogue Versions de la note",
|
||||
"show-recent-changes": "Afficher la boîte de dialogue Modifications récentes",
|
||||
"show-sql-console": "Afficher la boîte de dialogue Console SQL",
|
||||
"show-backend-log": "Afficher la boîte de dialogue Journal du backend",
|
||||
"text-note-operations": "Opérations sur les notes textuelles",
|
||||
"add-link-to-text": "Ouvrir la boîte de dialogue pour ajouter un lien dans le texte",
|
||||
"follow-link-under-cursor": "Suivre le lien sous le curseur",
|
||||
"insert-date-and-time-to-text": "Insérer la date et l'heure dans le texte",
|
||||
"paste-markdown-into-text": "Coller du texte au format Markdown dans la note depuis le presse-papiers",
|
||||
"cut-into-note": "Couper la sélection depuis la note actuelle et créer une sous-note avec le texte sélectionné",
|
||||
"add-include-note-to-text": "Ouvrir la boîte de dialogue pour Inclure une note",
|
||||
"edit-readonly-note": "Éditer une note en lecture seule",
|
||||
"attributes-labels-and-relations": "Attributs (labels et relations)",
|
||||
"add-new-label": "Créer un nouveau label",
|
||||
"create-new-relation": "Créer une nouvelle relation",
|
||||
"ribbon-tabs": "Onglets du ruban",
|
||||
"toggle-basic-properties": "Afficher/masquer les Propriétés basiques de la note",
|
||||
"toggle-file-properties": "Afficher/masquer les Propriétés du fichier",
|
||||
"toggle-image-properties": "Afficher/masquer les Propriétés de l'image",
|
||||
"toggle-owned-attributes": "Afficher/masquer les Attributs propres",
|
||||
"toggle-inherited-attributes": "Afficher/masquer les Attributs hérités",
|
||||
"toggle-promoted-attributes": "Afficher/masquer les Attributs promus",
|
||||
"toggle-link-map": "Afficher/masquer la Carte des liens",
|
||||
"toggle-note-info": "Afficher/masquer les Informations de la note",
|
||||
"toggle-note-paths": "Afficher/masquer les Emplacements de la note",
|
||||
"toggle-similar-notes": "Afficher/masquer les Notes similaires",
|
||||
"other": "Autre",
|
||||
"toggle-right-pane": "Afficher/masquer le volet droit, qui inclut la Table des matières et les Accentuations",
|
||||
"print-active-note": "Imprimer la note active",
|
||||
"open-note-externally": "Ouvrir la note comme fichier avec l'application par défaut",
|
||||
"render-active-note": "Rendre (ou re-rendre) la note active",
|
||||
"run-active-note": "Exécuter le code JavaScript (frontend/backend) de la note active",
|
||||
"toggle-note-hoisting": "Activer le focus sur la note active",
|
||||
"unhoist": "Désactiver tout focus",
|
||||
"reload-frontend-app": "Recharger l'application",
|
||||
"open-dev-tools": "Ouvrir les outils de développement",
|
||||
"toggle-left-note-tree-panel": "Basculer le panneau gauche (arborescence des notes)",
|
||||
"toggle-full-screen": "Basculer en plein écran",
|
||||
"zoom-out": "Dézoomer",
|
||||
"zoom-in": "Zoomer",
|
||||
"note-navigation": "Navigation dans les notes",
|
||||
"reset-zoom-level": "Réinitialiser le niveau de zoom",
|
||||
"copy-without-formatting": "Copier le texte sélectionné sans mise en forme",
|
||||
"force-save-revision": "Forcer la création / sauvegarde d'une nouvelle version de la note active",
|
||||
"show-help": "Afficher l'aide intégrée / l'aide-mémoire",
|
||||
"toggle-book-properties": "Afficher/masquer les Propriétés du Livre"
|
||||
},
|
||||
"login": {
|
||||
"title": "Connexion",
|
||||
"heading": "Connexion à Trilium",
|
||||
"incorrect-password": "Le mot de passe est incorrect. Veuillez réessayer.",
|
||||
"password": "Mot de passe",
|
||||
"remember-me": "Se souvenir de moi",
|
||||
"button": "Connexion"
|
||||
},
|
||||
"set_password": {
|
||||
"heading": "Définir un mot de passe",
|
||||
"description": "Avant de pouvoir commencer à utiliser Trilium depuis le web, vous devez d'abord définir un mot de passe. Vous utiliserez ensuite ce mot de passe pour vous connecter.",
|
||||
"password": "Mot de passe",
|
||||
"password-confirmation": "Confirmation du mot de passe",
|
||||
"button": "Définir le mot de passe"
|
||||
},
|
||||
"javascript-required": "Trilium nécessite que JavaScript soit activé.",
|
||||
"setup": {
|
||||
"heading": "Configuration de TriliumNext Notes",
|
||||
"new-document": "Je suis un nouvel utilisateur et je souhaite créer un nouveau document Trilium pour mes notes",
|
||||
"sync-from-desktop": "J'ai déjà l'application de bureau et je souhaite configurer la synchronisation avec celle-ci",
|
||||
"sync-from-server": "J'ai déjà un serveur et je souhaite configurer la synchronisation avec celui-ci",
|
||||
"next": "Suivant",
|
||||
"init-in-progress": "Initialisation du document en cours",
|
||||
"redirecting": "Vous serez bientôt redirigé vers l'application.",
|
||||
"title": "Configuration"
|
||||
},
|
||||
"setup_sync-from-desktop": {
|
||||
"heading": "Synchroniser depuis une application de bureau",
|
||||
"description": "Cette procédure doit être réalisée depuis l'application de bureau installée sur votre ordinateur:",
|
||||
"step1": "Ouvrez l'application TriliumNext Notes.",
|
||||
"step2": "Dans le menu Trilium, cliquez sur Options.",
|
||||
"step3": "Cliquez sur la catégorie Synchroniser.",
|
||||
"step4": "Remplacez l'adresse de l'instance de serveur par : {{- host}} et cliquez sur Enregistrer.",
|
||||
"step5": "Cliquez sur le bouton 'Tester la synchronisation' pour vérifier que la connexion fonctionne.",
|
||||
"step6": "Une fois que vous avez terminé ces étapes, cliquez sur {{- link}}.",
|
||||
"step6-here": "ici"
|
||||
},
|
||||
"setup_sync-from-server": {
|
||||
"heading": "Synchroniser depuis le serveur",
|
||||
"instructions": "Veuillez saisir l'adresse du serveur Trilium et les informations d'identification ci-dessous. Cela téléchargera l'intégralité du document Trilium à partir du serveur et configurera la synchronisation avec celui-ci. En fonction de la taille du document et de votre vitesse de connexion, cela peut prendre un plusieurs minutes.",
|
||||
"server-host": "Adresse du serveur Trilium",
|
||||
"server-host-placeholder": "https://<nom d'hôte>:<port>",
|
||||
"proxy-server": "Serveur proxy (facultatif)",
|
||||
"proxy-server-placeholder": "https://<nom d'hôte>:<port>",
|
||||
"note": "Note :",
|
||||
"proxy-instruction": "Si vous laissez le paramètre de proxy vide, le proxy du système sera utilisé (s'applique uniquement à l'application de bureau)",
|
||||
"password": "Mot de passe",
|
||||
"password-placeholder": "Mot de passe",
|
||||
"back": "Retour",
|
||||
"finish-setup": "Terminer"
|
||||
},
|
||||
"setup_sync-in-progress": {
|
||||
"heading": "Synchronisation en cours",
|
||||
"successful": "La synchronisation a été correctement configurée. La synchronisation initiale prendra un certain temps. Une fois terminée, vous serez redirigé vers la page de connexion.",
|
||||
"outstanding-items": "Éléments de synchronisation exceptionnels :",
|
||||
"outstanding-items-default": "N/A"
|
||||
},
|
||||
"share_404": {
|
||||
"title": "Page non trouvée",
|
||||
"heading": "Page non trouvée"
|
||||
},
|
||||
"share_page": {
|
||||
"parent": "parent :",
|
||||
"clipped-from": "Cette note a été initialement extraite de {{- url}}",
|
||||
"child-notes": "Notes enfants :",
|
||||
"no-content": "Cette note n'a aucun contenu."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user