1
0
mirror of https://github.com/laurent22/joplin.git synced 2026-01-11 00:21:45 +02:00

Compare commits

...

39 Commits

Author SHA1 Message Date
Laurent Cozic
1bb5d9ade5 Android 3.5.8 2026-01-10 10:09:18 +00:00
Laurent Cozic
e75875c1b0 Desktop release v3.5.11 2026-01-10 10:01:41 +00:00
mrjo118
cce4b76e3f Mobile: Fixes #13544: Fixed keyboard input issue in note title (#14070) 2026-01-10 09:53:21 +00:00
Henry Heino
b310bfd0c2 iOS: Fixes #14063: Fix icon rendering (#14071) 2026-01-10 09:44:23 +00:00
Henry Heino
e19e1ac040 Desktop: OneNote importer: Simplify error report (#14074) 2026-01-10 09:44:09 +00:00
Laurent Cozic
6d7a70c21a Chore: Update translations 2026-01-09 10:06:42 +00:00
Henry Heino
14fd3c66c1 Chore: Fix CI (#14061) 2026-01-09 09:26:17 +00:00
Joplin Bot
376f44a0ce Doc: Auto-update documentation
Auto-updated using release-website.sh
2026-01-09 01:56:03 +00:00
Laurent Cozic
4d81ee4c7f Chore: Exclude katex and mermaid from Renovate 2026-01-08 19:44:50 +00:00
Laurent Cozic
d9011800b2 iOS 13.5.2 2026-01-08 19:43:11 +00:00
Laurent Cozic
e64f141b28 Android 3.5.7 2026-01-08 19:42:31 +00:00
Laurent Cozic
8bba68d920 Chore: Katex build files 2026-01-08 19:42:23 +00:00
Laurent Cozic
e342f2d572 Desktop release v3.5.10 2026-01-08 19:21:20 +00:00
Henry Heino
5951a66fef Desktop, Mobile: Resolves #13753: Markdown editor: Make header styles more closely match the note viewer (#14053) 2026-01-08 09:24:00 +00:00
Henry Heino
04f9bda128 Desktop: OneNote import: Fix all imported notes have the language marked as "English" (#14054) 2026-01-08 09:23:35 +00:00
Henry Heino
7a8a94f557 Mobile: Rich Text Editor: Add shortcuts for inserting code blocks (#14055) 2026-01-08 09:22:19 +00:00
Henry Heino
ad000fb521 Desktop,Mobile: Fixes #14049: Fix ABC Sheet Music setting includes "Translation error" in description (#14058) 2026-01-08 09:21:55 +00:00
Henry Heino
435b896142 Desktop, Mobile: Accessibility: In-editor rendering: Fix rendered checkboxes are very small on mobile (#14056) 2026-01-08 09:19:56 +00:00
renovate[bot]
b12f31c802 Update dependency katex to v0.16.23 (#14018)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-07 16:43:31 +00:00
Laurent Cozic
ddb6d7a677 Desktop: Fixes #14040: Rich Text Editor: ABC sheet music options lost on edit 2026-01-07 12:14:54 +00:00
AlterWill
f0a1d05284 Chore: Fixes #13629: Fix focusHandler warning when navigating (#13973) 2026-01-07 11:56:45 +00:00
Alejandro Saucedo
27f7cb7ca6 Cli: Added keymap command to print existing keybinds in CLI and TUI (#13984)
Co-authored-by: Henry Heino <46334387+personalizedrefrigerator@users.noreply.github.com>
2026-01-07 11:56:06 +00:00
Alejandro Saucedo
9e43ebcf43 Chore: Fixes #13983: Remove conflicting macos dependency for devbox (#13985) 2026-01-07 11:54:33 +00:00
Ahmed Idani
05cc0fa798 Desktop, Mobile: Fixes #13229: Insert time command not respecting locale settings (#13994) 2026-01-07 11:48:15 +00:00
Henry Heino
ee5b631d13 Desktop: Built-in plugins: Update Freehand Drawing to v4.2.0 (#14002) 2026-01-07 11:47:46 +00:00
Henry Heino
e4b6b34d37 Desktop: Built-in plugins: Update Backup to v1.5.1 (#14003) 2026-01-07 11:47:38 +00:00
Gerd Naschenweng
6f1280f0f5 Doc: Add Mailbox.org WebDAV to sync options (#14016) 2026-01-07 11:44:03 +00:00
bwat47
4c9015dab4 Desktop, Mobile: Fixes #13963: Images sometimes don't render until you click somewhere in the note (#14019) 2026-01-07 11:39:58 +00:00
Henry Heino
1adcafce9d Desktop, Mobile: Fixes #14030: Fix "Check synchronization configuration" button (#14031) 2026-01-07 11:37:35 +00:00
Henry Heino
cc9f55e115 Chore: Refactoring: Improve ObjectUtils types (#14032) 2026-01-07 11:36:43 +00:00
Henry Heino
e8b3b039df Desktop: Accessibility: Make sidebar "jump to next match" case insensitive (#14033) 2026-01-07 11:36:30 +00:00
Henry Heino
d9295a69d1 Chore: OneNote importer: Don't require IS_CONTINUOUS_INTEGRATION for a dev build (#14034) 2026-01-07 11:36:11 +00:00
Henry Heino
b92743b068 Desktop: Resolves #14004: OneNote import: Improve ID resolution (#14035) 2026-01-07 11:35:53 +00:00
Henry Heino
03f65a3fb1 Windows: Fixes #13549: Importing from OneNote: Fix badly encoded accents in notebook titles (#14037) 2026-01-07 11:35:42 +00:00
Henry Heino
32a22174f7 Desktop, Mobile: Resolves #13159: Markdown editor: Prevent layout shift when hiding/showing rendered checkboxes (#14044) 2026-01-07 11:34:51 +00:00
Henry Heino
d154ef4f5c Chore: Desktop: Fix "net::ERR_FILE_NOT_FOUND" logged to stdout when an invalid resource is requested from the note viewer (#14045) 2026-01-07 11:34:40 +00:00
Henry Heino
b8dd660c28 Desktop: OneNote import: Fix video embeds aren't imported: Import video embeds as links (#14046) 2026-01-07 11:34:31 +00:00
Henry Heino
2b20315bf5 Desktop: OneNote import: Simplify imported HTML (#14047) 2026-01-07 11:34:23 +00:00
nickprotop
93b9108832 All: Translation: Update el_GR.po (#14036) 2026-01-06 19:20:52 -05:00
157 changed files with 38593 additions and 29044 deletions

View File

@@ -115,6 +115,7 @@ packages/app-cli/app/command-export.js
packages/app-cli/app/command-geoloc.js
packages/app-cli/app/command-help.js
packages/app-cli/app/command-import.js
packages/app-cli/app/command-keymap.js
packages/app-cli/app/command-ls.js
packages/app-cli/app/command-mkbook.test.js
packages/app-cli/app/command-mkbook.js
@@ -1227,6 +1228,7 @@ packages/lib/InMemoryCache.js
packages/lib/JoplinDatabase.js
packages/lib/JoplinError.js
packages/lib/JoplinServerApi.js
packages/lib/ObjectUtils.test.js
packages/lib/ObjectUtils.js
packages/lib/PerformanceLogger.test.js
packages/lib/PerformanceLogger.js

2
.gitignore vendored
View File

@@ -88,6 +88,7 @@ packages/app-cli/app/command-export.js
packages/app-cli/app/command-geoloc.js
packages/app-cli/app/command-help.js
packages/app-cli/app/command-import.js
packages/app-cli/app/command-keymap.js
packages/app-cli/app/command-ls.js
packages/app-cli/app/command-mkbook.test.js
packages/app-cli/app/command-mkbook.js
@@ -1200,6 +1201,7 @@ packages/lib/InMemoryCache.js
packages/lib/JoplinDatabase.js
packages/lib/JoplinError.js
packages/lib/JoplinServerApi.js
packages/lib/ObjectUtils.test.js
packages/lib/ObjectUtils.js
packages/lib/PerformanceLogger.test.js
packages/lib/PerformanceLogger.js

View File

@@ -11,11 +11,6 @@
},
"nodejs": "24.5.0",
"pkg-config": "latest",
"darwin.apple_sdk.frameworks.Foundation": { // satisfies missing CoreText/CoreText.h
// https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/darwin/apple-sdk/default.nix
"version": "",
"platforms": ["aarch64-darwin", "x86_64-darwin"],
},
"python": "3.13.3",
"bat": "latest",
"electron": {

View File

@@ -0,0 +1,49 @@
import BaseCommand from './base-command';
import app from './app';
import { _ } from '@joplin/lib/locale';
const { cliUtils } = require('./cli-utils.js');
interface Args { }
class Command extends BaseCommand {
public override usage() {
return 'keymap';
}
public override description() {
return _('Displays the configured keyboard shortcuts.');
}
public override compatibleUis() {
return ['cli', 'gui'];
}
public override async action(_args: Args) {
const keymaps = await app().loadKeymaps();
this.stdout(_('Configured keyboard shortcuts:'));
this.stdout('\n');
const rows = [];
const padding = ' ';
rows.push([`${padding}${_('KEYS')}`, _('TYPE'), _('COMMAND')]);
rows.push([`${padding}----`, '----', '-------']);
for (const item of keymaps) {
const formattedKeys = item.keys
.map((k: string) => (k === ' ' ? `(${_('SPACE')})` : k))
.join(', ');
rows.push([padding + formattedKeys, item.type, item.command]);
}
cliUtils.printArray(this.stdout.bind(this), rows);
if (app().gui() && !app().gui().isDummy()) {
app().gui().showConsole();
app().gui().maximizeConsole();
}
}
}
module.exports = Command;

View File

@@ -0,0 +1,10 @@
<div class="joplin-editable joplin-abc-notation">
<pre class="joplin-source" data-abc-options="{&quot;responsive&quot;:&quot;resize&quot;}" data-joplin-language="abc" data-joplin-source-open="```abc&#10;" data-joplin-source-close="&#10;```&#10;">{responsive:'resize'}
---
K:F
!f!(fgag-g2c2)|</pre>
<pre class="joplin-rendered joplin-abc-notation-rendered">K:F
!f!(fgag-g2c2)|</pre>
</div>

View File

@@ -0,0 +1,6 @@
```abc
{ responsive: 'resize' }
---
K:F
!f!(fgag-g2c2)|
```

View File

@@ -2,7 +2,7 @@ import { RefObject, Dispatch, SetStateAction, useEffect } from 'react';
import { WindowCommandDependencies, NoteBodyEditorRef, OnChangeEvent, ScrollOptionTypes } from './types';
import editorCommandDeclarations, { enabledCondition } from '../editorCommandDeclarations';
import CommandService, { CommandDeclaration, CommandRuntime, CommandContext, RegisteredRuntime } from '@joplin/lib/services/CommandService';
import time from '@joplin/lib/time';
import { formatMsToLocal } from '@joplin/utils/time';
import { reg } from '@joplin/lib/registry';
import getWindowCommandPriority from './getWindowCommandPriority';
@@ -50,7 +50,7 @@ function editorCommandRuntime(
if (declaration.name === 'insertDateTime') {
return editorRef.current.execCommand({
name: 'insertText',
value: time.formatMsToLocal(new Date().getTime()),
value: formatMsToLocal(Date.now()),
});
} else if (declaration.name === 'scrollToHash') {
return editorRef.current.scrollTo({

View File

@@ -51,9 +51,11 @@ const getParentOffset = (childIndex: number, listItems: ListItem[]): number|null
};
const findNextTypeAheadMatch = (selectedIndex: number, query: string, listItems: ListItem[]) => {
const normalize = (text: string) => text.trim().toLowerCase();
const matches = (item: ListItem) => {
return item.label.startsWith(query);
return normalize(item.label).startsWith(normalize(query));
};
const indexBefore = listItems.slice(0, selectedIndex).findIndex(matches);
// Search in all results **after** the current. This prevents the current item from
// always being identified as the next match, if the user repeatedly presses the

View File

@@ -123,8 +123,8 @@ const ToolbarBaseComponent: React.FC<Props> = props => {
};
const tabIndex = indexInFocusable === (selectedIndex % focusableItems.length) ? 0 : -1;
const setButtonRefCallback = (button: HTMLButtonElement) => {
if (tabIndex === 0 && containerHasFocus) {
const setButtonRefCallback = (button: HTMLButtonElement | null) => {
if (button && tabIndex === 0 && containerHasFocus) {
focus('ToolbarBase', button);
}
};

View File

@@ -124,8 +124,7 @@ export const runtime = (control: WindowControl): CommandRuntime => {
void CommandService.instance().execute('showModalMessage', `${modalMessage}\n\n${statusStrings.join('\n')}`);
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
onError: (error: any) => {
onError: (error: string|Error) => {
errors.push(error);
console.warn(error);
},

View File

@@ -64,6 +64,10 @@ test.describe('sidebar', () => {
await expect(mainWindow.locator(':focus')).toHaveText('Folder b');
await mainWindow.keyboard.type('A');
await expect(mainWindow.locator(':focus')).toHaveText('All notes');
// Should be case-insensitive
await mainWindow.keyboard.type('f');
await expect(mainWindow.locator(':focus')).toHaveText('Folder b');
});
test('left/right arrow keys should expand/collapse notebooks', async ({ electronApp, mainWindow }) => {

View File

@@ -1,6 +1,6 @@
{
"name": "@joplin/app-desktop",
"version": "3.5.9",
"version": "3.5.11",
"description": "Joplin for Desktop",
"main": "main.bundle.js",
"private": true,

View File

@@ -130,6 +130,12 @@ const makeAccessDeniedResponse = (message: string) => {
});
};
const makeNotFoundResponse = () => {
return new Response('not found', {
status: 404,
});
};
// Creating a custom protocol allows us to isolate iframes by giving them
// different domain names from the main Joplin app.
//
@@ -210,10 +216,24 @@ const handleCustomProtocols = (): CustomProtocolHandler => {
const rangeHeader = request.headers.get('Range');
let response;
if (!rangeHeader) {
response = await net.fetch(asFileUrl);
} else {
response = await handleRangeRequest(request, pathname);
try {
if (!rangeHeader) {
response = await net.fetch(asFileUrl);
} else {
response = await handleRangeRequest(request, pathname);
}
} catch (error) {
if (
// Errors from NodeJS fs methods (e.g. fs.stat()
error.code === 'ENOENT'
// Errors from Electron's net.fetch(). Use error.message since these errors don't
// seem to have a specific .code or .name.
|| error.message === 'net::ERR_FILE_NOT_FOUND'
) {
response = makeNotFoundResponse();
} else {
throw error;
}
}
if (mediaOnly) {

View File

@@ -89,8 +89,8 @@ android {
applicationId "net.cozic.joplin"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2097786
versionName "3.5.6"
versionCode 2097788
versionName "3.5.8"
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}

View File

@@ -1,7 +1,7 @@
import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
import { _ } from '@joplin/lib/locale';
import { CommandRuntimeProps } from '../types';
import time from '@joplin/lib/time';
import { formatMsToLocal } from '@joplin/utils/time';
export const declaration: CommandDeclaration = {
name: 'insertDateTime',
@@ -12,7 +12,7 @@ export const declaration: CommandDeclaration = {
export const runtime = (props: CommandRuntimeProps): CommandRuntime => {
return {
execute: async (_context: CommandContext) => {
props.insertText(time.formatDateToLocal(new Date()));
props.insertText(formatMsToLocal(Date.now()));
},
enabledCondition: '!noteIsReadOnly',

View File

@@ -511,7 +511,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Joplin/Joplin.entitlements;
CURRENT_PROJECT_VERSION = 147;
CURRENT_PROJECT_VERSION = 148;
DEVELOPMENT_TEAM = A9BXAFS6CT;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Joplin/Info.plist;
@@ -520,7 +520,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 13.5.1;
MARKETING_VERSION = 13.5.2;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -546,7 +546,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Joplin/Joplin.entitlements;
CURRENT_PROJECT_VERSION = 147;
CURRENT_PROJECT_VERSION = 148;
DEVELOPMENT_TEAM = A9BXAFS6CT;
INFOPLIST_FILE = Joplin/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
@@ -554,7 +554,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 13.5.1;
MARKETING_VERSION = 13.5.2;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -747,7 +747,7 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 147;
CURRENT_PROJECT_VERSION = 148;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = A9BXAFS6CT;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -758,7 +758,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 13.5.1;
MARKETING_VERSION = 13.5.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
@@ -790,7 +790,7 @@
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 147;
CURRENT_PROJECT_VERSION = 148;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = A9BXAFS6CT;
GCC_C_LANGUAGE_STANDARD = gnu11;
@@ -801,7 +801,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 13.5.1;
MARKETING_VERSION = 13.5.2;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
"$(inherited)",

View File

@@ -77,21 +77,14 @@
<key>UIAppFonts</key>
<array>
<string>AntDesign.ttf</string>
<string>Entypo.ttf</string>
<string>EvilIcons.ttf</string>
<string>Feather.ttf</string>
<string>FontAwesome.ttf</string>
<string>FontAwesome5_Brands.ttf</string>
<string>FontAwesome5_Regular.ttf</string>
<string>FontAwesome5_Solid.ttf</string>
<string>Foundation.ttf</string>
<string>Ionicons.ttf</string>
<string>MaterialIcons.ttf</string>
<string>MaterialDesignIcons.ttf</string>
<string>MaterialCommunityIcons.ttf</string>
<string>SimpleLineIcons.ttf</string>
<string>Octicons.ttf</string>
<string>Zocial.ttf</string>
<string>Fontisto.ttf</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>

View File

@@ -1,5 +1,5 @@
module.exports = {
hash:"daebd8498ff273c64cf5905d4356e66a", files: {
hash:"88e5d809af57eac7b86c4deaf21b9345", files: {
'abc/abc_render.js': { data: require('./abc/abc_render.js.base64.js'), mime: 'application/javascript', encoding: 'base64' },
'abc/abcjs-basic-min.js': { data: require('./abc/abcjs-basic-min.js.base64.js'), mime: 'application/javascript', encoding: 'base64' },
'highlight.js/atom-one-dark-reasonable.css': { data: require('./highlight.js/atom-one-dark-reasonable.css.base64.js'), mime: 'text/css', encoding: 'base64' },

View File

@@ -1 +1 @@
module.exports = {"hash":"daebd8498ff273c64cf5905d4356e66a","files":["abc/abc_render.js","abc/abcjs-basic-min.js","highlight.js/atom-one-dark-reasonable.css","highlight.js/atom-one-light.css","katex/fonts/KaTeX_AMS-Regular.woff2","katex/fonts/KaTeX_Caligraphic-Bold.woff2","katex/fonts/KaTeX_Caligraphic-Regular.woff2","katex/fonts/KaTeX_Fraktur-Bold.woff2","katex/fonts/KaTeX_Fraktur-Regular.woff2","katex/fonts/KaTeX_Main-Bold.woff2","katex/fonts/KaTeX_Main-BoldItalic.woff2","katex/fonts/KaTeX_Main-Italic.woff2","katex/fonts/KaTeX_Main-Regular.woff2","katex/fonts/KaTeX_Math-BoldItalic.woff2","katex/fonts/KaTeX_Math-Italic.woff2","katex/fonts/KaTeX_SansSerif-Bold.woff2","katex/fonts/KaTeX_SansSerif-Italic.woff2","katex/fonts/KaTeX_SansSerif-Regular.woff2","katex/fonts/KaTeX_Script-Regular.woff2","katex/fonts/KaTeX_Size1-Regular.woff2","katex/fonts/KaTeX_Size2-Regular.woff2","katex/fonts/KaTeX_Size3-Regular.woff2","katex/fonts/KaTeX_Size4-Regular.woff2","katex/fonts/KaTeX_Typewriter-Regular.woff2","katex/katex.css","mermaid/mermaid.min.js","mermaid/mermaid_render.js"]}
module.exports = {"hash":"88e5d809af57eac7b86c4deaf21b9345","files":["abc/abc_render.js","abc/abcjs-basic-min.js","highlight.js/atom-one-dark-reasonable.css","highlight.js/atom-one-light.css","katex/fonts/KaTeX_AMS-Regular.woff2","katex/fonts/KaTeX_Caligraphic-Bold.woff2","katex/fonts/KaTeX_Caligraphic-Regular.woff2","katex/fonts/KaTeX_Fraktur-Bold.woff2","katex/fonts/KaTeX_Fraktur-Regular.woff2","katex/fonts/KaTeX_Main-Bold.woff2","katex/fonts/KaTeX_Main-BoldItalic.woff2","katex/fonts/KaTeX_Main-Italic.woff2","katex/fonts/KaTeX_Main-Regular.woff2","katex/fonts/KaTeX_Math-BoldItalic.woff2","katex/fonts/KaTeX_Math-Italic.woff2","katex/fonts/KaTeX_SansSerif-Bold.woff2","katex/fonts/KaTeX_SansSerif-Italic.woff2","katex/fonts/KaTeX_SansSerif-Regular.woff2","katex/fonts/KaTeX_Script-Regular.woff2","katex/fonts/KaTeX_Size1-Regular.woff2","katex/fonts/KaTeX_Size2-Regular.woff2","katex/fonts/KaTeX_Size3-Regular.woff2","katex/fonts/KaTeX_Size4-Regular.woff2","katex/fonts/KaTeX_Typewriter-Regular.woff2","katex/katex.css","mermaid/mermaid.min.js","mermaid/mermaid_render.js"]}

File diff suppressed because one or more lines are too long

View File

@@ -7,115 +7,129 @@ import { tmpdir } from 'os';
import { chdir, cwd } from 'process';
import { execCommand } from '@joplin/utils';
import { glob } from 'glob';
import readRepositoryJson from './utils/readRepositoryJson';
import readRepositoryJson, { BuiltInPluginType, RepositoryData } from './utils/readRepositoryJson';
import getPathToPatchFileFor from './utils/getPathToPatchFileFor';
import getCurrentCommitHash from './utils/getCurrentCommitHash';
import { waitForCliInput } from '@joplin/utils/cli';
interface Options {
outputParentDir: string|null;
beforeInstall: (buildDir: string, pluginName: string)=> Promise<void>;
beforePatch: ()=> Promise<void>;
}
const buildDefaultPlugins = async (outputParentDir: string|null, options: Options) => {
const pluginSourcesDir = resolve(join(__dirname, 'plugin-sources'));
const buildDefaultPlugins = async (options: Options) => {
const pluginRepositoryData = await readRepositoryJson(join(__dirname, 'pluginRepositories.json'));
const originalDirectory = cwd();
const logStatus = (...message: string[]) => {
const blue = '\x1b[96m';
const reset = '\x1b[0m';
console.log(blue, ...message, reset);
};
for (const pluginId in pluginRepositoryData) {
const repositoryData = pluginRepositoryData[pluginId];
const outputPath = options.outputParentDir && join(options.outputParentDir, `${pluginId}.jpl`);
const buildDir = await mkdtemp(join(tmpdir(), 'default-plugin-build'));
try {
logStatus('Building plugin', pluginId, 'at', buildDir);
const pluginDir = resolve(join(pluginSourcesDir, pluginId));
// Clone the repository if not done yet
if (!(await exists(pluginDir)) || (await readdir(pluginDir)).length === 0) {
logStatus(`Cloning from repository ${repositoryData.cloneUrl}`);
await execCommand(['git', 'clone', '--', repositoryData.cloneUrl, pluginDir]);
chdir(pluginDir);
if (repositoryData.type === BuiltInPluginType.Built) {
await buildPlugin(pluginId, repositoryData, outputPath, options);
} else {
if (!outputPath) {
console.warn('Skipping NPM plugin,', pluginId, ': missing output path.');
continue;
}
chdir(pluginDir);
const expectedCommitHash = repositoryData.commit;
logStatus(`Switching to commit ${expectedCommitHash}`);
await execCommand(['git', 'switch', repositoryData.branch]);
try {
await execCommand(['git', 'checkout', expectedCommitHash]);
} catch (error) {
logStatus(`git checkout failed with error ${error}. Fetching...`);
await execCommand(['git', 'fetch']);
await execCommand(['git', 'checkout', expectedCommitHash]);
}
if (await getCurrentCommitHash() !== expectedCommitHash) {
throw new Error(`Unable to checkout commit ${expectedCommitHash}`);
}
logStatus('Copying repository files...');
await copy(pluginDir, buildDir, {
filter: fileName => {
return basename(fileName) !== '.git';
},
});
chdir(buildDir);
logStatus('Initializing repository.');
await execCommand('git init . -b main');
logStatus('Running before-patch hook.');
await options.beforePatch();
const patchFile = getPathToPatchFileFor(pluginId);
if (await exists(patchFile)) {
logStatus('Applying patch.');
await execCommand(['git', 'apply', patchFile]);
}
await options.beforeInstall(buildDir, pluginId);
logStatus('Installing dependencies.');
await execCommand('npm install');
const jplFiles = await glob('publish/*.jpl');
logStatus(`Found built .jpl files: ${JSON.stringify(jplFiles)}`);
if (jplFiles.length === 0) {
throw new Error(`No published files found in ${buildDir}/publish`);
}
if (outputParentDir !== null) {
logStatus(`Checking output directory in ${outputParentDir}`);
const outputPath = join(outputParentDir, `${pluginId}.jpl`);
const sourceFile = jplFiles[0];
logStatus(`Copying built file from ${sourceFile} to ${outputPath}`);
await copy(sourceFile, outputPath);
} else {
console.warn('No output directory specified. Not copying built .jpl files.');
}
} catch (error) {
console.error(error);
console.log('Build directory', buildDir);
await waitForCliInput();
throw error;
} finally {
chdir(originalDirectory);
await remove(buildDir);
logStatus('Removed build directory');
logStatus('Copying plugin', pluginId, 'JPL file to', outputPath);
await copy(join(__dirname, 'node_modules', repositoryData.package, 'publish', `${pluginId}.jpl`), outputPath);
logStatus('Copied.');
}
}
};
const logStatus = (...message: string[]) => {
const blue = '\x1b[96m';
const reset = '\x1b[0m';
console.log(blue, ...message, reset);
};
const buildPlugin = async (pluginId: string, repositoryData: RepositoryData, outputPath: string|null, options: Options) => {
const pluginSourcesDir = resolve(join(__dirname, 'plugin-sources'));
const originalDirectory = cwd();
const buildDir = await mkdtemp(join(tmpdir(), 'default-plugin-build'));
try {
logStatus('Building plugin', pluginId, 'at', buildDir);
const pluginDir = resolve(join(pluginSourcesDir, pluginId));
// Clone the repository if not done yet
if (!(await exists(pluginDir)) || (await readdir(pluginDir)).length === 0) {
logStatus(`Cloning from repository ${repositoryData.cloneUrl}`);
await execCommand(['git', 'clone', '--', repositoryData.cloneUrl, pluginDir]);
chdir(pluginDir);
}
chdir(pluginDir);
const expectedCommitHash = repositoryData.commit;
logStatus(`Switching to commit ${expectedCommitHash}`);
await execCommand(['git', 'switch', repositoryData.branch]);
try {
await execCommand(['git', 'checkout', expectedCommitHash]);
} catch (error) {
logStatus(`git checkout failed with error ${error}. Fetching...`);
await execCommand(['git', 'fetch']);
await execCommand(['git', 'checkout', expectedCommitHash]);
}
if (await getCurrentCommitHash() !== expectedCommitHash) {
throw new Error(`Unable to checkout commit ${expectedCommitHash}`);
}
logStatus('Copying repository files...');
await copy(pluginDir, buildDir, {
filter: fileName => {
return basename(fileName) !== '.git';
},
});
chdir(buildDir);
logStatus('Initializing repository.');
await execCommand('git init . -b main');
logStatus('Running before-patch hook.');
await options.beforePatch();
const patchFile = getPathToPatchFileFor(pluginId);
if (await exists(patchFile)) {
logStatus('Applying patch.');
await execCommand(['git', 'apply', patchFile]);
}
await options.beforeInstall(buildDir, pluginId);
logStatus('Installing dependencies.');
await execCommand('npm install');
const jplFiles = await glob('publish/*.jpl');
logStatus(`Found built .jpl files: ${JSON.stringify(jplFiles)}`);
if (jplFiles.length === 0) {
throw new Error(`No published files found in ${buildDir}/publish`);
}
if (outputPath !== null) {
const sourceFile = jplFiles[0];
logStatus(`Copying built file from ${sourceFile} to ${outputPath}`);
await copy(sourceFile, outputPath);
} else {
console.warn('No output directory specified. Not copying built .jpl files.');
}
} catch (error) {
console.error(error);
console.log('Build directory', buildDir);
await waitForCliInput();
throw error;
} finally {
chdir(originalDirectory);
await remove(buildDir);
logStatus('Removed build directory');
}
};
export default buildDefaultPlugins;

View File

@@ -1,7 +1,8 @@
import buildDefaultPlugins from '../buildDefaultPlugins';
const buildAll = (outputDirectory: string) => {
return buildDefaultPlugins(outputDirectory, {
return buildDefaultPlugins({
outputParentDir: outputDirectory,
beforeInstall: async () => { },
beforePatch: async () => { },
});

View File

@@ -8,7 +8,8 @@ import getPathToPatchFileFor from '../utils/getPathToPatchFileFor';
const editPatch = async (targetPluginId: string, outputParentDir: string|null) => {
let patchedPlugin = false;
await buildDefaultPlugins(outputParentDir, {
await buildDefaultPlugins({
outputParentDir: outputParentDir,
beforePatch: async () => {
// To make updating just the patch possible, a commit is created just before applying
// the patch.
@@ -34,7 +35,7 @@ const editPatch = async (targetPluginId: string, outputParentDir: string|null) =
});
if (!patchedPlugin) {
throw new Error(`No default plugin with ID ${targetPluginId} found!`);
throw new Error(`No patchable default plugin with ID ${targetPluginId} found! Make sure that the plugin has a "cloneUrl" and "branch" in pluginRepositories.json.`);
}
};

View File

@@ -14,6 +14,7 @@
},
"devDependencies": {
"@types/yargs": "17.0.33",
"joplin-plugin-freehand-drawing": "4.2.0",
"ts-node": "10.9.2",
"typescript": "5.8.3"
},

View File

@@ -2,11 +2,10 @@
"io.github.jackgruber.backup": {
"cloneUrl": "https://github.com/JackGruber/joplin-plugin-backup.git",
"branch": "master",
"commit": "abb58175e2d2bf34899f1b32cb74137e5c788bf9"
"commit": "2c3da7056e7ac39c86c2051a4fdb99d9534dd0a1"
},
"io.github.personalizedrefrigerator.js-draw": {
"cloneUrl": "https://github.com/personalizedrefrigerator/joplin-plugin-freehand-drawing.git",
"branch": "main",
"commit": "63b6d3f185b5b3664632e498df7c7ad7824038d0"
"package": "joplin-plugin-freehand-drawing"
}
}

View File

@@ -1,13 +1,28 @@
import { readFile } from 'fs-extra';
export enum BuiltInPluginType {
// Plugins that need to be built when building Joplin (e.g. if the plugin
// needs to be patched)
Built,
// Plugins that can be fetched directly from NPM. Must also be marked as a
// dev dependency.
FromNpm,
}
export interface RepositoryData {
type: BuiltInPluginType.Built;
cloneUrl: string;
branch: string;
commit: string;
}
export interface NpmReference {
type: BuiltInPluginType.FromNpm;
package: string;
}
export interface AllRepositoryData {
[pluginId: string]: RepositoryData;
[pluginId: string]: RepositoryData|NpmReference;
}
const readRepositoryJson = async (repositoryDataFilepath: string): Promise<AllRepositoryData> => {
@@ -26,9 +41,17 @@ const readRepositoryJson = async (repositoryDataFilepath: string): Promise<AllRe
}
};
assertPropertyIsString('cloneUrl');
assertPropertyIsString('branch');
assertPropertyIsString('commit');
let type;
if ('branch' in parsedJson[pluginId]) {
assertPropertyIsString('cloneUrl');
assertPropertyIsString('branch');
assertPropertyIsString('commit');
type = BuiltInPluginType.Built;
} else {
assertPropertyIsString('package');
type = BuiltInPluginType.FromNpm;
}
parsedJson[pluginId] = { ...parsedJson[pluginId], type };
}
return parsedJson;

View File

@@ -50,7 +50,7 @@ describe('createEditor', () => {
const headerLine = document.body.querySelector('.cm-headerLine')!;
expect(headerLine.textContent).toBe(headerLineText);
expect(getComputedStyle(headerLine).fontSize).toBe('1.6em');
expect(getComputedStyle(headerLine).fontSize).toBe('1.5em');
// CodeMirror nests the tag that styles the header within .cm-headerLine:
// <div class='cm-headerLine'><span class='someclass'>Testing...</span></div>

View File

@@ -3,20 +3,31 @@ import { SyntaxNodeRef } from '@lezer/common';
import makeReplaceExtension from './utils/makeInlineReplaceExtension';
import toggleCheckboxAt from '../../utils/markdown/toggleCheckboxAt';
const checkboxClassName = 'cm-ext-checkbox-toggle';
const checkboxContainerClassName = 'cm-ext-checkbox-toggle';
const checkboxClassName = 'cm-ext-checkbox';
class CheckboxWidget extends WidgetType {
public constructor(private checked: boolean, private depth: number, private label: string) {
public constructor(
private checked: boolean,
private depth: number,
private label: string,
private markup: string,
) {
super();
}
public eq(other: CheckboxWidget) {
return other.checked === this.checked && other.depth === this.depth && other.label === this.label;
return other.checked === this.checked
&& other.depth === this.depth
&& other.label === this.label
&& other.markup === this.markup;
}
private applyContainerClasses(container: HTMLElement) {
container.classList.add(checkboxClassName);
container.classList.add(checkboxContainerClassName);
// For sizing: Should have the same font/styles as non-rendered checkboxes:
container.classList.add('cm-taskMarker');
for (const className of [...container.classList]) {
if (className.startsWith('-depth-')) {
@@ -30,12 +41,22 @@ class CheckboxWidget extends WidgetType {
public toDOM(view: EditorView) {
const container = document.createElement('span');
const sizingNode = document.createElement('span');
sizingNode.classList.add('sizing');
sizingNode.textContent = this.markup;
container.appendChild(sizingNode);
const checkboxWrapper = document.createElement('span');
checkboxWrapper.classList.add('content');
container.appendChild(checkboxWrapper);
const checkbox = document.createElement('input');
checkbox.type = 'checkbox';
checkbox.checked = this.checked;
checkbox.ariaLabel = this.label;
checkbox.title = this.label;
container.appendChild(checkbox);
checkbox.classList.add(checkboxClassName);
checkboxWrapper.appendChild(checkbox);
checkbox.oninput = () => {
toggleCheckboxAt(view.posAtDOM(container))(view);
@@ -66,16 +87,32 @@ const completedListItemDecoration = Decoration.line({ class: completedTaskClassN
const replaceCheckboxes = [
EditorView.theme({
[`& .${checkboxContainerClassName}`]: {
position: 'relative',
'& > .sizing': {
visibility: 'hidden',
},
'& > .content': {
position: 'absolute',
left: '0',
right: '0',
top: '0',
bottom: '0',
textAlign: 'center',
},
},
[`& .${checkboxClassName}`]: {
'& > input': {
width: '1.1em',
height: '1.1em',
margin: '4px',
verticalAlign: 'middle',
},
'&:not(.-depth-1) > input': {
marginInlineStart: 0,
},
verticalAlign: 'middle',
// Ensure that the checkbox grows as the font size increases:
width: '100%',
minHeight: '70%',
// Shift the checkbox slightly so that it's aligned with the list item bullet point
margin: '0',
marginBottom: '3px',
},
[`& .${completedTaskClassName}`]: {
opacity: 0.69,
@@ -84,7 +121,7 @@ const replaceCheckboxes = [
EditorView.domEventHandlers({
mousedown: (event) => {
const target = event.target as Element;
if (target.nodeName === 'INPUT' && target.parentElement?.classList?.contains(checkboxClassName)) {
if (target.nodeName === 'INPUT' && target.classList?.contains(checkboxClassName)) {
// Let the checkbox handle the event
return true;
}
@@ -101,8 +138,14 @@ const replaceCheckboxes = [
if (node.name === 'TaskMarker') {
const containerLine = state.doc.lineAt(node.from);
const labelText = state.doc.sliceString(node.to, containerLine.to);
const markerText = state.doc.sliceString(node.from, node.to);
return new CheckboxWidget(markerIsChecked(node), parentTags.get('ListItem') ?? 0, labelText);
return new CheckboxWidget(
markerIsChecked(node),
parentTags.get('ListItem') ?? 0,
labelText,
markerText,
);
} else if (node.name === 'Task') {
const marker = node.node.getChild('TaskMarker');
if (marker && markerIsChecked(marker)) {
@@ -119,7 +162,7 @@ const replaceCheckboxes = [
return null;
}
return [listMarker.from, node.to];
return [node.from, node.to];
} else if (node.name === 'Task') {
const taskLine = state.doc.lineAt(node.from);
return [taskLine.from];

View File

@@ -77,7 +77,9 @@ const makeBlockReplaceExtension = (extensionSpec: ReplacementExtension) => {
return extensionSpec.shouldFullReRender(transaction);
};
if (transaction.docChanged || selectionChanged || wasRerenderRequested()) {
const treeChanged = syntaxTree(transaction.state) !== syntaxTree(transaction.startState);
if (transaction.docChanged || selectionChanged || wasRerenderRequested() || treeChanged) {
decorations = updateDecorations(transaction.state, extensionSpec);
}

View File

@@ -86,6 +86,7 @@ const createTheme = (theme: EditorTheme): Extension[] => {
const baseHeadingStyle = {
fontWeight: 'bold',
fontFamily: theme.fontFamily,
paddingBottom: '0.2em',
};
const codeMirrorTheme = EditorView.theme({
@@ -210,7 +211,12 @@ const createTheme = (theme: EditorTheme): Extension[] => {
// small.
'& .cm-h1': {
...baseHeadingStyle,
fontSize: '1.6em',
fontSize: '1.5em',
},
// Only underline level 1 headings not in block quotes. The underline overlaps with the blockquote border.
'& .cm-h1:not(.cm-blockQuote)': {
borderBottom: `1px solid ${theme.dividerColor}`,
marginBottom: '0.1em',
},
'& .cm-h2': {
...baseHeadingStyle,

View File

@@ -135,9 +135,12 @@ const commands: Record<EditorCommandType, ExtendedCommand|null> = {
if (view) {
const selectedText = getTextBetween(state.doc, state.selection.from, state.selection.to);
const content = selectedText || '...';
return showCreateEditablePrompt(
block ? `$$\n\t${content}\n$$` : `$${content}$`, !block,
)(state, dispatch, view);
const blockStart = block ? '$$\n\t' : '$';
return showCreateEditablePrompt({
source: block ? `${blockStart}${content}\n$$` : `${blockStart}${content}$`,
inline: !block,
cursor: blockStart.length,
})(state, dispatch, view);
}
return true;
}
@@ -180,10 +183,13 @@ const commands: Record<EditorCommandType, ExtendedCommand|null> = {
return true;
},
[EditorCommandType.InsertCodeBlock]: (state, dispatch, view) => {
const sourceBlockStart = '```\n';
const selectedText = getTextBetween(state.doc, state.selection.from, state.selection.to);
return showCreateEditablePrompt(
`\`\`\`\n${selectedText}\n\`\`\``, false,
)(state, dispatch, view);
return showCreateEditablePrompt({
source: `${sourceBlockStart}${selectedText}\n\`\`\``,
inline: false,
cursor: sourceBlockStart.length,
})(state, dispatch, view);
},
[EditorCommandType.ToggleSearch]: (state, dispatch, view) => {
const command = setSearchVisible(!getSearchVisible(state));

View File

@@ -4,19 +4,20 @@ import { MarkType, ResolvedPos } from 'prosemirror-model';
import { EditorState, Plugin, Transaction } from 'prosemirror-state';
import { EditorView } from 'prosemirror-view';
import { closeHistory } from 'prosemirror-history';
import showCreateEditablePrompt from './joplinEditablePlugin/showCreateEditablePrompt';
interface InlineInputRule {
interface InputRuleData {
match: RegExp;
matchEndCharacter: string;
handler: (state: EditorState, match: RegExpMatchArray, start: number, end: number, commitCharacter: string)=> Transaction|null;
commitCharacter: string|null;
handler: (view: EditorView, match: RegExpMatchArray, start: number, end: number, commitCharacter: string)=> Transaction|null;
}
// A custom input rule extension for inline input replacements.
//
// Ref: https://github.com/ProseMirror/prosemirror-inputrules/blob/43ef04ce9c1512ef8f2289578309c40b431ed3c5/src/inputrules.ts#L82
// See https://discuss.prosemirror.net/t/trigger-inputrule-on-enter/1118 for why this approach is needed.
const inlineInputRules = (rules: InlineInputRule[], commitCharacterExpression: RegExp) => {
const inlineInputRules = (rules: InputRuleData[], commitCharacterExpression: RegExp) => {
const getContentBeforeCursor = (cursorInformation: ResolvedPos) => {
const parent = cursorInformation.parent;
const offsetInParent = cursorInformation.parentOffset;
@@ -25,9 +26,11 @@ const inlineInputRules = (rules: InlineInputRule[], commitCharacterExpression: R
};
const getApplicableRule = (state: EditorState, cursor: number, justTypedText: string) => {
if (!rules.some(rule => justTypedText.endsWith(rule.matchEndCharacter))) {
const candidateRules = rules.filter(rule => justTypedText.endsWith(rule.commitCharacter ?? ''));
if (!candidateRules.length) {
return false;
}
const cursorInformation = state.doc.resolve(cursor);
const inCode = cursorInformation.parent.type.spec.code;
if (inCode) {
@@ -35,7 +38,7 @@ const inlineInputRules = (rules: InlineInputRule[], commitCharacterExpression: R
}
const beforeCursor = getContentBeforeCursor(cursorInformation) + justTypedText;
for (const rule of rules) {
for (const rule of candidateRules) {
const match = beforeCursor.match(rule.match);
if (!match) continue;
@@ -44,7 +47,7 @@ const inlineInputRules = (rules: InlineInputRule[], commitCharacterExpression: R
return null;
};
type PluginState = { pendingRule: InlineInputRule };
type PluginState = { pendingRule: InputRuleData };
const run = (view: EditorView, cursor: number, commitData: string) => {
const commitCharacter = commitCharacterExpression.exec(commitData) ? commitData : '';
@@ -57,7 +60,7 @@ const inlineInputRules = (rules: InlineInputRule[], commitCharacterExpression: R
const beforeCursor = getContentBeforeCursor(view.state.doc.resolve(cursor));
const match = beforeCursor.match(availableRule.match);
if (match) {
const transaction = availableRule.handler(view.state, match, cursor - match[0].length, cursor, commitCharacter);
const transaction = availableRule.handler(view, match, cursor - match[0].length, cursor, commitCharacter);
if (transaction) {
// closeHistory: Move the markup completion to a separate history event so that it
// can be undone separately.
@@ -109,17 +112,25 @@ const inlineInputRules = (rules: InlineInputRule[], commitCharacterExpression: R
return plugin;
};
const makeMarkInputRule = (
regExpString: string, matchEndCharacter: string, replacement: (matches: RegExpMatchArray)=> string, mark: MarkType,
): InlineInputRule => {
type OnReplace = (matches: RegExpMatchArray, view: EditorView)=> string;
interface InputRuleOptions {
contentRegex: string|RegExp;
commitCharacter: string|null; // null => only "Enter"
onReplace: OnReplace;
marks: MarkType[];
}
const makeInputRule = ({
contentRegex, commitCharacter, onReplace, marks,
}: InputRuleOptions): InputRuleData => {
const commitCharacterExp = '[.?!,:;¡¿() \\n]';
const regex = new RegExp(`(^|${commitCharacterExp})${regExpString}$`);
const regex = typeof contentRegex === 'string' ? new RegExp(`(^|${commitCharacterExp})${contentRegex}$`) : contentRegex;
return {
match: regex,
matchEndCharacter,
handler: (state, match, start, end, endCommitCharacter) => {
commitCharacter,
handler: (view, match, start, end, endCommitCharacter) => {
const state = view.state;
let transaction = state.tr.delete(start, end);
const marks = [schema.mark(mark)];
const startCommitCharacter = match[1];
@@ -131,13 +142,12 @@ const makeMarkInputRule = (
];
matchesWithoutCommitCharacters.groups = match.groups;
const replacementText = replacement(matchesWithoutCommitCharacters);
const replacement = onReplace(matchesWithoutCommitCharacters, view);
transaction = transaction.insert(
transaction.mapping.map(start, -1),
[
!!startCommitCharacter && schema.text(startCommitCharacter),
!!replacementText && schema.text(replacementText, marks),
!!replacement && schema.text(replacement, marks.map(type => schema.mark(type))),
!!endCommitCharacter && schema.text(endCommitCharacter),
].filter(node => !!node),
);
@@ -149,33 +159,51 @@ const makeMarkInputRule = (
const baseInputRules = buildInputRules(schema);
const inlineContentExp = '\\S[^\\n]*\\S|\\S';
const noMatchRegex = /$^/;
const inputRulesExtension = [
baseInputRules,
inlineInputRules([
makeMarkInputRule(
`\\*\\*(${inlineContentExp})\\*\\*`,
'*',
(match) => match[1],
schema.marks.strong,
),
makeMarkInputRule(
`\\*(${inlineContentExp})\\*`,
'*',
(match) => match[1],
schema.marks.emphasis,
),
makeMarkInputRule(
`_(${inlineContentExp})_`,
'_',
(match) => match[1],
schema.marks.emphasis,
),
makeMarkInputRule(
`[\`](${inlineContentExp})[\`]`,
'`',
(match) => match[1],
schema.marks.code,
),
makeInputRule({
contentRegex: /(^|[\n])(```+)(\w*)$/,
commitCharacter: '',
onReplace: (match, view) => {
const blockStart = `${match[1]}${match[2]}\n`;
const block = `${blockStart}\n${match[1]}`;
showCreateEditablePrompt({
source: block,
inline: false,
cursor: blockStart.length,
})(view.state, view.dispatch, view);
return '';
},
marks: [],
}),
], noMatchRegex),
inlineInputRules([
makeInputRule({
contentRegex: `\\*\\*(${inlineContentExp})\\*\\*`,
commitCharacter: '*',
onReplace: (match) => match[1],
marks: [schema.marks.strong],
}),
makeInputRule({
contentRegex: `\\*(${inlineContentExp})\\*`,
commitCharacter: '*',
onReplace: (match) => match[1],
marks: [schema.marks.emphasis],
}),
makeInputRule({
contentRegex: `_(${inlineContentExp})_`,
commitCharacter: '_',
onReplace: (match) => match[1],
marks: [schema.marks.emphasis],
}),
makeInputRule({
contentRegex: `\`(${inlineContentExp})\``,
commitCharacter: '`',
onReplace: (match) => match[1],
marks: [schema.marks.code],
}),
], /[ .,?)!;]/),
];
export default inputRulesExtension;

View File

@@ -23,13 +23,15 @@ const createEditorDialogForNode = (nodePosition: number, view: EditorView, onHid
view.state.doc.nodeAt(nodePosition)
);
const openCharacters = getNode().attrs.openCharacters ?? '';
const { dismiss } = createEditorDialog({
editorApi: getEditorApi(view.state),
source: [
getNode().attrs.openCharacters,
openCharacters,
getNode().attrs.source,
getNode().attrs.closeCharacters,
getNode().attrs.closeCharacters ?? '',
].join(''),
cursor: openCharacters.length,
onSave: async (source) => {
view.dispatch(
view.state.tr.setNodeAttribute(

View File

@@ -38,7 +38,11 @@ describe('showCreateEditorPrompt', () => {
test('should allow creating a new code block', async () => {
const editor = createEditor('');
showCreateEditablePrompt('```\ntest\n```', false)(editor.state, editor.dispatch, editor);
showCreateEditablePrompt({
source: '```\ntest\n```',
inline: false,
cursor: 8,
})(editor.state, editor.dispatch, editor);
const dialog = findEditorDialog();
dialog.submitButton.click();
@@ -54,4 +58,16 @@ describe('showCreateEditorPrompt', () => {
}],
});
});
test('should position the cursor at the provided location', () => {
const editor = createEditor('');
showCreateEditablePrompt({
source: '```\n\n```',
inline: false,
cursor: 4,
})(editor.state, editor.dispatch, editor);
const dialog = findEditorDialog();
expect(dialog.editor.selectionStart).toBe(4);
});
});

View File

@@ -5,13 +5,20 @@ import postProcessRenderedHtml from './utils/postProcessRenderedHtml';
import schema from '../../schema';
import { JoplinEditableAttributes } from './joplinEditablePlugin';
const showCreateEditablePrompt = (source: string, inline: boolean): Command => (_state, dispatch, view) => {
interface EditablePromptOptions {
source: string;
inline: boolean;
cursor: number;
}
const showCreateEditablePrompt = ({ source, inline, cursor }: EditablePromptOptions): Command => (_state, dispatch, view) => {
if (!dispatch) return true;
if (!view) throw new Error('Missing required argument: view');
createEditorDialog({
editorApi: getEditorApi(view.state),
source,
cursor,
onSave: async (newSource) => {
source = newSource;
},

View File

@@ -1,15 +1,17 @@
import { EditorApi } from '../../joplinEditorApiPlugin';
import { EditorLanguageType } from '../../../../types';
import showModal from '../../../utils/dom/showModal';
import { focus } from '@joplin/lib/utils/focusHandler';
interface Options {
source: string;
cursor: number;
editorApi: EditorApi;
onSave: (newContent: string)=> void;
onDismiss: ()=> void;
}
const createEditorDialog = ({ editorApi, source, onSave, onDismiss }: Options) => {
const createEditorDialog = ({ editorApi, source, cursor, onSave, onDismiss }: Options) => {
const content = document.createElement('div');
content.classList.add('editor-dialog-content');
document.body.appendChild(content);
@@ -22,9 +24,10 @@ const createEditorDialog = ({ editorApi, source, onSave, onDismiss }: Options) =
},
);
editor.updateBody(source);
editor.select(cursor, cursor);
const _ = editorApi.localize;
return showModal({
const modal = showModal({
content,
doneLabel: _('Done'),
onDismiss: () => {
@@ -32,6 +35,10 @@ const createEditorDialog = ({ editorApi, source, onSave, onDismiss }: Options) =
editor.remove();
},
});
focus('createEditorDialog', editor);
return modal;
};
export default createEditorDialog;

View File

@@ -48,6 +48,9 @@ const joplinEditorApiPlugin = new Plugin<EditorApi>({
updateBody: (newValue) => {
editor.textArea.value = newValue;
},
select: (anchor, head) => {
editor.textArea.setSelectionRange(Math.min(anchor, head), Math.max(anchor, head));
},
};
},
}),

View File

@@ -18,6 +18,7 @@ export interface CodeEditorControl {
focus: ()=> void;
remove: ()=> void;
updateBody: (newValue: string)=> void;
select: (from: number, to: number)=> void;
}
export type OnCodeEditorChange = (newValue: string)=> void;

View File

@@ -0,0 +1,24 @@
import { convertValuesToFunctions, sortByValue } from './ObjectUtils';
describe('ObjectUtils', () => {
test('should convert object values to functions', () => {
const v = convertValuesToFunctions({ a: 6, b: ()=>7, c: 'test' });
expect(v.a()).toBe(6);
expect(v.b()).toBe(7);
expect(v.c()).toBe('test');
});
test('should sort an object\'s entries by value', () => {
expect(sortByValue({
a: 1,
b: 'test1',
c: 'test3',
d: 'test2',
})).toEqual({
b: 'test1',
d: 'test2',
c: 'test3',
a: 1,
});
});
});

View File

@@ -1,5 +1,9 @@
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
export function sortByValue(object: any) {
type AnyObject = Record<string|symbol, unknown>;
type SortableValue = string|number;
type SortableObject = Record<string, SortableValue>;
export function sortByValue<T extends SortableObject>(object: T): T {
const temp = [];
for (const k in object) {
if (!object.hasOwnProperty(k)) continue;
@@ -10,8 +14,8 @@ export function sortByValue(object: any) {
}
temp.sort((a, b) => {
let v1 = a.value;
let v2 = b.value;
let v1: SortableValue = a.value;
let v2: SortableValue = b.value;
if (typeof v1 === 'string') v1 = v1.toLowerCase();
if (typeof v2 === 'string') v2 = v2.toLowerCase();
if (v1 === v2) return 0;
@@ -28,8 +32,7 @@ export function sortByValue(object: any) {
return output;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
export function fieldsEqual(o1: any, o2: any) {
export function fieldsEqual(o1: AnyObject, o2: AnyObject) {
if ((!o1 || !o2) && o1 !== o2) return false;
for (const k in o1) {
@@ -45,8 +48,11 @@ export function fieldsEqual(o1: any, o2: any) {
return true;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
export function convertValuesToFunctions(o: any) {
type ValuesToFunctions<T extends AnyObject> = {
[k in keyof T]: T[k] extends ()=> unknown ? T[k] : ()=> T[k]
};
export function convertValuesToFunctions<T extends AnyObject>(o: T): ValuesToFunctions<T> {
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
const output: any = {};
for (const n in o) {
@@ -58,8 +64,7 @@ export function convertValuesToFunctions(o: any) {
return output;
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
export function isEmpty(o: any) {
export function isEmpty(o: AnyObject|null) {
if (!o) return true;
return Object.keys(o).length === 0 && o.constructor === Object;
}

View File

@@ -1,6 +1,5 @@
import Setting, { AppType, SettingMetadataSection, SettingSectionSource } from '../../../models/Setting';
import SyncTargetRegistry from '../../../SyncTargetRegistry';
const ObjectUtils = require('../../../ObjectUtils');
const { _ } = require('../../../locale');
import { createSelector } from 'reselect';
import Logger from '@joplin/utils/Logger';
@@ -8,6 +7,7 @@ import Logger from '@joplin/utils/Logger';
import { type ReactNode } from 'react';
import { type Registry } from '../../../registry';
import settingValidations from '../../../models/settings/settingValidations';
import { convertValuesToFunctions } from '../../../ObjectUtils';
const logger = Logger.create('config-shared');
@@ -75,11 +75,11 @@ export const checkSyncConfig = async (comp: ConfigScreenComponent, settings: any
const SyncTargetClass = SyncTargetRegistry.classById(syncTargetId);
const options = {
...Setting.subValues(`sync.${syncTargetId}`, settings),
...Setting.subValues('net', settings) };
...Setting.subValues(`sync.${syncTargetId}`, settings, { includeConstants: true }),
...Setting.subValues('net', settings, { includeConstants: true }) };
comp.setState({ checkSyncConfigResult: 'checking' });
const result = await SyncTargetClass.checkConfig(ObjectUtils.convertValuesToFunctions(options));
const result = await SyncTargetClass.checkConfig(convertValuesToFunctions(options));
comp.setState({ checkSyncConfigResult: result });
if (result.ok) {

View File

@@ -151,7 +151,7 @@ shared.saveNoteButton_press = async function(comp: BaseNoteScreenComponent, stat
const savedNote = 'fields' in saveOptions && !saveOptions.fields.length ? { ...note } : await Note.save(note, saveOptions);
const stateNote = state.note;
const stateNote = comp.state.note;
// Note was reloaded while being saved.
if (!recreatedNote && (!stateNote || stateNote.id !== savedNote.id)) return releaseMutex();

View File

@@ -140,6 +140,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -371,6 +374,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"غامق"
],
@@ -497,6 +503,9 @@
"Checking... Please wait.": [
"التحقق جارٍ... فضلاً انتظر."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"إختر خيار"
],
@@ -569,6 +578,9 @@
"Command": [
"أمر"
],
"COMMAND": [
""
],
"Command palette": [
"لوحة الأوامر"
],
@@ -859,6 +871,9 @@
"Delete selected notes": [
"حدف الملاحظات المحددة"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -946,6 +961,9 @@
"Displays the complete information about note.": [
"يعرض المعلومات الكاملة عن الملاحظة."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"يعرض الملاحظة المعطاة."
],
@@ -1695,6 +1713,9 @@
"Keychain Supported: %s": [
"سلسلة المفاتيح المدعومة: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"المفاتيح التي تحتاج إلى ترقية"
],
@@ -1808,6 +1829,9 @@
"Manage your plugins": [
"إدارة الإضافات الخاصة بك"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"يدوي"
],
@@ -1985,6 +2009,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"لم يعرَّف محرر نصوص. فضلاً اضبطه باستخدام `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"Nord"
],
@@ -2141,6 +2168,9 @@
"Open Sync Wizard...": [
"فتح معالج المزامنة..."
],
"Open-source licences": [
""
],
"Open...": [
"فتح..."
],
@@ -2153,6 +2183,9 @@
"Options": [
"خيارات"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2573,6 +2606,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2711,6 +2747,9 @@
"Source: ": [
"المصدر: "
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3188,6 +3227,9 @@
"Try again": [
"حاول ثانية"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"أكتب `help [command]` للمزيد من المعلومات عن أمر ما ، أو `help all` لمعلومات الاستخدام الكاملة."
],

View File

@@ -128,6 +128,9 @@
"A5": [
""
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -332,6 +335,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Удебелен"
],
@@ -437,6 +443,9 @@
"Checking... Please wait.": [
"Проверявам... Моля изчакайте."
],
"Chinese/Japanese/Korean characters": [
""
],
"Chrome Web Store": [
""
],
@@ -497,6 +506,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -521,6 +533,9 @@
"Configuration": [
"Настройки"
],
"Configured keyboard shortcuts:": [
""
],
"Configures the size of scrollbars used in the app.": [
""
],
@@ -683,6 +698,9 @@
"Delete local data and re-download from sync target": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -764,6 +782,9 @@
"Displays the complete information about note.": [
"Показва пълната информация за бележката."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Показва зададената бележка."
],
@@ -1379,6 +1400,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Keys that need upgrading": [
""
],
@@ -1466,6 +1490,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"Ръчен"
],
@@ -1619,6 +1646,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Няма зададен текстови редактор. Моля задайте го с командата: `config editor <път-до-редактора>`"
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1742,6 +1772,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
"Отвори..."
],
@@ -1754,6 +1787,9 @@
"Options": [
"Конфигурация"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2162,6 +2198,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2282,6 +2321,9 @@
"Source format: %s": [
"Формат на източника: %s"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -2739,6 +2781,9 @@
"Try it now": [
""
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Въведете `help [команда]` за повече информация относно командата, или въведете `help all` за пълната информация за ползването на командния ред."
],

View File

@@ -125,6 +125,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -335,6 +338,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Masna slova"
],
@@ -440,6 +446,9 @@
"Checking... Please wait.": [
"Provjeravam... Pričekajte."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Odaberi opciju"
],
@@ -500,6 +509,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -671,6 +683,9 @@
"Delete local data and re-download from sync target": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -752,6 +767,9 @@
"Displays the complete information about note.": [
"Prikazuje potpune informacije o bilješci."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Prikazuje datu bilješku."
],
@@ -1370,6 +1388,9 @@
"Keychain Supported: %s": [
"Podržani privjesak: %s"
],
"KEYS": [
""
],
"Label": [
""
],
@@ -1451,6 +1472,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"Ručno"
],
@@ -1604,6 +1628,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Nije određen program za uređivanje teksta. Precizirajte ga pomoću `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1715,6 +1742,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
"Otvori..."
],
@@ -1727,6 +1757,9 @@
"Options": [
"Opcije"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2126,6 +2159,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2249,6 +2285,9 @@
"Source format: %s": [
"Izvorni format: %s"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -2701,6 +2740,9 @@
"Try again": [
""
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Kucajte `help [command]` za više informacija o komandi; ili kucajte `help all` za detaljne informacije o načinu korištenja."
],

View File

@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Quant a"
],
@@ -470,6 +473,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Negreta"
],
@@ -608,6 +614,9 @@
"Checking... Please wait.": [
"Verificant... Espereu."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Escolliu una opció"
],
@@ -674,9 +683,6 @@
"Code View": [
"Vista de codi"
],
"Code:": [
"Codi:"
],
"Collaborate on a notebook with others": [
"Col·laborar en una llibreta amb altres"
],
@@ -704,6 +710,9 @@
"Command": [
"Ordre"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta d'ordres"
],
@@ -792,9 +801,6 @@
"Convert it": [
"Converteix-lo"
],
"Convert note to Markdown": [
"Converteix la nota a Markdown"
],
"Convert to note": [
"Converteix a nota"
],
@@ -850,9 +856,6 @@
"Could not connect to plugin repository.": [
"No s'ha pogut connectar al repositori d'extensions."
],
"Could not convert note to Markdown: %s": [
"No s'ha pogut convertir la nota a Markdown: %s"
],
"Could not export notes: %s": [
"No s'han pogut exportar les notes: %s"
],
@@ -1063,6 +1066,9 @@
"Delete selected notes": [
"Suprimeix les notes seleccionades"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Suprimir la llibreta de la safata d'entrada?\n\nSi suprimiu la llibreta de la safata d'entrada, és possible que es perdin els correus electrònics que s'hagin enviat recentment."
],
@@ -1168,6 +1174,9 @@
"Displays the complete information about note.": [
"Mostra la informació completa sobre la nota."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Mostra la nota indicada."
],
@@ -2084,6 +2093,9 @@
"Keychain Supported: %s": [
"Clauer admès: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Claus que requereixen actualització"
],
@@ -2230,6 +2242,9 @@
"Manage your plugins": [
"Gestioneu les extensions"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Gestiona la configuració E2EE. Les ordres són `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, i `target-status`."
],
@@ -2486,6 +2501,9 @@
"No updates available": [
"No hi ha actualitzacions disponibles"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"(cap)"
],
@@ -2696,6 +2714,9 @@
"Open Sync Wizard...": [
"Obre l'assistent de sincronització..."
],
"Open-source licences": [
""
],
"Open...": [
"Obre..."
],
@@ -2717,6 +2738,9 @@
"Options": [
"Opcions"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Llista ordenada"
],
@@ -3348,6 +3372,9 @@
"Select parent notebook": [
"Selecciona la llibreta principal"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Seleccionat: %s"
],
@@ -3552,6 +3579,9 @@
"Source: ": [
"Font: "
],
"SPACE": [
""
],
"Spacer": [
"Espaiador"
],
@@ -3859,9 +3889,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"La nota \"%s\" s'ha restaurat correctament a la llibreta \"%s\"."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"La nota s'ha convertit a Markdown i la nota original s'ha traslladat a la paperera"
],
"The note was successfully moved to the trash.": [
"La nota s'ha traslladat amb èxit a la paperera.",
"Les notes s'han traslladat amb èxit a la paperera."
@@ -4163,6 +4190,9 @@
"Try it now": [
"Proveu-ho ara"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Escriviu «help [command]» per a més informació sobre l'ordre; o escriviu «help all» per a la informació d'ús completa."
],

View File

@@ -143,6 +143,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -374,6 +377,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Tučně"
],
@@ -500,6 +506,9 @@
"Checking... Please wait.": [
"Probíhá kontrola... Počkejte prosím."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Zvolit možnost"
],
@@ -572,6 +581,9 @@
"Command": [
"Příkaz"
],
"COMMAND": [
""
],
"Command palette": [
"Nabídka příkazů"
],
@@ -844,6 +856,9 @@
"Delete selected notes": [
"Odstranění vybraných poznámek"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -931,6 +946,9 @@
"Displays the complete information about note.": [
"Zobrazí veškeré informace o poznámce."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Zobrazí vybranou poznámku."
],
@@ -1689,6 +1707,9 @@
"Keychain Supported: %s": [
"Podpora klíčenky: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Klíče, které je třeba aktualizovat"
],
@@ -1802,6 +1823,9 @@
"Manage your plugins": [
"Správa vašich rozšíření"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Spravuje konfiguraci koncového šifrování. Příkazy jsou `zapnout`, `vypnout`, `dešifrovat`, `stav`, `dešifrovat soubor` a `cílový stav`."
],
@@ -1997,6 +2021,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Nebyl vybrán textový editor. Prosím nastavte jej pomocí `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"Nord"
],
@@ -2156,6 +2183,9 @@
"Open Sync Wizard...": [
"Otevřete Průvodce synchronizací..."
],
"Open-source licences": [
""
],
"Open...": [
"Otevřít..."
],
@@ -2168,6 +2198,9 @@
"Options": [
"Nastavení"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Seznam objednávek"
],
@@ -2639,6 +2672,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2795,6 +2831,9 @@
"Source: ": [
"Zdroj: "
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3308,6 +3347,9 @@
"Try it now": [
"Vyzkoušejte to nyní"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Zadejte `help [příkaz]` pro více informací o příkazu; nebo `help all` pro kompletní nápovědu."
],

View File

@@ -168,7 +168,7 @@
"[Ingen]"
],
"A brief description of the image:": [
""
"En kort beskrivelse af billedet:"
],
"A comma-separated list of words. May be used for uncommon words, to help voice typing spell them correctly.": [
"En kommasepareret liste af ord. Kan bruges til ualmindelige ord for at hjælpe stemmeindtastning med at stave dem korrekt."
@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Om"
],
@@ -243,7 +246,7 @@
"Tilføj brødtekst"
],
"Add column": [
""
"Tilføj kolonne"
],
"Add new": [
"Tilføj ny"
@@ -254,6 +257,9 @@
"Add recipient:": [
"Tilføj modtager:"
],
"Add row": [
"Tilføj række"
],
"Add tags:": [
"Tilføj etiketter:"
],
@@ -342,7 +348,7 @@
"Der blev fundet en automatisk gemt tegning. Vedhæfter en kopi af den til noten?"
],
"An error occurred while sending the response. This can happen if the app is offline or cannot connect to the server.\nError: %s": [
""
"Der opstod en fejl under afsendelse af svaret. Dette kan ske, hvis appen er offline eller ikke kan oprette forbindelse til serveren.\nFejl: %s"
],
"An error occurred: %s": [
"Der opstod en fejl: %s"
@@ -467,6 +473,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Fed"
],
@@ -605,6 +614,9 @@
"Checking... Please wait.": [
"Tjekker... Vent venligst."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Vælg en mulighed"
],
@@ -671,9 +683,6 @@
"Code View": [
"Kodevisning"
],
"Code:": [
"Kode:"
],
"Collaborate on a notebook with others": [
"Samarbejd med andre om en notesbog"
],
@@ -683,6 +692,9 @@
"Collapse all notebooks": [
"Luk alle notesbøger"
],
"Collapse title": [
"Fold titel sammen"
],
"Collapsed": [
"Foldet sammen"
],
@@ -698,6 +710,9 @@
"Command": [
"Kommando"
],
"COMMAND": [
""
],
"Command palette": [
"Kommando-udvalg"
],
@@ -786,9 +801,6 @@
"Convert it": [
"Konverter den"
],
"Convert note to Markdown": [
"Konverter note til Markdown"
],
"Convert to note": [
"Konverter til note"
],
@@ -844,9 +856,6 @@
"Could not connect to plugin repository.": [
"Kunne ikke forbinde til plugin-lager."
],
"Could not convert note to Markdown: %s": [
"Kunne ikke konvertere note til Markdown: %s"
],
"Could not export notes: %s": [
"Kunne ikke eksportere noterne: %s"
],
@@ -1021,6 +1030,9 @@
"Delete attachment \"%s\"?": [
"Slet venhæftning \"%s\"?"
],
"Delete column": [
"Slet kolonne"
],
"Delete expired sessions": [
"Slet udløbne sessioner"
],
@@ -1048,9 +1060,15 @@
"Delete profile \"%s\"": [
"Slet profilen \"%s\""
],
"Delete row": [
"Slet række"
],
"Delete selected notes": [
"Slet valgte noter"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Slet indbakke notesbogen?\n\nHvis du sletter indbakke-notesbogen, kan e-mails, der for nylig er blevet sendt til den, gå tabt."
],
@@ -1156,6 +1174,9 @@
"Displays the complete information about note.": [
"Viser komplet information om note."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Viser valgt note."
],
@@ -1181,7 +1202,7 @@
"Glem ikke adgangkoden, da den af sikkerhedshensyn er den *eneste* mulighed for dekryptering af data! For at aktivere kryptering til, skal du indtaste din adgangskode herunder."
],
"Do you find the Joplin web app useful?": [
""
"Synes du, at Joplin-webappen er nyttig?"
],
"Document scanner: Title template": [
"Dokumentscanner: Skabelon til titel"
@@ -1540,6 +1561,9 @@
"Expand all notebooks": [
"Udvid alle notesbøger"
],
"Expand title": [
"Udvid titel"
],
"Expanded": [
"Udvidet"
],
@@ -1604,7 +1628,7 @@
"Feature-markeringer"
],
"Feedback": [
""
"Feedback"
],
"Fetched items: %d/%d.": [
"Hentede emner: %d/%d."
@@ -2018,6 +2042,9 @@
"Joplin Server": [
"Joplin server"
],
"Joplin Server (SAML)": [
"Joplin Server (SAML)"
],
"Joplin Server Business": [
"Joplin Server Business"
],
@@ -2037,7 +2064,7 @@
"Joplin SSO-godkendelse"
],
"Joplin supports saving the location at which notes are saved or created. Do you want to enable it? This can be changed at any time in settings.": [
""
"Joplin understøtter muligheden for at gemme den placering, hvor noter gemmes eller oprettes. Vil du aktivere denne funktion? Dette kan ændres når som helst i indstillingerne."
],
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": [
"Joplin Web-Clipper gør at du kan gemme hjemmesider og screenshots fra din browser i Joplin."
@@ -2066,11 +2093,14 @@
"Keychain Supported: %s": [
"Keychain-understøttet: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Nøgler der har brug for opgradering"
],
"Label": [
""
"Etikette"
],
"Landscape": [
"Landskab"
@@ -2212,6 +2242,9 @@
"Manage your plugins": [
"Administrer dine udvidelser"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Administrer E2EE-konfiguration. Kommandoer er `enable`(aktiver), `disable`(sluk), `decrypt`(dekrypter), `status`, `decrypt-file`(dekrypter fil) og `target-status` (modtager-status)."
],
@@ -2227,6 +2260,9 @@
"Markdown editor": [
"Markdown-editor"
],
"Markdown editor: Highlight active line": [
"Markdown-editor: Fremhæv aktiv linje"
],
"Markdown editor: Render images": [
"Markdown-editor: Gengiv billeder"
],
@@ -2465,6 +2501,9 @@
"No updates available": [
"Ingen opdatering tilgængelig"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Ingen"
],
@@ -2487,7 +2526,7 @@
"Ikke nu"
],
"Not useful": [
""
"Ikke nyttig"
],
"note": [
"note"
@@ -2537,6 +2576,9 @@
"Note list style": [
"Notatliste-stil"
],
"Note not published: %s": [
"Note ikke offentliggjort: %s"
],
"Note preview": [
"Note-forhåndsvisning"
],
@@ -2672,6 +2714,9 @@
"Open Sync Wizard...": [
"Open Synk-hjælper..."
],
"Open-source licences": [
""
],
"Open...": [
"Åbn..."
],
@@ -2693,11 +2738,14 @@
"Options": [
"Indstillinger"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Sorteret liste"
],
"Other": [
""
"Andre"
],
"Other applications...": [
"Andre applikationer..."
@@ -2949,6 +2997,9 @@
"Publish Note": [
"Publicer note"
],
"Publish note \"%s\" (in notebook \"%s\")?": [
"Udgiv note \"%s\" (i notesbogen \"%s\")?"
],
"Publish note...": [
"Publicer note..."
],
@@ -2961,8 +3012,11 @@
"Publish/unpublish": [
"Publicer/afpublicer"
],
"Published at URL: %s": [
"Offentliggjort på URL: %s"
],
"Publishes a note to Joplin Server or Joplin Cloud": [
""
"Offentliggør en note til Joplin Server eller Joplin Cloud"
],
"QR Code": [
"QR-kode"
@@ -3009,6 +3063,9 @@
"Recipients:": [
"Modtagere:"
],
"Recognise text:": [
"Genkend tekst:"
],
"Recognize handwritten image": [
"Genkend håndskrevet billede"
],
@@ -3237,6 +3294,9 @@
"Save geo-location with notes": [
"Gem geo-lokation i noter"
],
"Save geolocation?": [
"Gem geo-lokation?"
],
"Scan notebook": [
"Scan notesbog"
],
@@ -3307,11 +3367,14 @@
"Vælg notesbog"
],
"Select one of the other supported sync targets.": [
""
"Vælg et af de andre understøttede synkroniseringsmål."
],
"Select parent notebook": [
"Vælg overordnet notesbog"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Valgte: %s"
],
@@ -3516,6 +3579,9 @@
"Source: ": [
"Kilde: "
],
"SPACE": [
""
],
"Spacer": [
"Mellemrum"
],
@@ -3646,7 +3712,7 @@
"Skifter til [notebook] - alle fremtidige handlinger sker i denne notesbog."
],
"Sync": [
""
"Synk"
],
"Sync as many devices as you want": [
"Synkroniser så mange enheder, du vil"
@@ -3726,6 +3792,9 @@
"Take photo": [
"Tag et foto"
],
"Take survey": [
"Deltag i undersøgelse"
],
"Task \"%s\" failed with error: %s": [
"Afstandsstykke"
],
@@ -3745,7 +3814,7 @@
"Tekstredigeringskomando"
],
"Thank you for the feedback!\nDo you have time to complete a short survey?": [
""
"Tak for din feedback!\nHar du tid til at udfylde en kort undersøgelse?"
],
"The active profile cannot be deleted. Switch to a different profile and try again.": [
"Den aktive profil kan ikke slettes. Skift til en anden profil, og prøv igen."
@@ -3820,9 +3889,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Noten \"%s\" er blevet gendannet til notesbogen \"%s\"."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Noten er blevet konverteret til Markdown, og den oprindelige note er blevet flyttet til papirkurven."
],
"The note was successfully moved to the trash.": [
"Noten blev flyttet til papirkurven.",
"Noter blev flyttet til papirkurven."
@@ -4124,6 +4190,9 @@
"Try it now": [
"Prøv det nu"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Tast `help [kommando]` for mere info om en kommando; eller tast `help all` for fuld brugsinformation."
],
@@ -4145,6 +4214,9 @@
"Unable to share log data. Reason: %s": [
"Kan ikke dele logdata. Årsag: %s"
],
"Unable to share note data. Reason: %s": [
"Kan ikke dele notedata. Årsag: %s"
],
"Unchecked": [
"Ikke markeret"
],
@@ -4290,7 +4362,7 @@
"Bruges hvor en font med fast bredde er nødvendig for at vise læsbar tekst (f.eks. tabeller, afkrydsningsfelter, kode). Hvis ikke fundet, bruges en generisk monospatieret (fast bredde) font."
],
"Useful": [
""
"Nyttig"
],
"User deletions": [
"Brugersletninger"
@@ -4398,7 +4470,7 @@
"Ved oprettelse af ny opgave:"
],
"When enabled, requests that the images in the note be transcribed with a higher-quality on-server transcription service. Requires sync with a copy of the desktop app.": [
""
"Når denne funktion er aktiveret, anmodes der om, at billederne i noten transskriberes med en transskriptionstjeneste på serveren, der leverer højere kvalitet. Kræver synkronisering med en kopi af desktop-appen."
],
"When enabled, the application will scan your attachments and extract the text from it. This will allow you to search for text in these attachments.": [
"Når det er aktiveret, vil applikationen scanne dine vedhæftede filer og udtrække teksten fra dem. Dette giver dig mulighed for at søge efter tekst i disse vedhæftede filer."

View File

@@ -27,7 +27,7 @@
"%d Minuten"
],
"%d note matches this pattern. Delete it?": [
"%d Notize stimmt mit diesem Muster überein. Löschen?",
"%d Notiz stimmt mit diesem Muster überein. Löschen?",
"%d Notizen stimmen mit diesem Muster überein. Löschen?"
],
"%d note will be permanently deleted. Continue?": [
@@ -168,7 +168,7 @@
"[Nichts]"
],
"A brief description of the image:": [
""
"Eine kurze Beschreibung des Bildes:"
],
"A comma-separated list of words. May be used for uncommon words, to help voice typing spell them correctly.": [
"Eine kommagetrennte Liste von Wörtern. Kann für ungewöhnliche Wörter verwendet werden, um die korrekte Schreibweise bei der Sprachsteuerung zu unterstützen."
@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Über"
],
@@ -243,7 +246,7 @@
"Text hinzufügen"
],
"Add column": [
""
"Spalte hinzufügen"
],
"Add new": [
"Neu hinzufügen"
@@ -254,6 +257,9 @@
"Add recipient:": [
"Füge Empfänger hinzu:"
],
"Add row": [
"Zeile hinzufügen"
],
"Add tags:": [
"Schlagwörter hinzufügen:"
],
@@ -342,7 +348,7 @@
"Es wurde eine automatisch gespeicherte Zeichnung gefunden. Eine Kopie davon an die Notiz anhängen?"
],
"An error occurred while sending the response. This can happen if the app is offline or cannot connect to the server.\nError: %s": [
""
"Beim Senden der Antwort ist ein Fehler aufgetreten. Dies kann passieren, wenn die App offline ist oder keine Verbindung zum Server herstellen kann.\nFehler: %s"
],
"An error occurred: %s": [
"Ein Fehler trat auf: %s"
@@ -467,6 +473,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Fett"
],
@@ -605,6 +614,9 @@
"Checking... Please wait.": [
"Überprüfen… Bitte warten."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Wähle eine Option"
],
@@ -671,9 +683,6 @@
"Code View": [
"Code-Ansicht"
],
"Code:": [
"Code:"
],
"Collaborate on a notebook with others": [
"Gemeinsam mit anderen an einem Notizbuch arbeiten"
],
@@ -683,6 +692,9 @@
"Collapse all notebooks": [
"Alle Notizbücher einklappen"
],
"Collapse title": [
"Titel einklappen"
],
"Collapsed": [
"Eingeklappt"
],
@@ -698,6 +710,9 @@
"Command": [
"Befehl"
],
"COMMAND": [
""
],
"Command palette": [
"Befehlspalette"
],
@@ -786,9 +801,6 @@
"Convert it": [
"Umwandeln"
],
"Convert note to Markdown": [
"Notiz in Markdown umwandeln"
],
"Convert to note": [
"In eine Notiz umwandeln"
],
@@ -839,14 +851,11 @@
"Konnte die Anwendung nicht autorisieren:\n\n%s\n\nBitte versuche es erneut."
],
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": [
"Es konnte keine Verbindung zum Joplin-Server hergestellt werden. Bitte überprüfe die Synchronisationsoptionen im Konfigurationsmenü. Vollständiger Fehler:\n\n%s"
"Es konnte keine Verbindung zu Joplin Server hergestellt werden. Bitte überprüfe die Synchronisationsoptionen im Konfigurationsmenü. Vollständiger Fehler:\n\n%s"
],
"Could not connect to plugin repository.": [
"Konnte keine Verbindung zum Plugin-Repository herstellen."
],
"Could not convert note to Markdown: %s": [
"Konnte Notiz nicht in Markdown umwandeln: %s"
],
"Could not export notes: %s": [
"Konnte Notizen nicht exportieren: %s"
],
@@ -1021,6 +1030,9 @@
"Delete attachment \"%s\"?": [
"Anhang „%s“ löschen?"
],
"Delete column": [
"Spalte löschen"
],
"Delete expired sessions": [
"Lösche abgelaufene Sitzungen"
],
@@ -1048,9 +1060,15 @@
"Delete profile \"%s\"": [
"Lösche Profil „%s“"
],
"Delete row": [
"Zeile löschen"
],
"Delete selected notes": [
"Ausgewählte Notizen löschen"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Das Inbox-Notizbuch löschen?\n\nWenn du das Inbox-Notizbuch löschst, gehen kürzlich dort eingegangene Emails möglicherweise verloren."
],
@@ -1156,6 +1174,9 @@
"Displays the complete information about note.": [
"Zeigt alle Informationen über die Notiz an."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Zeigt die angegebene Notiz an."
],
@@ -1181,7 +1202,7 @@
"Achte darauf, dass du das Passwort nicht verlierst, da dies aus Sicherheitsgründen die *einzige* Möglichkeit ist, deine Daten zu entschlüsseln! Um die Verschlüsselung zu aktivieren, gib bitte unten dein Passwort ein."
],
"Do you find the Joplin web app useful?": [
""
"Findest du die Joplin-Webanwendung nützlich?"
],
"Document scanner: Title template": [
"Dokumentenscanner: Titelvorlage"
@@ -1253,7 +1274,7 @@
"Duplizieren"
],
"Duplicate line": [
"Dupliziere Zeile"
"Zeile duplizieren"
],
"Duplicate selected notes": [
"Ausgewählte Notizen duplizieren"
@@ -1367,7 +1388,7 @@
"Verschlüsselung aktivieren"
],
"Enable file:// URLs for images and videos": [
"Aktiviere file://-URLs für Bilder und Videos"
"URLs mit file:// für Bilder und Videos aktivieren"
],
"Enable footnotes": [
"Fußnoten aktivieren"
@@ -1376,10 +1397,10 @@
"Fountain-Syntaxunterstützung aktivieren"
],
"Enable handwritten transcription": [
"Handschriftumwandlung aktivieren"
"Handschrifttranskription aktivieren"
],
"Enable HTML-to-Markdown conversion banner": [
"Umwandlungsbanner für HTML zu Markdown aktivieren"
"Banner für Umwandlung von HTML zu Markdown aktivieren"
],
"Enable Linkify": [
"Linkify aktivieren"
@@ -1540,6 +1561,9 @@
"Expand all notebooks": [
"Alle Notizbücher ausklappen"
],
"Expand title": [
"Titel ausklappen"
],
"Expanded": [
"Ausgeklappt"
],
@@ -1604,7 +1628,7 @@
"Funktionsargumente"
],
"Feedback": [
""
"Feedback"
],
"Fetched items: %d/%d.": [
"Geladene Elemente: %d/%d."
@@ -2018,6 +2042,9 @@
"Joplin Server": [
"Joplin Server"
],
"Joplin Server (SAML)": [
"Joplin Server (SAML)"
],
"Joplin Server Business": [
"Joplin Server Business"
],
@@ -2037,7 +2064,7 @@
"Joplin SSO-Authentifizierung"
],
"Joplin supports saving the location at which notes are saved or created. Do you want to enable it? This can be changed at any time in settings.": [
""
"Joplin unterstützt das Speichern des Standortes, an dem Notizen gespeichert oder erstellt werden. Möchtest du das aktivieren? Dies kann jederzeit in den Einstellungen geändert werden."
],
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": [
"Joplin Web Clipper ermöglicht das Speichern von Webseiten und Screenshots aus deinem Browser in Joplin."
@@ -2046,7 +2073,7 @@
"Joplin Webseite"
],
"Joplin's own sync service. Also gives access to Joplin-specific features such as publishing notes or collaborating on notebooks with others.": [
"Joplins eigener Synchronisationsdienst. Ermöglicht auch den Zugriff auf Joplin-spezifische Funktionen wie das Veröffentlichen von Notizen oder die Zusammenarbeit an Notizbüchern mit anderen."
"Joplins eigener Synchronisationsdienst. Ermöglicht auch den Zugriff auf joplinspezifische Funktionen wie das Veröffentlichen von Notizen oder die Zusammenarbeit an Notizbüchern mit anderen."
],
"Keep note history for": [
"Notizenverlauf speichern für"
@@ -2066,11 +2093,14 @@
"Keychain Supported: %s": [
"Unterstützter Schlüsselbund: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Hauptschlüssel, die aktualisiert werden müssen"
],
"Label": [
""
"Beschriftung"
],
"Landscape": [
"Querformat"
@@ -2212,6 +2242,9 @@
"Manage your plugins": [
"Erweiterungen verwalten"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Verwaltet die E2EE-Konfiguration. Die Befehle lauten `enable`, `disable`, `decrypt`, `status`, `decrypt-file` und `target-status`."
],
@@ -2227,11 +2260,14 @@
"Markdown editor": [
"Markdown-Editor"
],
"Markdown editor: Highlight active line": [
"Markdown-Editor: Aktive Zeile hervorheben"
],
"Markdown editor: Render images": [
"Markdown-Editor: Bilder darstellen"
],
"Markdown editor: Render markup in editor": [
"Markdown-Editor: Auszeichnungen im Editor darstellen"
"Markdown-Editor: Markup im Editor darstellen"
],
"Marks a to-do as done.": [
"Markiert eine Aufgabe als erledigt."
@@ -2465,6 +2501,9 @@
"No updates available": [
"Keine Updates verfügbar"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Nichts"
],
@@ -2487,7 +2526,7 @@
"Nicht jetzt"
],
"Not useful": [
""
"Nicht nützlich"
],
"note": [
"Notiz"
@@ -2537,6 +2576,9 @@
"Note list style": [
"Stil der Notiz-Liste"
],
"Note not published: %s": [
"Notiz nicht veröffentlicht: %s"
],
"Note preview": [
"Notizvorschau"
],
@@ -2672,6 +2714,9 @@
"Open Sync Wizard...": [
"Sync-Assistent öffnen..."
],
"Open-source licences": [
""
],
"Open...": [
"Öffnen..."
],
@@ -2693,11 +2738,14 @@
"Options": [
"Optionen"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Geordnete Liste"
],
"Other": [
""
"Andere"
],
"Other applications...": [
"Andere Anwendungen..."
@@ -2949,6 +2997,9 @@
"Publish Note": [
"Notiz veröffentlichen"
],
"Publish note \"%s\" (in notebook \"%s\")?": [
"Notiz \"%s\" (im Notizbuch \"%s\") veröffentlichen?"
],
"Publish note...": [
"Notiz veröffentlichen..."
],
@@ -2961,8 +3012,11 @@
"Publish/unpublish": [
"Veröffentlichen / nicht veröffentlichen"
],
"Published at URL: %s": [
"Veröffentlicht unter URL: %s"
],
"Publishes a note to Joplin Server or Joplin Cloud": [
""
"Veröffentlicht eine Notiz auf Joplin Server oder Joplin Cloud"
],
"QR Code": [
"QR-Code"
@@ -3009,6 +3063,9 @@
"Recipients:": [
"Empfänger:"
],
"Recognise text:": [
"Text erkennen:"
],
"Recognize handwritten image": [
"Handschrift-Bild erkennen"
],
@@ -3076,7 +3133,7 @@
"Benennt das angegebene <item> (Notiz oder Notizbuch) zu <name> um."
],
"Renders markup on all lines that don't include the cursor.": [
"Stellt Auszeichnungen in allen Zeilen dar, die den Cursor nicht enthalten."
"Rendert Markup in allen Zeilen, die den Cursor nicht enthalten."
],
"Renew token": [
"Token erneuern"
@@ -3237,6 +3294,9 @@
"Save geo-location with notes": [
"Geografischen Standort zusammen mit Notizen speichern"
],
"Save geolocation?": [
"Geografischen Standort speichern?"
],
"Scan notebook": [
"Notizbuch scannen"
],
@@ -3307,11 +3367,14 @@
"Notizbuch auswählen"
],
"Select one of the other supported sync targets.": [
""
"Wähle eines der anderen unterstützten Synchronisationsziele."
],
"Select parent notebook": [
"Eltern-Notizbuch auswählen"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Ausgewählt: %s"
],
@@ -3346,7 +3409,7 @@
"Setze auf 0 um den gesamten verfügbaren Platz zu verwenden. Die empfohlene Breite ist 600."
],
"Set the password": [
"Gib das Passwort ein"
"Passwort festlegen"
],
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": [
"Setzt die Eigenschaft <name> der gegebenen <note> auf den gegebenen [Wert]. Mögliche Werte sind:\n\n%s"
@@ -3358,10 +3421,10 @@
"Freigeben"
],
"Share a copy of all notes in a file format that can be imported by Joplin on a computer.": [
"Teile eine Kopie aller Notizen in einem Dateiformat, welches von Joplin auf einem anderen Computer importiert werden kann."
"Gib eine Kopie aller Notizen in einem Dateiformat frei, welches von Joplin auf einem Computer importiert werden kann."
],
"Share a notebook with others": [
"Teile ein Notizbuch mit anderen"
"Gib ein Notizbuch für andere frei"
],
"Share from %s (%s)": [
"Freigeben von %s (%s)"
@@ -3385,7 +3448,7 @@
"Gibt das angegebene [Notizbuch] für [Benutzer] frei oder hebt diese Freigabe auf. Erfordert Joplin Cloud oder Joplin Server."
],
"Sharing notebook...": [
"Notizbuch teilen..."
"Notizbuch freigeben..."
],
"Shortcuts are not available in CLI mode.": [
"Tastenkürzel sind im CLI-Modus nicht verfügbar."
@@ -3496,7 +3559,7 @@
"Notizbücher sortieren nach"
],
"Sort notes by": [
"Sortiere Notizen nach"
"Notizen sortieren nach"
],
"Sort selected lines": [
"Ausgewählte Zeilen sortieren"
@@ -3516,6 +3579,9 @@
"Source: ": [
"Quelle: "
],
"SPACE": [
""
],
"Spacer": [
"Abstandhalter"
],
@@ -3646,7 +3712,7 @@
"Wechselt zu [notebook] - alle weiteren Aktionen werden in diesem Notizbuch ausgeführt."
],
"Sync": [
""
"Synchronisieren"
],
"Sync as many devices as you want": [
"Synchronisiere mit beliebig vielen Geräten"
@@ -3726,6 +3792,9 @@
"Take photo": [
"Foto aufnehmen"
],
"Take survey": [
"An Umfrage teilnehmen"
],
"Task \"%s\" failed with error: %s": [
"Aufgabe \"%s\" fehlgeschlagen mit Fehler: %s"
],
@@ -3745,7 +3814,7 @@
"Texteditor-Befehl"
],
"Thank you for the feedback!\nDo you have time to complete a short survey?": [
""
"Danke für das Feedback!\nHast du Zeit, eine kurze Umfrage auszufüllen?"
],
"The active profile cannot be deleted. Switch to a different profile and try again.": [
"Das aktive Profil kann nicht gelöscht werden. Bitte wechsle in ein anderes Profil und versuche es erneut."
@@ -3820,9 +3889,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Die Notiz „%s“ wurde erfolgreich im Notizbuch „%s“ wiederhergestellt."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Die Notiz wurde in Markdown umgewandelt und die Originalnotiz in den Papierkorb verschoben"
],
"The note was successfully moved to the trash.": [
"Die Notiz wurde erfolgreich in den Papierkorb verschoben.",
"Die Notizen wurden erfolgreich in den Papierkorb verschoben."
@@ -3927,7 +3993,7 @@
"Diese Zeichnung kann ungespeicherte Änderungen enthalten."
],
"This feature is disabled by default, you need to manually enable it by turning on the option to 'Enable handwritten transcription'.": [
"Diese Funktion ist per Voreinstellung deaktiviert. Du musst sie manuell aktivieren, indem du die Option ‚Handschriftumwandlung aktivieren‘ einschaltest."
"Diese Funktion ist per Voreinstellung deaktiviert. Du musst sie manuell aktivieren, indem du die Option ‚Handschrifttranskription aktivieren‘ einschaltest."
],
"This feature is only available on Joplin Cloud and Joplin Server.": [
"Diese Funktion ist nur verfügbar in Joplin Cloud und Joplin Server."
@@ -4124,6 +4190,9 @@
"Try it now": [
"Jetzt testen"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Tippe `help [Befehl]`, um weitere Informationen über einen Befehl zu erhalten oder tippe `help all` für die vollständigen Hinweise zur Nutzung des Befehls."
],
@@ -4145,6 +4214,9 @@
"Unable to share log data. Reason: %s": [
"Protokolldaten können nicht geteilt werden. Grund: %s"
],
"Unable to share note data. Reason: %s": [
"Notizdaten können nicht geteilt werden. Grund: %s"
],
"Unchecked": [
"Nicht angehakt"
],
@@ -4155,7 +4227,7 @@
"Rückgängig"
],
"Uninstall and reinstall the application. Make sure you create a backup first by exporting all your notes as JEX from the desktop application.": [
"Deinstalliere die Anwendung und installieren sie dann neu. Stelle sicher, dass du zuerst ein Backup erstellst, indem du alle Notizen als JEX aus der Desktop-Anwendung exportierst."
"Deinstalliere die Anwendung und installiere sie erneut. Erstelle zuvor unbedingt ein Backup, indem du alle deine Notizen aus der Desktop-Anwendung als JEX exportierst."
],
"Unknown": [
"Unbekannt"
@@ -4176,13 +4248,13 @@
"Ungeordnete Liste"
],
"Unpublish": [
"Nicht veröffentlichen"
"Nicht mehr veröffentlichen"
],
"Unpublish \"%s\"": [
"„%s“ nicht veröffentlichen"
"„%s“ nicht mehr veröffentlichen"
],
"Unpublish note": [
"Notiz nicht veröffentlichen"
"Notiz nicht mehr veröffentlichen"
],
"Unshare": [
"Nicht mehr freigeben"
@@ -4290,7 +4362,7 @@
"Verwendete Schriftart mit fester Breite, um Text lesbar zu machen (z.B. in Tabellen, Kontrollkästchen, Code). Falls nicht vorhanden wird eine Monotype-Scrhiftart (mit fester Breite) verwendet."
],
"Useful": [
""
"Nützlich"
],
"User deletions": [
"Benutzer-Löschungen"
@@ -4398,7 +4470,7 @@
"Beim Erstellen einer neuen Aufgabe:"
],
"When enabled, requests that the images in the note be transcribed with a higher-quality on-server transcription service. Requires sync with a copy of the desktop app.": [
""
"Wenn aktiviert, werden die Bilder in der Notiz mit einem qualitativ höherwertigen serverseitigen Transkriptionsdienst umgewandelt. Erfordert die Synchronisation mit einer Kopie der Desktop-App."
],
"When enabled, the application will scan your attachments and extract the text from it. This will allow you to search for text in these attachments.": [
"Wenn aktiviert, wird die Anwendung deine Anhänge einlesen und Text aus ihnen extrahieren. Damit kannst du innerhalb dieser Anhänge nach Text suchen."

File diff suppressed because it is too large Load Diff

View File

@@ -185,6 +185,9 @@
"A5": [
""
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -470,6 +473,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
""
],
@@ -524,6 +530,9 @@
"Cannot change encrypted item": [
""
],
"Cannot convert read-only item: \"%s\"": [
""
],
"Cannot copy note to \"%s\" notebook": [
""
],
@@ -608,6 +617,9 @@
"Checking... Please wait.": [
""
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
""
],
@@ -674,9 +686,6 @@
"Code View": [
""
],
"Code:": [
""
],
"Collaborate on a notebook with others": [
""
],
@@ -704,6 +713,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -743,6 +755,9 @@
"Configuration": [
""
],
"Configured keyboard shortcuts:": [
""
],
"Configures the size of scrollbars used in the app.": [
""
],
@@ -792,7 +807,7 @@
"Convert it": [
""
],
"Convert note to Markdown": [
"Convert to Markdown": [
""
],
"Convert to note": [
@@ -850,7 +865,7 @@
"Could not connect to plugin repository.": [
""
],
"Could not convert note to Markdown: %s": [
"Could not convert notes to Markdown: %s": [
""
],
"Could not export notes: %s": [
@@ -1057,12 +1072,18 @@
"Delete profile \"%s\"": [
""
],
"Delete profile \"%s\"?\n\nAll data, including notes, notebooks and tags will be permanently deleted.": [
""
],
"Delete row": [
""
],
"Delete selected notes": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -1168,6 +1189,9 @@
"Displays the complete information about note.": [
""
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
""
],
@@ -1300,6 +1324,9 @@
"Edit profile configuration...": [
""
],
"Edit tag": [
""
],
"Editor": [
""
],
@@ -1366,6 +1393,9 @@
"Enable abbreviation syntax": [
""
],
"Enable ABC musical notation support": [
""
],
"Enable audio player": [
""
],
@@ -1859,6 +1889,9 @@
"Import or export your data": [
""
],
"Import...": [
""
],
"Imported successfully!": [
""
],
@@ -2084,6 +2117,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Keys that need upgrading": [
""
],
@@ -2230,6 +2266,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
""
],
@@ -2336,6 +2375,9 @@
"",
""
],
"Move %d notebooks to the trash?\n\nAll notes and sub-notebooks within these notebooks will also be moved to the trash.": [
""
],
"Move down": [
""
],
@@ -2486,6 +2528,9 @@
"No updates available": [
""
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -2696,6 +2741,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
""
],
@@ -2717,6 +2765,9 @@
"Options": [
""
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
""
],
@@ -2946,6 +2997,9 @@
"Profile name": [
""
],
"Profile name cannot be empty": [
""
],
"Profile name:": [
""
],
@@ -3078,6 +3132,9 @@
"Remove": [
""
],
"Remove %d tags from all notes? This cannot be undone.": [
""
],
"Remove %s": [
""
],
@@ -3348,6 +3405,9 @@
"Select parent notebook": [
""
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
""
],
@@ -3552,6 +3612,9 @@
"Source: ": [
""
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3750,9 +3813,15 @@
"Tab moves focus": [
""
],
"Table": [
""
],
"Tabloid": [
""
],
"Tag: %s": [
""
],
"Tagged: %d.": [
""
],
@@ -3860,6 +3929,7 @@
""
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"",
""
],
"The note was successfully moved to the trash.": [
@@ -4163,6 +4233,9 @@
"Try it now": [
""
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
""
],

View File

@@ -185,6 +185,9 @@
"A5": [
""
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -458,6 +461,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
""
],
@@ -512,6 +518,9 @@
"Cannot change encrypted item": [
""
],
"Cannot convert read-only item: \"%s\"": [
""
],
"Cannot copy note to \"%s\" notebook": [
""
],
@@ -596,6 +605,9 @@
"Checking... Please wait.": [
""
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
""
],
@@ -662,9 +674,6 @@
"Code View": [
""
],
"Code:": [
""
],
"Collaborate on a notebook with others": [
""
],
@@ -692,6 +701,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -731,6 +743,9 @@
"Configuration": [
""
],
"Configured keyboard shortcuts:": [
""
],
"Configures the size of scrollbars used in the app.": [
""
],
@@ -780,7 +795,7 @@
"Convert it": [
""
],
"Convert note to Markdown": [
"Convert to Markdown": [
""
],
"Convert to note": [
@@ -838,7 +853,7 @@
"Could not connect to plugin repository.": [
""
],
"Could not convert note to Markdown: %s": [
"Could not convert notes to Markdown: %s": [
""
],
"Could not export notes: %s": [
@@ -1045,12 +1060,18 @@
"Delete profile \"%s\"": [
""
],
"Delete profile \"%s\"?\n\nAll data, including notes, notebooks and tags will be permanently deleted.": [
""
],
"Delete row": [
""
],
"Delete selected notes": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -1153,6 +1174,9 @@
"Displays the complete information about note.": [
""
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
""
],
@@ -1285,6 +1309,9 @@
"Edit profile configuration...": [
""
],
"Edit tag": [
""
],
"Editor": [
""
],
@@ -1351,6 +1378,9 @@
"Enable abbreviation syntax": [
""
],
"Enable ABC musical notation support": [
""
],
"Enable audio player": [
""
],
@@ -1841,6 +1871,9 @@
"Import or export your data": [
""
],
"Import...": [
""
],
"Imported successfully!": [
""
],
@@ -2063,6 +2096,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Keys that need upgrading": [
""
],
@@ -2209,6 +2245,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
""
],
@@ -2315,6 +2354,9 @@
"",
""
],
"Move %d notebooks to the trash?\n\nAll notes and sub-notebooks within these notebooks will also be moved to the trash.": [
""
],
"Move down": [
""
],
@@ -2465,6 +2507,9 @@
"No updates available": [
""
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -2672,6 +2717,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
""
],
@@ -2693,6 +2741,9 @@
"Options": [
""
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
""
],
@@ -3318,6 +3369,9 @@
"Select parent notebook": [
""
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
""
],
@@ -3519,6 +3573,9 @@
"Source: ": [
""
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3717,9 +3774,15 @@
"Tab moves focus": [
""
],
"Table": [
""
],
"Tabloid": [
""
],
"Tag: %s": [
""
],
"Tagged: %d.": [
""
],
@@ -3827,6 +3890,7 @@
""
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"",
""
],
"The note was successfully moved to the trash.": [
@@ -4121,6 +4185,9 @@
"Try it now": [
""
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
""
],

View File

@@ -132,6 +132,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -354,6 +357,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Grasa"
],
@@ -462,6 +468,9 @@
"Checking... Please wait.": [
"Kontrolante... Atendu."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Elekti opcion"
],
@@ -525,6 +534,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -549,6 +561,9 @@
"Configuration": [
"Agordoj"
],
"Configured keyboard shortcuts:": [
""
],
"Configures the size of scrollbars used in the app.": [
""
],
@@ -735,6 +750,9 @@
"Delete local data and re-download from sync target": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -816,6 +834,9 @@
"Displays the complete information about note.": [
""
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
""
],
@@ -1512,6 +1533,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Keys that need upgrading": [
""
],
@@ -1603,6 +1627,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
""
],
@@ -1777,6 +1804,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
""
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1897,6 +1927,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
"Malfermi..."
],
@@ -1909,6 +1942,9 @@
"Options": [
"Opcioj"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2338,6 +2374,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2482,6 +2521,9 @@
"Source format: %s": [
"Fonta aranĝo: %s"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -2748,6 +2790,7 @@
""
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"",
""
],
"The note was successfully moved to the trash.": [
@@ -2984,6 +3027,9 @@
"Try again": [
""
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
""
],

View File

@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Acerca de"
],
@@ -470,6 +473,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Negrita"
],
@@ -608,6 +614,9 @@
"Checking... Please wait.": [
"Comprobando... Por favor espere."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Seleccione una opción"
],
@@ -674,9 +683,6 @@
"Code View": [
"Vista de código"
],
"Code:": [
"Código:"
],
"Collaborate on a notebook with others": [
"Colaborar en una libreta con otros usuarios"
],
@@ -704,6 +710,9 @@
"Command": [
"Comando"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta de comandos"
],
@@ -792,9 +801,6 @@
"Convert it": [
"Conviértelo"
],
"Convert note to Markdown": [
"Convertir nota a Markdown"
],
"Convert to note": [
"Convertir en nota"
],
@@ -850,9 +856,6 @@
"Could not connect to plugin repository.": [
"No se ha podido conectar con el repositorio de plugins."
],
"Could not convert note to Markdown: %s": [
"No se pudo convertir la nota a Markdown: %s"
],
"Could not export notes: %s": [
"No se pudo exportar las notas: %s"
],
@@ -1063,6 +1066,9 @@
"Delete selected notes": [
"Borrar notas seleccionadas"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"¿Eliminar la libreta de la bandeja de entrada?\n\nSi eliminas la libreta de la bandeja de entrada, es posible que se pierda cualquier correo electrónico que se haya enviado recientemente."
],
@@ -1168,6 +1174,9 @@
"Displays the complete information about note.": [
"Mostrar la información completa acerca de la nota."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Muestra la nota dada."
],
@@ -2084,6 +2093,9 @@
"Keychain Supported: %s": [
"Llavero Soportado: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Claves que necesitan actualizarse"
],
@@ -2230,6 +2242,9 @@
"Manage your plugins": [
"Gestione sus plugins"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Administra la configuración E2EE. Los comandos son `enable`, `disable`, `decrypt`, `status`, `decrypt-file` y `target-status`."
],
@@ -2486,6 +2501,9 @@
"No updates available": [
"No hay actualizaciones disponibles"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Ninguno"
],
@@ -2696,6 +2714,9 @@
"Open Sync Wizard...": [
"Abrir el asistente de sincronización..."
],
"Open-source licences": [
""
],
"Open...": [
"Abrir..."
],
@@ -2717,6 +2738,9 @@
"Options": [
"Opciones"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Lista ordenada"
],
@@ -3348,6 +3372,9 @@
"Select parent notebook": [
"Seleccionar libreta principal"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Seleccionado: %s"
],
@@ -3552,6 +3579,9 @@
"Source: ": [
"Origen: "
],
"SPACE": [
""
],
"Spacer": [
"Espaciador"
],
@@ -3859,9 +3889,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"La nota «%s» se ha restaurado exitosamente a la libreta «%s»."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"La nota se ha convertido a Markdown y la nota original se ha movido a la papelera"
],
"The note was successfully moved to the trash.": [
"La nota se movió con éxito a la papelera.",
"Las notas se movieron con éxito a la papelera."
@@ -4163,6 +4190,9 @@
"Try it now": [
"Intentar ahora"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Escriba `help [command]` para obtener más información sobre el comando o escriba `help all` para obtener toda la información acerca del uso del programa."
],

View File

@@ -125,6 +125,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -338,6 +341,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Paks"
],
@@ -431,6 +437,9 @@
"Checking... Please wait.": [
"Kontroll... Oota."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Valida suvand"
],
@@ -482,6 +491,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -678,6 +690,9 @@
"Delete local data and re-download from sync target": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -747,6 +762,9 @@
"Displays the complete information about note.": [
"Kuvatakse märkme kohta täielik teave."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Kuvab antud märkme."
],
@@ -1306,6 +1324,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Keys that need upgrading": [
""
],
@@ -1385,6 +1406,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"Manuaal"
],
@@ -1532,6 +1556,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Tekstiredaktorit pole määratletud. Seadistage see kasutades konfiguratsiooniredaktorit <editor-path>"
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1640,6 +1667,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
"Avatud..."
],
@@ -1652,6 +1682,9 @@
"Options": [
"Valikud"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2045,6 +2078,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2174,6 +2210,9 @@
"Source format: %s": [
"Allika Formaat: %s"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -2562,6 +2601,9 @@
"Try again": [
""
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Käsu kohta lisateabe saamiseks tippige käsk `help [command]`; või tippige täieliku kasutamise teabe saamiseks `help all`."
],

View File

@@ -120,6 +120,9 @@
"A5": [
""
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -330,6 +333,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
""
],
@@ -441,6 +447,9 @@
"Checked": [
""
],
"Chinese/Japanese/Korean characters": [
""
],
"Chrome Web Store": [
""
],
@@ -489,9 +498,6 @@
"Code View": [
""
],
"Code:": [
""
],
"Collapsed": [
""
],
@@ -507,6 +513,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -531,6 +540,9 @@
"Configuration": [
"Konfigurazioa"
],
"Configured keyboard shortcuts:": [
""
],
"Configures the size of scrollbars used in the app.": [
""
],
@@ -700,6 +712,9 @@
"Delete local data and re-download from sync target": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -778,6 +793,9 @@
"Displays the complete information about note.": [
"Erakutsi oharrari buruzko informazio guztia."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Oharra erakutsi"
],
@@ -1405,6 +1423,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Keys that need upgrading": [
""
],
@@ -1490,6 +1511,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
""
],
@@ -1640,6 +1664,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Testu editorerik ez dago definituta. Egin hau erabilita, mesedez: `config editor <editorearen-helbidea>`"
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1739,6 +1766,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
""
],
@@ -1751,6 +1781,9 @@
"Options": [
"Aukerak"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2153,6 +2186,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2276,6 +2312,9 @@
"Source": [
"Iturburua"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -2509,6 +2548,7 @@
""
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"",
""
],
"The note was successfully moved to the trash.": [
@@ -2722,6 +2762,9 @@
"Try it now": [
""
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Idatzi `help [command]` komandoari buruzko informazio gehiagorako; edo idatzi `help all` erabilerari buruzko informazio osoa lortzeko."
],

View File

@@ -149,6 +149,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"درباره"
],
@@ -401,6 +404,9 @@
"Beta": [
"بتا"
],
"Block code": [
""
],
"Bold": [
"پررنگ"
],
@@ -530,6 +536,9 @@
"Checking... Please wait.": [
"در حال بررسی... لطفا صبور باشید."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"یک گزینه را انتخاب کنید"
],
@@ -608,6 +617,9 @@
"Command": [
"فرمان"
],
"COMMAND": [
""
],
"Command palette": [
"پالت فرمان"
],
@@ -915,6 +927,9 @@
"Delete selected notes": [
"حذف یادداشت‌های انتخاب شده"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"دفترچه‌ی صندوق ورودی حذف شود؟\n\nاگر دفترچه صندوق ورودی را حذف کنید، ممکن است هر ایمیلی که اخیراً به آن ارسال شده است نیز از بین برود."
],
@@ -1005,6 +1020,9 @@
"Displays the complete information about note.": [
"مشخصات کامل یادداشت را نمایش می‌دهد."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"یادداشت مشخص شده را نمایش بده."
],
@@ -1837,6 +1855,9 @@
"Keychain Supported: %s": [
"Keychain پشتیبانی می‌شود: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"کلید‌ها نیازمند ارتقاء می‌باشند"
],
@@ -1964,6 +1985,9 @@
"Manage your plugins": [
"مدیریت افزونه‌های شما"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"تنظیمات رمزنگاری انتها به انتها (E2EE) را مدیریت می‌کند. دستورات شامل `enable`، `disable`، `decrypt`، `status`، `decrypt-file` و `target-status` هستند."
],
@@ -2168,6 +2192,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"هیچ ویرایشگر متنی مشخص نشده است. لطفا با استفاده از `<editor-path> تنظیمات ویرایشگر` آن را مشخص کنید"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"Nord"
],
@@ -2339,6 +2366,9 @@
"Open Sync Wizard...": [
"بازکردن راهنمای همگام‌سازی..."
],
"Open-source licences": [
""
],
"Open...": [
"باز کردن..."
],
@@ -2351,6 +2381,9 @@
"Options": [
"گزینه ها"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"لیست مرتب شده"
],
@@ -2885,6 +2918,9 @@
"Select parent notebook": [
"انتخاب دفترچه والد"
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -3062,6 +3098,9 @@
"Source: ": [
"منبع "
],
"SPACE": [
""
],
"Spacer": [
"فاصله‌ساز"
],
@@ -3628,6 +3667,9 @@
"Try it now": [
"هم‌اکنون تلاش کن"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"برای اطلاعات بیشتر درباره یک فرمان، 'help [command]' را تایپ کنید. یا برای اطلاعات کامل استفاده، «help all» را تایپ کنید."
],

View File

@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Lisätietoja"
],
@@ -452,6 +455,9 @@
"Basic": [
"Perus"
],
"Block code": [
""
],
"Bold": [
"Lihavoitu"
],
@@ -578,6 +584,9 @@
"Checking... Please wait.": [
"Tarkistetaan... Odota hetki."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Valitse vaihtoehto"
],
@@ -635,9 +644,6 @@
"Code View": [
"Koodinäkymä"
],
"Code:": [
"Koodi:"
],
"Collaborate on a notebook with others": [
"Tee yhteistyötä muistiinpanon parissa muiden kanssa"
],
@@ -665,6 +671,9 @@
"Command": [
"Komento"
],
"COMMAND": [
""
],
"Command palette": [
"Komentovalikoima"
],
@@ -936,6 +945,9 @@
"Delete selected notes": [
"Poista valitut muistiinpanot"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -1023,6 +1035,9 @@
"Displays the complete information about note.": [
"Näyttää muistiinpanon täydelliset tiedot."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Näyttää annetun huomautuksen."
],
@@ -1858,6 +1873,9 @@
"Keychain Supported: %s": [
"Avainnippu tuettu: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Päivitystä vaativat avaimet"
],
@@ -1992,6 +2010,9 @@
"Manage your plugins": [
"Hallitse laajennuksia"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Hallitse E2EE määrityksiä. Komennot ovat `enable`, `disable`, `decrypt`, `status`, `decrypt-file` ja `target-status`."
],
@@ -2229,6 +2250,9 @@
"No updates available": [
"Ei päivityksiä saatavilla"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Ei mitään"
],
@@ -2436,6 +2460,9 @@
"Open Sync Wizard...": [
"Avaa ohjattu synkronointitoiminto."
],
"Open-source licences": [
""
],
"Open...": [
"Avaa..."
],
@@ -2457,6 +2484,9 @@
"Options": [
"Asetukset"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Järjestetty luettelo"
],
@@ -3055,6 +3085,9 @@
"Select parent notebook": [
"Valitse ylempi muistikirja"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Valitut: %s"
],
@@ -3253,6 +3286,9 @@
"Source: ": [
"Lähde: "
],
"SPACE": [
""
],
"Spacer": [
"Välitys"
],
@@ -3557,9 +3593,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Muistiinpano \"%s\" on palautettu muistikirjaan \"%s\"."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Muistiinpano on muunnettu Markdown-muotoon ja alkuperäinen muistiinpano on siirretty roskakoriin."
],
"The note was successfully moved to the trash.": [
"Muistiinpano siirrettiin roskakoriin onnistuneesti.",
"Muistiinpanot siirrettiin roskakoriin onnistuneesti."
@@ -3840,6 +3873,9 @@
"Try it now": [
"Kokeile nyt"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Kirjoita `help [command]` saadaksesi lisätietoja komennosta; tai kirjoita `help all` saadaksesi täydelliset käyttötiedot."
],

View File

@@ -168,7 +168,7 @@
"[Aucun]"
],
"A brief description of the image:": [
""
"Brève description de l'image :"
],
"A comma-separated list of words. May be used for uncommon words, to help voice typing spell them correctly.": [
"Liste de mots séparés par des virgules. Peut être utilisée pour les mots rares, afin de faciliter leur orthographe vocale."
@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
"Notation musicale ABC : Options"
],
"About": [
"À propos"
],
@@ -243,7 +246,7 @@
"Ajoutez le contenu"
],
"Add column": [
""
"Ajouter une colonne"
],
"Add new": [
"Ajouter"
@@ -254,6 +257,9 @@
"Add recipient:": [
"Ajouter destinataire :"
],
"Add row": [
"Ajouter une ligne"
],
"Add tags:": [
"Ajouter étiquettes :"
],
@@ -342,7 +348,7 @@
"Un dessin automatiquement sauvegardé a été trouvé. Le joindre à la note ?"
],
"An error occurred while sending the response. This can happen if the app is offline or cannot connect to the server.\nError: %s": [
""
"Une erreur s'est produite lors de l'envoi de la réponse. Cela peut arriver si l'application est hors ligne ou ne parvient pas à se connecter au serveur.\nErreur : %s"
],
"An error occurred: %s": [
"Une erreur est survenue : %s"
@@ -467,6 +473,9 @@
"Beta": [
"Beta"
],
"Block code": [
"Bloc de code"
],
"Bold": [
"Gras"
],
@@ -521,6 +530,9 @@
"Cannot change encrypted item": [
"Un objet chiffré ne peut pas être modifié"
],
"Cannot convert read-only item: \"%s\"": [
"Impossible de convertir l'élément en lecture seule : \"%s\""
],
"Cannot copy note to \"%s\" notebook": [
"Impossible de copier la note vers le carnet \"%s\""
],
@@ -605,6 +617,9 @@
"Checking... Please wait.": [
"Vérification… Veuillez patienter."
],
"Chinese/Japanese/Korean characters": [
"Caractères chinois/japonais/coréens"
],
"Choose an option": [
"Choisissez une option"
],
@@ -671,9 +686,6 @@
"Code View": [
"Code"
],
"Code:": [
"Code :"
],
"Collaborate on a notebook with others": [
"Collaborer sur des carnets avec d'autres personnes"
],
@@ -683,6 +695,9 @@
"Collapse all notebooks": [
"Réduire tous les carnets"
],
"Collapse title": [
"Réduire le titre"
],
"Collapsed": [
"Réduit"
],
@@ -698,6 +713,9 @@
"Command": [
"Commande"
],
"COMMAND": [
"COMMANDE"
],
"Command palette": [
"Palette de commandes"
],
@@ -737,6 +755,9 @@
"Configuration": [
"Configuration"
],
"Configured keyboard shortcuts:": [
"Raccourcis clavier configurés :"
],
"Configures the size of scrollbars used in the app.": [
"Configure la taille des barres de défilement utilisées dans l'application."
],
@@ -786,8 +807,8 @@
"Convert it": [
"Convertir"
],
"Convert note to Markdown": [
"Convertir note en Markdown"
"Convert to Markdown": [
"Convertir en Markdown"
],
"Convert to note": [
"Convertir en note"
@@ -844,8 +865,8 @@
"Could not connect to plugin repository.": [
"Impossible de télécharger la liste des modules."
],
"Could not convert note to Markdown: %s": [
"Impossible de convertir la note en Markdown : %s"
"Could not convert notes to Markdown: %s": [
"Impossible de convertir les notes en Markdown : %s"
],
"Could not export notes: %s": [
"Impossible d'exporter les notes : %s"
@@ -1021,6 +1042,9 @@
"Delete attachment \"%s\"?": [
"Supprimer la pièce jointe \"%s\" ?"
],
"Delete column": [
"Supprimer la colonne"
],
"Delete expired sessions": [
"Supprimer les sessions expirées"
],
@@ -1048,9 +1072,18 @@
"Delete profile \"%s\"": [
"Supprimer profil \"%s\" ?"
],
"Delete profile \"%s\"?\n\nAll data, including notes, notebooks and tags will be permanently deleted.": [
"Supprimer le profil « %s » ?\n\nToutes les données, y compris les notes, les carnets et les étiquettes, seront définitivement supprimées."
],
"Delete row": [
"Supprimer la ligne"
],
"Delete selected notes": [
"Supprimer les notes sélectionnées"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
"Supprimer l'étiquette « %s » ?\n\nToutes les notes associées à cette étiquette seront conservées, mais l'étiquette sera supprimée de toutes les notes."
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Supprimer le carnet \"Inbox\" ?\n\nSi vous le supprimez, tout email qui lui a été récemment envoyé peut être perdu."
],
@@ -1156,6 +1189,9 @@
"Displays the complete information about note.": [
"Affiche tous les détails de la note."
],
"Displays the configured keyboard shortcuts.": [
"Affiche les raccourcis clavier configurés."
],
"Displays the given note.": [
"Affiche la note."
],
@@ -1181,7 +1217,7 @@
"Ne perdez pas le mot de passe car, pour des raisons de sécurité, ce sera la *seule* façon de déchiffrer les données. Pour activer le chiffrement, veuillez entrer votre mot de passe ci-dessous."
],
"Do you find the Joplin web app useful?": [
""
"Trouvez-vous l'application web Joplin utile ?"
],
"Document scanner: Title template": [
"Scanner de documents : modèle de titre"
@@ -1288,6 +1324,9 @@
"Edit profile configuration...": [
"Editer la configuration des profils..."
],
"Edit tag": [
"Modifier la balise"
],
"Editor": [
"Éditeur"
],
@@ -1354,6 +1393,9 @@
"Enable abbreviation syntax": [
"Activer la syntaxe pour abréviations"
],
"Enable ABC musical notation support": [
"Activer notation musicale ABC"
],
"Enable audio player": [
"Activer le lecteur audio"
],
@@ -1540,6 +1582,9 @@
"Expand all notebooks": [
"Développer tous les carnets"
],
"Expand title": [
"Développer le titre"
],
"Expanded": [
"Etendu"
],
@@ -1603,6 +1648,9 @@
"Feature flags": [
"Feature flags"
],
"Feedback": [
"Feedback"
],
"Fetched items: %d/%d.": [
"Téléchargés : %d/%d."
],
@@ -1841,6 +1889,9 @@
"Import or export your data": [
"Importez ou exportez vos données"
],
"Import...": [
"Importer..."
],
"Imported successfully!": [
"Importé avec succès !"
],
@@ -2013,28 +2064,31 @@
"Joplin Mobile"
],
"Joplin Server": [
"Serveur Joplin"
"Joplin Server"
],
"Joplin Server (SAML)": [
"Joplin Server (SAML)"
],
"Joplin Server Business": [
"Joplin Server Business"
],
"Joplin Server email": [
"Serveur Joplin : Email"
"Joplin Server : Email"
],
"Joplin Server Login": [
"Connexion Joplin Server"
],
"Joplin Server password": [
"Serveur Joplin : Mot de passe"
"Joplin Server : Mot de passe"
],
"Joplin Server URL": [
"Serveur Joplin : URL"
"Joplin Server : URL"
],
"Joplin SSO Authentication": [
"Authentification SSO Joplin"
],
"Joplin supports saving the location at which notes are saved or created. Do you want to enable it? This can be changed at any time in settings.": [
""
"Joplin permet d'enregistrer l'emplacement où les notes sont enregistrées ou créées. Souhaitez-vous activer cette fonctionnalité ? Vous pouvez modifier ce paramètre à tout moment."
],
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": [
"Le Web Clipper permet d'enregistrer des pages web et des captures d'écran depuis votre navigateur vers Joplin."
@@ -2063,11 +2117,14 @@
"Keychain Supported: %s": [
"Trousseau supporté : %s"
],
"KEYS": [
"TOUCHES"
],
"Keys that need upgrading": [
"Clefs qui peuvent être mise à niveau"
],
"Label": [
""
"Étiquette"
],
"Landscape": [
"Paysage"
@@ -2209,6 +2266,9 @@
"Manage your plugins": [
"Gérer vos modules"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
"Gérez vos profils. Vous pouvez les renommer ou les supprimer. Le profil actif ne peut pas être supprimé."
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Gérer la configuration E2EE (Chiffrement de bout à bout). Les commandes sont `enable`, `disable`, `decrypt` et `status`, `decrypt-file` et `target-status`."
],
@@ -2224,6 +2284,9 @@
"Markdown editor": [
"Éditeur Markdown"
],
"Markdown editor: Highlight active line": [
"Éditeur Markdown : Surligner la ligne active"
],
"Markdown editor: Render images": [
"Éditeur Markdown : rendu d'images"
],
@@ -2312,6 +2375,9 @@
"Déplacer %d note vers carnet \"%s\" ?",
"Déplacer %d notes vers carnet \"%s\" ?"
],
"Move %d notebooks to the trash?\n\nAll notes and sub-notebooks within these notebooks will also be moved to the trash.": [
"Déplacer %d blocs-notes vers la corbeille ?\n\nToutes les notes et sous-blocs-notes contenus dans ces blocs-notes seront également déplacés vers la corbeille."
],
"Move down": [
"Déplacer vers le bas"
],
@@ -2462,6 +2528,9 @@
"No updates available": [
"Aucune mise à jour disponible"
],
"No URL for SAML authentication set.": [
"Aucune URL n'est définie pour l'authentification SAML."
],
"None": [
"Aucun"
],
@@ -2484,7 +2553,7 @@
"Pas maintenant"
],
"Not useful": [
""
"Inutile"
],
"note": [
"note"
@@ -2534,6 +2603,9 @@
"Note list style": [
"Style de liste de note"
],
"Note not published: %s": [
"Note non publiée : %s"
],
"Note preview": [
"Aperçu des notes"
],
@@ -2669,6 +2741,9 @@
"Open Sync Wizard...": [
"Ouvrir l'assistant de synchronisation…"
],
"Open-source licences": [
"Licences open source"
],
"Open...": [
"Ouvrir…"
],
@@ -2690,11 +2765,14 @@
"Options": [
"Options"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
"Options à utiliser lors du rendu du code ABC. Il doit s'agir d'un objet JSON5. La liste complète des options est disponible à l'adresse : %s"
],
"Ordered list": [
"Liste ordonnée"
],
"Other": [
""
"Autre"
],
"Other applications...": [
"Autres applications..."
@@ -2919,6 +2997,9 @@
"Profile name": [
"Nom du profil"
],
"Profile name cannot be empty": [
"Le nom du profil ne peut pas être vide"
],
"Profile name:": [
"Nom du profil :"
],
@@ -2946,6 +3027,9 @@
"Publish Note": [
"Publier une note"
],
"Publish note \"%s\" (in notebook \"%s\")?": [
"Publier les notes \"%s\" (dans le carnet \"%s\") ?"
],
"Publish note...": [
"Publier la note…"
],
@@ -2958,8 +3042,11 @@
"Publish/unpublish": [
"Publier/dépublier"
],
"Published at URL: %s": [
"Publié à l'URL : %s"
],
"Publishes a note to Joplin Server or Joplin Cloud": [
""
"Publie une note sur Joplin Server ou Joplin Cloud"
],
"QR Code": [
"Code QR"
@@ -3006,6 +3093,9 @@
"Recipients:": [
"Destinataires :"
],
"Recognise text:": [
"Reconnaître le texte :"
],
"Recognize handwritten image": [
"Reconnaître une image manuscrite"
],
@@ -3042,6 +3132,9 @@
"Remove": [
"Supprimer"
],
"Remove %d tags from all notes? This cannot be undone.": [
"Supprimer les balises %d de toutes les notes ? Cette opération est irréversible."
],
"Remove %s": [
"Supprimer %s"
],
@@ -3234,6 +3327,9 @@
"Save geo-location with notes": [
"Enregistrer les informations de géolocalisation des notes"
],
"Save geolocation?": [
"Enregistrer la géolocalisation ?"
],
"Scan notebook": [
"Numériser le carnet"
],
@@ -3304,11 +3400,14 @@
"Sélectionnez un carnet"
],
"Select one of the other supported sync targets.": [
""
"Sélectionnez une autre cible de synchronisation prise en charge."
],
"Select parent notebook": [
"Sélectionner le carnet parent"
],
"Select the type of file to be imported:": [
"Sélectionnez le type de fichier à importer :"
],
"Selected: %s": [
"Sélectionné : %s"
],
@@ -3513,6 +3612,9 @@
"Source: ": [
"Source : "
],
"SPACE": [
"ESPACE"
],
"Spacer": [
"Espaceur"
],
@@ -3643,7 +3745,7 @@
"Changer de carnet – toutes les opérations à venir se feront dans ce carnet."
],
"Sync": [
""
"Sync"
],
"Sync as many devices as you want": [
"Synchronisez autant d'appareils que vous le souhaitez"
@@ -3711,9 +3813,15 @@
"Tab moves focus": [
"Tab déplace le focus"
],
"Table": [
"Tableau"
],
"Tabloid": [
"Tabloïde"
],
"Tag: %s": [
"Étiquette : %s"
],
"Tagged: %d.": [
"Étiquettes : %d."
],
@@ -3723,6 +3831,9 @@
"Take photo": [
"Prendre une photo"
],
"Take survey": [
"Répondez au sondage"
],
"Task \"%s\" failed with error: %s": [
"La tâche \"%s\" a échoué avec l'erreur : %s"
],
@@ -3742,7 +3853,7 @@
"Commande de l'éditeur de texte"
],
"Thank you for the feedback!\nDo you have time to complete a short survey?": [
""
"Merci pour votre avis !\nAvez-vous quelques instants pour répondre à un court sondage ?"
],
"The active profile cannot be deleted. Switch to a different profile and try again.": [
"Le profil actif ne peut pas être supprimé. Changez de profil et réessayez."
@@ -3818,7 +3929,8 @@
"La note \"%s\" a été restaurée dans le carnet \"%s\"."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"La note a été convertie en Markdown et la note d'origine a été déplacée vers la corbeille"
"La note a été convertie au format Markdown et la note originale a été déplacée vers la corbeille.",
"Les notes ont été converties au format Markdown et les notes originales ont été déplacées vers la corbeille."
],
"The note was successfully moved to the trash.": [
"La note a été déplacée avec succès vers la corbeille.",
@@ -4121,6 +4233,9 @@
"Try it now": [
"Essayer"
],
"TYPE": [
"TYPE"
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Tapez `help [command]` pour plus d'information sur une commande ; ou tapez `help all` pour l'aide complète."
],
@@ -4142,6 +4257,9 @@
"Unable to share log data. Reason: %s": [
"Impossible de partager le log. Raison : %s"
],
"Unable to share note data. Reason: %s": [
"Impossible de partager les données de la note. Raison : %s"
],
"Unchecked": [
"Non coché"
],
@@ -4287,7 +4405,7 @@
"Utilisée lorsque une police à taille fixe est nécessaire pour afficher le texte de façon lisible (par ex. pour les tables, code source, etc.)."
],
"Useful": [
""
"Utile"
],
"User deletions": [
"Suppressions d'utilisateurs"
@@ -4395,7 +4513,7 @@
"Lors de la création d'une tâche :"
],
"When enabled, requests that the images in the note be transcribed with a higher-quality on-server transcription service. Requires sync with a copy of the desktop app.": [
""
"Lorsqu'elle est activée, cette option demande la transcription des images de la note par un service de transcription serveur de meilleure qualité. Nécessite une synchronisation avec une copie de l'application de bureau."
],
"When enabled, the application will scan your attachments and extract the text from it. This will allow you to search for text in these attachments.": [
"Lorsqu'elle est activée, l'application analysera vos pièces jointes et en extraira le texte. Cela vous permettra de rechercher du texte dans ces pièces jointes."

View File

@@ -179,6 +179,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Sobre"
],
@@ -443,6 +446,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Negrita"
],
@@ -581,6 +587,9 @@
"Checking... Please wait.": [
"Comprobando... Agarde."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Seleccione unha opción"
],
@@ -671,6 +680,9 @@
"Command": [
"Comando"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta de comandos"
],
@@ -1000,6 +1012,9 @@
"Delete selected notes": [
"Eliminar notas seleccionadas"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Eliminar o caderno da bandexa de entrada?\n\nSe o eliminas, é posible que se perdan os correos electrónicos enviados recentemente."
],
@@ -1105,6 +1120,9 @@
"Displays the complete information about note.": [
"Mostra toda a información da nota."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Mostra a nota dada."
],
@@ -1982,6 +2000,9 @@
"Keychain Supported: %s": [
"Chaveiro Soportado: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Claves que necesitan actualizarse"
],
@@ -2118,6 +2139,9 @@
"Manage your plugins": [
"Xestione os seus plugins"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Xestiona a configuración E2EE. As ordes son «enable», «disable», «decrypt», «status» e «target-status»."
],
@@ -2356,6 +2380,9 @@
"No updates available": [
"Non hai actualizacións dispoñibles"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Ningún"
],
@@ -2548,6 +2575,9 @@
"Open Sync Wizard...": [
"Abrir asistente de sincronización..."
],
"Open-source licences": [
""
],
"Open...": [
"Abrir…"
],
@@ -2569,6 +2599,9 @@
"Options": [
"Opcións"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Lista ordeada"
],
@@ -3146,6 +3179,9 @@
"Select parent notebook": [
"Seleccionar caderno principal"
],
"Select the type of file to be imported:": [
""
],
"Selection deleted": [
"Selección eliminada"
],
@@ -3341,6 +3377,9 @@
"Source: ": [
"Orixe: "
],
"SPACE": [
""
],
"Spacer": [
"Espaciador"
],
@@ -3940,6 +3979,9 @@
"Try it now": [
"Ténteo agora"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Escriba «help [command]» para obter máis información sobre unha orde ou escriba «help all» para ver toda a información de uso."
],

View File

@@ -25,9 +25,9 @@
"%d MB po bilješci ili privitku"
],
"%d minute": [
"%d minunta",
"%d minunte",
"%d minunta"
"%d minuta",
"%d minute",
"%d minuta"
],
"%d note matches this pattern. Delete it?": [
"%d bilješka se poklapa s ovim uzorkom. Želiš li je izbrisati?",
@@ -174,7 +174,7 @@
"[Ništa]"
],
"A brief description of the image:": [
""
"Kratki opis slike:"
],
"A comma-separated list of words. May be used for uncommon words, to help voice typing spell them correctly.": [
"Popis riječi odvojenih zarezima. Može se koristiti za neobične riječi, kako bi se glasovnom tipkanju pomoglo da ih ispravno napiše."
@@ -191,6 +191,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Informacije"
],
@@ -249,7 +252,7 @@
"Dodaj sadržaj"
],
"Add column": [
""
"Dodaj stupac"
],
"Add new": [
"Dodaj novu"
@@ -260,6 +263,9 @@
"Add recipient:": [
"Dodaj primaoca:"
],
"Add row": [
"Dodaj redak"
],
"Add tags:": [
"Dodaj oznake:"
],
@@ -348,7 +354,7 @@
"Pronađen je automatski spremljen crtež. Priložiti kopiju bilješci?"
],
"An error occurred while sending the response. This can happen if the app is offline or cannot connect to the server.\nError: %s": [
""
"Dogodila se greška prilikom slanja odgovora. To se može dogoditi ako je aplikacija offline ili se ne može spojiti na server.\nGreška: %s"
],
"An error occurred: %s": [
"Dogodila se greška: %s"
@@ -473,6 +479,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Podebljano"
],
@@ -611,6 +620,9 @@
"Checking... Please wait.": [
"Provjeravanje … Pričekaj."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Odaberi jednu opciju"
],
@@ -669,7 +681,7 @@
"Cmd-klik za otvaranje: %s"
],
"Code": [
"Kȏd"
"Kod"
],
"Code Block": [
"Blok koda"
@@ -677,9 +689,6 @@
"Code View": [
"Prikaz koda"
],
"Code:": [
"Kod:"
],
"Collaborate on a notebook with others": [
"Surađuj s drugima na bilježnici"
],
@@ -689,8 +698,11 @@
"Collapse all notebooks": [
"Sklopi sve bilježnice"
],
"Collapse title": [
"Sklopi naslov"
],
"Collapsed": [
"Skupljeno"
"Sklopljeno"
],
"Coming alarms": [
"Nadolazeća upozorenja"
@@ -704,6 +716,9 @@
"Command": [
"Naredba"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta naredbi"
],
@@ -793,9 +808,6 @@
"Convert it": [
"Pretvori"
],
"Convert note to Markdown": [
"Pretvori bilješku u Markdown"
],
"Convert to note": [
"Pretvori u bilješku"
],
@@ -847,14 +859,11 @@
"Neuspjelo autoriziranje programa:\n\n%s\n\nPokušaj ponovo."
],
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": [
"Neuspjelo povezivanje s Joplin poslužiteljem. Provjeri opcije sinkronizacije u prozoru konfiguracije. Potpuna greška glasi:\n\n%s"
"Neuspjelo povezivanje s Joplin Server. Provjeri opcije sinkronizacije u prozoru konfiguracije. Potpuna greška glasi:\n\n%s"
],
"Could not connect to plugin repository.": [
"Neuspjelo povezivanje s repozitorijem dodataka."
],
"Could not convert note to Markdown: %s": [
"Neuspjelo pretvaranja bilješke u Markdown: %s"
],
"Could not export notes: %s": [
"Neuspio izvoz bilježaka: %s"
],
@@ -1029,6 +1038,9 @@
"Delete attachment \"%s\"?": [
"Izbrisati privitak „%s”?"
],
"Delete column": [
"Izbriši stupac"
],
"Delete expired sessions": [
"Izbriši istekle sesije"
],
@@ -1056,9 +1068,15 @@
"Delete profile \"%s\"": [
"Izbriši profil „%s”"
],
"Delete row": [
"Izbriši redak"
],
"Delete selected notes": [
"Izbriši odabrane bilješke"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Izbrisati bilježnicu „Dolazna pošta”?\n\nAko izbrišeš bilježnicu dolazne pošte, sva e-pošta koja je nedavno poslana na nju će se možda izgubiti."
],
@@ -1164,6 +1182,9 @@
"Displays the complete information about note.": [
"Prikazuje potpune podatke o bilješci."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Prikazuje zadanu bilješku."
],
@@ -1189,7 +1210,7 @@
"Nemoj izgubiti lozinku, jer će to iz sigurnosnih razloga biti *jedini* način za dešifriranje podataka! Za aktiviranje šifriranja dolje upiši svoju lozinku."
],
"Do you find the Joplin web app useful?": [
""
"Smatraš li web aplikaciju Joplin korisnom?"
],
"Document scanner: Title template": [
"Skener dokumenata: Predložak naslova"
@@ -1548,6 +1569,9 @@
"Expand all notebooks": [
"Rasklopi sve bilježnice"
],
"Expand title": [
"Rasklopi naslov"
],
"Expanded": [
"Rasklopljeno"
],
@@ -1612,7 +1636,7 @@
"Oznake funkcija"
],
"Feedback": [
""
"Povratne informacije"
],
"Fetched items: %d/%d.": [
"Dohvaćeni elementi: %d/%d."
@@ -1746,7 +1770,7 @@
"Odobri autorizaciju"
],
"Have you authorised the application login in the above URL?": [
"Jesi li autorizirao/la prijavu program u gore navedenom URL-u?"
"Jesi li autorizirao/la prijavu programa u gore navedenom URL-u?"
],
"Header %d": [
"Zaglavlje %d"
@@ -1920,7 +1944,7 @@
"Informacije"
],
"Inline Code": [
"Umetnuti kȏd"
"Umetnuti kod"
],
"Insert": [
"Umetni"
@@ -2027,6 +2051,9 @@
"Joplin Server": [
"Joplin Server"
],
"Joplin Server (SAML)": [
"Joplin Server (SAML)"
],
"Joplin Server Business": [
"Joplin Server Business"
],
@@ -2046,7 +2073,7 @@
"Joplin SSO autentifikacija"
],
"Joplin supports saving the location at which notes are saved or created. Do you want to enable it? This can be changed at any time in settings.": [
""
"Joplin podržava spremanje mjesta na kojoj se bilješke spremaju ili stvaraju. Želiš li to aktivirati? To možeš promijeniti u bilo kojem trenutku u postavkama."
],
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": [
"Joplin Web Clipper omogućuje spremanje web-stranica i slika ekrana iz tvog preglednika u Joplin."
@@ -2075,11 +2102,14 @@
"Keychain Supported: %s": [
"Podržani privjesak ključeva: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Ključevi koji se moraju nadograditi"
],
"Label": [
""
"Etiketa"
],
"Landscape": [
"Polegnuto"
@@ -2223,6 +2253,9 @@
"Manage your plugins": [
"Upravljaj dodacima"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Upravlja E2EE konfiguracijom. Naredbe su `enable` (aktiviraj), `disable` (deaktiviraj), `decrypt` (dešifriraj), `status` (stanje), `decrypt-file` (dešifriraj datoteku) i `target-status` (stanje cilja)."
],
@@ -2238,6 +2271,9 @@
"Markdown editor": [
"Markdown uređivač"
],
"Markdown editor: Highlight active line": [
"Markdown uređivač: Istakni aktivni redak"
],
"Markdown editor: Render images": [
"Markdown uređivač: Prikazivanje slika"
],
@@ -2477,6 +2513,9 @@
"No updates available": [
"Nema novih verzija"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Ništa"
],
@@ -2499,7 +2538,7 @@
"Ne sada"
],
"Not useful": [
""
"Nije korisno"
],
"note": [
"bilješka"
@@ -2549,6 +2588,9 @@
"Note list style": [
"Stil popisa bilježaka"
],
"Note not published: %s": [
"Bilješka nije objavljena: %s"
],
"Note preview": [
"Pregled bilješke"
],
@@ -2610,7 +2652,7 @@
"OCR: URL podataka jezika ili putanja"
],
"OCR: Search in extracted content": [
"OCR: Tra#i u izdvojenom sadržaju"
"OCR: Traži u izdvojenom sadržaju"
],
"OK": [
"U redu"
@@ -2684,6 +2726,9 @@
"Open Sync Wizard...": [
"Otvori programčić za sinkronizaciju …"
],
"Open-source licences": [
""
],
"Open...": [
"Otvori …"
],
@@ -2705,11 +2750,14 @@
"Options": [
"Opcije"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Poredan popis"
],
"Other": [
""
"Drugi"
],
"Other applications...": [
"Drugi programi …"
@@ -2962,6 +3010,9 @@
"Publish Note": [
"Objavi bilješku"
],
"Publish note \"%s\" (in notebook \"%s\")?": [
"Objaviti bilješku „%s“ (u bilježnici „%s“)?"
],
"Publish note...": [
"Objavi bilješku …"
],
@@ -2974,8 +3025,11 @@
"Publish/unpublish": [
"Objavi/Poništi objavljivanje"
],
"Published at URL: %s": [
"Objavljeno na URL-u: %s"
],
"Publishes a note to Joplin Server or Joplin Cloud": [
""
"Objavljuje bilješku na Joplin Server ili Joplin Cloud"
],
"QR Code": [
"QR kod"
@@ -3022,6 +3076,9 @@
"Recipients:": [
"Primaoci:"
],
"Recognise text:": [
"Prepoznaj tekst:"
],
"Recognize handwritten image": [
"Prepoznaj rukom pisane slike"
],
@@ -3250,6 +3307,9 @@
"Save geo-location with notes": [
"Spremi geografske podatke mjesta s bilješkama"
],
"Save geolocation?": [
"Spremiti geografske podatke mjesta?"
],
"Scan notebook": [
"Skeniraj bilježnicu"
],
@@ -3320,11 +3380,14 @@
"Odaberi bilježnicu"
],
"Select one of the other supported sync targets.": [
""
"Odaberi jedan od drugih podržanih ciljeva sinkronizacije."
],
"Select parent notebook": [
"Odaberi nadređenu bilježnicu"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Odabrano: %s"
],
@@ -3529,6 +3592,9 @@
"Source: ": [
"Izvor: "
],
"SPACE": [
""
],
"Spacer": [
"Razmak"
],
@@ -3659,7 +3725,7 @@
"Prebacuje na bilježnicu [notebook] – sve daljnje operacije će se izvoditi u ovoj bilježnici."
],
"Sync": [
""
"Sinkronizraj"
],
"Sync as many devices as you want": [
"Sinkroniziraj koliko god uređaja želiš"
@@ -3739,6 +3805,9 @@
"Take photo": [
"Snimi sliku"
],
"Take survey": [
"Sudjeluj u anketi"
],
"Task \"%s\" failed with error: %s": [
"Zadatak „%s“ nije uspio s greškom: %s"
],
@@ -3758,7 +3827,7 @@
"Naredba za uređivača teksta"
],
"Thank you for the feedback!\nDo you have time to complete a short survey?": [
""
"Hvala na povratnoj informaciji!\nImaš li vremena ispuniti kratku anketu?"
],
"The active profile cannot be deleted. Switch to a different profile and try again.": [
"Aktivni profil se ne može izbrisati. Prebaci se na jedan drugi profil i pokušaj ponovo."
@@ -3834,9 +3903,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Bilješka „%s” je uspješno obnovljena u bilježnicu „%s”."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Bilješka je pretvorena u Markdown, a izvorna bilješka je premještena u smeće"
],
"The note was successfully moved to the trash.": [
"Bilješka je uspješno premještena u smeće.",
"Bilješke su uspješno premještene u smeće.",
@@ -3945,7 +4011,7 @@
"Ova je funkcija standardno deaktivirana. Moraš je ručno aktivirati uključivanjem opcije „Aktiviraj rukom pisanu transkripciju“."
],
"This feature is only available on Joplin Cloud and Joplin Server.": [
"Ova je funkcija dostupna samo na Joplin Cloudu i Joplin Serveru."
"Ova je funkcija dostupna samo na Joplin Cloud i Joplin Server."
],
"This image type is not supported by the recognition system.": [
"Sustav za prepoznavanje ne podržava ovu vrstu slike."
@@ -4142,6 +4208,9 @@
"Try it now": [
"Isprobaj"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Upiši `help [command]` za više informacija o naredbi ili `help all` za sve informacije o korištenju naredbi."
],
@@ -4163,6 +4232,9 @@
"Unable to share log data. Reason: %s": [
"Nije moguće izvesti ili dijeliti podatke dnevnika. Razlog: %s"
],
"Unable to share note data. Reason: %s": [
"Nije moguće dijeliti podatke bilješke. Razlog: %s"
],
"Unchecked": [
"Neoznačeno"
],
@@ -4308,7 +4380,7 @@
"Koristi se za tekst fiksne širine (npr. tablice, označiva polja, programski kod). Ako se ne pronađe, koristi se generički font fiksne širine."
],
"Useful": [
""
"Korisno"
],
"User deletions": [
"Brisanja korisnika"
@@ -4416,7 +4488,7 @@
"Prilikom stvaranja novog zadatka:"
],
"When enabled, requests that the images in the note be transcribed with a higher-quality on-server transcription service. Requires sync with a copy of the desktop app.": [
""
"Kada je aktivirano, traži da se slike u bilješci transkribiraju kvalitetnijom uslugom transkripcije na serveru. Zahtijeva sinkronizaciju s kopijom desktop aplikacije."
],
"When enabled, the application will scan your attachments and extract the text from it. This will allow you to search for text in these attachments.": [
"Kada je aktivirano, program će pregledati tvoje privitke i iz njih izdvojiti tekst. To omogućuje pretraživanje teksta u tim privicima."

View File

@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Névjegy"
],
@@ -243,7 +246,7 @@
"Törzsszöveg hozzáadása"
],
"Add column": [
""
"Oszlop hozzáadása"
],
"Add new": [
"Új hozzáadása"
@@ -254,6 +257,9 @@
"Add recipient:": [
"Címzett hozzáadása:"
],
"Add row": [
"Sor hozzáadása"
],
"Add tags:": [
"Címkék hozzáadása:"
],
@@ -423,7 +429,7 @@
"A mellékleteket nem lehet letölteni"
],
"Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: %s": [
"Figyelem: Ha módosítja ezt a helyet, győződjön meg arról, hogy az összes tartalmát átmásolta oda szinkronizálás előtt, különben minden fájl törölve lesz! További részletekért lásd a GYIK-et: %s"
"Figyelem: Ha módosítja ezt a helyet, győződjön meg arról, hogy az összes tartalmát átmásolta oda szinkronizálás előtt, különben minden fájl törölve lesz! További részletekért tekintse meg a GYIK-et: %s"
],
"Authentication was not completed (did not receive an authentication token).": [
"A hitelesítés nem fejeződött be (nem érkezett hitelesítő-token)."
@@ -438,13 +444,13 @@
"Automatikus"
],
"Auto-add disabled accounts for deletion": [
"A letiltott fiókok automatikus hozzáadása a törléshez"
"Letiltott fiókok automatikus hozzáadása a törléshez"
],
"Auto-format Markdown in the Rich Text Editor": [
"Markdown automatikus átalakítása a formázott szöveges szerkesztőben"
],
"Auto-pair braces, parentheses, quotations, etc.": [
"Automatikusan párosítsa a zárójeleket, idézőjeleket, stb."
"Zárójelek, idézőjelek, stb. automatikus párosítása"
],
"Autocomplete Markdown and HTML": [
"Automatikus kiegészítés Markdown és HTML esetén"
@@ -453,10 +459,10 @@
"Frissítések automatikus ellenőrzése"
],
"Automatically delete notes in the trash after a number of days": [
"Kuka tartalmának automatikusan törlése bizonyos napok elteltével"
"Kuka tartalmának automatikus törlése bizonyos napok elteltével"
],
"Automatically switch theme to match system theme": [
"Automatikus átváltás a rendszer témájával egyező témára"
"Automatikus váltás a rendszer témájával egyező témára"
],
"Back": [
"Vissza"
@@ -467,6 +473,9 @@
"Beta": [
"Béta"
],
"Block code": [
""
],
"Bold": [
"Félkövér"
],
@@ -605,6 +614,9 @@
"Checking... Please wait.": [
"Ellenőrzés… Kis türelmet."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Válasszon egy beállítást"
],
@@ -671,9 +683,6 @@
"Code View": [
"Kódnézet"
],
"Code:": [
"Kód:"
],
"Collaborate on a notebook with others": [
"Együttműködés egy jegyzetfüzeten másokkal"
],
@@ -701,6 +710,9 @@
"Command": [
"Parancs"
],
"COMMAND": [
""
],
"Command palette": [
"Parancspaletta"
],
@@ -789,9 +801,6 @@
"Convert it": [
"Átalakítás"
],
"Convert note to Markdown": [
"Jegyzet átalakítása Markdown formátumba"
],
"Convert to note": [
"Átalakítás jegyzetté"
],
@@ -847,9 +856,6 @@
"Could not connect to plugin repository.": [
"Nem sikerült kapcsolódni a bővítménytárolóhoz."
],
"Could not convert note to Markdown: %s": [
"Nem sikerült a jegyzetet átalakítani Markdown formátumba: %s"
],
"Could not export notes: %s": [
"Nem sikerült exportálni a jegyzeteket: %s"
],
@@ -1024,6 +1030,9 @@
"Delete attachment \"%s\"?": [
"Törli a(z) „%s” mellékletet?"
],
"Delete column": [
"Oszlop törlése"
],
"Delete expired sessions": [
"Lejárt munkamenetek törlése"
],
@@ -1051,9 +1060,15 @@
"Delete profile \"%s\"": [
"A(z) „%s” nevű profil törlése"
],
"Delete row": [
"Sor törlése"
],
"Delete selected notes": [
"Kijelölt jegyzetek törlése"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Törli az „Inbox” nevű jegyzetfüzetet?\n\nHa törli az „Inbox” nevű jegyzetfüzetet, az ide nemrég küldött e-mailek elveszhetnek."
],
@@ -1159,6 +1174,9 @@
"Displays the complete information about note.": [
"Részletes információkat jelenít meg a jegyzetekről."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Megjeleníti a megadott jegyzetet."
],
@@ -1307,7 +1325,7 @@
"Szerkesztő betűmérete"
],
"Editor maximum width": [
"Szerkesztő maximális szélessége"
"Szerkesztő legnagyobb szélessége"
],
"Editor monospace font family": [
"Szerkesztő monospace betűcsaládja"
@@ -1340,7 +1358,7 @@
"kiemelt szöveg"
],
"Empty trash": [
"Kuka kiürítése"
"Kuka ürítése"
],
"Enable": [
"Engedélyezés"
@@ -2075,6 +2093,9 @@
"Keychain Supported: %s": [
"Támogatott kulcstartók: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Frissítésre szoruló kulcsok"
],
@@ -2221,6 +2242,9 @@
"Manage your plugins": [
"Bővítmények kezelése"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Végpontok közötti titkosításbeállítások kezelése (E2EE). A parancsok a következők: `enable` (engedélyezés), `disable` (letiltás), `decrypt` (visszafejtés), `status` (állapot), `decrypt-file` (fájl visszafejtése) és `target-status` (cél állapota)."
],
@@ -2270,16 +2294,16 @@
"Matematika"
],
"Max concurrent connections": [
"Maximális egyidejű kapcsolatok"
"Megengedett egyidejű kapcsolatok száma"
],
"Max Item Size": [
"Maximális elemméret"
"Legnagyobb elemméret"
],
"Max note or attachment size": [
"Maximális jegyzet- vagy mellékletméret"
"Legnagyobb jegyzet- vagy mellékletméret"
],
"Max Total Size": [
"Maximális összméret"
"Legnagyobb összméret"
],
"Media player, math, diagrams, table of contents": [
"Médialejátszó, matematika, diagramok, tartalomjegyzék"
@@ -2477,6 +2501,9 @@
"No updates available": [
"Nincsenek elérhető frissítések"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Semmi"
],
@@ -2595,7 +2622,7 @@
"Jegyzetek"
],
"Notes and settings are stored in: %s": [
"A jegyzetek és beállítások itt vannak tárolva: %s"
"Jegyzetek és beállítások tárolási helye: %s"
],
"Notes can only be created within a notebook.": [
"A jegyzetek csak egy jegyzetfüzeten belül hozhatók létre."
@@ -2670,7 +2697,7 @@
"PDF-megjelenítő megnyitása"
],
"Open primary app instance...": [
"Az elsődleges alkalmazáspéldány megnyitása…"
"Elsődleges alkalmazáspéldány megnyitása…"
],
"Open profile directory": [
"Profilkönyvtár megnyitása"
@@ -2687,6 +2714,9 @@
"Open Sync Wizard...": [
"Szinkronizálási segéd megnyitása…"
],
"Open-source licences": [
""
],
"Open...": [
"Megnyitás…"
],
@@ -2708,6 +2738,9 @@
"Options": [
"Beállítások"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Számozott lista"
],
@@ -2818,7 +2851,7 @@
"Frissítse a Joplint a(z) %s vagy újabb verzióra a bővítmény használatához."
],
"Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.": [
"Várjon, amíg minden melléklet letöltődik és visszafejtődik. A jegyzet szerkesztéséhez átválthat a(z) %s nézetre is."
"Várjon, amíg minden melléklet letöltődik és visszafejtődik. A jegyzet szerkesztéséhez a(z) %s nézetre is válthat."
],
"Please wait while we load your organisation sign-in page...": [
"Várjon, amíg a szervezet bejelentkezési oldala betöltődik…"
@@ -3339,6 +3372,9 @@
"Select parent notebook": [
"Szülő jegyzetfüzet kijelölése"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Kiválasztva: %s"
],
@@ -3543,6 +3579,9 @@
"Source: ": [
"Forrás: "
],
"SPACE": [
""
],
"Spacer": [
"Elválasztó"
],
@@ -3796,7 +3835,7 @@
"Az alkalmazást újra kell indítani a módosítások érvényesítéséhez."
],
"The attachments will no longer be watched when you switch to a different note.": [
"A mellékletek figyelése megszűnik, ha átvált egy másik jegyzetre."
"A mellékletek figyelése megszűnik, ha egy másik jegyzetre vált."
],
"The command \"%s\" is only available in GUI mode": [
"A(z) „%s” parancs csak GUI módban érhető el"
@@ -3850,9 +3889,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"A(z) „%s” nevű jegyzet sikeresen vissza lett állítva a(z) „%s” nevű jegyzetfüzetbe."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"A jegyzet Markdown formátumba lett konvertálva, és az eredeti jegyzet át lett helyezve a kukába"
],
"The note was successfully moved to the trash.": [
"A jegyzet sikeresen át lett helyezve a kukába.",
"A jegyzetek sikeresen át lettek helyezve a kukába."
@@ -4101,10 +4137,10 @@
"Szerkesztőfül billentyűs navigációja be/ki"
],
"Toggle editors": [
"Átváltás a szerkesztők között"
"Váltás a szerkesztők között"
],
"Toggle external editing": [
"Átváltás külső szerkesztőre"
"Váltás külső szerkesztőre"
],
"Toggle menu bar": [
"Menüsáv be/ki"
@@ -4154,6 +4190,9 @@
"Try it now": [
"Próbálja ki most"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"A paranccsal kapcsolatos további információkért írja be a `help [command]` parancsot; vagy a teljes használati információért írja be a `help all` parancsot."
],

View File

@@ -162,7 +162,7 @@
"[Tidak ada]"
],
"A brief description of the image:": [
""
"Penjelasan singkat tentang gambar:"
],
"A comma-separated list of words. May be used for uncommon words, to help voice typing spell them correctly.": [
"Daftar kata yang dipisah dengan koma. Dapat digunakan untuk kata-kata yang tidak umum, untuk membantu pengetikan suara mengejanya dengan benar."
@@ -179,6 +179,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Tentang"
],
@@ -237,7 +240,7 @@
"Tambahkan isi"
],
"Add column": [
""
"Tambah kolom"
],
"Add new": [
"Tambah baru"
@@ -248,6 +251,9 @@
"Add recipient:": [
"Tambah penerima:"
],
"Add row": [
"Tambah baris"
],
"Add tags:": [
"Tambah label:"
],
@@ -336,7 +342,7 @@
"Telah ditemukan gambar yang disimpan otomatis. Lampirkan salinan gambar ke catatan?"
],
"An error occurred while sending the response. This can happen if the app is offline or cannot connect to the server.\nError: %s": [
""
"Sebuah galat terjadi ketika mengirim tanggapan. Hal ini dapat terjadi jika aplikasi sedang luring atau tidak dapat tersambung ke server.\nGalat: %s"
],
"An error occurred: %s": [
"Sebuah galat telah terjadi: %s"
@@ -461,6 +467,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Tebal"
],
@@ -599,6 +608,9 @@
"Checking... Please wait.": [
"Sedang memeriksa… Mohon tunggu."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Pilih salah satu"
],
@@ -665,9 +677,6 @@
"Code View": [
"Tampilan Kode"
],
"Code:": [
"Kode:"
],
"Collaborate on a notebook with others": [
"Bekerja sama pada sebuah buku catatan dengan orang lain"
],
@@ -677,6 +686,9 @@
"Collapse all notebooks": [
"Lipat semua buku catatan"
],
"Collapse title": [
"Lipat judul"
],
"Collapsed": [
"Terlipat"
],
@@ -692,6 +704,9 @@
"Command": [
"Perintah"
],
"COMMAND": [
""
],
"Command palette": [
"Palet perintah"
],
@@ -779,9 +794,6 @@
"Convert it": [
"Ubah"
],
"Convert note to Markdown": [
"Ubah catatan ke Markdown"
],
"Convert to note": [
"Ubah ke catatan"
],
@@ -836,9 +848,6 @@
"Could not connect to plugin repository.": [
"Tidak dapat terhubung ke repositori plugin."
],
"Could not convert note to Markdown: %s": [
"Tidak dapat mengubah catatan ke Markdown: %s"
],
"Could not export notes: %s": [
"Tidak dapat mengekspor catatan: %s"
],
@@ -1013,6 +1022,9 @@
"Delete attachment \"%s\"?": [
"Hapus lampiran \"%s\"?"
],
"Delete column": [
"Hapus kolom"
],
"Delete expired sessions": [
"Hapus sesi kadaluarsa"
],
@@ -1040,9 +1052,15 @@
"Delete profile \"%s\"": [
"Hapus profil \"%s\"?"
],
"Delete row": [
"Hapus baris"
],
"Delete selected notes": [
"Hapus catatan terpilih"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Hapus buku catatan Kotak Masuk?\n\nJika Anda menghapus buku catatan Kotak Masuk, sebarang email yang baru saja terkirim mungkin akan hilang."
],
@@ -1148,6 +1166,9 @@
"Displays the complete information about note.": [
"Menampilkan informasi lengkap tentang catatan."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Menampilkan catatan yang diberikan."
],
@@ -1173,7 +1194,7 @@
"Jangan sampai kehilangan kata sandi, sebagai alasan keamanan, ini akan menjadi *satu-satunya* cara untuk mendekripsi data! Untuk menyalakan enkripsi, masukkan kata sandi Anda di bawah."
],
"Do you find the Joplin web app useful?": [
""
"Apakah aplikasi web Joplin berguna untuk Anda?"
],
"Document scanner: Title template": [
"Pemindai dokumen: Templat judul"
@@ -1532,6 +1553,9 @@
"Expand all notebooks": [
"Buka semua buku catatan"
],
"Expand title": [
"Bentangkan judul"
],
"Expanded": [
"Terbuka"
],
@@ -1596,7 +1620,7 @@
"Penanda fitur"
],
"Feedback": [
""
"Umpan balik"
],
"Fetched items: %d/%d.": [
"Benda yang diambil: %d/%d."
@@ -2009,6 +2033,9 @@
"Joplin Server": [
"Server Joplin"
],
"Joplin Server (SAML)": [
"Joplin Server (SAML)"
],
"Joplin Server Business": [
"Bisnis Joplin Server"
],
@@ -2028,7 +2055,7 @@
"Otentikasi SSO Joplin"
],
"Joplin supports saving the location at which notes are saved or created. Do you want to enable it? This can be changed at any time in settings.": [
""
"Joplin mendukung penyimpanan lokasi tempat di mana catatan disimpan atau dibuat. Apakah Anda ingin menyalakannya? Ini dapat diubah kapan saja di pengaturan."
],
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": [
"Web Clipper Joplin memungkinkan untuk menyimpan halaman web dan tangkapan layar dari peramban web Anda ke Joplin."
@@ -2057,11 +2084,14 @@
"Keychain Supported: %s": [
"Rantai kunci yang Didukung: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Kunci-kunci yang perlu ditingkatkan"
],
"Label": [
""
"Cap"
],
"Landscape": [
"Mendatar"
@@ -2201,6 +2231,9 @@
"Manage your plugins": [
"Kelola plugin Anda"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Mengelola konfigurasi E2EE. Perintah yang tersedia yaitu `enable`, `disable`, `decrypt`, `status`, `decrypt-file` dan `target-status`."
],
@@ -2216,6 +2249,9 @@
"Markdown editor": [
"Penyunting Markdown"
],
"Markdown editor: Highlight active line": [
"Penyunting Markdown: Sorot baris saat ini"
],
"Markdown editor: Render images": [
"Penyunting Markdown: Tampilkan gambar"
],
@@ -2453,6 +2489,9 @@
"No updates available": [
"Tidak ada pembaruan tersedia"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Tidak ada"
],
@@ -2475,7 +2514,7 @@
"Tidak sekarang"
],
"Not useful": [
""
"Tidak berguna"
],
"note": [
"catatan"
@@ -2525,6 +2564,9 @@
"Note list style": [
"Gaya daftar catatan"
],
"Note not published: %s": [
"Catatan yang tidak diterbitkan: %s"
],
"Note preview": [
"Pratinjau catatan"
],
@@ -2660,6 +2702,9 @@
"Open Sync Wizard...": [
"Buka Pemandu Penyelarasan…"
],
"Open-source licences": [
""
],
"Open...": [
"Buka..."
],
@@ -2681,11 +2726,14 @@
"Options": [
"Pilihan"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Daftar berurutan"
],
"Other": [
""
"Lainnya"
],
"Other applications...": [
"Aplikasi lain..."
@@ -2936,6 +2984,9 @@
"Publish Note": [
"Terbitkan catatan"
],
"Publish note \"%s\" (in notebook \"%s\")?": [
"Terbitkan catatan \"%s\" (pada buku catatan \"%s\")?"
],
"Publish note...": [
"Menerbitkan catatan…"
],
@@ -2948,8 +2999,11 @@
"Publish/unpublish": [
"Terbitkan/Batal terbitkan"
],
"Published at URL: %s": [
"Diterbitkan pada URL: %s"
],
"Publishes a note to Joplin Server or Joplin Cloud": [
""
"Menerbitkan sebuah catatan ke Joplin Server atau Joplin Cloud"
],
"QR Code": [
"Kode QR"
@@ -2996,6 +3050,9 @@
"Recipients:": [
"Penerima:"
],
"Recognise text:": [
"Mengenali teks:"
],
"Recognize handwritten image": [
"Kenali gambar dari tulisan tangan"
],
@@ -3224,6 +3281,9 @@
"Save geo-location with notes": [
"Simpan geolokasi dengan catatan"
],
"Save geolocation?": [
"Simpan geolokasi?"
],
"Scan notebook": [
"Pindai buku catatan"
],
@@ -3294,11 +3354,14 @@
"Pilih buku catatan"
],
"Select one of the other supported sync targets.": [
""
"Pilih salah satu dari sasaran penyelarasan lainnya yang didukung."
],
"Select parent notebook": [
"Pilih buku catatan induk"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Dipilih: %s"
],
@@ -3503,6 +3566,9 @@
"Source: ": [
"Sumber: "
],
"SPACE": [
""
],
"Spacer": [
"Pemberi ruang"
],
@@ -3633,7 +3699,7 @@
"Beralih ke [notebook] - semua kegiatan selanjutnya akan terjadi dalam buku catatan ini."
],
"Sync": [
""
"Selaraskan"
],
"Sync as many devices as you want": [
"Selaraskan ke banyak perangkat sebanyak yang Anda mau"
@@ -3713,6 +3779,9 @@
"Take photo": [
"Ambil foto"
],
"Take survey": [
"Ikut survei"
],
"Task \"%s\" failed with error: %s": [
"Tugas “%s” gagal dengan galat: %s"
],
@@ -3732,7 +3801,7 @@
"Perintah penyunting teks"
],
"Thank you for the feedback!\nDo you have time to complete a short survey?": [
""
"Terima kasih atas umpan balik yang telah diberikan!\nApakah Anda bersedia untuk mengikuti survei singkat?"
],
"The active profile cannot be deleted. Switch to a different profile and try again.": [
"Profil yang aktif tidak dapat dihapus. Pindah ke profil yang berbeda dan coba kembali."
@@ -3806,9 +3875,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Catatan \"%s\" telah berhasil dipulihkan ke buku catatan \"%s\"."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Catatan telah diubah ke Markdown dan catatan asli telah dipindahkan ke tong sampah"
],
"The note was successfully moved to the trash.": [
"Catatan telah berhasil dipindahkan ke tempat sampah."
],
@@ -4106,6 +4172,9 @@
"Try it now": [
"Coba sekarang"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Ketik `help [command]` untuk informasi lebih banyak tentang sebuah perintah; atau ketik `help all` untuk informasi penggunaan secara lengkap."
],
@@ -4127,6 +4196,9 @@
"Unable to share log data. Reason: %s": [
"Tidak dapat membagikan data log. Alasan: %s"
],
"Unable to share note data. Reason: %s": [
"Tidak dapat membagikan data catatan. Alasan: %s"
],
"Unchecked": [
"Tidak diperiksa"
],
@@ -4272,7 +4344,7 @@
"Digunakan di mana fonta lebar tetap diperlukan untuk meletakkan teks dengan jelas (misalnya tabel, kotak centang, kode). Jika tidak ditemukan, fonta generik monospace (lebar tetap) digunakan."
],
"Useful": [
""
"Berguna"
],
"User deletions": [
"Dihapus oleh pengguna"
@@ -4380,7 +4452,7 @@
"Ketika membuat tugas baru:"
],
"When enabled, requests that the images in the note be transcribed with a higher-quality on-server transcription service. Requires sync with a copy of the desktop app.": [
""
"Ketika dinyalakan, minta agar gambar pada catatan untuk ditranskripsi dengan sebuah layanan transkripsi pada server yang berkualitas lebih tinggi. Memerlukan penyelarasan dengan sebuah salinan dari aplikasi destop."
],
"When enabled, the application will scan your attachments and extract the text from it. This will allow you to search for text in these attachments.": [
"Ketika dinyalakan, aplikasi akan memindai lampiran Anda dan mengambil teks darinya. Ini akan membuat Anda mampu mencari teks pada lampiran tersebut."

View File

@@ -44,7 +44,7 @@ locales['vi'] = require('./vi.json');
locales['zh_CN'] = require('./zh_CN.json');
locales['zh_TW'] = require('./zh_TW.json');
stats['ar'] = {
percentDone: 58,
percentDone: 57,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -64,7 +64,7 @@ stats['eu'] = {
},
};
stats['nb_NO'] = {
percentDone: 58,
percentDone: 57,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -94,7 +94,7 @@ stats['bg_BG'] = {
},
};
stats['ca'] = {
percentDone: 100,
percentDone: 98,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -114,7 +114,7 @@ stats['hr_HR'] = {
},
};
stats['cs_CZ'] = {
percentDone: 65,
percentDone: 64,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -144,7 +144,7 @@ stats['de_DE'] = {
},
};
stats['et_EE'] = {
percentDone: 29,
percentDone: 28,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -168,7 +168,7 @@ stats['en_US'] = {
},
};
stats['es_ES'] = {
percentDone: 100,
percentDone: 98,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -188,7 +188,7 @@ stats['eo'] = {
},
};
stats['fi_FI'] = {
percentDone: 89,
percentDone: 87,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -198,7 +198,7 @@ stats['fi_FI'] = {
},
};
stats['fr_FR'] = {
percentDone: 98,
percentDone: 100,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -208,7 +208,7 @@ stats['fr_FR'] = {
},
};
stats['gl_ES'] = {
percentDone: 91,
percentDone: 89,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -228,7 +228,7 @@ stats['id_ID'] = {
},
};
stats['it_IT'] = {
percentDone: 79,
percentDone: 78,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -238,7 +238,7 @@ stats['it_IT'] = {
},
};
stats['hu_HU'] = {
percentDone: 99,
percentDone: 98,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -248,7 +248,7 @@ stats['hu_HU'] = {
},
};
stats['nl_BE'] = {
percentDone: 86,
percentDone: 84,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -258,7 +258,7 @@ stats['nl_BE'] = {
},
};
stats['nl_NL'] = {
percentDone: 79,
percentDone: 89,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -268,7 +268,7 @@ stats['nl_NL'] = {
},
};
stats['fa'] = {
percentDone: 79,
percentDone: 78,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -278,7 +278,7 @@ stats['fa'] = {
},
};
stats['pl_PL'] = {
percentDone: 93,
percentDone: 92,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -288,7 +288,7 @@ stats['pl_PL'] = {
},
};
stats['pt_BR'] = {
percentDone: 91,
percentDone: 89,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -298,7 +298,7 @@ stats['pt_BR'] = {
},
};
stats['pt_PT'] = {
percentDone: 79,
percentDone: 78,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -308,7 +308,7 @@ stats['pt_PT'] = {
},
};
stats['ro_MD'] = {
percentDone: 99,
percentDone: 97,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -318,7 +318,7 @@ stats['ro_MD'] = {
},
};
stats['ro_RO'] = {
percentDone: 99,
percentDone: 97,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -328,7 +328,7 @@ stats['ro_RO'] = {
},
};
stats['sl_SI'] = {
percentDone: 53,
percentDone: 52,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -338,7 +338,7 @@ stats['sl_SI'] = {
},
};
stats['sk_SK'] = {
percentDone: 100,
percentDone: 98,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -358,7 +358,7 @@ stats['sv'] = {
},
};
stats['th_TH'] = {
percentDone: 24,
percentDone: 23,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -368,7 +368,7 @@ stats['th_TH'] = {
},
};
stats['vi'] = {
percentDone: 51,
percentDone: 50,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -378,7 +378,7 @@ stats['vi'] = {
},
};
stats['tr_TR'] = {
percentDone: 99,
percentDone: 97,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -388,7 +388,7 @@ stats['tr_TR'] = {
},
};
stats['uk_UA'] = {
percentDone: 85,
percentDone: 84,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -398,7 +398,7 @@ stats['uk_UA'] = {
},
};
stats['el_GR'] = {
percentDone: 79,
percentDone: 86,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -408,7 +408,7 @@ stats['el_GR'] = {
},
};
stats['ru_RU'] = {
percentDone: 98,
percentDone: 96,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -428,7 +428,7 @@ stats['sr_RS'] = {
},
};
stats['zh_CN'] = {
percentDone: 98,
percentDone: 96,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -438,7 +438,7 @@ stats['zh_CN'] = {
},
};
stats['zh_TW'] = {
percentDone: 79,
percentDone: 78,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -448,7 +448,7 @@ stats['zh_TW'] = {
},
};
stats['ja_JP'] = {
percentDone: 72,
percentDone: 71,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;
@@ -458,7 +458,7 @@ stats['ja_JP'] = {
},
};
stats['ko'] = {
percentDone: 73,
percentDone: 72,
pluralForms: function(n) {
// AUTO-GENERATED by build-translations.ts
var plural;

View File

@@ -149,6 +149,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Informazioni"
],
@@ -401,6 +404,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Grassetto"
],
@@ -530,6 +536,9 @@
"Checking... Please wait.": [
"Controllo... Attendere per favore."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Scegli un'opzione"
],
@@ -608,6 +617,9 @@
"Command": [
"Comando"
],
"COMMAND": [
""
],
"Command palette": [
"Comandi"
],
@@ -915,6 +927,9 @@
"Delete selected notes": [
"Eliminare le note selezionate"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Eliminare il taccuino della Posta in arrivo?\n\nSe elimini il taccuino della posta in arrivo, tutti i messaggi di posta elettronica recentemente inviati ad esso potrebbero andare perduti."
],
@@ -1005,6 +1020,9 @@
"Displays the complete information about note.": [
"Mostra le informazioni complete sulla nota."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Mostra la seguente nota."
],
@@ -1837,6 +1855,9 @@
"Keychain Supported: %s": [
"Portachiavi supportato: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Chiavi master che devono essere aggiornate"
],
@@ -1967,6 +1988,9 @@
"Manage your plugins": [
"Gestisci plugins"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Gestisci la configurazione E2EE. I comandi sono `abilita`, `disabilita`, `decripta`, `stato`, `decripta-file` e `stato-target`."
],
@@ -2171,6 +2195,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Non è definito nessun editor di testo. Per favore impostalo usando `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"Nord"
],
@@ -2342,6 +2369,9 @@
"Open Sync Wizard...": [
"Apri la procedura guidata di sincronizzazione..."
],
"Open-source licences": [
""
],
"Open...": [
"Apri..."
],
@@ -2354,6 +2384,9 @@
"Options": [
"Opzioni"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Lista ordinata"
],
@@ -2888,6 +2921,9 @@
"Select parent notebook": [
"Seleziona il taccuino principale"
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -3065,6 +3101,9 @@
"Source: ": [
"Sorgente: "
],
"SPACE": [
""
],
"Spacer": [
"Separatore"
],
@@ -3631,6 +3670,9 @@
"Try it now": [
"Prova subito"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Digita `help [command]` per ottenere maggiori informazioni su un comando; o scrivi `help all` per le informazioni di utilizzo complete."
],

View File

@@ -143,6 +143,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"詳細"
],
@@ -386,6 +389,9 @@
"Beta": [
"ベータ版"
],
"Block code": [
""
],
"Bold": [
"太字"
],
@@ -515,6 +521,9 @@
"Checking... Please wait.": [
"確認中...お待ちください。"
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"オプションを選択"
],
@@ -587,6 +596,9 @@
"Command": [
"コマンド"
],
"COMMAND": [
""
],
"Command palette": [
"コマンドパレット"
],
@@ -884,6 +896,9 @@
"Delete selected notes": [
"選択したノートを削除"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Inboxノートブックを削除しますか?\n\nInboxノートブックを削除すると、最近メール送信によって作成したノートが失われる可能性があります。"
],
@@ -971,6 +986,9 @@
"Displays the complete information about note.": [
"ノートに関するすべての情報を表示します。"
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"選択したノートを表示します。"
],
@@ -1763,6 +1781,9 @@
"Keychain Supported: %s": [
"キーチェーンのサポート: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"アップグレードが必要なキー"
],
@@ -1883,6 +1904,9 @@
"Manage your plugins": [
"プラグインを管理"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"エンドツーエンド暗号化(E2EE)の設定コマンドです。`enable`, `disable`, `decrypt`, `status`, `decrypt-file`, `target-status` があります。"
],
@@ -2078,6 +2102,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"テキストエディターが定義されていません。`config editor <editor-path>`で設定を行ってください"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"なし"
],
@@ -2246,6 +2273,9 @@
"Open Sync Wizard...": [
"同期ウィザードを開く..."
],
"Open-source licences": [
""
],
"Open...": [
"開く..."
],
@@ -2258,6 +2288,9 @@
"Options": [
"オプション"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"番号付きリスト"
],
@@ -2750,6 +2783,9 @@
"Select parent notebook": [
"親ノートブックを選択"
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2912,6 +2948,9 @@
"Source: ": [
"ソース: "
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3449,6 +3488,9 @@
"Try it now": [
"今すぐ試す"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"コマンドのさらなる情報は、`help [command]`で見ることができます;または、`help all`ですべての使用方法の情報を表示できます。"
],

View File

@@ -146,6 +146,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"정보"
],
@@ -386,6 +389,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"굵게"
],
@@ -515,6 +521,9 @@
"Checking... Please wait.": [
"확인 중입니다... 잠시만 기다리세요."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"옵션 선택"
],
@@ -590,6 +599,9 @@
"Command": [
"명령"
],
"COMMAND": [
""
],
"Command palette": [
"명령 팔레트"
],
@@ -890,6 +902,9 @@
"Delete selected notes": [
"선택된 노트 삭제"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"인박스 노트북을 삭제하시겠습니까?\n\n인박스 노트북을 삭제하면 최근에 해당 노트북으로 전송된 모든 이메일이 손실될 수 있습니다."
],
@@ -980,6 +995,9 @@
"Displays the complete information about note.": [
"노트와 관련된 모든 정보를 표시합니다."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"주어진 노트를 표시합니다."
],
@@ -1769,6 +1787,9 @@
"Keychain Supported: %s": [
"키체인 지원: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"키 업그레이드가 필요합니다"
],
@@ -1886,6 +1907,9 @@
"Manage your plugins": [
"플러그인 관리"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"E2EE(종단간 암호화) 설정을 관리합니다. `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, `target-status`와 같은 명령들이 있습니다."
],
@@ -2084,6 +2108,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"텍스트 편집기가 지정되지 않았습니다. `config editor <editor-path>` 명령어로 지정해주세요"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"노드"
],
@@ -2246,6 +2273,9 @@
"Open Sync Wizard...": [
"동기화 마법사 열기..."
],
"Open-source licences": [
""
],
"Open...": [
"열기..."
],
@@ -2258,6 +2288,9 @@
"Options": [
"옵션"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"정렬 목록"
],
@@ -2768,6 +2801,9 @@
"Select parent notebook": [
"상위 노트북 선택"
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2936,6 +2972,9 @@
"Source: ": [
"원본: "
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3491,6 +3530,9 @@
"Try it now": [
"지금 시도하기"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"명령어에 관한 정보는 `help [command]`를 입력하시면 찾으실 수 있습니다. 'help all'을 입력하시면 완전한 명령어 용법에 대한 정보를 보실 수 있습니다."
],

View File

@@ -137,6 +137,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -362,6 +365,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Fet"
],
@@ -482,6 +488,9 @@
"Checking... Please wait.": [
"Sjekker… Vennligst vent."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Velg et alternativ"
],
@@ -554,6 +563,9 @@
"Command": [
"Kommando"
],
"COMMAND": [
""
],
"Command palette": [
"Kommandomeny"
],
@@ -810,6 +822,9 @@
"Delete plugin \"%s\"?": [
"Slett utvidelse \"%s\"?"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -894,6 +909,9 @@
"Displays the complete information about note.": [
"Viser den komplette informasjonen om notatet."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Viser det valgte notatet."
],
@@ -1630,6 +1648,9 @@
"Keychain Supported: %s": [
"Nøkkelring støttet: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Nøkler som må oppgraderes"
],
@@ -1727,6 +1748,9 @@
"Manage your plugins": [
"Administrer dine utvidelser"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Håndter E2EE-konfigurasjon. Tilgjengelige kommandoer er: `enable`(aktiver), `disable`(lukk), `decrypt`(dekrypter), `status` og `target-status` (mottager-status)."
],
@@ -1910,6 +1934,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Ingen teksteditor er valgt. Velg en ved å bruke `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"Nord"
],
@@ -2060,6 +2087,9 @@
"Open Sync Wizard...": [
"Åpne Sync Wizard…"
],
"Open-source licences": [
""
],
"Open...": [
"Åpne..."
],
@@ -2072,6 +2102,9 @@
"Options": [
"Generelle innstillinger"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2516,6 +2549,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2666,6 +2702,9 @@
"Source: ": [
"Kilde: "
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3161,6 +3200,9 @@
"Try again": [
"Forsøk igjen"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Skriv inn `help [kommando]` for å få mer informasjon om en kommando. eller skriv inn `help all` for fullstendig brukerinformasjon."
],

View File

@@ -152,6 +152,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Over"
],
@@ -410,6 +413,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Vet"
],
@@ -542,6 +548,9 @@
"Checking... Please wait.": [
"Verifiëren ... Even geduld."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Kies een optie"
],
@@ -626,6 +635,9 @@
"Command": [
"Commando"
],
"COMMAND": [
""
],
"Command palette": [
"Commandopalet"
],
@@ -952,6 +964,9 @@
"Delete selected notes": [
"Geselecteerde notities verwijderen"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Het Inbox notitieboek verwijderen?\n\nAls je het Inbox notitieboek verwijdert, gaan emails die er recent naar verzonden zijn mogelijk verloren."
],
@@ -1054,6 +1069,9 @@
"Displays the complete information about note.": [
"Toont de volledige informatie over notitie."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Toont de opgegeven notitie."
],
@@ -1916,6 +1934,9 @@
"Keychain Supported: %s": [
"Keychain ondersteund: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Sleutels die upgrade nodig hebben"
],
@@ -2049,6 +2070,9 @@
"Manage your plugins": [
"Beheer je plugins"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Beheert E2EE-configuratie. Commando's zijn `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, en `target-status`."
],
@@ -2271,6 +2295,9 @@
"No updates available": [
"Geen updates beschikbaar"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Geen"
],
@@ -2451,6 +2478,9 @@
"Open Sync Wizard...": [
"Sync Wizard openen..."
],
"Open-source licences": [
""
],
"Open...": [
"Openen..."
],
@@ -2472,6 +2502,9 @@
"Options": [
"Opties"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Geordende lijst"
],
@@ -3036,6 +3069,9 @@
"Select parent notebook": [
"Selecteer hoofdnotitieboek"
],
"Select the type of file to be imported:": [
""
],
"Selection deleted": [
"Selectie verwijderd"
],
@@ -3231,6 +3267,9 @@
"Source: ": [
"Bron: "
],
"SPACE": [
""
],
"Spacer": [
"Tussenstuk"
],
@@ -3809,6 +3848,9 @@
"Try it now": [
"Probeer het nu"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Typ `help [commando]` voor meer informatie over een commando; of typ `help all` voor de volledige gebruiksinformatie."
],

File diff suppressed because it is too large Load Diff

View File

@@ -191,6 +191,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Informacje"
],
@@ -464,6 +467,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Pogrubienie"
],
@@ -602,6 +608,9 @@
"Checking... Please wait.": [
"Sprawdzanie... Proszę czekać."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Wybierz opcję"
],
@@ -692,6 +701,9 @@
"Command": [
"Polecenie"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta poleceń"
],
@@ -1023,6 +1035,9 @@
"Delete selected notes": [
"Usuń wybrane notatki"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Usunąć notatnik „Skrzynka odbiorcza”?\n\nJeśli usuniesz notatnik „Skrzynka odbiorcza”, wszystkie wiadomości e-mail, które zostały ostatnio wysłane do tej skrzynki, mogą zostać utracone."
],
@@ -1128,6 +1143,9 @@
"Displays the complete information about note.": [
"Wyświetla pełne informacje o notatce."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Wyświetla podaną notatkę."
],
@@ -2009,6 +2027,9 @@
"Keychain Supported: %s": [
"Obsługiwany menadżer kluczy: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Klucze wymagające aktualizacji"
],
@@ -2157,6 +2178,9 @@
"Manage your plugins": [
"Zarządzaj wtyczkami"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Zarządza konfiguracją E2EE (szyfrowanie end-to-end). Dostępne polecenia: `enable`, `disable`, `decrypt`, `status`, `decrypt-file` oraz `target-status`."
],
@@ -2402,6 +2426,9 @@
"No updates available": [
"Brak dostępnych aktualizacji"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Brak"
],
@@ -2597,6 +2624,9 @@
"Open Sync Wizard...": [
"Otwórz kreatora synchronizacji..."
],
"Open-source licences": [
""
],
"Open...": [
"Otwórz..."
],
@@ -2618,6 +2648,9 @@
"Options": [
"Opcje"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Lista uporządkowana"
],
@@ -3205,6 +3238,9 @@
"Select parent notebook": [
"Wybierz notatnik nadrzędny"
],
"Select the type of file to be imported:": [
""
],
"Selection deleted": [
"Wybór usunięty"
],
@@ -3406,6 +3442,9 @@
"Source: ": [
"Źródło: "
],
"SPACE": [
""
],
"Spacer": [
"Separator"
],
@@ -4004,6 +4043,9 @@
"Try it now": [
"Wypróbuj teraz"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Wpisz `help [polecenie]`, aby uzyskać więcej informacji na temat polecenia, lub `help all`, aby uzyskać pełną informację na temat użycia."
],

View File

@@ -179,6 +179,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Sobre"
],
@@ -443,6 +446,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Negrito"
],
@@ -581,6 +587,9 @@
"Checking... Please wait.": [
"Verificando... Por favor aguarde."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Escolha uma opção"
],
@@ -671,6 +680,9 @@
"Command": [
"Comando"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta de comandos"
],
@@ -1000,6 +1012,9 @@
"Delete selected notes": [
"Excluir as notas selecionadas"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Excluir o caderno \"Inbox\"?\n\nAo excluir o caderno \"Inbox\", e-mails recentemente enviados a ele podem ser perdidos."
],
@@ -1105,6 +1120,9 @@
"Displays the complete information about note.": [
"Exibe a informação completa sobre a nota."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Exibe a nota informada."
],
@@ -1982,6 +2000,9 @@
"Keychain Supported: %s": [
"Keychain Suportada: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Chaves que necessitam de atualização"
],
@@ -2118,6 +2139,9 @@
"Manage your plugins": [
"Gerencie seus plugins"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Gerencia a configuração E2EE. Os comandos são `enable`, `disable`, `decrypt`, `status`, `decrypt-file` e `target-status`."
],
@@ -2356,6 +2380,9 @@
"No updates available": [
"Sem atualizações disponíveis"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Nenhum"
],
@@ -2551,6 +2578,9 @@
"Open Sync Wizard...": [
"Abrir o assistente de sincronização..."
],
"Open-source licences": [
""
],
"Open...": [
"Abrir..."
],
@@ -2572,6 +2602,9 @@
"Options": [
"Opções"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Lista ordenada"
],
@@ -3149,6 +3182,9 @@
"Select parent notebook": [
"Selecione o caderno pai"
],
"Select the type of file to be imported:": [
""
],
"Selection deleted": [
"Seleção apagada"
],
@@ -3347,6 +3383,9 @@
"Source: ": [
"Origem: "
],
"SPACE": [
""
],
"Spacer": [
"Espaçador"
],
@@ -3946,6 +3985,9 @@
"Try it now": [
"Experimentar"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Digite `help [comando]` para obter mais informações sobre um comando; ou digite `help all` para informações completas de uso."
],

View File

@@ -149,6 +149,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Sobre"
],
@@ -401,6 +404,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Negrito"
],
@@ -530,6 +536,9 @@
"Checking... Please wait.": [
"A verificar… Por favor, aguarde."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Escolher a opção"
],
@@ -608,6 +617,9 @@
"Command": [
"Comando"
],
"COMMAND": [
""
],
"Command palette": [
"Painel de comandos"
],
@@ -915,6 +927,9 @@
"Delete selected notes": [
"Eliminar notas selecionadas"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Apagar o caderno Caixa de Entrada?\n\nSe apagar o caderno caixa de entrada, qualquer email enviado recentemente será perdido."
],
@@ -1005,6 +1020,9 @@
"Displays the complete information about note.": [
"Apresenta a informação completa relativamente à nota."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Apresenta a nota especificada."
],
@@ -1837,6 +1855,9 @@
"Keychain Supported: %s": [
"Porta-Chaves Suportado: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Chaves que necessitam de atualização"
],
@@ -1967,6 +1988,9 @@
"Manage your plugins": [
"Gerir os seus plugins"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Gere a configuração E2EE. Os comandos são `enable`, `disable`, `decrypt`, `status`, `decrypt-file` e `target-status`."
],
@@ -2171,6 +2195,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Nenhum editor de texto está definido. Por favor, defina-o utilizando `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"Nórdico"
],
@@ -2342,6 +2369,9 @@
"Open Sync Wizard...": [
"Abrir Assistente de Sincronização..."
],
"Open-source licences": [
""
],
"Open...": [
"Abrir..."
],
@@ -2354,6 +2384,9 @@
"Options": [
"Opções"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Lista ordenada"
],
@@ -2888,6 +2921,9 @@
"Select parent notebook": [
"Selecionar caderno pai"
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -3065,6 +3101,9 @@
"Source: ": [
"Origem: "
],
"SPACE": [
""
],
"Spacer": [
"Espaçador"
],
@@ -3631,6 +3670,9 @@
"Try it now": [
"Tentar agora"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Digite `help [command]` para mais informação relativamente ao comando; ou digite `help all` para informações completas de utilização."
],

View File

@@ -191,6 +191,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Despre"
],
@@ -473,6 +476,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Aldin"
],
@@ -611,6 +617,9 @@
"Checking... Please wait.": [
"Se verifică... Te rog să aștepți."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Selectează o opțiune"
],
@@ -677,9 +686,6 @@
"Code View": [
"Vizualizare code"
],
"Code:": [
"Cod:"
],
"Collaborate on a notebook with others": [
"Colaborează la caiet cu alte persoane"
],
@@ -707,6 +713,9 @@
"Command": [
"Comandă"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta de comenzi"
],
@@ -796,9 +805,6 @@
"Convert it": [
"Convertește-o"
],
"Convert note to Markdown": [
"Convertește notița în Markdown"
],
"Convert to note": [
"Convertește în notiță"
],
@@ -855,9 +861,6 @@
"Could not connect to plugin repository.": [
"Nu s-a putut conecta la repozitoriul de plugin-uri."
],
"Could not convert note to Markdown: %s": [
"Nu s-a putut converti notița în Markdown: %s"
],
"Could not export notes: %s": [
"Nu s-au putut exporta notițele: %s"
],
@@ -1062,6 +1065,9 @@
"Delete selected notes": [
"Șterge aceste notițe"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Ștergi caietul Inbox?\n\nDacă ștergi caietul de notițe Inbox, orice e-mail trimis recent în acesta poate fi pierdut."
],
@@ -1167,6 +1173,9 @@
"Displays the complete information about note.": [
"Afișează informațiile complete despre notiță."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Afișează notițele specificate."
],
@@ -2084,6 +2093,9 @@
"Keychain Supported: %s": [
"Lanț de chei suportat: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Chei care trebuie actualizate"
],
@@ -2232,6 +2244,9 @@
"Manage your plugins": [
"Gestionează-ți plugin-urile"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Gestionează configurația E2EE. Comenzile sînt `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`."
],
@@ -2489,6 +2504,9 @@
"No updates available": [
"Nu există actualizări"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Niciuna"
],
@@ -2699,6 +2717,9 @@
"Open Sync Wizard...": [
"Deschide ghidul de sincronizare…"
],
"Open-source licences": [
""
],
"Open...": [
"Deschide..."
],
@@ -2720,6 +2741,9 @@
"Options": [
"Opțiuni"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Listă ordonată"
],
@@ -3352,6 +3376,9 @@
"Select parent notebook": [
"Selectează caietul părinte"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Selectat: %s"
],
@@ -3556,6 +3583,9 @@
"Source: ": [
"Sursă: "
],
"SPACE": [
""
],
"Spacer": [
"Distanțier"
],
@@ -3864,9 +3894,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Notița „%s” a fost restaurată cu succes în caietul „%s”."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Notița a fost convertită în Markdown și notița originală a fost mutată în coșul de gunoi"
],
"The note was successfully moved to the trash.": [
"Notița a fost mutată cu succes în coșul de gunoi.",
"Notițele au fost mutate cu succes în coșul de gunoi.",
@@ -4172,6 +4199,9 @@
"Try it now": [
"Încearcă acum"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Tastează `help [command]` pentru mai multe informații despre o comandă; sau tastează `help all` pentru informații complete de utilizare."
],

View File

@@ -191,6 +191,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Despre"
],
@@ -473,6 +476,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Aldin"
],
@@ -611,6 +617,9 @@
"Checking... Please wait.": [
"Se verifică... Te rog să aștepți."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Selectează o opțiune"
],
@@ -677,9 +686,6 @@
"Code View": [
"Vizualizare code"
],
"Code:": [
"Cod:"
],
"Collaborate on a notebook with others": [
"Colaborează la caiet cu alte persoane"
],
@@ -707,6 +713,9 @@
"Command": [
"Comandă"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta de comenzi"
],
@@ -796,9 +805,6 @@
"Convert it": [
"Convertește-o"
],
"Convert note to Markdown": [
"Convertește notița în Markdown"
],
"Convert to note": [
"Convertește în notiță"
],
@@ -855,9 +861,6 @@
"Could not connect to plugin repository.": [
"Nu s-a putut conecta la repozitoriul de plugin-uri."
],
"Could not convert note to Markdown: %s": [
"Nu s-a putut converti notița în Markdown: %s"
],
"Could not export notes: %s": [
"Nu s-au putut exporta notițele: %s"
],
@@ -1062,6 +1065,9 @@
"Delete selected notes": [
"Șterge aceste notițe"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Ștergi caietul Inbox?\n\nDacă ștergi caietul de notițe Inbox, orice e-mail trimis recent în acesta poate fi pierdut."
],
@@ -1167,6 +1173,9 @@
"Displays the complete information about note.": [
"Afișează informațiile complete despre notiță."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Afișează notițele specificate."
],
@@ -2084,6 +2093,9 @@
"Keychain Supported: %s": [
"Lanț de chei suportat: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Chei care trebuie actualizate"
],
@@ -2232,6 +2244,9 @@
"Manage your plugins": [
"Gestionează-ți plugin-urile"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Gestionează configurația E2EE. Comenzile sunt `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`."
],
@@ -2489,6 +2504,9 @@
"No updates available": [
"Nu există actualizări"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Niciuna"
],
@@ -2699,6 +2717,9 @@
"Open Sync Wizard...": [
"Deschide ghidul de sincronizare…"
],
"Open-source licences": [
""
],
"Open...": [
"Deschide..."
],
@@ -2720,6 +2741,9 @@
"Options": [
"Opțiuni"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Listă ordonată"
],
@@ -3352,6 +3376,9 @@
"Select parent notebook": [
"Selectează caietul părinte"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Selectat: %s"
],
@@ -3556,6 +3583,9 @@
"Source: ": [
"Sursă: "
],
"SPACE": [
""
],
"Spacer": [
"Distanțier"
],
@@ -3864,9 +3894,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Notița „%s” a fost restaurată cu succes în caietul „%s”."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Notița a fost convertită în Markdown și notița originală a fost mutată în coșul de gunoi"
],
"The note was successfully moved to the trash.": [
"Notița a fost mutată cu succes în coșul de gunoi.",
"Notițele au fost mutate cu succes în coșul de gunoi.",
@@ -4172,6 +4199,9 @@
"Try it now": [
"Încearcă acum"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Tastează `help [command]` pentru mai multe informații despre o comandă; sau tastează `help all` pentru informații complete de utilizare."
],

View File

@@ -191,6 +191,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"О программе"
],
@@ -473,6 +476,9 @@
"Beta": [
"Бета"
],
"Block code": [
""
],
"Bold": [
"Полужирный"
],
@@ -611,6 +617,9 @@
"Checking... Please wait.": [
"Проверка... Пожалуйста, подождите."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Выберите"
],
@@ -677,9 +686,6 @@
"Code View": [
"Просмотр кода"
],
"Code:": [
"Код"
],
"Collaborate on a notebook with others": [
"Работайте над блокнотом вместе с другими людьми"
],
@@ -704,6 +710,9 @@
"Command": [
"Команда"
],
"COMMAND": [
""
],
"Command palette": [
"Палитра команд"
],
@@ -793,9 +802,6 @@
"Convert it": [
"Преобразовать в заметку"
],
"Convert note to Markdown": [
"Преобразовать в задачу"
],
"Convert to note": [
"Преобразовать в заметку"
],
@@ -852,9 +858,6 @@
"Could not connect to plugin repository.": [
"Не удалось соединиться с репозиторием плагинов."
],
"Could not convert note to Markdown: %s": [
"Не удалось экспортировать заметки: %s"
],
"Could not export notes: %s": [
"Не удалось экспортировать заметки: %s"
],
@@ -1059,6 +1062,9 @@
"Delete selected notes": [
"Удаление выбранных заметок"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Удалить блокнот \"Входящие\"?\n\nПри удалении блокнота \"Входящие\" все сообщения электронной почты, недавно отправленные в него, могут быть потеряны."
],
@@ -1164,6 +1170,9 @@
"Displays the complete information about note.": [
"Отображает полную информацию о заметке."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Отображает заданную заметку."
],
@@ -2075,6 +2084,9 @@
"Keychain Supported: %s": [
"Поддерживаемая связка ключей: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Ключи, которые нуждаются в обновлении"
],
@@ -2223,6 +2235,9 @@
"Manage your plugins": [
"Управлять плагинами"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Управляет конфигурацией E2EE. Команды: `enable`, `disable`, `decrypt`, `status`, `decrypt-file` и `target-status`."
],
@@ -2474,6 +2489,9 @@
"No updates available": [
"Нет доступных обновлений"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Нет"
],
@@ -2681,6 +2699,9 @@
"Open Sync Wizard...": [
"Открыть мастер синхронизации..."
],
"Open-source licences": [
""
],
"Open...": [
"Открыть..."
],
@@ -2702,6 +2723,9 @@
"Options": [
"Параметры"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Упорядоченный список"
],
@@ -3322,6 +3346,9 @@
"Select parent notebook": [
"Выбрать родительский блокнот"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Создано: %s"
],
@@ -3526,6 +3553,9 @@
"Source: ": [
"Источник: "
],
"SPACE": [
""
],
"Spacer": [
"Разделитель"
],
@@ -3831,9 +3861,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Заметка “%s” была успешно восстановлена в блокнот “%s”."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Блокнот и его содержимое были успешно перемещены в корзину."
],
"The note was successfully moved to the trash.": [
"Заметка была успешно перемещена в корзину.",
"Заметки были успешно перемещены в корзину.",
@@ -4139,6 +4166,9 @@
"Try it now": [
"Попробуйте прямо сейчас"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Введите `help [command]` для получения справочной информации о команде [command] или `help all` для получения полной справочной информации."
],

View File

@@ -191,6 +191,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"O aplikácii"
],
@@ -476,6 +479,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Tučné"
],
@@ -614,6 +620,9 @@
"Checking... Please wait.": [
"Prebieha kontrola... Čakajte prosím."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Vyberte možnosť"
],
@@ -680,9 +689,6 @@
"Code View": [
"Zobraziť kód"
],
"Code:": [
"Kód:"
],
"Collaborate on a notebook with others": [
"Spolupracujte na zápisníku s ostatnými"
],
@@ -710,6 +716,9 @@
"Command": [
"Príkaz"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta príkazov"
],
@@ -799,9 +808,6 @@
"Convert it": [
"Previesť ju"
],
"Convert note to Markdown": [
"Previesť poznámku na Markdown"
],
"Convert to note": [
"Premeniť na poznámku"
],
@@ -858,9 +864,6 @@
"Could not connect to plugin repository.": [
"Nepodarilo sa pripojiť k úložisku doplnkov."
],
"Could not convert note to Markdown: %s": [
"Poznámku sa nepodarilo previesť do formátu Markdown: %s"
],
"Could not export notes: %s": [
"Nepodarilo sa exportovať poznámky: %s"
],
@@ -1071,6 +1074,9 @@
"Delete selected notes": [
"Vymazať vybrané poznámky"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Vymazať zápisník Doručená pošta?\n\nAk vymažete zápisník doručenej pošty, všetky e-maily, ktoré doň boli nedávno odoslané, sa môžu stratiť."
],
@@ -1176,6 +1182,9 @@
"Displays the complete information about note.": [
"Zobrazí úplné informácie o poznámke."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Zobrazí danú poznámku."
],
@@ -2093,6 +2102,9 @@
"Keychain Supported: %s": [
"Podporovaný zväzok kľúčov: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Kľúče, ktoré si vyžadujú aktualizáciu"
],
@@ -2241,6 +2253,9 @@
"Manage your plugins": [
"Spravovať svoje doplnky"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Spravuje konfiguráciu E2EE. Príkazy sú `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, a `target-status`."
],
@@ -2498,6 +2513,9 @@
"No updates available": [
"Nie sú k dispozícii žiadne aktualizácie"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Žiadny"
],
@@ -2708,6 +2726,9 @@
"Open Sync Wizard...": [
"Otvoriť Sprievodcu synchronizáciou..."
],
"Open-source licences": [
""
],
"Open...": [
"Otvoriť..."
],
@@ -2729,6 +2750,9 @@
"Options": [
"Možnosti"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Usporiadaný zoznam"
],
@@ -3361,6 +3385,9 @@
"Select parent notebook": [
"Vybrať nadradený zápisník"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Vybraný: %s"
],
@@ -3565,6 +3592,9 @@
"Source: ": [
"Zdroj: "
],
"SPACE": [
""
],
"Spacer": [
"Oddelovač"
],
@@ -3873,9 +3903,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Poznámka \"%s\" bola úspešne obnovená do zápisníka \"%s\"."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Poznámka bola prevedená do formátu Markdown a pôvodná poznámka bola presunutá do koša"
],
"The note was successfully moved to the trash.": [
"Poznámka bola úspešne presunutá do koša.",
"Poznámky boli úspešne presunuté do koša.",
@@ -4181,6 +4208,9 @@
"Try it now": [
"Skúste to teraz"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Ak chcete získať ďalšie informácie o príkaze, zadajte `help [command]` alebo `help all` pre úplné informácie o použití."
],

View File

@@ -137,6 +137,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -359,6 +362,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Krepko"
],
@@ -479,6 +485,9 @@
"Checking... Please wait.": [
"Pregledovanje... Prosimo počakajte."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Izberi možnost"
],
@@ -551,6 +560,9 @@
"Command": [
"Ukaz"
],
"COMMAND": [
""
],
"Command palette": [
"Paleta ukazov"
],
@@ -788,6 +800,9 @@
"Delete plugin \"%s\"?": [
"Izbriši dodatek \"%s\"?"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -872,6 +887,9 @@
"Displays the complete information about note.": [
"Prikaže vse informacije o beležki."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Prikaže dano beležko."
],
@@ -1583,6 +1601,9 @@
"Keychain Supported: %s": [
"Keychain podprt: %s"
],
"KEYS": [
""
],
"Label": [
""
],
@@ -1670,6 +1691,9 @@
"Manage your plugins": [
"Upravljaj svoje dodatke"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"Ročno"
],
@@ -1847,6 +1871,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Noben urejevalnik besedila ni izbran. Prosimo, nastavite ga z uporabo `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"Nord"
],
@@ -1991,6 +2018,9 @@
"Open Sync Wizard...": [
"Odpri čarovnik sinhronizacije...."
],
"Open-source licences": [
""
],
"Open...": [
"Odpri..."
],
@@ -2003,6 +2033,9 @@
"Options": [
"Možnosti"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2426,6 +2459,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2564,6 +2600,9 @@
"Source: ": [
"Vir: "
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3041,6 +3080,9 @@
"Try again": [
"Poizkusi znova"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Vtipkajte `help [command]` za več informacij o ukazu; ali vtipkajte `help all` za popoln prikaz informacij o uporabi."
],

View File

@@ -137,6 +137,9 @@
"A5": [
"А5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -341,6 +344,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"Подебљај"
],
@@ -455,6 +461,9 @@
"Checking... Please wait.": [
"Проверавам... Молимо сачекајте."
],
"Chinese/Japanese/Korean characters": [
""
],
"Chrome Web Store": [
"Chrome Web продавница"
],
@@ -515,6 +524,9 @@
"Command": [
"Наредба"
],
"COMMAND": [
""
],
"Command palette": [
"Командна палета"
],
@@ -698,6 +710,9 @@
"Delete local data and re-download from sync target": [
"Избришите локалне податке и поново их скините са одредишта за синхронизацију"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -779,6 +794,9 @@
"Displays the complete information about note.": [
"Приказује потпунe информацијe о белешци."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Приказује дату белешку."
],
@@ -1421,6 +1439,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Label": [
""
],
@@ -1499,6 +1520,9 @@
"Manage your plugins": [
"Управљајте својим додацима"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"Ручно"
],
@@ -1655,6 +1679,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Није дефинисан уредник текста. Молимо вас да га подесите користећи `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1775,6 +1802,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
"Отвори..."
],
@@ -1787,6 +1817,9 @@
"Options": [
"Опције"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2174,6 +2207,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2294,6 +2330,9 @@
"Source format: %s": [
"Избворни формат: %s"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -2735,6 +2774,9 @@
"Try again": [
"Покушајте поново"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Укуцајте `help [команду]` за више информација о команди; или укуцајте `help all` за потпуну информацију о коришћењу."
],

View File

@@ -168,7 +168,7 @@
"[Ingen]"
],
"A brief description of the image:": [
""
"En kort beskrivning av bilden:"
],
"A comma-separated list of words. May be used for uncommon words, to help voice typing spell them correctly.": [
"En kommaseparerad lista med ord. Kan användas för ovanliga ord för att hjälpa röstinmatning att stava dem korrekt."
@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Om"
],
@@ -243,7 +246,7 @@
"Lägg till brödtext"
],
"Add column": [
""
"Lägg till kolumn"
],
"Add new": [
"Lägg till ny"
@@ -254,6 +257,9 @@
"Add recipient:": [
"Lägg till mottagare:"
],
"Add row": [
"Lägg till rad"
],
"Add tags:": [
"Lägg till taggar:"
],
@@ -342,7 +348,7 @@
"En automatiskt sparad teckning hittades. Bifoga en kopia av den till anteckningen?"
],
"An error occurred while sending the response. This can happen if the app is offline or cannot connect to the server.\nError: %s": [
""
"Ett fel uppstod vid sändningen av svaret. Detta kan inträffa om appen är offline eller inte kan ansluta till servern.\nFel: %s"
],
"An error occurred: %s": [
"Ett fel uppstod: %s"
@@ -467,6 +473,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Fet"
],
@@ -605,6 +614,9 @@
"Checking... Please wait.": [
"Kontrollerar... vänta."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Välj ett alternativ"
],
@@ -671,9 +683,6 @@
"Code View": [
"Kodvy"
],
"Code:": [
"Kod:"
],
"Collaborate on a notebook with others": [
"Samarbeta på en anteckningsbok med andra"
],
@@ -683,6 +692,9 @@
"Collapse all notebooks": [
"Fäll ihop anteckningsböcker"
],
"Collapse title": [
"Fäll ihop titel"
],
"Collapsed": [
"Ihopfälld"
],
@@ -698,6 +710,9 @@
"Command": [
"Kommando"
],
"COMMAND": [
""
],
"Command palette": [
"Kommandopalett"
],
@@ -786,9 +801,6 @@
"Convert it": [
"Konvertera den"
],
"Convert note to Markdown": [
"Konvertera anteckning till Markdown"
],
"Convert to note": [
"Konvertera till anteckning"
],
@@ -844,9 +856,6 @@
"Could not connect to plugin repository.": [
"Det gick inte att ansluta till insticksmodulsförrådet."
],
"Could not convert note to Markdown: %s": [
"Kunde inte konvertera anteckning till Markdown: %s"
],
"Could not export notes: %s": [
"Det gick inte att exportera anteckningar: %s"
],
@@ -1021,6 +1030,9 @@
"Delete attachment \"%s\"?": [
"Ta bort bilagan \"%s\"?"
],
"Delete column": [
"Ta bort kolumn"
],
"Delete expired sessions": [
"Ta bort utgångna sessioner"
],
@@ -1048,9 +1060,15 @@
"Delete profile \"%s\"": [
"Ta bort profilen \"%s\""
],
"Delete row": [
"Ta bort rad"
],
"Delete selected notes": [
"Ta bort valda anteckningar"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Ta bort anteckningsboken Inbox?\n\nOm du tar bort anteckningsboken Inbox kan all e-post som nyligen har skickats till den gå förlorad."
],
@@ -1156,6 +1174,9 @@
"Displays the complete information about note.": [
"Visar fullständig information om anteckning."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Visar den angivna anteckningen."
],
@@ -1181,7 +1202,7 @@
"Förlora inte lösenordet som för säkerhetsändamål kommer det att vara det *enda* sättet att dekryptera data! För att aktivera kryptering, ange ditt lösenord nedan."
],
"Do you find the Joplin web app useful?": [
""
"Tycker du att Joplin-webbappen är användbar?"
],
"Document scanner: Title template": [
"Dokumentskanner: Titelmall"
@@ -1540,6 +1561,9 @@
"Expand all notebooks": [
"Expandera alla anteckningsböcker"
],
"Expand title": [
"Expandera rubrik"
],
"Expanded": [
"Expanderad"
],
@@ -1604,7 +1628,7 @@
"Funktionsflaggor"
],
"Feedback": [
""
"Återkoppling"
],
"Fetched items: %d/%d.": [
"Hämtade objekt: %d/%d."
@@ -2018,6 +2042,9 @@
"Joplin Server": [
"Joplin Server"
],
"Joplin Server (SAML)": [
"Joplin Server (SAML)"
],
"Joplin Server Business": [
"Joplin Server Business"
],
@@ -2037,7 +2064,7 @@
"Joplin SSO-autentisering"
],
"Joplin supports saving the location at which notes are saved or created. Do you want to enable it? This can be changed at any time in settings.": [
""
"Joplin stöder sparande av platsen där anteckningar sparas eller skapas. Vill du aktivera det? Detta kan ändras när som helst i inställningarna."
],
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": [
"Joplin Web Clipper gör det möjligt att spara webbsidor och skärmdumpar från din webbläsare till Joplin."
@@ -2066,11 +2093,14 @@
"Keychain Supported: %s": [
"Nyckelring som stöds: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Nycklar som behöver uppgradering"
],
"Label": [
""
"Etikett"
],
"Landscape": [
"Liggande"
@@ -2212,6 +2242,9 @@
"Manage your plugins": [
"Hantera dina insticksmoduler"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Hanterar E2EE-konfigurationen. Kommandona är `enable`,` disable`, `decrypt`,` status`, `decrypt-file` och `target-status`."
],
@@ -2227,6 +2260,9 @@
"Markdown editor": [
"Markdown-redigerare"
],
"Markdown editor: Highlight active line": [
"Markdown-redigerare: Markera aktiv rad"
],
"Markdown editor: Render images": [
"Markdown-redigerare: Rendera bilder"
],
@@ -2465,6 +2501,9 @@
"No updates available": [
"Inga uppdateringar tillgängliga"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Ingen"
],
@@ -2487,7 +2526,7 @@
"Inte nu"
],
"Not useful": [
""
"Inte användbart"
],
"note": [
"anteckning"
@@ -2537,6 +2576,9 @@
"Note list style": [
"Anteckningsliststil"
],
"Note not published: %s": [
"Anteckning inte publicerad: %s"
],
"Note preview": [
"Förhandsvisa anteckning"
],
@@ -2672,6 +2714,9 @@
"Open Sync Wizard...": [
"Öppna synkroniseringsguiden..."
],
"Open-source licences": [
""
],
"Open...": [
"Öppna..."
],
@@ -2693,11 +2738,14 @@
"Options": [
"Inställningar"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Numrerad lista"
],
"Other": [
""
"Annat"
],
"Other applications...": [
"Andra program..."
@@ -2949,6 +2997,9 @@
"Publish Note": [
"Publicera anteckning"
],
"Publish note \"%s\" (in notebook \"%s\")?": [
"Publicera anteckningen \"%s\" (i anteckningsboken \"%s\")?"
],
"Publish note...": [
"Publicera anteckning..."
],
@@ -2961,8 +3012,11 @@
"Publish/unpublish": [
"Publicera/avpublicera"
],
"Published at URL: %s": [
"Publicerad på URL: %s"
],
"Publishes a note to Joplin Server or Joplin Cloud": [
""
"Publicerar en anteckning till Joplin Server eller Joplin Cloud"
],
"QR Code": [
"QR-kod"
@@ -3009,6 +3063,9 @@
"Recipients:": [
"Mottagare:"
],
"Recognise text:": [
"Identifiera text:"
],
"Recognize handwritten image": [
"Känn igen handskrift i bild"
],
@@ -3237,6 +3294,9 @@
"Save geo-location with notes": [
"Spara geografisk plats med anteckningar"
],
"Save geolocation?": [
"Spara geografisk plats?"
],
"Scan notebook": [
"Skanna anteckningsbok"
],
@@ -3307,11 +3367,14 @@
"Välj anteckningsbok"
],
"Select one of the other supported sync targets.": [
""
"Välj ett av de andra synkroniseringsmålen som stöds."
],
"Select parent notebook": [
"Välj överordnad anteckningsbok"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Markerad: %s"
],
@@ -3516,6 +3579,9 @@
"Source: ": [
"Källa: "
],
"SPACE": [
""
],
"Spacer": [
"Spacer"
],
@@ -3646,7 +3712,7 @@
"Växlar till [notebook] - alla ytterligare åtgärder sker inom denna anteckningsbok."
],
"Sync": [
""
"Synkronisera"
],
"Sync as many devices as you want": [
"Synkronisera så många enheter du vill"
@@ -3726,6 +3792,9 @@
"Take photo": [
"Ta ett foto"
],
"Take survey": [
"Fyll i enkät"
],
"Task \"%s\" failed with error: %s": [
"Uppgiften \"%s\" misslyckades med fel: %s"
],
@@ -3745,7 +3814,7 @@
"Textredigeringskommando"
],
"Thank you for the feedback!\nDo you have time to complete a short survey?": [
""
"Tack för din återkoppling!\nHar du tid att fylla i en kort enkät?"
],
"The active profile cannot be deleted. Switch to a different profile and try again.": [
"Den aktiva profilen kan inte raderas. Byt till en annan profil och försök igen."
@@ -3820,9 +3889,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"Den här anteckningen \"%s\" har framgångsrikt återställts till anteckningsboken \"%s\"."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Anteckningen har konverterats till Markdown och den ursprungliga anteckningen har flyttats till papperskorgen"
],
"The note was successfully moved to the trash.": [
"Anteckningen har flyttats till papperskorgen.",
"Anteckningarna flyttades till papperskorgen."
@@ -4124,6 +4190,9 @@
"Try it now": [
"Prova det nu"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Skriv `help [command]` för mer information om ett kommando; eller skriv `help all` för fullständig användningsinformation."
],
@@ -4145,6 +4214,9 @@
"Unable to share log data. Reason: %s": [
"Det går inte att dela loggdata. Orsak: %s"
],
"Unable to share note data. Reason: %s": [
"Det gick inte att dela anteckningsdata. Orsak: %s"
],
"Unchecked": [
"Omarkerad"
],
@@ -4290,7 +4362,7 @@
"Används där ett teckensnitt med fast bredd behövs för att lägga ut texten läsbart (t.ex. tabeller, kryssrutor, kod). Om det inte hittas används ett generiskt teckensnitt med monospace (fast bredd)."
],
"Useful": [
""
"Användbar"
],
"User deletions": [
"Användarraderingar"
@@ -4398,7 +4470,7 @@
"När du skapar en ny att-göra:"
],
"When enabled, requests that the images in the note be transcribed with a higher-quality on-server transcription service. Requires sync with a copy of the desktop app.": [
""
"När detta är aktiverat begärs att bilderna i anteckningen transkriberas med en serverbaserad transkriberingstjänst av högre kvalitet. Kräver synkronisering med en kopia från skrivbordsappen."
],
"When enabled, the application will scan your attachments and extract the text from it. This will allow you to search for text in these attachments.": [
"När det är aktiverat kommer programmet att skanna dina bilagor och extrahera texten från den. Detta gör att du kan söka efter text i dessa bilagor."

View File

@@ -134,6 +134,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -323,6 +326,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"ตัวหนา"
],
@@ -413,6 +419,9 @@
"Checking... Please wait.": [
"กำลังตรวจสอบ... โปรดรอสักครู่..."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"เลือก"
],
@@ -473,6 +482,9 @@
"Command": [
""
],
"COMMAND": [
""
],
"Command palette": [
""
],
@@ -665,6 +677,9 @@
"Delete local data and re-download from sync target": [
""
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -740,6 +755,9 @@
"Displays the complete information about note.": [
"แสดงข้อมูลทั้งหมดของบันทึก"
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"แสดงบันทึกที่เลือก"
],
@@ -1361,6 +1379,9 @@
"Keychain Supported: %s": [
""
],
"KEYS": [
""
],
"Keys that need upgrading": [
""
],
@@ -1439,6 +1460,9 @@
"Manage your plugins": [
""
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"ทำด้วยตนเอง"
],
@@ -1598,6 +1622,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
""
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1715,6 +1742,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
"เปิด..."
],
@@ -1727,6 +1757,9 @@
"Options": [
"ตัวเลือก"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2132,6 +2165,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Selection deleted": [
""
],
@@ -2246,6 +2282,9 @@
"Source format: %s": [
"ฟอร์แมตต้นฉบับ: %s"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -2690,6 +2729,9 @@
"Try again": [
"ลองอีกครั้ง"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"พิมพ์ `help [คำสั่ง]` สำหรับข้อมูลเพิ่มเติมของคำสั่งนั้นๆ หรือพิมพ์ `help all` สำหรับข้อมูลการใช้งานทั้งหมด"
],

View File

@@ -185,6 +185,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Hakkında"
],
@@ -467,6 +470,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Kalın"
],
@@ -605,6 +611,9 @@
"Checking... Please wait.": [
"Kontrol ediliyor... Lütfen bekleyin."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Bir seçim yap"
],
@@ -671,9 +680,6 @@
"Code View": [
"Kod Görünümü"
],
"Code:": [
"Kod:"
],
"Collaborate on a notebook with others": [
"Başkalarıyla işbirliği halinde not defterlerini ortak yönetin"
],
@@ -701,6 +707,9 @@
"Command": [
"Komut"
],
"COMMAND": [
""
],
"Command palette": [
"Komut paleti"
],
@@ -789,9 +798,6 @@
"Convert it": [
"Dönüştür"
],
"Convert note to Markdown": [
"Notu Markdown'a dönüştür"
],
"Convert to note": [
"Nota çevir"
],
@@ -847,9 +853,6 @@
"Could not connect to plugin repository.": [
"Eklenti sunucusuna bağlanılamadı."
],
"Could not convert note to Markdown: %s": [
"Not Markdown'a dönüştürülemedi: %s"
],
"Could not export notes: %s": [
"Notlar dışarı aktarılamadı: %s"
],
@@ -1054,6 +1057,9 @@
"Delete selected notes": [
"Seçili notları sil"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Gelen Kutusu not defteri silinsin mi?\n\nGelen kutusu not defterini silerseniz, yakın zamanda gönderilen tüm e-postalar kaybolabilir."
],
@@ -1159,6 +1165,9 @@
"Displays the complete information about note.": [
"Notla ilgili tüm bilgileri görüntüler."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Verilen notu görüntüler."
],
@@ -2075,6 +2084,9 @@
"Keychain Supported: %s": [
"Keychain Desteği: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Güncellenmesi gereken anahtarlar"
],
@@ -2221,6 +2233,9 @@
"Manage your plugins": [
"Eklentileri yönet"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Uçtan Uca Şifreleme ayarını yönetir. Komutlar: `enable`, `disable`, `decrypt`, `status`, `decrypt-file` ve `target-status`."
],
@@ -2477,6 +2492,9 @@
"No updates available": [
"Güncelleme bulunamadı"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Hiçbiri"
],
@@ -2687,6 +2705,9 @@
"Open Sync Wizard...": [
"Senkronizasyon Sihirbazını Aç…"
],
"Open-source licences": [
""
],
"Open...": [
"Aç..."
],
@@ -2708,6 +2729,9 @@
"Options": [
"Seçenekler"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Dizilmiş liste"
],
@@ -3339,6 +3363,9 @@
"Select parent notebook": [
"Ana not defterini seç"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"Seçili: %s"
],
@@ -3543,6 +3570,9 @@
"Source: ": [
"Kaynak: "
],
"SPACE": [
""
],
"Spacer": [
"Ara boşluk"
],
@@ -3850,9 +3880,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"“%s” notu başarılı bir şekilde “%s” not defterine geri yüklendi."
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"Not Markdown'a dönüştürüldü ve orijinal not çöp kutusuna taşındı"
],
"The note was successfully moved to the trash.": [
"Not başarıyla çöp kutusuna taşındı.",
"Notlar başarıyla çöp kutusuna taşındı."
@@ -4154,6 +4181,9 @@
"Try it now": [
"Şimdi dene"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"`help [command]` yazarak komutlar hakkında daha fazla bilgiye ulaşabilirsiniz; yada `help all` yazarak tam kullanım bilgisine ulaşabilirsiniz."
],

View File

@@ -152,6 +152,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"Про нас"
],
@@ -410,6 +413,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"Жирний"
],
@@ -542,6 +548,9 @@
"Checking... Please wait.": [
"Перевірка… Будь ласка, зачекайте."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Виберіть варіант"
],
@@ -623,6 +632,9 @@
"Command": [
"Команда"
],
"COMMAND": [
""
],
"Command palette": [
"Панель команд"
],
@@ -945,6 +957,9 @@
"Delete selected notes": [
"Видалити вибрані нотатки"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"Видалити блокнот \"Вхідні\"?\n\nЯкщо ви видалите блокнот \"Вхідні\", всі листи, які нещодавно були надіслані до нього, можуть бути втрачені."
],
@@ -1047,6 +1062,9 @@
"Displays the complete information about note.": [
"Відображає повну інформацію про нотатку."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Відображає дану нотатку."
],
@@ -1907,6 +1925,9 @@
"Keychain Supported: %s": [
"Підтримка Keychain: %s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"Ключі, які потребують оновлення"
],
@@ -2041,6 +2062,9 @@
"Manage your plugins": [
"Керування розширеннями"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"Керує конфігурацією E2EE. Команди: `enable`,` disable`, `decrypt`,` status`, `decrypt-file` та` target-status`."
],
@@ -2263,6 +2287,9 @@
"No updates available": [
"Немає доступних оновлень"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"Нічого"
],
@@ -2443,6 +2470,9 @@
"Open Sync Wizard...": [
"Відкрити майстер синхронізації..."
],
"Open-source licences": [
""
],
"Open...": [
"Відкрити..."
],
@@ -2464,6 +2494,9 @@
"Options": [
"Властивості"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"Упорядкований список"
],
@@ -3025,6 +3058,9 @@
"Select parent notebook": [
"Виберіть батьківський блокнот"
],
"Select the type of file to be imported:": [
""
],
"Selection deleted": [
"Вибір видалено"
],
@@ -3217,6 +3253,9 @@
"Source: ": [
"Джерело: "
],
"SPACE": [
""
],
"Spacer": [
"Роздільник"
],
@@ -3800,6 +3839,9 @@
"Try it now": [
"Спробувати зараз"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Введіть `help [command]` для отримання додаткової інформації про команду; або введіть `help all` для отримання повної інформації про використання."
],

View File

@@ -140,6 +140,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
""
],
@@ -359,6 +362,9 @@
"Beta": [
""
],
"Block code": [
""
],
"Bold": [
"In đậm"
],
@@ -476,6 +482,9 @@
"Checking... Please wait.": [
"Đang kiểm tra… Vui lòng chờ."
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"Chọn một lựa chọn"
],
@@ -545,6 +554,9 @@
"Command": [
"Lệnh"
],
"COMMAND": [
""
],
"Command palette": [
"Mẫu lệnh"
],
@@ -767,6 +779,9 @@
"Delete plugin \"%s\"?": [
"Xoá phần mở rộng “%s”?"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
""
],
@@ -848,6 +863,9 @@
"Displays the complete information about note.": [
"Hiển thị toàn bộ thông tin của ghi chú."
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"Hiển thị ghi chú được lựa chọn."
],
@@ -1568,6 +1586,9 @@
"Keychain Supported: %s": [
"Chuỗi khóa được hỗ trợ: %s"
],
"KEYS": [
""
],
"Label": [
""
],
@@ -1649,6 +1670,9 @@
"Manage your plugins": [
"Quản lý các phần mở rộng"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manual": [
"Thủ công"
],
@@ -1820,6 +1844,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"Chưa có trình biên tập văn bản nào được lựa chon. Vui lòng lựa chọn trình biên tập văn bản sử dụng `config editor <editor-path>`"
],
"No URL for SAML authentication set.": [
""
],
"None": [
""
],
@@ -1967,6 +1994,9 @@
"Open Sync Wizard...": [
""
],
"Open-source licences": [
""
],
"Open...": [
"Mở..."
],
@@ -1979,6 +2009,9 @@
"Options": [
"Lựa chọn"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Other": [
""
],
@@ -2399,6 +2432,9 @@
"Select one of the other supported sync targets.": [
""
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -2543,6 +2579,9 @@
"Source format: %s": [
"Định dạng từ nguồn: %s"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3017,6 +3056,9 @@
"Try again": [
"Thử lại"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"Gõ `help [command]` để tìm hiểu thông tin về lệnh đó; hoặc gõ `help all` để tìm hiểu thông tin hướng dẫn sử dụng."
],

View File

@@ -179,6 +179,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"关于"
],
@@ -461,6 +464,9 @@
"Beta": [
"Beta"
],
"Block code": [
""
],
"Bold": [
"加粗"
],
@@ -599,6 +605,9 @@
"Checking... Please wait.": [
"正在检查……请稍候。"
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"选择一个选项"
],
@@ -665,9 +674,6 @@
"Code View": [
"代码视图"
],
"Code:": [
"代码:"
],
"Collaborate on a notebook with others": [
"与他人共同协作笔记"
],
@@ -692,6 +698,9 @@
"Command": [
"命令"
],
"COMMAND": [
""
],
"Command palette": [
"命令面板"
],
@@ -779,9 +788,6 @@
"Convert it": [
"转换"
],
"Convert note to Markdown": [
"将笔记转换为 Markdown"
],
"Convert to note": [
"转换为笔记"
],
@@ -836,9 +842,6 @@
"Could not connect to plugin repository.": [
"无法连接到插件库。"
],
"Could not convert note to Markdown: %s": [
"无法将笔记 %s 转换为 Markdown"
],
"Could not export notes: %s": [
"无法导出笔记:%s"
],
@@ -1043,6 +1046,9 @@
"Delete selected notes": [
"删除选中的笔记"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"是否删除收件箱笔记本?\n\n如果删除收件箱笔记本,最近发送到其中的任何电子邮件都可能会丢失。"
],
@@ -1148,6 +1154,9 @@
"Displays the complete information about note.": [
"显示关于笔记的完整信息。"
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"显示选定笔记。"
],
@@ -2057,6 +2066,9 @@
"Keychain Supported: %s": [
"支持的密钥链:%s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"需要升级的密钥"
],
@@ -2201,6 +2213,9 @@
"Manage your plugins": [
"管理您的插件"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"管理 E2EE 配置。命令为:`enable`、`disable`、`decrypt`、`status`、`decrypt-file` 和 `target-status`。"
],
@@ -2453,6 +2468,9 @@
"No updates available": [
"没有更新可用"
],
"No URL for SAML authentication set.": [
""
],
"None": [
"无"
],
@@ -2660,6 +2678,9 @@
"Open Sync Wizard...": [
"打开同步向导……"
],
"Open-source licences": [
""
],
"Open...": [
"打开……"
],
@@ -2681,6 +2702,9 @@
"Options": [
"选项"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"有序列表"
],
@@ -3299,6 +3323,9 @@
"Select parent notebook": [
"选择父笔记本"
],
"Select the type of file to be imported:": [
""
],
"Selected: %s": [
"已选择:%s"
],
@@ -3503,6 +3530,9 @@
"Source: ": [
"来源:"
],
"SPACE": [
""
],
"Spacer": [
"间隔"
],
@@ -3806,9 +3836,6 @@
"The note \"%s\" has been successfully restored to the notebook \"%s\".": [
"笔记“%s”已成功恢复到笔记本“%s”中。"
],
"The note has been converted to Markdown and the original note has been moved to the trash": [
"该笔记已转换为 Markdown,原始笔记已移至回收站。"
],
"The note was successfully moved to the trash.": [
"已成功将笔记移到回收站中。"
],
@@ -4106,6 +4133,9 @@
"Try it now": [
"现在就试试吧"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"键入 `help [command]` 来获取有关该命令的更多信息;或键入 `help all` 获取完整的用法提示。"
],

View File

@@ -149,6 +149,9 @@
"A5": [
"A5"
],
"ABC musical notation: Options": [
""
],
"About": [
"關於"
],
@@ -401,6 +404,9 @@
"Beta": [
"測試"
],
"Block code": [
""
],
"Bold": [
"粗體"
],
@@ -530,6 +536,9 @@
"Checking... Please wait.": [
"檢查中...請稍候。"
],
"Chinese/Japanese/Korean characters": [
""
],
"Choose an option": [
"選擇一個選項"
],
@@ -608,6 +617,9 @@
"Command": [
"命令"
],
"COMMAND": [
""
],
"Command palette": [
"命令模式"
],
@@ -914,6 +926,9 @@
"Delete selected notes": [
"刪除選定的筆記"
],
"Delete tag \"%s\"?\n\nAll notes associated with this tag will remain, but the tag will be removed from all notes.": [
""
],
"Delete the Inbox notebook?\n\nIf you delete the inbox notebook, any email that's recently been sent to it may be lost.": [
"刪除收件匣筆記本?\n\n如果您刪除收件匣筆記本,最近發送到該筆記本的任何電子郵件可能會遺失。"
],
@@ -1004,6 +1019,9 @@
"Displays the complete information about note.": [
"顯示有關記事的完整資訊。"
],
"Displays the configured keyboard shortcuts.": [
""
],
"Displays the given note.": [
"顯示特定的記事。"
],
@@ -1835,6 +1853,9 @@
"Keychain Supported: %s": [
"鑰匙圈支援:%s"
],
"KEYS": [
""
],
"Keys that need upgrading": [
"需要升級的密鑰"
],
@@ -1964,6 +1985,9 @@
"Manage your plugins": [
"管理您的延伸模組"
],
"Manage your profiles. You can rename or delete profiles. The active profile cannot be deleted.": [
""
],
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": [
"管理 E2EE 設定。指令包含 `enable`,`disable`,`decrypt`,`status` 和 `target-status`。"
],
@@ -2168,6 +2192,9 @@
"No text editor is defined. Please set it using `config editor <editor-path>`": [
"未設定文字編輯器。請用 `config editor <editor-path>` 來設定"
],
"No URL for SAML authentication set.": [
""
],
"Nord": [
"北歐藍"
],
@@ -2339,6 +2366,9 @@
"Open Sync Wizard...": [
"開啟同步精靈..."
],
"Open-source licences": [
""
],
"Open...": [
"開啟舊檔..."
],
@@ -2351,6 +2381,9 @@
"Options": [
"選項"
],
"Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s": [
""
],
"Ordered list": [
"有序清單"
],
@@ -2885,6 +2918,9 @@
"Select parent notebook": [
"選擇父筆記本"
],
"Select the type of file to be imported:": [
""
],
"Self-hosted": [
""
],
@@ -3062,6 +3098,9 @@
"Source: ": [
"來源:"
],
"SPACE": [
""
],
"Spacer": [
""
],
@@ -3623,6 +3662,9 @@
"Try it now": [
"現在就試試"
],
"TYPE": [
""
],
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": [
"輸入 `help [command]` 查看關於命令的更多資訊; 或者輸入 `help all` 獲取完整的使用說明。"
],

View File

@@ -171,6 +171,11 @@ interface UserSettingMigration {
isPluginSetting: boolean;
}
interface SubValuesOptions {
includeBaseKeyInName?: boolean;
includeConstants?: boolean;
}
const userSettingMigration: UserSettingMigration[] = [
{
oldName: 'spellChecker.language',
@@ -1100,18 +1105,29 @@ class Setting extends BaseModel {
// and baseKey is 'sync.5', the function will return
// { path: 'http://example', username: 'testing' }
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
public static subValues(baseKey: string, settings: Partial<SettingsRecord>, options: any = null) {
public static subValues(baseKey: string, settings: Partial<SettingsRecord>, options: SubValuesOptions|null = null) {
const includeBaseKeyInName = !!options && !!options.includeBaseKeyInName;
const subKey = (key: string) => {
return includeBaseKeyInName ? key : key.substring(baseKey.length + 1);
};
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
const output: any = {};
for (const key in settings) {
if (!settings.hasOwnProperty(key)) continue;
if (key.indexOf(baseKey) === 0) {
const subKey = includeBaseKeyInName ? key : key.substr(baseKey.length + 1);
output[subKey] = settings[key];
for (const [key, value] of Object.entries(settings)) {
if (key.startsWith(baseKey)) {
output[subKey(key)] = value;
}
}
if (options?.includeConstants) {
for (const [key, value] of Object.entries(this.constants_)) {
if (key.startsWith(baseKey)) {
output[subKey(key)] = value;
}
}
}
return output;
}

View File

@@ -1118,7 +1118,7 @@ const builtInMetadata = (Setting: typeof SettingType) => {
label: () => `${_('Enable file:// URLs for images and videos')}${wysiwygYes}`,
},
'markdown.plugin.abc.options': { storage: SettingStorage.File, isGlobal: true, value: '', type: SettingItemType.String, section: 'markdownPlugins', public: true, appTypes: [AppType.Mobile, AppType.Desktop], label: () => `${_('ABC musical notation: Options')}${wysiwygNo}`, description: () => _('Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %1', 'https://paulrosen.github.io/abcjs/visual/render-abc-options.html') },
'markdown.plugin.abc.options': { storage: SettingStorage.File, isGlobal: true, value: '', type: SettingItemType.String, section: 'markdownPlugins', public: true, appTypes: [AppType.Mobile, AppType.Desktop], label: () => `${_('ABC musical notation: Options')}${wysiwygNo}`, description: () => _('Options that should be used whenever rendering ABC code. It must be a JSON5 object. The full list of options is available at: %s', 'https://paulrosen.github.io/abcjs/visual/render-abc-options.html') },
// Tray icon (called AppIndicator) doesn't work in Ubuntu
// http://www.webupd8.org/2017/04/fix-appindicator-not-working-for.html

View File

@@ -231,7 +231,7 @@ describe('InteropService_Importer_OneNote', () => {
const noteToTest = notes.find(n => n.title === 'Tips from a Pro Using Trees for Dramatic Landscape Photography');
expectWithInstructions(noteToTest).toBeTruthy();
expectWithInstructions(noteToTest.body).toContain('<a href="onenote:https://d.docs.live.net/c8d3bbab7f1acf3a/Documents/Photography/%E9%A3%8E%E6%99%AF.one#Tips%20from%20a%20Pro%20Using%20Trees%20for%20Dramatic%20Landscape%20Photography&section-id={262ADDFB-A4DC-4453-A239-0024D6769962}&page-id={88D803A5-4F43-48D4-9B16-4C024F5787DC}&end" style="">Tips from a Pro: Using Trees for Dramatic Landscape Photography</a>');
expectWithInstructions(noteToTest.body).toContain('<a href="onenote:https://d.docs.live.net/c8d3bbab7f1acf3a/Documents/Photography/%E9%A3%8E%E6%99%AF.one#Tips%20from%20a%20Pro%20Using%20Trees%20for%20Dramatic%20Landscape%20Photography&amp;section-id={262ADDFB-A4DC-4453-A239-0024D6769962}&amp;page-id={88D803A5-4F43-48D4-9B16-4C024F5787DC}&amp;end" style="">Tips from a Pro: Using Trees for Dramatic Landscape Photography</a>');
});
it('should render links properly by ignoring wrongly set indices when the first character is a hyperlink marker', async () => {

View File

@@ -69,6 +69,8 @@ export default class InteropService_Importer_OneNote extends InteropService_Impo
// other files.
fileNamePattern: '*.one',
});
await this.fixIncorrectLatin1Decoding_(extractPath);
} else {
throw new Error(`Unknown file extension: ${fileExtension}`);
}
@@ -108,7 +110,10 @@ export default class InteropService_Importer_OneNote extends InteropService_Impo
try {
await oneNoteConverter(notebookFilePath, resolve(outputDirectory2), notebookBaseDir);
} catch (error) {
this.options_.onError?.(error);
// Forward only the error message. Usually the stack trace points to bytes in the WASM file.
// It's very difficult to use and can cause the error report to be longer than the maximum
// length for auto-creating a forum post:
this.options_.onError?.(error.message ?? error);
console.error(error);
}
}
@@ -177,6 +182,7 @@ export default class InteropService_Importer_OneNote extends InteropService_Impo
const pipeline = [
(dom: Document, currentFolder: string) => this.extractSvgsToFiles_(dom, currentFolder),
(dom: Document, currentFolder: string) => this.convertExternalLinksToInternalLinks_(dom, currentFolder),
(dom: Document, _currentFolder: string) => Promise.resolve(this.simplifyHtml_(dom)),
];
for (const file of htmlFiles) {
@@ -234,6 +240,28 @@ export default class InteropService_Importer_OneNote extends InteropService_Impo
return changed;
}
private simplifyHtml_(dom: Document) {
const selectors = [
// <script> blocks that aren't marked with a specific type (e.g. application/tex).
'script:not([type])',
// ID mappings (unused at this stage of the import process)
'meta[name="X-Original-Page-Id"]',
// Empty iframes
'iframe[src=""]',
];
let changed = false;
for (const selector of selectors) {
for (const element of dom.querySelectorAll(selector)) {
element.remove();
changed = true;
}
}
return changed;
}
private async extractSvgsToFiles_(dom: Document, svgBaseFolder: string) {
const { svgs, changed } = this.extractSvgs(dom);
@@ -295,4 +323,47 @@ export default class InteropService_Importer_OneNote extends InteropService_Impo
changed: true,
};
}
// Works around a decoding issue in which file names are extracted as latin1 strings,
// rather than UTF-8 strings. For example, OneNote seems to encode filenames as UTF-8 in .onepkg files.
// However, EXPAND.EXE reads the filenames as latin1. As a result, "é.one" becomes
// "é.one" when extracted from the archive.
// This workaround re-encodes filenames as UTF-8.
private async fixIncorrectLatin1Decoding_(parentDir: string) {
// Only seems to be necessary on Windows.
if (!shim.isWindows()) return;
const fixEncoding = async (basePath: string, fileName: string) => {
const originalPath = join(basePath, fileName);
let newPath;
let fixedFileName = Buffer.from(fileName, 'latin1').toString('utf8');
if (fixedFileName !== fileName) {
// In general, the path shouldn't start with "."s or contain path separators.
// However, if it does, these characters might cause import errors, so remove them:
fixedFileName = fixedFileName.replace(/^\.+/, '');
fixedFileName = fixedFileName.replace(/[/\\]/g, ' ');
// Avoid path traversal: Ensure that the file path is contained within the base directory
const newFullPathSafe = shim.fsDriver().resolveRelativePathWithinDir(basePath, fixedFileName);
await shim.fsDriver().move(originalPath, newFullPathSafe);
newPath = newFullPathSafe;
} else {
newPath = originalPath;
}
if (await shim.fsDriver().isDirectory(originalPath)) {
const children = await shim.fsDriver().readDirStats(newPath, { recursive: false });
for (const child of children) {
await fixEncoding(originalPath, child.path);
}
}
};
const stats = await shim.fsDriver().readDirStats(parentDir, { recursive: false });
for (const stat of stats) {
await fixEncoding(parentDir, stat.path);
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -77,13 +77,19 @@ impl DataElementPackage {
cell: ExGuid,
storage_index: &StorageIndex,
) -> Result<Vec<&ObjectGroup>> {
let revision_id = self
.find_cell_revision_id(cell)
.ok_or_else(|| ErrorKind::MalformedFssHttpBData("cell revision id not found".into()))?;
let revision_mapping_id = storage_index
.find_revision_mapping_id(revision_id)
let revision_mapping_id = self
.resolve_cell_revision_manifest_id(storage_index, cell)
.or_else(|| {
storage_index
.cell_mappings
.values()
.find(|mapping| mapping.id == cell)
.and_then(|mapping| {
storage_index.find_revision_mapping_by_serial(&mapping.serial)
})
})
.ok_or_else(|| {
ErrorKind::MalformedFssHttpBData("revision mapping id not found".into())
ErrorKind::MalformedFssHttpBData("revision manifest id not found".into())
})?;
let revision_manifest = self
.find_revision_manifest(revision_mapping_id)
@@ -112,16 +118,46 @@ impl DataElementPackage {
self.storage_indexes.values().next()
}
/// Look up a storage index by its ID.
pub(crate) fn find_storage_index_by_id(&self, id: ExGuid) -> Option<&StorageIndex> {
self.storage_indexes.get(&id)
}
/// Find the first storage manifest.
pub(crate) fn find_storage_manifest(&self) -> Option<&StorageManifest> {
self.storage_manifests.values().next()
}
/// Resolve a revision manifest ID, falling back when revision mappings are missing.
pub(crate) fn resolve_revision_manifest_id(
&self,
storage_index: &StorageIndex,
id: ExGuid,
) -> Option<ExGuid> {
storage_index
.find_revision_mapping_id(id)
.or_else(|| self.revision_manifests.get(&id).map(|_| id))
}
/// Look up a cell revision ID by the cell's manifest ID.
pub(crate) fn find_cell_revision_id(&self, id: ExGuid) -> Option<ExGuid> {
self.cell_manifests.get(&id).copied()
}
/// Resolve a cell's revision manifest ID, with a fallback for newer files.
pub(crate) fn resolve_cell_revision_manifest_id(
&self,
storage_index: &StorageIndex,
cell_manifest_id: ExGuid,
) -> Option<ExGuid> {
let resolved = self
.find_cell_revision_id(cell_manifest_id)
.and_then(|revision_id| self.resolve_revision_manifest_id(storage_index, revision_id))
.or_else(|| self.resolve_revision_manifest_id(storage_index, cell_manifest_id));
resolved
}
/// Look up a revision manifest by its ID.
pub(crate) fn find_revision_manifest(&self, id: ExGuid) -> Option<&RevisionManifest> {
self.revision_manifests.get(&id)
@@ -189,7 +225,7 @@ impl DataElement {
return Err(ErrorKind::MalformedFssHttpBData(
format!("invalid element type: 0x{:X}", x).into(),
)
.into())
.into());
}
}

View File

@@ -32,6 +32,15 @@ impl StorageIndex {
.get(&id)
.map(|mapping| mapping.revision_mapping)
}
pub(crate) fn find_revision_mapping_by_serial(&self, serial: &SerialNumber) -> Option<ExGuid> {
self.revision_mappings
.values()
.find(|mapping| {
mapping.serial.guid == serial.guid && mapping.serial.serial == serial.serial
})
.map(|mapping| mapping.revision_mapping)
}
}
/// A storage indexes manifest mapping.

View File

@@ -71,7 +71,8 @@ pub(crate) fn parse_store(package: &OneStorePackaging) -> Result<FssHttpbOneStor
// [ONESTORE] 2.7.1: Parse storage manifest
let storage_index = package
.data_element_package
.find_storage_index()
.find_storage_index_by_id(package.storage_index)
.or_else(|| package.data_element_package.find_storage_index())
.ok_or_else(|| ErrorKind::MalformedOneStoreData("storage index is missing".into()))?;
let storage_manifest = package
.data_element_package

View File

@@ -7,7 +7,7 @@ use crate::fsshttpb_onestore::revision_role::RevisionRole;
use crate::onestore;
use crate::shared::cell_id::CellId;
use crate::shared::exguid::ExGuid;
use parser_utils::errors::Result;
use parser_utils::errors::{ErrorKind, Result};
use std::collections::HashMap;
pub(crate) type GroupData<'a> = HashMap<(ExGuid, u64), &'a ObjectGroupData>;
@@ -58,16 +58,31 @@ impl<'b> ObjectSpace {
let context_id = cell_id.0;
let object_space_id = cell_id.1;
let cell_manifest_id = ObjectSpace::find_cell_manifest_id(mapping.id, packaging)
.ok_or_else(|| parser_error!(MalformedOneStoreData, "cell manifest id not found"))?;
let revision_manifest_id = storage_index
.find_revision_mapping_id(cell_manifest_id)
.ok_or_else(|| {
parser_error!(
MalformedOneStoreData,
"No revision manifest id found. (Unable to find revision?)."
)
})?;
let cell_revision_id = packaging
.data_element_package
.find_cell_revision_id(mapping.id);
let revision_manifest_id = packaging
.data_element_package
.resolve_cell_revision_manifest_id(storage_index, mapping.id)
.or_else(|| storage_index.find_revision_mapping_by_serial(&mapping.serial));
if revision_manifest_id.is_none() && cell_revision_id.map(|id| id.is_nil()).unwrap_or(false)
{
return Ok((
cell_id,
ObjectSpace {
id: object_space_id,
context: context_id,
roots: HashMap::new(),
objects: HashMap::new(),
},
));
}
let revision_manifest_id = revision_manifest_id.ok_or_else(|| {
ErrorKind::MalformedOneStoreData("no revision manifest id found".into())
})?;
let mut objects = HashMap::new();
let mut roots = HashMap::new();
@@ -98,15 +113,4 @@ impl<'b> ObjectSpace {
Ok((cell_id, space))
}
fn find_cell_manifest_id(
cell_manifest_id: ExGuid,
packaging: &OneStorePackaging,
) -> Option<ExGuid> {
packaging
.data_element_package
.cell_manifests
.get(&cell_manifest_id)
.copied()
}
}

View File

@@ -42,10 +42,11 @@ impl Revision {
.base_rev_id
.as_option()
.map(|mapping_id| {
storage_index
.find_revision_mapping_id(mapping_id)
packaging
.data_element_package
.resolve_revision_manifest_id(storage_index, mapping_id)
.ok_or_else(|| {
ErrorKind::MalformedOneStoreData("revision mapping not found".into())
ErrorKind::MalformedOneStoreData("revision manifest id not found".into())
})
})
.transpose()?;

View File

@@ -25,10 +25,14 @@ impl<'a> Renderer<'a> {
let file_type = Self::guess_type(file);
match file_type {
// TODO: we still don't have support for the audio tag on html notes https://github.com/laurent22/joplin/issues/11939
// TODO: As of 01-06-2026, Joplin has limited or no support for <video> and <audio> elements in HTML notes.
// For example, <video> elements can only reference web URLs and <audio> elements aren't
// supported at all.
//
// See also: https://github.com/laurent22/joplin/issues/11939.
// FileType::Audio => content = format!("<audio class=\"media-player media-audio\"controls><source src=\"{}\" type=\"audio/x-wav\"></source></audio>", filename),
FileType::Video => content = format!("<video controls src=\"{}\" {}></video>", filename, styles.to_html_attr()),
FileType::Unknown | FileType::Audio => {
// FileType::Video => content = format!("<video controls src=\"{}\" {}></video>", filename, styles.to_html_attr()),
FileType::Unknown | FileType::Audio | FileType::Video => {
styles.set("font-size", "11pt".into());
styles.set("line-height", "17px".into());
let style_attr = styles.to_html_attr();

View File

@@ -16,6 +16,8 @@ pub(crate) struct RenderedSection {
pub(crate) section_dir: String,
}
const ERRORS_NOTE_NAME: &str = "⚠️ Errors ⚠️";
impl Renderer {
pub fn new() -> Self {
Renderer {
@@ -81,11 +83,11 @@ impl Renderer {
let toc_path = self.write_html_file(&output_dir, section.display_name(), &toc_html)?;
log!("ToC: {}", toc_path);
if let Some(errors_path) = errors_path {
if errors_path.is_some() {
Err(ErrorKind::RenderFailed(format!(
"Some pages failed to render. First error: {:?}. Full error report written to {}",
errors.first(),
errors_path
ERRORS_NOTE_NAME,
))
.into())
} else {
@@ -136,7 +138,7 @@ impl Renderer {
Ok(TocEntry {
level: 1,
is_error: true,
name: "⚠️ Errors ⚠️".into(),
name: ERRORS_NOTE_NAME.into(),
relative_path: fs_driver().remove_prefix(&errors_path, &output_dir).into(),
})
}

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en">
<html>
<head>
<meta charset="UTF-8">
<title>{{ name }}</title>

View File

@@ -2,14 +2,22 @@ const { execCommand } = require('@joplin/utils');
const yargs = require('yargs');
async function main() {
if (!process.env.IS_CONTINUOUS_INTEGRATION) {
const argv = yargs.argv;
if (!argv.profile) throw new Error('OneNote build: profile value is missing');
if (!['release', 'dev'].includes(argv.profile)) throw new Error('OneNote build: profile value is invalid');
const isDevBuild = argv.profile === 'dev';
if (!isDevBuild && !process.env.IS_CONTINUOUS_INTEGRATION) {
// eslint-disable-next-line no-console
console.info(
console.info([
'----------------------------------------------------------------\n' +
'Not building onenote-converter because it is not a continuous integration environment.\n' +
'Use IS_CONTINUOUS_INTEGRATION=1 env var if build is necessary.\n' +
'Not building onenote-converter because it is not a continuous integration environment.',
'',
'Either:',
' - Re-run with the IS_CONTINUOUS_INTEGRATION environment variable set to 1.',
' - Run "yarn buildDev" to create a development build.',
'----------------------------------------------------------------',
);
].join('\n'));
return;
}
@@ -20,15 +28,12 @@ async function main() {
return;
}
const argv = yargs.argv;
if (!argv.profile) throw new Error('OneNote build: profile value is missing');
if (!['release', 'dev'].includes(argv.profile)) throw new Error('OneNote build: profile value is invalid');
const buildCommand = `wasm-pack build --target nodejs --${argv.profile} ./renderer`;
await execCommand(buildCommand);
if (argv.profile !== 'release') return;
if (isDevBuild) return;
// If release build, remove intermediary folder to decrease size of release
const removeIntermediaryFolder = 'cargo clean';

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