1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

Merge branch 'dev' of github.com:laurent22/joplin into dev

This commit is contained in:
Laurent Cozic 2022-12-22 13:19:35 +00:00
commit 60c4045000
116 changed files with 2726 additions and 1871 deletions

View File

@ -894,9 +894,9 @@ packages/app-mobile/components/NoteBodyViewer/hooks/useSource.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/createEditor.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/createEditor.js
packages/app-mobile/components/NoteEditor/CodeMirror/createEditor.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js.map
@ -927,6 +927,12 @@ packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/theme.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js.map

36
.github/workflows/cla.yml vendored Normal file
View File

@ -0,0 +1,36 @@
name: "CLA Assistant"
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]
jobs:
CLAAssistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
# Beta Release
uses: contributor-assistant/github-action@v2.2.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'readme/cla_signatures.json'
path-to-document: 'https://github.com/laurent22/joplin/blob/dev/readme/cla.md' # e.g. a CLA or a DCO document
# branch should not be protected
branch: 'dev'
allowlist: joplinbot,renovate[bot]
# the followings are the optional inputs - If the optional inputs are not given, then default values will be taken
#remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository)
#remote-repository-name: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same repository)
#create-file-commit-message: 'For example: Creating file for storing CLA Signatures'
#signed-commit-message: 'For example: $contributorName has signed the CLA in #$pullRequestNo'
#custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign'
#custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA'
#custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA.'
#lock-pullrequest-aftermerge: false - if you don't want this bot to automatically lock the pull request after merging (default - true)
#use-dco-flag: true - If you are using DCO instead of CLA

View File

@ -13,7 +13,8 @@ jobs:
Main:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
# We always process server or desktop release tags, because they also publish the release
if: needs.pre_job.outputs.should_skip != 'true' || startsWith(github.ref, 'refs/tags/server-v') || startsWith(github.ref, 'refs/tags/v')
runs-on: ${{ matrix.os }}
strategy:
matrix:

12
.gitignore vendored
View File

@ -882,9 +882,9 @@ packages/app-mobile/components/NoteBodyViewer/hooks/useSource.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/createEditor.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/createEditor.js
packages/app-mobile/components/NoteEditor/CodeMirror/createEditor.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/CodeMirror.test.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js
packages/app-mobile/components/NoteEditor/CodeMirror/decoratorExtension.js.map
@ -915,6 +915,12 @@ packages/app-mobile/components/NoteEditor/CodeMirror/markdownReformatter.test.js
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js
packages/app-mobile/components/NoteEditor/CodeMirror/syntaxHighlightingLanguages.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/createEditor.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js
packages/app-mobile/components/NoteEditor/CodeMirror/testUtil/forceFullParse.js.map
packages/app-mobile/components/NoteEditor/CodeMirror/theme.d.ts
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js
packages/app-mobile/components/NoteEditor/CodeMirror/theme.js.map

File diff suppressed because one or more lines are too long

View File

@ -6,7 +6,7 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
spec: "@yarnpkg/plugin-workspace-tools"
yarnPath: .yarn/releases/yarn-3.3.0.cjs
yarnPath: .yarn/releases/yarn-3.3.1.cjs
logFilters:

View File

@ -954,6 +954,10 @@ footer .bottom-links-row p {
display: none;
}
#nav-section a {
margin-left: 4px;
}
}
/*****************************************************************

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -39,7 +39,7 @@ msgstr "<span class=\"frame-bg frame-bg-yellow\">多媒体</span>说明"
msgid "100% <span class=\"frame-bg frame-bg-yellow-lg\">your data</span>"
msgstr "百分之百<span class=\"frame-bg frame-bg-yellow-lg\">你的数据</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:284
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:298
msgid "A <span class=\"frame-bg frame-bg-yellow-lg\">French</span> Alternative"
msgstr "一个<span class=\"frame-bg frame-bg-yellow-lg\">法国</span>的替代方案"
@ -80,7 +80,7 @@ msgstr "下载该应用程序"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:213
msgid "Find out more"
msgstr ""
msgstr "了解更多"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:54
msgid "Free your <span class=\"frame-bg frame-bg-blue\">notes</span>"
@ -99,7 +99,7 @@ msgstr ""
"Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受限"
"制,以及您的使用数据的完全透明和安全。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:327
msgid "In the <span class=\"frame-bg frame-bg-yellow\">Press</span>"
msgstr ""
@ -107,6 +107,15 @@ msgstr ""
msgid "Joplin Cloud <span class=\"frame-bg frame-bg-yellow\">plans</span>"
msgstr "乔普林云<span class=\"frame-bg frame-bg-yellow\">计划</span>"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
msgid ""
"Joplin Cloud is based in France. This means your data is protected by strict "
"European Union privacy laws. In addition, Joplin Cloud implements strong end-"
"to-end encryption so that not even us can have access to your data."
msgstr ""
"Joplin Cloud 位于法国。 这意味着您的数据受到严格的欧盟隐私法的保护。 此外,"
"Joplin Cloud 实施了强大的端到端加密,因此即使是我们也无法访问您的数据。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid ""
"Joplin is an open source note-taking app. Capture your thoughts and securely "
@ -114,20 +123,11 @@ msgid ""
msgstr ""
"Joplin是一个开源的记事本应用程序。捕捉你的想法并从任何设备上安全地访问它们。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:287
msgid ""
"Joplin, due to its origin and design, adapts and respects Chinese standards "
"and rules. This guarantees your unrestricted use and complete transparency "
"and security of your usage data."
msgstr ""
"Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受限"
"制,以及您的使用数据的完全透明和安全。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:262
msgid "More about E2EE"
msgstr ""
msgstr "关于E2EE的更多信息"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:365
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:391
msgid "Our <span class=\"frame-bg frame-bg-blue-lg\">sponsors</span>"
msgstr ""
@ -148,7 +148,7 @@ msgstr "保存<span class=\"frame-bg frame-bg-blue\">网页</span> <br>作为笔
msgid "Sign up with Joplin Cloud"
msgstr "与乔布林云签约"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:368
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:394
msgid "Thank you for your support!"
msgstr ""
@ -184,7 +184,7 @@ msgstr "<span class=\"frame-bg frame-bg-yellow\">一起</span>工作"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:141
msgid ""
"You can also publish a note to the internet and share the URL with others."
msgstr ""
msgstr "您还可以将笔记发布到 Internet 并与其他人共享 URL。"
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:233
msgid ""
@ -192,3 +192,11 @@ msgid ""
"are"
msgstr ""
"你的笔记<span class=\"frame-bg frame-bg-blue-lg\">你在哪里都可以</span>"
#~ msgid ""
#~ "Joplin, due to its origin and design, adapts and respects Chinese "
#~ "standards and rules. This guarantees your unrestricted use and complete "
#~ "transparency and security of your usage data."
#~ msgstr ""
#~ "Joplin,由于其起源和设计,适应并尊重中国的标准和规则。这保证了您的使用不受"
#~ "限制,以及您的使用数据的完全透明和安全。"

View File

@ -1,4 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Joplin]]></title><description><![CDATA[Joplin, the open source note-taking application]]></description><link>https://joplinapp.org</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Nov 2022 00:00:00 GMT</lastBuildDate><atom:link href="https://joplinapp.org/rss.xml" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Nov 2022 00:00:00 GMT</pubDate><item><title><![CDATA[Modernising and securing Joplin, one package at a time]]></title><description><![CDATA[<p>If you watch the <a href="https://github.com/laurent22/joplin">Joplin source code repository</a>, you may have noticed a lot of Renovate pull requests lately. This <a href="https://www.mend.io/free-developer-tools/renovate/">Renovate tool</a> is a way to manage dependencies - it automatically finds what needs to be updated, then upgrade it to the latest version, and create a pull request. If all tests pass, we can then merge this pull request. So far we have merged 267 of these pull requests.</p>
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Joplin]]></title><description><![CDATA[Joplin, the open source note-taking application]]></description><link>https://joplinapp.org</link><generator>RSS for Node</generator><lastBuildDate>Wed, 21 Dec 2022 00:00:00 GMT</lastBuildDate><atom:link href="https://joplinapp.org/rss.xml" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Dec 2022 00:00:00 GMT</pubDate><item><title><![CDATA[Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0)]]></title><description><![CDATA[<p>As was <a href="https://discourse.joplinapp.org/t/rfc-switch-to-agpl-license-for-joplin-server/16529">discussed last year</a>, Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0) for the desktop, mobile and CLI applications, as well as the web clipper.</p>
<p>Any open source or commercial fork of Joplin will have to license any changes they make under AGPL, and share these changes back with the community. This is the main reason we switch to this license. It allows us to continue releasing the project as open source while ensuring that those who benefit commercially (or not) from it share back their changes.</p>
<h2>What is the GPL license?<a name="what-is-the-gpl-license" href="#what-is-the-gpl-license" class="heading-anchor">🔗</a></h2>
<p>The AGPL license is based on the GPL license. This is what tldr;Legal has to say about the GPL license:</p>
<blockquote>
<p>You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build &amp; install instructions. (<a href="https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)">source</a>)</p>
</blockquote>
<h2>What is the AGPL license?<a name="what-is-the-agpl-license" href="#what-is-the-agpl-license" class="heading-anchor">🔗</a></h2>
<p>This is the license we'll use for Joplin from now on:</p>
<blockquote>
<p>The AGPL license differs from the other GNU licenses in that it was built for network software. You can distribute modified versions if you keep track of the changes and the date you made them. As per usual with GNU licenses, you must license derivatives under AGPL. It provides the same restrictions and freedoms as the GPLv3 but with an additional clause which makes it so that source code must be distributed along with web publication. Since web sites and services are never distributed in the traditional sense, the AGPL is the GPL of the web. (<a href="https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0)">source</a>)</p>
</blockquote>
<h2>What does it change for users?<a name="what-does-it-change-for-users" href="#what-does-it-change-for-users" class="heading-anchor">🔗</a></h2>
<p>There is no changes for users of Joplin - the apps remain open sources and you can still use them freely.</p>
<h2>What does it change for developers?<a name="what-does-it-change-for-developers" href="#what-does-it-change-for-developers" class="heading-anchor">🔗</a></h2>
<p>Any code you develop for Joplin will also remain open source. The only difference is that we'll ask to sign an Individual Contributor License Agreement (CLA) to ensure that the copyright of the entire codebase remains with the Joplin organisation. This is necessary so that if we ever want to change the license again we are able to do so without having to get the agreement of each individual contributor afterwards (which would be nearly impossible).</p>
<p>This is a bit of an extra constraint but it is hard to avoid. Contributor License Agreements are very common for GPL or AGPL projects. For example Apache, Canonical or Python all require their contributors to sign a CLA.</p>
<h2>Questions?<a name="questions" href="#questions" class="heading-anchor">🔗</a></h2>
<p>If you have any questions please let us know. Overall we believe this is a positive improvements for Joplin as it means any work derives from it will also benefit the project.</p>
]]></description><link>https://joplinapp.org/news/20221221-agpl/</link><guid isPermaLink="false">20221221-agpl</guid><pubDate>Wed, 21 Dec 2022 00:00:00 GMT</pubDate><twitter-text>Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0)</twitter-text></item><item><title><![CDATA[What's new in Joplin 2.9]]></title><description><![CDATA[<h2>Proxy support<a name="proxy-support" href="#proxy-support" class="heading-anchor">🔗</a></h2>
<p>Both the desktop and mobile application now support proxies thanks to the work of Jason Williams. This will allow you to use the apps in particular when you are behind a company proxy.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-proxy-support.png" alt=""></p>
<h2>New PDF viewer<a name="new-pdf-viewer" href="#new-pdf-viewer" class="heading-anchor">🔗</a></h2>
<p>The desktop application now features a new PDF viewer thanks to the work of Asrient during GSoC.</p>
<p>The main advantage for now is that this viewer preserves the last PDF page that was read. In the next version, the viewer will also include a way to annotate PDF files.</p>
<h2>Multi-language spell checking<a name="multi-language-spell-checking" href="#multi-language-spell-checking" class="heading-anchor">🔗</a></h2>
<p>The desktop app include a multi-language spell checking features, which allows you, for example, to spell-check notes in your native language and in English.</p>
<h2>New mobile text editor<a name="new-mobile-text-editor" href="#new-mobile-text-editor" class="heading-anchor">🔗</a></h2>
<p>Writing formatted notes on mobile has always been cumbersome due to the need to enter special format characters like <code>*</code> or <code>[</code>, etc.</p>
<p>Thanks to the work of Henry Heino during GSoC, writing notes on the go is now easier thanks to an improved Markdown editor.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-mobile-beta-editor.png" alt=""></p>
<p>The most visible feature is the addition of a toolbar, which helps input those special characters, like on desktop.</p>
<p>Moreover Henry made a lot of subtle but useful improvements to the editor, for example to improve the note appearance, to improve list continuation, etc. Search within a note is now also supported as well as spell-checking.</p>
<p>At a more technical level, Henry also added many test units to ensure that the editor remains robust and reliable.</p>
<p>To enable the feature, go to the configuration screen and selected &quot;Opt-in to the editor beta&quot;. It is already very stable so we will probably promote it to be the main editor from the next version.</p>
<h2>Improved alignment of notebook icons<a name="improved-alignment-of-notebook-icons" href="#improved-alignment-of-notebook-icons" class="heading-anchor">🔗</a></h2>
<p>Previously, when you would assign an icon to a notebook, it would shift the title to the right, but notebook without an icon would not. It means that notebooks with and without an icon would not be vertically aligned.</p>
<p>To tidy things up, this new version adds a default icons to notebooks without an explicitly assigned icon. This result in the notebook titles being correctly vertically aligned.</p>
<p>Note that this feature is only enabled if you use custom icons - otherwise it will simply display the notebook titles without any default icons, as before.</p>
<p><img src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20221216-notebook-icons.png" alt=""></p>
<h2>Improved handling of file attachments<a name="improved-handling-of-file-attachments" href="#improved-handling-of-file-attachments" class="heading-anchor">🔗</a></h2>
<p>Self Not Found made a number of small but useful improvements to attachment handling, including increasing the maximum size to 200MB, adding support for attaching multiple files, and fixing issues with synchronising attachments via proxy.</p>
<h2>Fixed filesystem sync on mobile<a name="fixed-filesystem-sync-on-mobile" href="#fixed-filesystem-sync-on-mobile" class="heading-anchor">🔗</a></h2>
<p>This was a long and complex change due to the need to support new Android APIs but hopefully that should now be working again, thanks to the work of jd1378.</p>
<p>So you can now sync again your notes with Syncthing and other file-based synchronisation systems.</p>
<h2>And more...<a name="and-more" href="#and-more" class="heading-anchor">🔗</a></h2>
<p>In total this new desktop version includes 36 improvements, bug fixes, and security fixes.</p>
<p>As always, a lot of work went into the Android and iOS app too, which include 37 improvements, bug fixes, and security fixes.</p>
<p>See here for the changelogs:</p>
<ul>
<li><a href="https://joplinapp.org/changelog/">Desktop app changelog</a></li>
<li><a href="https://joplinapp.org/changelog_android/">Android app changelog</a></li>
</ul>
<h2>About the Android version<a name="about-the-android-version" href="#about-the-android-version" class="heading-anchor">🔗</a></h2>
<p>Unfortunately we cannot publish the Android version because it is based on a framework version that Google does not accept. To upgrade the app a lot of changes are needed and another round of pre-releases, and therefore there will not be a 2.9 version for Google Play. You may however download the official APK directly from there: <a href="https://github.com/laurent22/joplin-android/releases/tag/android-v2.9.8">Android 2.9 Official Release</a></p>
<p>This is the reality of app stores in general - small developers being imposed never ending new requirements by all-powerful companies, and by the time a version is finally ready we can't even publish it because yet more requirements are in place.</p>
<p>For the record the current 2.9 app works perfectly fine. It targets Android 11, which is only 2 years old and is still supported (and installed on millions of phones). Google requires us to target Android 12 which only came out last year.</p>
]]></description><link>https://joplinapp.org/news/20221216-release-2-9/</link><guid isPermaLink="false">20221216-release-2-9</guid><pubDate>Fri, 16 Dec 2022 00:00:00 GMT</pubDate><twitter-text>What&apos;s new in Joplin 2.9</twitter-text></item><item><title><![CDATA[Joplin is hiring!]]></title><description><![CDATA[<p>Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device.</p>
<p>We are looking to hire two JavaScript software developers to work on the desktop, mobile, and server applications. All those are built using modern technologies, including React, React Native and Electron with a strong focus on test units.</p>
<p>You need to demonstrate some experience with at least some of these technologies, and willing to learn more and touch various different projects.</p>
<p>You will be part of a small team, so you will have an opportunity for a high-impact role, targeting hundreds of thousands of users.</p>
<p>If you're interested please contact us at job-AT-joplin.cloud</p>
<p>No agencies please.</p>
]]></description><link>https://joplinapp.org/news/20221209-job/</link><guid isPermaLink="false">20221209-job</guid><pubDate>Fri, 09 Dec 2022 00:00:00 GMT</pubDate><twitter-text>Joplin is hiring!</twitter-text></item><item><title><![CDATA[Modernising and securing Joplin, one package at a time]]></title><description><![CDATA[<p>If you watch the <a href="https://github.com/laurent22/joplin">Joplin source code repository</a>, you may have noticed a lot of Renovate pull requests lately. This <a href="https://www.mend.io/free-developer-tools/renovate/">Renovate tool</a> is a way to manage dependencies - it automatically finds what needs to be updated, then upgrade it to the latest version, and create a pull request. If all tests pass, we can then merge this pull request. So far we have merged 267 of these pull requests.</p>
<p>Updating Joplin packages was long due. It is necessary so that we don't fall behind and end up using unsupported or deprecated packages. We also benefit from bug fixes and performance improvements. It is also important in terms of security, since recent package versions usually include various security fixes.</p>
<p>We used to rely on a tool called &quot;npm audit&quot; to do this, however it no longer works on the Joplin codebase, and it was always risky to use it since it would update multiple packages in one command - so if something went wrong it was difficult to find the culprit.</p>
<p>Renovate on the other hand upgrades packages one at a time, and run our test units to ensure everything is still working as expected. It also upgrades multiple instances of the same package across the monorepo, which is convenient to keep our code consistent. It also has a number of options to make our life easier, such as the ability to automatically merge a pull request for patch releases since this is usually safe (when a package is, for example upgraded from 1.0.1 to 1.0.3).</p>
@ -230,29 +293,4 @@
<p>Of course Joplin still supports other sync options such as Nextcloud, Dropbox and OneDrive or AWS S3. You can also self host using Joplin Server. The advantage of Joplin Cloud being that you don't need to maintain a server yourself - for a small fee you'll get that taken care of.</p>
<p>Additionally, subscribing to Joplin Cloud is a great way to support the project as a whole, including the open source applications. Such support is needed in the long term to provide bug and security fixes, add new features, and provide support.</p>
<p>At some level it is also an experiment, to see if such a service is financially viable and can allow me to work full time on the project. This is certainly something I would like, and perhaps Joplin Cloud combined with your donations will allow that.</p>
]]></description><link>https://joplinapp.org/news/20210831-154354/</link><guid isPermaLink="false">20210831-154354</guid><pubDate>Tue, 31 Aug 2021 15:43:54 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[How to start your subscription if you have a free Joplin Cloud Beta account]]></title><description><![CDATA[<p>For anyone with a beta account, if you would like to keep using it after the end of the trial period, there is now a button to do this from the Joplin Cloud home page:</p>
<img height="222" src="https://aws1.discourse-cdn.com/standard14/uploads/cozic/optimized/2X/e/e2b54352d0e401e692a75817f6faa0432322c405_2_517x222.png" width="517">
<p>If you click on it you will be sent to the Plans page via a special link. Then once you click on &quot;Buy now&quot; you will be sent to the Stripe page where you can start the subscription.</p>
<p>As mentioned in the message, the process takes into account your remaining beta trial days. So for example, if your beta account expires in 60 days, the subscription will have a free 60 days trial period. This is so you don't lose any of the beta trial days no matter when you start the subscription.</p>
<p>If you have any question about it, please let me know.</p>
]]></description><link>https://joplinapp.org/news/20210804-085003/</link><guid isPermaLink="false">20210804-085003</guid><pubDate>Wed, 04 Aug 2021 08:50:03 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[New beta editor for the mobile app]]></title><description><![CDATA[<p>The <a href="https://github.com/laurent22/joplin-android/releases">latest Android pre-release 24</a> features an improved beta editor, which I hope could become a replacement for the very basic editor we have at the moment.</p>
<p>It's still experimental because it's based on the equally experimental CodeMirror 6, however for simple editing tasks it seems to work fine. At the moment the improvements are:</p>
<p>- Syntax highlighting for various tags such as bold, italic and headings.</p>
<p>- List continuation for ordered and unordered lists (I didn't try checklists but I assume it doesn't work)</p>
<p>- Improved undo/redo</p>
<p>- Maybe better handling of large documents? CodeMirror 6 has a demo that loads a document with millions of lines, so maybe that will solve the performance issues that some users were having</p>
<p>If everything works well, later on we should be able to add things like a toolbar, spellchecking and other features that are impossible with the current editor.</p>
<p>If you find any bug, feel free to report here. Also make sure you backup your notes regularly in case there's an issue!</p>
]]></description><link>https://joplinapp.org/news/20210729-103234/</link><guid isPermaLink="false">20210729-103234</guid><pubDate>Thu, 29 Jul 2021 10:32:34 GMT</pubDate><twitter-text></twitter-text></item><item><title><![CDATA[The Jopin Cloud beta is now closed]]></title><description><![CDATA[<p>The beta program helped narrow down a few issues and should make Joplin Cloud (and Joplin Server) more reliable. More precisely:</p>
<ul>
<li>
<p>About 7 bugs have been fixed, including two major ones regarding sharing, and one security issue.</p>
</li>
<li>
<p>About a dozen improvements, new features and optimisations have been added following your feedback.</p>
</li>
</ul>
<p>As promised if you have a beta account you can keep using it and it will remain free for the three months after the account was created. After that, you will receive a link to start the Stripe subscription if you wish to keep using the account.</p>
<p>If you have sent me an email before the end of the beta and I didn't reply yet, I will do so soon, and will send you the confirmation email.</p>
<p>Thanks everyone for participating!</p>
]]></description><link>https://joplinapp.org/news/20210718-103538/</link><guid isPermaLink="false">20210718-103538</guid><pubDate>Sun, 18 Jul 2021 10:35:38 GMT</pubDate><twitter-text></twitter-text></item></channel></rss>
]]></description><link>https://joplinapp.org/news/20210831-154354/</link><guid isPermaLink="false">20210831-154354</guid><pubDate>Tue, 31 Aug 2021 15:43:54 GMT</pubDate><twitter-text></twitter-text></item></channel></rss>

View File

@ -16,6 +16,7 @@
<a href="{{baseUrl}}/news/" class="fw500">News</a>
<a href="{{baseUrl}}/help/" class="fw500">Help</a>
<a href="{{forumUrl}}" class="fw500">Forum</a>
<a href="{{baseUrl}}/cn/" class="fw500">中文</a>
{{#showJoplinCloudLinks}}
{{> joplinCloudButton}}
{{/showJoplinCloudLinks}}
@ -23,6 +24,7 @@
</div>
<div class="col-9 text-right d-block d-md-none navbar-mobile-content">
{{> twitterLink}}
<a href="{{baseUrl}}/cn/" class="fw500">中文</a>
{{> supportButton}}
<span class="pointer"

View File

@ -27,7 +27,7 @@ msgstr ""
msgid "100% <span class=\"frame-bg frame-bg-yellow-lg\">your data</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:284
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:298
msgid "A <span class=\"frame-bg frame-bg-yellow-lg\">French</span> Alternative"
msgstr ""
@ -68,7 +68,7 @@ msgstr ""
msgid "Images, videos, PDFs and audio files are supported. Create math expressions and diagrams directly from the app. Take photos with the mobile app and save them to a note."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:327
msgid "In the <span class=\"frame-bg frame-bg-yellow\">Press</span>"
msgstr ""
@ -76,19 +76,19 @@ msgstr ""
msgid "Joplin Cloud <span class=\"frame-bg frame-bg-yellow\">plans</span>"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid "Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device."
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:301
msgid "Joplin Cloud is based in France. This means your data is protected by strict European Union privacy laws. In addition, Joplin Cloud implements strong end-to-end encryption so that not even us can have access to your data."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:287
msgid "Joplin, due to its origin and design, adapts and respects Chinese standards and rules. This guarantees your unrestricted use and complete transparency and security of your usage data."
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:57
msgid "Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device."
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:262
msgid "More about E2EE"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:365
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:391
msgid "Our <span class=\"frame-bg frame-bg-blue-lg\">sponsors</span>"
msgstr ""
@ -108,7 +108,7 @@ msgstr ""
msgid "Sign up with Joplin Cloud"
msgstr ""
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:368
#: /Users/laurent/src/joplin/Assets/WebsiteAssets/templates/front.mustache:394
msgid "Thank you for your support!"
msgstr ""

View File

@ -43,6 +43,10 @@ If you want to start contributing to the project's code, please follow these gui
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/dev/BUILD.md) for more details.
## Signing the Individual Contributor License Agreement
All contributors to the project must sign our [Individual Contributor License Agreement](https://github.com/laurent22/joplin/blob/dev/readme/cla.md).
## Coding style
Please see [readme/coding_style.md](readme/coding_style.md).

View File

@ -201,14 +201,16 @@ fi
# If a new environment needs to be supported, then the command check section should be re-thought
if [[ $DESKTOP =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.*|.*unity.*|.*x-cinnamon.*|.*deepin.*|.*pantheon.*|.*lxde.*|.*i3.*|.*sway.* ]] || [[ `command -v update-desktop-database` ]]
then
DATA_HOME=${XDG_DATA_HOME:-~/.local/share}
DESKTOP_FILE_LOCATION="$DATA_HOME/applications"
# Only delete the desktop file if it will be replaced
rm -f ~/.local/share/applications/appimagekit-joplin.desktop
rm -f "$DESKTOP_FILE_LOCATION/appimagekit-joplin.desktop"
# On some systems this directory doesn't exist by default
mkdir -p ~/.local/share/applications
mkdir -p "$DESKTOP_FILE_LOCATION"
# Tabs specifically, and not spaces, are needed for indentation with Bash heredocs
cat >> ~/.local/share/applications/appimagekit-joplin.desktop <<-EOF
cat >> "$DESKTOP_FILE_LOCATION/appimagekit-joplin.desktop" <<-EOF
[Desktop Entry]
Encoding=UTF-8
Name=Joplin
@ -224,7 +226,7 @@ then
EOF
# Update application icons
[[ `command -v update-desktop-database` ]] && update-desktop-database ~/.local/share/applications && update-desktop-database ~/.local/share/icons
[[ `command -v update-desktop-database` ]] && update-desktop-database "$DESKTOP_FILE_LOCATION" && update-desktop-database "$DATA_HOME/icons"
print "${COLOR_GREEN}OK${COLOR_RESET}"
else
print "${COLOR_RED}NOT DONE, unknown desktop '${DESKTOP}'${COLOR_RESET}"

28
LICENSE
View File

@ -1,12 +1,13 @@
All code in this repository is licensed under the MIT License **unless a
directory contains a LICENSE or LICENSE.md file**, in which case that file
applies to the code in that sub-directory.
All code in this repository is licensed under the AGPL-3.0-or-later License
**unless a directory contains a LICENSE or LICENSE.md file**, in which case that
file applies to the code in that sub-directory.
For example, packages/server contains a LICENSE.md file, thus all code under the
packages/server directory is licensed under that license.
For example, packages/app-cli does NOT contain a LICENSE file, thus all code
under that directory is licensed under the default license, which is MIT.
under that directory is licensed under the default license, which is
AGPL-3.0-or-later.
* * *
@ -23,23 +24,8 @@ icons please contact the author in order to get a permission.
* * *
MIT License
AGPL-3.0-or-later License
Copyright (c) 2016-2022 Laurent Cozic
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
https://spdx.org/licenses/AGPL-3.0-or-later.html

View File

@ -22,11 +22,11 @@ Three types of applications are available: for **desktop** (Windows, macOS and L
Operating System | Download
---|---
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/Joplin-Setup-2.8.8.exe'><img alt='Get it on Windows' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeWindows.png'/></a>
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/Joplin-2.8.8.dmg'><img alt='Get it on macOS' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeMacOS.png'/></a>
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/Joplin-2.8.8.AppImage'><img alt='Get it on Linux' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeLinux.png'/></a>
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-Setup-2.9.17.exe'><img alt='Get it on Windows' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeWindows.png'/></a>
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-2.9.17.dmg'><img alt='Get it on macOS' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeMacOS.png'/></a>
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/Joplin-2.9.17.AppImage'><img alt='Get it on Linux' width="134px" src='https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/BadgeLinux.png'/></a>
**On Windows**, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v2.8.8/JoplinPortable.exe'>Portable version</a>. The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
**On Windows**, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v2.9.17/JoplinPortable.exe'>Portable version</a>. The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
**On Linux**, the recommended way is to use the following installation script as it will handle the desktop icon too:
@ -537,9 +537,9 @@ Current translations:
<img src="https://joplinapp.org/images/flags/es/catalonia.png" width="16px"/> | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | [Xavi Ivars](mailto:xavi.ivars@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/hr.png" width="16px"/> | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/cz.png" width="16px"/> | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Michal Stanke](mailto:michal@stanke.cz) | 79%
<img src="https://joplinapp.org/images/flags/country-4x3/dk.png" width="16px"/> | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | ERYpTION | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pueblos_spatulas@aleeas.com) | 98%
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 46%
<img src="https://joplinapp.org/images/flags/country-4x3/dk.png" width="16px"/> | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | ERYpTION | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pueblos_spatulas@aleeas.com) | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 45%
<img src="https://joplinapp.org/images/flags/country-4x3/gb.png" width="16px"/> | English (United Kingdom) | [en_GB](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_GB.po) | | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/us.png" width="16px"/> | English (United States of America) | [en_US](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_US.po) | | 100%
<img src="https://joplinapp.org/images/flags/country-4x3/es.png" width="16px"/> | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Francisco Mora](mailto:francisco.m.collao@gmail.com) | 91%
@ -559,7 +559,7 @@ Current translations:
<img src="https://joplinapp.org/images/flags/country-4x3/pt.png" width="16px"/> | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 75%
<img src="https://joplinapp.org/images/flags/country-4x3/ro.png" width="16px"/> | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 52%
<img src="https://joplinapp.org/images/flags/country-4x3/si.png" width="16px"/> | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 83%
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 99%
<img src="https://joplinapp.org/images/flags/country-4x3/th.png" width="16px"/> | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 38%
<img src="https://joplinapp.org/images/flags/country-4x3/vn.png" width="16px"/> | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 80%
<img src="https://joplinapp.org/images/flags/country-4x3/tr.png" width="16px"/> | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 92%
@ -567,7 +567,7 @@ Current translations:
<img src="https://joplinapp.org/images/flags/country-4x3/gr.png" width="16px"/> | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 91%
<img src="https://joplinapp.org/images/flags/country-4x3/ru.png" width="16px"/> | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 83%
<img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/> | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 67%
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [KaneGreen](mailto:737445366KG@Gmail.com) | 96%
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [KaneGreen](mailto:737445366KG@Gmail.com) | 97%
<img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/> | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Kevin Hsu](mailto:kevin.hsu.hws@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/jp.png" width="16px"/> | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 92%
<img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/> | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 92%

View File

@ -64,11 +64,11 @@
},
"devDependencies": {
"@seiyab/eslint-plugin-react-hooks": "4.5.1-beta.0",
"@typescript-eslint/eslint-plugin": "5.45.0",
"@typescript-eslint/parser": "5.45.0",
"@typescript-eslint/eslint-plugin": "5.47.0",
"@typescript-eslint/parser": "5.47.0",
"cspell": "5.21.2",
"eslint": "8.29.0",
"eslint-interactive": "10.2.0",
"eslint": "8.30.0",
"eslint-interactive": "10.3.0",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-promise": "6.1.1",
"eslint-plugin-react": "7.31.11",
@ -80,15 +80,15 @@
"lint-staged": "13.1.0",
"madge": "5.0.1",
"typedoc": "0.17.8",
"typescript": "4.9.3"
"typescript": "4.9.4"
},
"dependencies": {
"@types/fs-extra": "9.0.13",
"http-server": "14.1.1",
"node-gyp": "9.3.0",
"node-gyp": "9.3.1",
"nodemon": "2.0.20"
},
"packageManager": "yarn@3.3.0",
"packageManager": "yarn@3.3.1",
"resolutions": {
"joplin-rn-alarm-notification@1.0.5": "patch:joplin-rn-alarm-notification@npm:1.0.5#.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03"
}

View File

@ -1,7 +1,7 @@
{
"name": "joplin",
"description": "Joplin CLI Client",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"author": "Laurent Cozic",
"private": true,
"scripts": {
@ -34,15 +34,15 @@
],
"owner": "Laurent Cozic"
},
"version": "2.9.1",
"version": "2.10.0",
"bin": "./main.js",
"engines": {
"node": ">=10.0.0"
},
"dependencies": {
"@joplin/lib": "~2.9",
"@joplin/renderer": "~2.9",
"aws-sdk": "2.1267.0",
"@joplin/lib": "~2.10",
"@joplin/renderer": "~2.10",
"aws-sdk": "2.1279.0",
"chalk": "4.1.2",
"compare-version": "0.1.2",
"fs-extra": "11.1.0",
@ -55,9 +55,9 @@
"proper-lockfile": "4.1.2",
"read-chunk": "2.1.0",
"server-destroy": "1.0.1",
"sharp": "0.31.2",
"sharp": "0.31.3",
"sprintf-js": "1.1.2",
"sqlite3": "5.1.2",
"sqlite3": "5.1.4",
"string-padding": "1.0.2",
"strip-ansi": "6.0.1",
"tcp-port-used": "1.0.2",
@ -68,13 +68,13 @@
"yargs-parser": "21.1.1"
},
"devDependencies": {
"@joplin/tools": "~2.9",
"@joplin/tools": "~2.10",
"@types/fs-extra": "9.0.13",
"@types/jest": "29.2.3",
"@types/node": "18.11.10",
"@types/jest": "29.2.4",
"@types/node": "18.11.17",
"gulp": "4.0.2",
"jest": "29.3.1",
"temp": "0.9.4",
"typescript": "4.9.3"
"typescript": "4.9.4"
}
}

View File

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "Joplin Web Clipper [DEV]",
"version": "2.9.0",
"version": "2.10.0",
"description": "Capture and save web pages and screenshots from your browser to Joplin.",
"homepage_url": "https://joplinapp.org",
"content_security_policy": "script-src 'self'; object-src 'self'",

View File

@ -8,5 +8,5 @@
"description": "Joplin Web Clipper",
"main": "main.js",
"author": "Laurent Cozic",
"license": "MIT"
"license": "AGPL-3.0-or-later"
}

View File

@ -158,19 +158,23 @@
for (let i = 0; i < assets.length; i++) {
const asset = assets[i];
// # and ? can be used in valid paths and shouldn't be treated as the start of a query or fragment
const encodedPath = asset.path
.replaceAll('#','%23')
.replaceAll('?','%3F')
const assetId = asset.name ? asset.name : asset.path;
const assetId = asset.name ? asset.name : encodedPath;
if (pluginAssetsAdded_[assetId]) continue;
pluginAssetsAdded_[assetId] = true;
if (asset.mime === 'application/javascript') {
const script = document.createElement('script');
script.src = asset.path;
script.src = encodedPath;
pluginAssetsContainer.appendChild(script);
} else if (asset.mime === 'text/css') {
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = asset.path;
link.href = encodedPath
pluginAssetsContainer.appendChild(link);
}
}

View File

@ -1,6 +1,6 @@
{
"name": "@joplin/app-desktop",
"version": "2.9.17",
"version": "2.10.2",
"description": "Joplin for Desktop",
"main": "main.js",
"private": true,
@ -20,7 +20,7 @@
"url": "git+https://github.com/laurent22/joplin.git"
},
"author": "Laurent Cozic",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"bugs": {
"url": "https://github.com/laurent22/joplin/issues"
},
@ -106,10 +106,10 @@
},
"homepage": "https://github.com/laurent22/joplin#readme",
"devDependencies": {
"@joplin/tools": "~2.9",
"@joplin/tools": "~2.10",
"@testing-library/react-hooks": "8.0.1",
"@types/jest": "29.2.3",
"@types/node": "18.11.10",
"@types/jest": "29.2.4",
"@types/node": "18.11.17",
"@types/react": "16.14.34",
"@types/react-redux": "7.1.24",
"@types/styled-components": "5.1.26",
@ -126,7 +126,7 @@
"js-sha512": "0.8.0",
"nan": "2.17.0",
"react-test-renderer": "18.2.0",
"typescript": "4.9.3"
"typescript": "4.9.4"
},
"optionalDependencies": {
"7zip-bin-linux": "^1.0.1",
@ -134,12 +134,12 @@
"7zip-bin-win": "^2.1.1"
},
"dependencies": {
"@electron/remote": "2.0.8",
"@electron/remote": "2.0.9",
"@fortawesome/fontawesome-free": "5.15.4",
"@joeattardi/emoji-button": "4.6.4",
"@joplin/lib": "~2.9",
"@joplin/pdf-viewer": "~2.9",
"@joplin/renderer": "~2.9",
"@joplin/lib": "~2.10",
"@joplin/pdf-viewer": "~2.10",
"@joplin/renderer": "~2.10",
"async-mutex": "0.4.0",
"codemirror": "5.65.9",
"color": "3.2.1",
@ -171,7 +171,7 @@
"reselect": "4.1.7",
"roboto-fontface": "0.10.0",
"smalltalk": "4.1.1",
"sqlite3": "5.1.2",
"sqlite3": "5.1.4",
"styled-components": "5.3.6",
"styled-system": "5.1.5",
"taboverride": "4.0.3",

View File

@ -147,7 +147,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2097676
versionName "2.9.8"
versionName "2.10.0"
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}

View File

@ -145,6 +145,16 @@ export default function useSource(noteBody: string, noteMarkupLanguage: number,
font: -apple-system-body;
}
}
/*
iOS seems to increase inertial scrolling friction when the WebView body/root elements
scroll. Scroll the main container instead.
*/
body > #rendered-md {
width: 100vw;
height: 100vh;
overflow: auto;
}
`;
html =

View File

@ -0,0 +1,46 @@
/**
* @jest-environment jsdom
*/
import { EditorSettings } from '../types';
import { initCodeMirror } from './CodeMirror';
import { themeStyle } from '@joplin/lib/theme';
import Setting from '@joplin/lib/models/Setting';
import { forceParsing } from '@codemirror/language';
const createEditorSettings = (themeId: number) => {
const themeData = themeStyle(themeId);
const editorSettings: EditorSettings = {
katexEnabled: true,
spellcheckEnabled: true,
themeId,
themeData,
};
return editorSettings;
};
describe('CodeMirror', () => {
it('should give headings a different style', async () => {
const headerLineText = '# Testing...';
const initialText = `${headerLineText}\nThis is a test.`;
const editorSettings = createEditorSettings(Setting.THEME_LIGHT);
const editor = initCodeMirror(document.body, initialText, editorSettings);
// Force the generation of the syntax tree now.
forceParsing(editor.editor);
// CodeMirror nests the tag that styles the header within .cm-headerLine:
// <div class='cm-headerLine'><span class='someclass'>Testing...</span></div>
const headerLineContent = document.body.querySelector('.cm-headerLine > span')!;
expect(headerLineContent.textContent).toBe(headerLineText);
const style = getComputedStyle(headerLineContent);
expect(style.borderBottom).not.toBe('');
expect(style.fontSize).toBe('1.6em');
});
});

View File

@ -45,9 +45,14 @@ import {
toggleList, toggleMath, updateLink,
} from './markdownCommands';
interface CodeMirrorResult extends CodeMirrorControl {
editor: EditorView;
}
export function initCodeMirror(
parentElement: any, initialText: string, settings: EditorSettings
): CodeMirrorControl {
): CodeMirrorResult {
logMessage('Initializing CodeMirror...');
const theme = settings.themeData;

View File

@ -3,7 +3,7 @@
*/
import { EditorSelection } from '@codemirror/state';
import { ListType } from '../types';
import createEditor from './createEditor';
import createEditor from './testUtil/createEditor';
import { toggleList } from './markdownCommands';
describe('markdownCommands.bulletedVsChecklist', () => {

View File

@ -7,7 +7,7 @@ import {
increaseIndent, toggleList,
} from './markdownCommands';
import { ListType } from '../types';
import createEditor from './createEditor';
import createEditor from './testUtil/createEditor';
describe('markdownCommands.toggleList', () => {
it('should remove the same type of list', () => {

View File

@ -1,15 +1,14 @@
import { markdown } from '@codemirror/lang-markdown';
import { ensureSyntaxTree } from '@codemirror/language';
import { syntaxTree } from '@codemirror/language';
import { SyntaxNode } from '@lezer/common';
import { EditorState } from '@codemirror/state';
import { blockMathTagName, inlineMathContentTagName, inlineMathTagName, MarkdownMathExtension } from './markdownMathParser';
import { GFM as GithubFlavoredMarkdownExt } from '@lezer/markdown';
import forceFullParse from './testUtil/forceFullParse';
const syntaxTreeCreateTimeout = 100; // ms
/** Create an EditorState with markdown extensions */
// Creates an EditorState with math and markdown extensions
const createEditorState = (initialText: string): EditorState => {
return EditorState.create({
const editorState = EditorState.create({
doc: initialText,
extensions: [
markdown({
@ -17,15 +16,16 @@ const createEditorState = (initialText: string): EditorState => {
}),
],
});
forceFullParse(editorState);
return editorState;
};
/**
* Returns a list of all nodes with the given name in the given editor's syntax tree.
* Attempts to create the syntax tree if it doesn't exist.
*/
// Returns a list of all nodes with the given name in the given editor's syntax tree.
// Attempts to create the syntax tree if it doesn't exist.
const findNodesWithName = (editor: EditorState, nodeName: string) => {
const result: SyntaxNode[] = [];
ensureSyntaxTree(editor, syntaxTreeCreateTimeout)?.iterate({
syntaxTree(editor).iterate({
enter: (node) => {
if (node.name === nodeName) {
result.push(node.node);
@ -36,8 +36,8 @@ const findNodesWithName = (editor: EditorState, nodeName: string) => {
return result;
};
describe('Inline parsing', () => {
it('Document with just a math region', () => {
describe('markdownMathParser', () => {
it('should parse inline math that contains space characters, numbers, and symbols', () => {
const documentText = '$3 + 3$';
const editor = createEditorState(documentText);
const inlineMathNodes = findNodesWithName(editor, inlineMathTagName);
@ -53,7 +53,7 @@ describe('Inline parsing', () => {
expect(inlineMathContentNodes.length).toBe(0);
});
it('Inline math mixed with text', () => {
it('should parse comment within multi-word inline math', () => {
const beforeMath = '# Testing!\n\nThis is a test of ';
const mathRegion = '$\\TeX % TeX Comment!$';
const afterMath = ' formatting.';
@ -72,7 +72,7 @@ describe('Inline parsing', () => {
expect(inlineMathNodes[0].to).toBe(beforeMath.length + mathRegion.length);
});
it('Inline math with no ending $ in a block', () => {
it('shouldn\'t start inline math if there is no ending $', () => {
const documentText = 'This is a $test\n\nof inline math$...';
const editor = createEditorState(documentText);
const inlineMathNodes = findNodesWithName(editor, inlineMathTagName);
@ -81,21 +81,19 @@ describe('Inline parsing', () => {
expect(inlineMathNodes.length).toBe(0);
});
it('Shouldn\'t start if block would have spaces just inside', () => {
it('shouldn\'t start if math would have a space just after the $', () => {
const documentText = 'This is a $ test of inline math$...\n\n$Testing... $...';
const editor = createEditorState(documentText);
expect(findNodesWithName(editor, inlineMathTagName).length).toBe(0);
});
it('Shouldn\'t start if $ is escaped', () => {
it('shouldn\'t start inline math if $ is escaped', () => {
const documentText = 'This is a \\$test of inline math$...';
const editor = createEditorState(documentText);
expect(findNodesWithName(editor, inlineMathTagName).length).toBe(0);
});
});
describe('Block math tests', () => {
it('Document with just block math', () => {
it('should correctly parse document containing just block math', () => {
const documentText = '$$\n\t\\{ 1, 1, 2, 3, 5, ... \\}\n$$';
const editor = createEditorState(documentText);
const inlineMathNodes = findNodesWithName(editor, inlineMathTagName);
@ -108,7 +106,7 @@ describe('Block math tests', () => {
expect(blockMathNodes[0].to).toBe(documentText.length);
});
it('Block math with comment', () => {
it('should correctly parse comment in block math', () => {
const startingText = '$$ % Testing...\n\t\\text{Test.}\n$$';
const afterMath = '\nTest.';
const editor = createEditorState(startingText + afterMath);
@ -129,7 +127,7 @@ describe('Block math tests', () => {
});
});
it('Block math without an ending tag', () => {
it('should extend block math without ending tag to end of document', () => {
const beforeMath = '# Testing...\n\n';
const documentText = `${beforeMath}$$\n\t\\text{Testing...}\n\n\t3 + 3 = 6`;
const editor = createEditorState(documentText);
@ -140,7 +138,7 @@ describe('Block math tests', () => {
expect(blockMathNodes[0].to).toBe(documentText.length);
});
it('Single-line declaration of block math', () => {
it('should parse block math declared on a single line', () => {
const documentText = '$$ Test. $$';
const editor = createEditorState(documentText);
const blockMathNodes = findNodesWithName(editor, blockMathTagName);

View File

@ -1,9 +1,10 @@
import { markdown } from '@codemirror/lang-markdown';
import { GFM as GithubFlavoredMarkdownExt } from '@lezer/markdown';
import { forceParsing, indentUnit } from '@codemirror/language';
import { indentUnit } from '@codemirror/language';
import { SelectionRange, EditorSelection, EditorState } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
import { MarkdownMathExtension } from './markdownMathParser';
import { MarkdownMathExtension } from '../markdownMathParser';
import forceFullParse from './forceFullParse';
// Creates and returns a minimal editor with markdown extensions
const createEditor = (initialText: string, initialSelection: SelectionRange): EditorView => {
@ -19,7 +20,7 @@ const createEditor = (initialText: string, initialSelection: SelectionRange): Ed
],
});
forceParsing(editor);
forceFullParse(editor.state);
return editor;
};

View File

@ -0,0 +1,18 @@
import { ensureSyntaxTree, syntaxTreeAvailable } from '@codemirror/language';
import { EditorState } from '@codemirror/state';
// Forces a full parse of a CodeMirror editor. This is intended for unit testing.
// If not in a unit-test consider using ensureSyntaxTree or forceParsing.
// This will throw if no language is configured for the editor.
const forceFullParse = (editorState: EditorState) => {
const timeout = 3000; // ms
ensureSyntaxTree(editorState, editorState.doc.length, timeout);
if (!syntaxTreeAvailable(editorState)) {
throw new Error(
`Unable to generate a syntax tree in ${timeout}. Is the editor configured to parse a language?`
);
}
};
export default forceFullParse;

View File

@ -498,7 +498,7 @@
INFOPLIST_FILE = Joplin/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 12.9.2;
MARKETING_VERSION = 12.10.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@ -526,7 +526,7 @@
INFOPLIST_FILE = Joplin/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 12.9.2;
MARKETING_VERSION = 12.10.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@ -674,7 +674,7 @@
INFOPLIST_FILE = ShareExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 12.9.2;
MARKETING_VERSION = 12.10.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = net.cozic.joplin.ShareExtension;
@ -705,7 +705,7 @@
INFOPLIST_FILE = ShareExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 12.9.2;
MARKETING_VERSION = 12.10.0;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = net.cozic.joplin.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)";

View File

@ -223,27 +223,27 @@ PODS:
- React-Core
- react-native-camera/RN (4.2.1):
- React-Core
- react-native-document-picker (8.1.2):
- react-native-document-picker (8.1.3):
- React-Core
- react-native-geolocation (2.1.0):
- React-Core
- react-native-get-random-values (1.8.0):
- React-Core
- react-native-image-picker (4.10.1):
- react-native-image-picker (4.10.2):
- React-Core
- react-native-image-resizer (1.4.5):
- React-Core
- react-native-netinfo (9.3.6):
- react-native-netinfo (9.3.7):
- React-Core
- react-native-rsa-native (2.0.5):
- React
- react-native-slider (4.3.3):
- react-native-slider (4.4.0):
- React-Core
- react-native-sqlite-storage (6.0.1):
- React-Core
- react-native-version-info (1.1.1):
- React-Core
- react-native-webview (11.23.1):
- react-native-webview (11.26.0):
- React-Core
- React-perflogger (0.67.2)
- React-RCTActionSheet (0.67.2):
@ -316,7 +316,7 @@ PODS:
- React-Core
- RNCPushNotificationIOS (1.10.1):
- React-Core
- RNDateTimePicker (6.7.0):
- RNDateTimePicker (6.7.1):
- React-Core
- RNFileViewer (2.1.5):
- React-Core
@ -326,7 +326,7 @@ PODS:
- React
- RNSecureRandom (1.0.1):
- React
- RNShare (8.0.0):
- RNShare (8.0.1):
- React-Core
- RNVectorIcons (9.2.0):
- React-Core
@ -514,8 +514,8 @@ SPEC CHECKSUMS:
FBReactNativeSpec: c94002c1d93da3658f4d5119c6994d19961e3d52
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 85ecdd10ee8d8ec362ef519a6a45ff9aa27b2e85
JoplinCommonShareExtension: 270b4f8eb4e22828eeda433a04ed689fc1fd09b5
JoplinRNShareExtension: 9cd07431e525b36344fcecfaeecff974efc78528
JoplinCommonShareExtension: a8b60b02704d85a7305627912c0240e94af78db7
JoplinRNShareExtension: 485f3e6dad83b7b77f1572eabc249f869ee55c02
RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685
RCTRequired: cd47794163052d2b8318c891a7a14fcfaccc75ab
RCTTypeSafety: 393bb40b3e357b224cde53d3fec26813c52428b1
@ -530,17 +530,17 @@ SPEC CHECKSUMS:
React-logger: 23de8ea0f44fa00ee77e96060273225607fd4d78
react-native-alarm-notification: 88c751922c791cc628bd7efb09bff18c8f178a5d
react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f
react-native-document-picker: f5ec1a712ca2a975c233117f044817bb8393cad4
react-native-document-picker: 958e2bc82e128be69055be261aeac8d872c8d34c
react-native-geolocation: 69f4fd37650b8e7fee91816d395e62dd16f5ab8d
react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a
react-native-image-picker: f2ab1215d17bcfe27b0eb6417cc236fd1f4775e7
react-native-image-picker: bf34f3f516d139ed3e24c5f5a381a91819e349ea
react-native-image-resizer: d9fb629a867335bdc13230ac2a58702bb8c8828f
react-native-netinfo: f80db8cac2151405633324cb645c60af098ee461
react-native-netinfo: 2517ad504b3d303e90d7a431b0fcaef76d207983
react-native-rsa-native: 12132eb627797529fdb1f0d22fd0f8f9678df64a
react-native-slider: 7d19220da2f2ae7cbb9aa80127cb73c597fa221f
react-native-slider: d2938a12c4e439a227c70eec65d119136eb4aeb5
react-native-sqlite-storage: f6d515e1c446d1e6d026aa5352908a25d4de3261
react-native-version-info: a106f23009ac0db4ee00de39574eb546682579b9
react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581
react-native-webview: 994b9f8fbb504d6314dc40d83f94f27c6831b3bf
React-perflogger: 3c9bb7372493e49036f07a82c44c8cf65cbe88db
React-RCTActionSheet: 052606483045a408693aa7e864410b4a052f541a
React-RCTAnimation: 08d4cac13222bb1348c687a0158dfd3b577cdb63
@ -556,12 +556,12 @@ SPEC CHECKSUMS:
rn-fetch-blob: f065bb7ab7fb48dd002629f8bdcb0336602d3cba
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNCPushNotificationIOS: 87b8d16d3ede4532745e05b03c42cff33a36cc45
RNDateTimePicker: c6b404647f45472443b0fdcdd31296fc3516b0eb
RNDateTimePicker: 0530a73a6f3a1a85814cbde0802736993b9e675e
RNFileViewer: ce7ca3ac370e18554d35d6355cffd7c30437c592
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93
RNSecureRandom: 07efbdf2cd99efe13497433668e54acd7df49fef
RNShare: 36aa3e6958373a0ad1c95a1c960adef589da3794
RNShare: d93e00e906e6174657f6370b480437e4702bc86e
RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8
Yoga: 9b6696970c3289e8dea34b3eda93f23e61fb8121

View File

@ -4,7 +4,7 @@ Pod::Spec.new do |spec|
spec.summary = "Common Share Extension code for Joplin."
spec.description = "Common Share Extension for Joplin"
spec.homepage = "https://github.com/laurent22/joplin"
spec.license = { :type => "MIT" }
spec.license = { :type => "AGPL-3.0-or-later" }
spec.author = { "Duncan Cunningham" => "duncanc4@gmail.com" }
spec.platform = :ios, "9.0"
spec.source = { :path => "." }

View File

@ -4,7 +4,7 @@ Pod::Spec.new do |spec|
spec.summary = "React Native module for Joplin to access the data from the share extension."
spec.description = "React Native Share Extension module for Joplin"
spec.homepage = "https://github.com/laurent22/joplin"
spec.license = { :type => "MIT" }
spec.license = { :type => "AGPL-3.0-or-later" }
spec.author = { "Duncan Cunningham" => "duncanc4@gmail.com" }
spec.platform = :ios, "9.0"
spec.source = { :path => "." }

View File

@ -1,8 +1,8 @@
{
"name": "@joplin/app-mobile",
"description": "Joplin for Mobile",
"license": "MIT",
"version": "2.9.0",
"license": "AGPL-3.0-or-later",
"version": "2.10.0",
"private": true,
"scripts": {
"start": "react-native start --reset-cache",
@ -18,15 +18,15 @@
"postinstall": "jetify && yarn run build"
},
"dependencies": {
"@joplin/lib": "~2.9",
"@joplin/react-native-saf-x": "~2.9",
"@joplin/renderer": "~2.9",
"@joplin/lib": "~2.10",
"@joplin/react-native-saf-x": "~2.10",
"@joplin/renderer": "~2.10",
"@react-native-community/clipboard": "1.5.1",
"@react-native-community/datetimepicker": "6.7.1",
"@react-native-community/geolocation": "2.1.0",
"@react-native-community/netinfo": "9.3.7",
"@react-native-community/push-notification-ios": "1.10.1",
"@react-native-community/slider": "4.3.3",
"@react-native-community/slider": "4.4.0",
"assert-browserify": "2.0.0",
"buffer": "6.0.3",
"constants-browserify": "1.0.0",
@ -47,20 +47,20 @@
"react-native-file-viewer": "2.1.5",
"react-native-fs": "2.20.0",
"react-native-get-random-values": "1.8.0",
"react-native-image-picker": "4.10.2",
"react-native-image-picker": "4.10.3",
"react-native-image-resizer": "1.4.5",
"react-native-modal-datetime-picker": "14.0.0",
"react-native-modal-datetime-picker": "14.0.1",
"react-native-popup-menu": "0.16.1",
"react-native-quick-actions": "0.3.13",
"react-native-rsa-native": "2.0.5",
"react-native-securerandom": "1.0.1",
"react-native-share": "8.0.0",
"react-native-share": "8.0.1",
"react-native-side-menu-updated": "1.3.2",
"react-native-sqlite-storage": "6.0.1",
"react-native-url-polyfill": "1.3.0",
"react-native-vector-icons": "9.2.0",
"react-native-version-info": "1.1.1",
"react-native-webview": "11.25.0",
"react-native-webview": "11.26.0",
"react-redux": "7.2.9",
"redux": "4.2.0",
"rn-fetch-blob": "0.12.0",
@ -75,21 +75,21 @@
"@babel/runtime": "7.16.3",
"@codemirror/commands": "6.1.2",
"@codemirror/lang-cpp": "6.0.2",
"@codemirror/lang-html": "6.1.3",
"@codemirror/lang-html": "6.4.0",
"@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.1.1",
"@codemirror/lang-markdown": "6.0.5",
"@codemirror/lang-php": "6.0.1",
"@codemirror/lang-rust": "6.0.1",
"@codemirror/language": "6.3.0",
"@codemirror/legacy-modes": "6.2.0",
"@codemirror/search": "6.2.2",
"@codemirror/state": "6.1.3",
"@codemirror/view": "6.4.2",
"@joplin/tools": "~2.9",
"@codemirror/language": "6.3.1",
"@codemirror/legacy-modes": "6.3.1",
"@codemirror/search": "6.2.3",
"@codemirror/state": "6.1.4",
"@codemirror/view": "6.6.0",
"@joplin/tools": "~2.10",
"@lezer/highlight": "1.1.3",
"@types/fs-extra": "9.0.13",
"@types/jest": "29.2.3",
"@types/jest": "29.2.4",
"@types/react-native": "0.64.19",
"@types/react-redux": "7.1.24",
"babel-plugin-module-resolver": "4.1.0",
@ -105,7 +105,7 @@
"ts-jest": "29.0.3",
"ts-loader": "9.4.2",
"ts-node": "10.9.1",
"typescript": "4.9.3",
"typescript": "4.9.4",
"uglify-js": "3.17.4",
"webpack": "5.74.0"
}

View File

@ -45,17 +45,17 @@
"entities": "2.2.0"
},
"devDependencies": {
"@types/jest": "29.2.3",
"@types/node": "18.11.10",
"@typescript-eslint/eslint-plugin": "5.45.0",
"@typescript-eslint/parser": "5.45.0",
"@types/jest": "29.2.4",
"@types/node": "18.11.17",
"@typescript-eslint/eslint-plugin": "5.47.0",
"@typescript-eslint/parser": "5.47.0",
"coveralls": "3.1.1",
"eslint": "8.29.0",
"eslint": "8.30.0",
"eslint-config-prettier": "8.5.0",
"jest": "29.3.1",
"prettier": "2.8.0",
"prettier": "2.8.1",
"ts-jest": "29.0.3",
"typescript": "4.9.3"
"typescript": "4.9.4"
},
"jest": {
"preset": "ts-jest",

View File

@ -1,7 +1,7 @@
{
"manifest_version": 1,
"id": "<%= pluginId %>",
"app_min_version": "2.9",
"app_min_version": "2.10",
"version": "1.0.0",
"name": "<%= pluginName %>",
"description": "<%= pluginDescription %>",

View File

@ -1,6 +1,6 @@
{
"name": "generator-joplin",
"version": "2.9.1",
"version": "2.10.0",
"description": "Scaffolds out a new Joplin plugin",
"homepage": "https://github.com/laurent22/joplin/tree/dev/packages/generator-joplin",
"author": {
@ -32,6 +32,6 @@
"jest": "29.3.1"
},
"repository": "https://github.com/laurent22/generator-joplin",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"private": true
}

View File

@ -1,6 +1,6 @@
{
"name": "@joplin/htmlpack",
"version": "2.9.1",
"version": "2.10.0",
"description": "Pack an HTML file and all its linked resources into a single HTML file",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@ -1,8 +1,12 @@
{
"\"%s\" is missing the required \"%s\" property.": "\"%s\" mangler for den påkrævede \"%s\" egenskab.",
"%d days": "%d dage",
"%d GB": "%d GB",
"%d GB storage space": "%d GB lagerplads",
"%d hour": "%d time",
"%d hours": "%d timer",
"%d MB": "%d MB",
"%d MB per note or attachment": "%d MB pr. note eller vedhæftning",
"%d minutes": "%d minutter",
"%d notes match this pattern. Delete them?": "%d noter der matcher dette mønster. Slet dem?",
"%s %s (%s, %s)": "%s %s (%s, %s)",
@ -91,6 +95,7 @@
"Automatically check for updates": "Tjek automatisk efter opdateringer",
"Automatically switch theme to match system theme": "Skifter automatisk tema så det matcher systemets tema",
"Back": "Tilbage",
"Basic": "Grundlæggende",
"Bold": "Fed",
"Browse all plugins": "Gennemse alle udvidelser",
"Browse...": "Gennemse...",
@ -154,6 +159,7 @@
"Conflicted: %d": "Konflikter: %d",
"Conflicts": "Konflikter",
"Conflicts (attachments)": "Konflikter (vedhæftninger)",
"Consolidated billing": "Konsolideret fakturering",
"Content provided by %s": "Indhold leveret af %s",
"Convert to note": "Konverter til note",
"Convert to todo": "Konverter til opgave",
@ -495,6 +501,7 @@
"Make a donation": "Giv en donation",
"Manage master password": "Administrer hovedadgangskode",
"Manage master password...": "Administrer hovedadgangskode...",
"Manage multiple users": "Administrer flere brugere",
"Manage your plugins": "Administrer dine udvidelser",
"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).",
"Manual": "Manuel",
@ -508,6 +515,7 @@
"Master password:": "Hovedadgangskode:",
"Max concurrent connections": "Maksimale samtidige forbindelser",
"Max Item Size": "Maks elementstørrelse",
"Max note or attachment size": "Maksimal størrelse af note eller vedhæftning",
"Max Total Size": "Maks samlet størrelse",
"Missing keys": "Manglende nøgler",
"Missing Master Keys": "Manglende hovednøgler",
@ -609,6 +617,7 @@
"Paste": "Indsæt",
"Path:": "Sti:",
"PDF File": "PDF-fil",
"Per user. Minimum of %d users.": "Pr. bruger. Minimum %d brugere.",
"Permission needed": "Tilladelse nødvendig",
"Permission to use camera": "Tilladelse til at bruge kameraet",
"Please click on \"%s\" to proceed, or set the passwords in the \"%s\" list below.": "Klik på \"%s\" for at fortsætte, eller indstil adgangskoderne på \"%s\"-listen nedenfor.",
@ -640,7 +649,9 @@
"Previous match": "Forrige match",
"Previous versions of this note": "Tidligere udgaver af denne note",
"Print": "Udskriv",
"Priority support": "Prioriteret support",
"Privacy Policy": "Privatlivspolitik",
"Pro": "Pro",
"Process failed payment subscriptions": "Behandl mislykkede betalingsabonnementer",
"Process oversized accounts": "Behandl for store konti",
"Process user deletions": "Behandl brugersletninger",
@ -680,7 +691,7 @@
"Replace": "Erstat",
"Replace all": "Erstat alt",
"Replace with...": "Erstat med...",
"Replace: ": "Erstat:",
"Replace: ": "Erstat: ",
"Reset master password": "Nulstil hovedadgangskode",
"Resources: %d.": "Ressourcer: %d.",
"Restart and upgrade": "Genstart og upgradér",
@ -688,7 +699,7 @@
"Restore": "Gendan",
"Restored Notes": "Gendannede noter",
"Retry": "Prøv igen",
"Retry All": "Prøv Alle",
"Retry All": "Prøv alle",
"Reveal file in folder": "Vis fil i mappe",
"Reverse sort order": "Omvendt sorteringsorden",
"Reverses the sorting order.": "Modsat sortering.",
@ -729,8 +740,10 @@
"Set the password": "Indstil adgangskoden",
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Sætter ejerskab <name> af valgt <note> til aktuel [value]. Mulige ejerskab er:\n\n%s",
"Share": "Del",
"Share and collaborate on a notebook": "Del og samarbejd om en notesbog",
"Share Notebook": "Del notesbog",
"Share notebook...": "Del notesbog...",
"Sharing access control": "Adgangskontrol ved deling",
"Sharing notebook...": "Deler notesbog...",
"Shortcuts are not available in CLI mode.": "Links er ikke til rådighed i CLI-tilstand.",
"Show advanced": "Vis avancerede",
@ -793,6 +806,7 @@
"Switch to profile %d": "Skift til profil %d",
"Switch to to-do type": "Skift til opgave",
"Switches to [notebook] - all further operations will happen within this notebook.": "Skifter til [notebook] - alle fremtidige handlinger sker i denne notesbog.",
"Sync as many devices as you want": "Synkroniser så mange enheder, du vil",
"Sync Status": "Synkroniseringsstatus",
"Sync status (synced items / total items)": "Synk status (synk'ede emner / emner i alt)",
"Sync target must be upgraded! Run `%s` to proceed.": "Synk-mål skal opgraderes! Kør `%s` for at fortsætte.",
@ -818,6 +832,7 @@
"Take photo": "Tag et foto",
"Task list": "Opgaveliste",
"Tasks": "Opgaver",
"Teams": "Teams",
"Text editor command": "Tekstredigeringskomando",
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Mange tak! Din Joplin Cloud-konto er nu indstillet og klar til brug.",
"The app is now going to close. Please relaunch it to complete the process.": "Appen lukker nu. Genstart den for at fuldføre processen.",
@ -905,6 +920,7 @@
"Total Size": "Samlet størrelse",
"Total: %d/%d": "I alt: %d/%d",
"Try again": "Prøv igen",
"Try it now": "Prøv det nu",
"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.",
"Type `joplin help` for usage information.": "Tast `Joplin help` for alm. info.",
"Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.": "Skriv titlen på en note eller noget af notens indhold for at hoppe til den. Eller skriv # efterfulgt af et etikettenavn, eller @ efterfulgt af en notesbogs navn. Eller skriv: for at søge efter kommandoer.",

View File

@ -1,8 +1,12 @@
{
"\"%s\" is missing the required \"%s\" property.": "„%s“ fehlt die erforderliche Eigenschaft „%s“.",
"%d days": "%d Tage",
"%d GB": "%d GB",
"%d GB storage space": "%d GB Speicherplatz",
"%d hour": "%d Stunde",
"%d hours": "%d Stunden",
"%d MB": "&d MB",
"%d MB per note or attachment": "%d MB pro Notiz oder Anhang",
"%d minutes": "%d Minuten",
"%d notes match this pattern. Delete them?": "%d Notizen stimmen mit diesem Muster überein. Sollen sie gelöscht werden?",
"%s %s (%s, %s)": "%s %s (%s, %s)",
@ -91,6 +95,7 @@
"Automatically check for updates": "Automatisch auf Aktualisierungen prüfen",
"Automatically switch theme to match system theme": "Automatisch das Design ändern, um es dem System-Design anzupassen",
"Back": "Zurück",
"Basic": "Standard",
"Bold": "Fett",
"Browse all plugins": "Alle Erweiterungen durchsuchen",
"Browse...": "Durchsuchen ...",
@ -154,6 +159,7 @@
"Conflicted: %d": "Im Konflikt: %d",
"Conflicts": "Konflikte",
"Conflicts (attachments)": "Konflikte (Anhänge)",
"Consolidated billing": "Konsolidierte Rechnung",
"Content provided by %s": "Von %s bereitgestellte Inhalte",
"Convert to note": "In eine Notiz umwandeln",
"Convert to todo": "In eine Aufgabe umwandeln",
@ -495,6 +501,7 @@
"Make a donation": "Spenden",
"Manage master password": "Master-Passwort verwalten",
"Manage master password...": "Master-Passwort verwalten...",
"Manage multiple users": "Verwalte mehrere Nutzer",
"Manage your plugins": "Erweiterungen verwalten",
"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`.",
"Manual": "Manuell",
@ -508,6 +515,7 @@
"Master password:": "Master-Passwort:",
"Max concurrent connections": "Maximale Anzahl an gleichzeitigen Verbindungen",
"Max Item Size": "Maximale Elementgröße",
"Max note or attachment size": "Maximale Notiz- oder Anhanggröße",
"Max Total Size": "Maximale Gesamtgröße",
"Missing keys": "Fehlende Schlüssel",
"Missing Master Keys": "Fehlende Hauptschlüssel",
@ -609,6 +617,7 @@
"Paste": "Einfügen",
"Path:": "Pfad:",
"PDF File": "PDF-Datei",
"Per user. Minimum of %d users.": "Pro Nutzer. Minimum von %d Nutzern.",
"Permission needed": "Berechtigung benötigt",
"Permission to use camera": "Berechtigung zur Verwendung der Kamera",
"Please click on \"%s\" to proceed, or set the passwords in the \"%s\" list below.": "Bitte klicke auf „%s“, um fortzufahren, oder trage die Passwörter in die Liste „%s“ unten ein.",
@ -640,7 +649,9 @@
"Previous match": "Vorherige Übereinstimmung",
"Previous versions of this note": "Vorherige Version dieser Notiz",
"Print": "Drucken",
"Priority support": "Premium Support",
"Privacy Policy": "Datenschutzrichtlinie",
"Pro": "Pro",
"Process failed payment subscriptions": "Verarbeite fehlgeschlagene Zahlungsabonnements",
"Process oversized accounts": "Verarbeite zu große Konten",
"Process user deletions": "Verarbeite Benutzerlöschungen",
@ -729,8 +740,10 @@
"Set the password": "Gib das Passwort ein",
"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",
"Share": "Teilen",
"Share and collaborate on a notebook": "Teile Notizbücher und kollaboriere an ihnen",
"Share Notebook": "Notizbuch teilen",
"Share notebook...": "Notizbuch teilen...",
"Sharing access control": "Kontrolle der Zugriffsfreigaben",
"Sharing notebook...": "Notizbuch wird geteilt ...",
"Shortcuts are not available in CLI mode.": "Tastenkürzel sind im CLI-Modus nicht verfügbar.",
"Show advanced": "Erweitertes anzeigen",
@ -793,6 +806,7 @@
"Switch to profile %d": "Wechsle zu Profil %d",
"Switch to to-do type": "Zu Aufgaben-Typ wechseln",
"Switches to [notebook] - all further operations will happen within this notebook.": "Wechselt zu [notebook] - alle weiteren Aktionen werden in diesem Notizbuch ausgeführt.",
"Sync as many devices as you want": "Synchronisierung beliebig vieler Geräte",
"Sync Status": "Synchronisationsstatus",
"Sync status (synced items / total items)": "Synchronisationsstatus (synchronisierte Elemente / Elemente insgesamt)",
"Sync target must be upgraded! Run `%s` to proceed.": "Das Synchronisationsziel muss aktualisiert werden! Führe `%s` aus, um fortzufahren.",
@ -818,6 +832,7 @@
"Take photo": "Foto aufnehmen",
"Task list": "Aufgaben-Liste",
"Tasks": "Aufgaben",
"Teams": "Teams",
"Text editor command": "Texteditor-Befehl",
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Vielen Dank! Das Joplin Cloud-Konto ist nun eingerichtet und einsatzbereit.",
"The app is now going to close. Please relaunch it to complete the process.": "Die App wird nun geschlossen. Bitte starte sie erneut, um den Vorgang abzuschließen.",
@ -905,6 +920,7 @@
"Total Size": "Gesamtgröße",
"Total: %d/%d": "Insgesamt: %d/%d",
"Try again": "Versuche es erneut",
"Try it now": "Jetzt testen",
"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.",
"Type `joplin help` for usage information.": "Gib `joplin help` für Informationen zur Benutzung ein.",
"Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.": "Gib den Titel einer Notiz oder einen Teil seines Inhalts ein, um dorthin zu springen. Oder gib # gefolgt von einem Schlagwort oder @ gefolgt vom Namen eines Notizbuchs ein. Oder gib : für eine Suche nach Kommandos ein.",

View File

@ -48,9 +48,9 @@ stats['bg_BG'] = {"percentDone":46};
stats['ca'] = {"percentDone":92};
stats['hr_HR'] = {"percentDone":92};
stats['cs_CZ'] = {"percentDone":79};
stats['da_DK'] = {"percentDone":98};
stats['de_DE'] = {"percentDone":98};
stats['et_EE'] = {"percentDone":46};
stats['da_DK'] = {"percentDone":99};
stats['de_DE'] = {"percentDone":99};
stats['et_EE'] = {"percentDone":45};
stats['en_GB'] = {"percentDone":100};
stats['en_US'] = {"percentDone":100};
stats['es_ES'] = {"percentDone":91};
@ -70,7 +70,7 @@ stats['pt_BR'] = {"percentDone":91};
stats['pt_PT'] = {"percentDone":75};
stats['ro'] = {"percentDone":52};
stats['sl_SI'] = {"percentDone":83};
stats['sv'] = {"percentDone":92};
stats['sv'] = {"percentDone":99};
stats['th_TH'] = {"percentDone":38};
stats['vi'] = {"percentDone":80};
stats['tr_TR'] = {"percentDone":92};
@ -78,7 +78,7 @@ stats['uk_UA'] = {"percentDone":75};
stats['el_GR'] = {"percentDone":91};
stats['ru_RU'] = {"percentDone":83};
stats['sr_RS'] = {"percentDone":67};
stats['zh_CN'] = {"percentDone":96};
stats['zh_CN'] = {"percentDone":97};
stats['zh_TW'] = {"percentDone":92};
stats['ja_JP'] = {"percentDone":92};
stats['ko'] = {"percentDone":92};

View File

@ -1,8 +1,12 @@
{
"\"%s\" is missing the required \"%s\" property.": "\"%s\" saknar den nödvändiga egenskapen \"%s\".",
"%d days": "%d dagar",
"%d GB": "%d GB",
"%d GB storage space": "%d GB lagringsutrymme",
"%d hour": "%d timme",
"%d hours": "%d timmar",
"%d MB": "%d MB",
"%d MB per note or attachment": "%d MB per anteckning eller bilaga",
"%d minutes": "%d minuter",
"%d notes match this pattern. Delete them?": "%d anteckningar matchar det här mönstret. Ta bort dem?",
"%s %s (%s, %s)": "%s %s (%s, %s)",
@ -27,6 +31,7 @@
"&Tools": "&Verktyg",
"&View": "&Visa",
"(%s)": "(%s)",
"(In plugin: %s)": "(I tillägg: %s)",
"(None)": "(Ingen)",
"(wysiwyg: %s)": "(wysiwyg: %s)",
"- Camera: to allow taking a picture and attaching it to a note.": "- Kamera: för att tillåta att du tar en bild och bifogar den till en anteckning.",
@ -42,11 +47,13 @@
"Accelerator \"%s\" is not valid.": "Acceleratorn \"%s\" är inte giltig.",
"Accelerator \"%s\" is used for \"%s\" and \"%s\" commands. This may lead to unexpected behaviour.": "Acceleratorn \"%s\" används för \"%s\" och \"%s\" kommandon. Detta kan leda till oväntat beteende.",
"Accept": "Acceptera",
"Account": "Konto",
"Action": "Åtgärd",
"Actions": "Åtgärder",
"Active": "Aktiv",
"Actual Size": "Faktiskt storlek",
"Add body": "Lägg till brödtext",
"Add new": "Lägg till ny",
"Add or remove tags:": "Lägg till eller ta bort taggar:",
"Add recipient:": "Lägg till mottagare:",
"Add title": "Lägg till titel",
@ -60,6 +67,8 @@
"Also displays unset and hidden config variables.": "Visar även inte inställda och dolda konfigurationsvariabler.",
"Also publish linked notes": "Publicera även länkade anteckningar",
"Always": "Alltid",
"Ambiguous notebook \"%s\". Please use notebook id instead - press \"ti\" to see the short notebook id or use $b for current selected notebook": "Tvetydig anteckningsbok \"%s\". Använd anteckningsbok-id istället - tryck på \"ti\" för att se det korta anteckningsbok-id:t eller använd $b för aktuellt vald anteckningsbok",
"Ambiguous notebook \"%s\". Please use short notebook id instead - press \"ti\" to see the short notebook id": "Tvetydig anteckningsbok \"%s\". Använd kort anteckningsbok-id istället - tryck på \"ti\" för att se det korta anteckningsbok-id:t",
"An update is available, do you want to download it now?": "En uppdatering är tillgänglig, vill du hämta den nu?",
"Appearance": "Utseende",
"Application": "Program",
@ -67,6 +76,7 @@
"Are you sure you want to renew the authorisation token?": "Är du säker på att du vill förnya auktoriseringstoken?",
"Arguments:": "Argument:",
"Aritim Dark": "Aritim mörkt",
"Attach": "Bifoga",
"Attach file": "Bifoga fil",
"Attach photo": "Bifoga foto",
"Attach...": "Bifoga...",
@ -85,10 +95,12 @@
"Automatically check for updates": "Sök automatiskt efter uppdateringar",
"Automatically switch theme to match system theme": "Växla automatiskt tema för att matcha systemtema",
"Back": "Tillbaka",
"Basic": "Grundläggande",
"Bold": "Fet",
"Browse all plugins": "Bläddra bland alla insticksmoduler",
"Browse...": "Bläddra...",
"Bulleted List": "Punktlista",
"Can Share": "Kan dela",
"Cancel": "Avbryt",
"Cancelling background synchronisation... Please wait.": "Avbryter bakgrundssynkronisering... vänta.",
"Cancelling...": "Avbryter...",
@ -106,6 +118,7 @@
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "Det går inte att spara %s \"%s\" eftersom den är större än den tillåtna gränsen (%s)",
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "Det går inte att spara%s \"%s\" eftersom det skulle gå över den totala tillåtna storleken (%s) för det här kontot",
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Det går inte att dela krypterad anteckningsbok med mottagaren %s eftersom de inte har aktiverat ände-till-ände-kryptering. De kan göra det från skärmen Inställningar > Kryptering.",
"Case sensitive": "Skiftlägeskänslig",
"Change application layout": "Ändra programmets layout",
"Change language": "Ändra språk",
"Characters": "Tecken",
@ -128,6 +141,7 @@
"Code Block": "Kodblockering",
"Code View": "Kodvy",
"Collaborate on notebooks with others": "Samarbeta på anteckningsböcker tillsammans med andra",
"Collapse": "Fäll in",
"Coming alarms": "Kommande larm",
"Comma-separated list of paths to directories to load the certificates from, or path to individual cert files. For example: /my/cert_dir, /other/custom.pem. Note that if you make changes to the TLS settings, you must save your changes before clicking on \"Check synchronisation configuration\".": "Kommaseparerad lista över sökvägar till kataloger för att läsa certifikaten från eller sökvägen till enskilda cert-filer. Till exempel: /my/cert_dir,/other/custom.pem. Observera att om du ändrar TLS-inställningarna måste du spara dina ändringar innan du klickar på \"Kontrollera synkroniseringskonfiguration\".",
"command": "kommando",
@ -196,6 +210,7 @@
"Date": "Datum",
"Date format": "Datumformat",
"days": "dagar",
"Decrease indent level": "Minska indragsnivå",
"Decrypted items: %d": "Dekrypterade objekt: %d",
"Decrypted items: %s / %s": "Antal dekrypterade objekt: %s / %s",
"Decrypting items: %d/%d": "Dekrypterar objekt: %d/%d",
@ -212,6 +227,7 @@
"Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.": "Ta bort anteckningsboken\"%s\"?\n\nAlla anteckningar och delanteckningsböcker i den här anteckningsboken tas också bort.",
"Delete notebook? All notes and sub-notebooks within this notebook will also be deleted.": "Ta bort anteckningsboken? Alla anteckningar och delanteckningsböcker i den här anteckningsboken tas bort också.",
"Delete plugin \"%s\"?": "Ta bort insticksmodulen \"%s\"?",
"Delete selected notes": "Ta bort valda anteckningar",
"Delete these %d notes?": "Ta bort dessa %d anteckningar?",
"Delete this invitation? The recipient will no longer have access to this shared notebook.": "Ta bort denna inbjudan? Mottagaren har inte längre tillgång till den delade anteckningsboken.",
"Deleted local items: %d.": "Borttagna lokala objekt: %d.",
@ -243,6 +259,7 @@
"Do it now": "Gör det nu",
"Do not ask for confirmation.": "Fråga inte om bekräftelse.",
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "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.",
"Done": "Klar",
"Download": "Hämta",
"Download and install the relevant extension for your browser:": "Hämta och installera det relevanta tillägget för din webbläsare:",
"Downloaded": "Hämtad",
@ -256,9 +273,11 @@
"Dropbox Login": "Dropbox-inloggning",
"Duplicate": "Duplicera",
"Duplicate line": "Duplicera rad",
"Duplicate selected notes": "Duplicera valda anteckningar",
"Duplicates the notes matching <note> to [notebook]. If no notebook is specified the note is duplicated in the current notebook.": "Duplicerar anteckningarna som matchar <note> till [notebook]. Om ingen anteckningsbok är angiven kopieras anteckningen i den aktuella anteckningsboken.",
"Edit": "Redigera",
"Edit in external editor": "Redigera i extern redigerare",
"Edit link": "Redigera länk",
"Edit note.": "Redigera anteckning.",
"Edit notebook": "Redigera anteckningsbok",
"Edit profile configuration...": "Redigera profilkonfiguration...",
@ -320,6 +339,7 @@
"Evernote Export File (as HTML)": "Evernote-exporteringsfil (som HTML)",
"Evernote Export File (as Markdown)": "Evernote-exporteringsfil (som Markdown)",
"Exits the application.": "Avslutar programmet.",
"Expand": "Fäll ut",
"Export": "Exportera",
"Export all": "Exportera alla",
"Export debug report": "Exportera felsökningsrapport",
@ -339,6 +359,8 @@
"File": "Fil",
"File system": "Filsystem",
"Filter tags": "Filtrera taggar",
"Find and replace": "Hitta och ersätt",
"Find: ": "Hitta: ",
"Firefox Extension": "Firefox-tillägg",
"Fix search index": "Åtgärda sökindex",
"Fixing search index...": "Åtgärdar sökindex...",
@ -347,14 +369,17 @@
"Focus title": "Fokus på titel",
"Folders": "Mappar",
"For debugging purpose only: export your profile to an external SD card.": "Endast för felsökning: exportera din profil till ett externt SD-kort.",
"For example \"%s\"": "Till exempel \"%s\"",
"For information on how to customise the shortcuts please visit %s": "För information om hur du anpassar snabbkommandon, besök %s",
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "För mer information om ände-till-ände-kryptering (E2EE) och råd om hur du aktiverar det finns i dokumentationen:",
"For the list of keyboard shortcuts and config options, type `help keymap`": "För listan över snabbkommandon och konfigurationsinställningar, skriv `help keymap`",
"Force path style": "Tvinga sökvägsstil",
"Formatting": "Formatering",
"Forward": "Framåt",
"Found: %d.": "Hittad: %d.",
"FTS enabled: %d": "FTS aktiverat: %d",
"Full changelog": "Fullständig ändringslogg",
"Full name": "Fullständigt namn",
"General": "Allmänt",
"Generated": "Skapad",
"Generating link...": "Skapar länk...",
@ -364,11 +389,17 @@
"Go to source URL": "Gå till källans URL",
"Goto Anything...": "Gå till något...",
"Grant authorisation": "Bevilja auktorisation",
"Header %d": "Rubrik %d",
"Headers": "Rubriker",
"Heading": "Rubrik",
"Help": "Hjälp",
"Hide %s": "Dölj %s",
"Hide advanced": "Dölj avancerade",
"Hide disabled": "Dölj inaktiverade",
"Hide disabled keys": "Dölj inaktiverade nycklar",
"Hide Joplin": "Dölj Joplin",
"Hide keyboard": "Dölj tangentbord",
"Hide more actions": "Dölj fler åtgärder",
"Highlight": "Markera",
"Home": "Hem",
"Horizontal Rule": "Horisontell regel",
@ -393,12 +424,14 @@
"In order to use the web clipper, you need to do the following:": "För att kunna använda Web Clipper måste du göra följande:",
"In progress": "Pågår",
"In: %s": "I: %s",
"Increase indent level": "Öka indragsnivå",
"Indent less": "Mindre indrag",
"Indent more": "Mer indrag",
"Information": "Information",
"Inline Code": "Infoga kod",
"Insert": "Infoga",
"Insert Hyperlink": "Infoga hyperlänk",
"Insert time": "Infoga tid",
"Install": "Installera",
"Install from file": "Installera från fil",
"Installed": "Installerad",
@ -429,6 +462,7 @@
"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.",
"Joplin website": "Joplin-webbplats",
"Joplin's own sync service. Also gives access to Joplin-specific features such as publishing notes or collaborating on notebooks with others.": "Joplins egen synkroniseringstjänst. Ger också åtkomst till Joplin-specifika funktioner som att publicera anteckningar eller samarbeta med anteckningsböcker.",
"KaTeX": "KaTeX",
"Keep note history for": "Spara anteckningshistorik i",
"Keyboard Mode": "Tangentbordsläge",
"Keyboard Shortcut": "Tangentbordsgenväg",
@ -446,9 +480,13 @@
"Letter": "Brev",
"Light": "Ljust",
"Lines": "Rader",
"Link": "Länk",
"Link description": "Länkbeskrivning",
"Link has been copied to clipboard!": "Länken har kopierats till urklipp!",
"Link text": "Länktext",
"Links with protocol \"%s\" are not supported": "Länkar med protokoll \"%s\" stöds inte",
"List item": "Listobjekt",
"Lists": "Listor",
"Loaded": "Inläst",
"Location": "Plats",
"Lock file is already being hold. If you know that no synchronisation is taking place, you may delete the lock file at \"%s\" and resume the operation.": "Låsfilen hålls redan. Om du vet att ingen synkronisering sker, kan du ta bort låsfilen vid \"%s\" och återuppta operationen.",
@ -462,6 +500,7 @@
"Make a donation": "Gör en donation",
"Manage master password": "Hantera huvudlösenord",
"Manage master password...": "Hantera huvudlösenord...",
"Manage multiple users": "Hantera flera användare",
"Manage your plugins": "Hantera dina insticksmoduler",
"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`.",
"Manual": "Manuellt",
@ -474,6 +513,9 @@
"Master password": "Huvudlösenord",
"Master password:": "Huvudlösenord:",
"Max concurrent connections": "Max antal samtida anslutningar",
"Max Item Size": "Max objektstorlek",
"Max note or attachment size": "Max storlek för anteckning eller bilaga",
"Max Total Size": "Max total storlek",
"Missing keys": "Saknade nycklar",
"Missing Master Keys": "Saknade huvudnycklar",
"Missing required argument: %s": "Saknade obligatoriskt argument: %s",
@ -485,6 +527,7 @@
"Move to notebook": "Flytta till anteckningsboken",
"Move to notebook...": "Flytta till anteckningsbok...",
"Move to notebook:": "Flytta till anteckningsboken:",
"Moves the given <item> to [notebook]": "Flyttar det givna <item> till [notebook]",
"n": "n",
"N": "N",
"New note": "Ny anteckning",
@ -495,6 +538,7 @@
"New tags:": "Nya taggar:",
"New to-do": "Ny att-göra",
"New version: %s": "Ny version: %s",
"Next match": "Nästa träff",
"Nextcloud": "Nextcloud",
"Nextcloud password": "Nextcloud-lösenord",
"Nextcloud username": "Nextcloud-användarnamn",
@ -522,6 +566,7 @@
"Note attachments...": "Anteckningsbilagor...",
"Note body": "Texten",
"Note does not exist: \"%s\". Create it?": "Anteckning finns inte: \"%s\". Skapa den?",
"Note editor": "Anteckningsredigerare",
"Note has been saved.": "Anteckning har sparats.",
"Note History": "Anteckningshistorik",
"Note is not a to-do: \"%s\"": "Anteckning är inte en att-göra: \"%s\"",
@ -552,12 +597,14 @@
"Only one note can be printed at a time.": "Endast en anteckning kan skrivas ut åt gången.",
"Open": "Öppna",
"Open %s": "Öppna %s",
"Open PDF viewer": "Öppna PDF-visare",
"Open profile directory": "Öppna profilmappen",
"Open Sync Wizard...": "Öppna synkroniseringsguiden...",
"Open...": "Öppna...",
"Operation cancelled": "Operation avbruten",
"Options": "Inställningar",
"Or create an account.": "Eller skapa ett konto.",
"Ordered list": "Ordnad lista",
"Other applications...": "Andra program...",
"Output format: %s": "Utmatningsformat: %s",
"Page orientation for PDF export": "Sidorientering för export till PDF",
@ -569,6 +616,7 @@
"Paste": "Klistra in",
"Path:": "Sökväg:",
"PDF File": "PDF-fil",
"Per user. Minimum of %d users.": "Per användare. Minst %d användare.",
"Permission needed": "Tillstånd behövs",
"Permission to use camera": "Tillåtelse att använda kameran",
"Please click on \"%s\" to proceed, or set the passwords in the \"%s\" list below.": "Klicka på \"%s\" för att fortsätta, eller ställ in lösenorden i listan \"%s\" nedan.",
@ -597,9 +645,12 @@
"Press the shortcut": "Tryck på genvägen",
"Press the shortcut and then press ENTER. Or, press BACKSPACE to clear the shortcut.": "Tryck på genvägen och tryck sedan på ENTER. Eller tryck på BACKSPACE för att rensa genvägen.",
"Press to set the decryption password.": "Tryck för att ställa in dekrypteringslösenordet.",
"Previous match": "Föregående träff",
"Previous versions of this note": "Tidigare versioner av denna anteckning",
"Print": "Skriv ut",
"Priority support": "Prioriterat stöd",
"Privacy Policy": "Integritetspolicy",
"Pro": "Pro",
"Process failed payment subscriptions": "Bearbeta misslyckade betalningsprenumerationer",
"Process oversized accounts": "Bearbeta överdimensionerade konton",
"Process user deletions": "Bearbeta raderingar av användare",
@ -607,6 +658,9 @@
"Profile name:": "Profilnamn:",
"Profile Version: %s": "Profilversion: %s",
"Properties": "Egenskaper",
"Proxy enabled": "Proxy aktiverad",
"Proxy timeout (seconds)": "Proxy tidsgräns (sekunder)",
"Proxy URL": "Proxy-URL",
"Public-private key pair:": "Offentlig-privat nyckelpar:",
"Publish note...": "Publisera anteckning...",
"Publish Notes": "Publicera anteckningar",
@ -623,6 +677,7 @@
"Recipients:": "Mottagare:",
"Redo": "Gör om",
"Refresh": "Uppdatera",
"Regular expression": "Reguljärt uttryck",
"Reject": "Avvisa",
"Remove": "Ta bort",
"Remove tag \"%s\" from all notes?": "Ta bort taggen \"%s\" från alla anteckningar?",
@ -632,6 +687,10 @@
"Rename tag:": "Byt namn på tagg:",
"Renames the given <item> (note or notebook) to <name>.": "Byter namn på den angivna <item> (anteckning eller anteckningsbok) till <name>.",
"Renew token": "Förnya token",
"Replace": "Ersätt",
"Replace all": "Ersätt alla",
"Replace with...": "Ersätt alla...",
"Replace: ": "Ersätt: ",
"Reset master password": "Återställ huvudlösenord",
"Resources: %d.": "Resurser: %d.",
"Restart and upgrade": "Starta om och uppgradera",
@ -660,6 +719,7 @@
"Save geo-location with notes": "Spara geolokalisering med anteckningar",
"Search": "Sök",
"Search for plugins...": "Sök efter insticksmoduler...",
"Search for...": "Sök efter...",
"Search in all the notes": "Sök i alla anteckningarna",
"Search in current note": "Sök i aktuell anteckning",
"Search...": "Sök...",
@ -679,17 +739,23 @@
"Set the password": "Ställ in lösenord",
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Ställer in egenskapen <name> av den givna <note> till det angivna [value]. Möjliga egenskaper är:\n\n%s",
"Share": "Dela",
"Share and collaborate on a notebook": "Dela och samarbeta i en anteckningsbok",
"Share Notebook": "Dela anteckningsbok",
"Share notebook...": "Dela anteckningsbok...",
"Sharing access control": "Dela åtkomstkontroll",
"Sharing notebook...": "Delar anteckningsboken...",
"Shortcuts are not available in CLI mode.": "Snabbkommandon är inte tillgängliga i läge för kommandotolk.",
"Show advanced": "Visa avancerade",
"Show Advanced Settings": "Visa avancerade inställningar",
"Show all": "Visa alla",
"Show completed to-dos": "Visa slutförda att-göra",
"Show disabled": "Visa inaktiverade",
"Show disabled keys": "Visa inaktiverade nycklar",
"Show more actions": "Visa fler åtgärder",
"Show note counts": "Visa anteckningsantal",
"Show sort order buttons": "Visa sorteringsordningsknappar",
"Show tray icon": "Visa fältikon",
"Show/hide the sidebar": "Visa/dölj sidofältet",
"Sidebar": "Sidofält",
"Size": "Storlek",
"Skip this version": "Hoppa över denna versionen",
@ -739,6 +805,7 @@
"Switch to profile %d": "Byt till profilen %d",
"Switch to to-do type": "Byt till att-göra-typ",
"Switches to [notebook] - all further operations will happen within this notebook.": "Växlar till [notebook] - alla ytterligare åtgärder kommer att hända inom denna anteckningsbok.",
"Sync as many devices as you want": "Synkronisera så många enheter du vill",
"Sync Status": "Synkroniseringsstatus",
"Sync status (synced items / total items)": "Synkroniseringstillstånd (synkroniserade objekt / totalt antal objekt)",
"Sync target must be upgraded! Run `%s` to proceed.": "Synkroniseringsmålet måste uppgraderas! Kör `%s` för att fortsätta.",
@ -762,7 +829,9 @@
"Tagged: %d.": "Taggad: %d.",
"Tags": "Taggar",
"Take photo": "Ta ett foto",
"Task list": "Uppgiftslista",
"Tasks": "Uppgifter",
"Teams": "Team",
"Text editor command": "Textredigeringskommando",
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Tack! Ditt Joplin Cloud-konto är nu konfigurerat och klart att använda.",
"The app is now going to close. Please relaunch it to complete the process.": "Appen kommer nu att stängas. Starta om den för att slutföra processen.",
@ -834,6 +903,7 @@
"To retry decryption of these items. Run `e2ee decrypt --retry-failed-items`": "För att försöka dekryptera dessa objekt igen. Kör `e2ee decrypt --retry-failed-items`",
"To work correctly, the app needs the following permissions. Please enable them in your phone settings, in Apps > Joplin > Permissions": "För att fungera korrekt behöver appen följande tillstånd. Aktivera dem i dina telefoninställningar, i Appar > Joplin > Behörigheter",
"to-do": "att-göra",
"to-do: %s": "att-göra: %s",
"Toggle comment": "Växla kommentar",
"Toggle development tools": "Växla utvecklingsverktyg",
"Toggle editor layout": "Växla redigeringslayout",
@ -846,8 +916,10 @@
"Toggle sort order field": "Växla sorteringsordningsfält",
"Token has been copied to the clipboard!": "Token har kopierats till urklipp!",
"Tools": "Verktyg",
"Total Size": "Total storlek",
"Total: %d/%d": "Totalt: %d/%d",
"Try again": "Försök igen",
"Try it now": "Testa det nu",
"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.",
"Type `joplin help` for usage information.": "Skriv `joplin help` för användningsinformation.",
"Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.": "Skriv titeln på en anteckning för att hoppa till den. Eller skriv # följt av namnet på en tagg eller@ följt av namnet på en anteckningsbok. Eller skriv : för att söka efter kommandon.",
@ -857,6 +929,7 @@
"Undo": "Ångra",
"Unknown flag: %s": "Okänd flagga: %s",
"Unknown item type downloaded - please upgrade Joplin to the latest version": "Okänd objekttyp hämtad - uppgradera Joplin till den senaste versionen",
"Unordered list": "Oordnad lista",
"Unpublish note": "Sluta publisera anteckningen",
"Unshare": "Sluta dela",
"Unshare this notebook? The recipients will no longer have access to its content.": "Dela inte den här anteckningsboken? Mottagarna har inte längre tillgång till dess innehåll.",
@ -906,7 +979,7 @@
"When creating a new to-do:": "När du skapar en ny att-göra:",
"Words": "Ord",
"y": "y",
"Y": "Y",
"Y": "J",
"yes": "ja",
"Yes": "Ja",
"You are about to attach a large image (%dx%d pixels). Would you like to resize it down to %d pixels before attaching it?": "Du håller på att bifoga en stor bild (%dx%d pixlar). Vill du ändra storleken till %d pixlar innan du bifogar den?",

View File

@ -1,9 +1,11 @@
{
"\"%s\" is missing the required \"%s\" property.": "“%s” 缺少必须的属性 “%s”。",
"%d days": "%d 天",
"%d GB": "%d GB",
"%d GB storage space": "%dGB存储空间",
"%d hour": "%d 小时",
"%d hours": "%d 小时",
"%d MB": "%d MB",
"%d MB per note or attachment": "每个笔记或附件%dMB",
"%d minutes": "%d 分钟",
"%d notes match this pattern. Delete them?": "有 %d 条笔记匹配。是否删除?",
@ -46,8 +48,8 @@
"Accelerator \"%s\" is used for \"%s\" and \"%s\" commands. This may lead to unexpected behaviour.": "加速键 “%s” 被用于 “%s” 和 “%s” 命令。这可能导致意外的表现。",
"Accept": "接受",
"Account": "账号",
"Action": "作",
"Actions": "作",
"Action": "作",
"Actions": "作",
"Active": "正在使用",
"Actual Size": "实际大小",
"Add body": "添加内容",
@ -92,6 +94,7 @@
"Automatically check for updates": "自动检查更新",
"Automatically switch theme to match system theme": "根据系统主题自动切换",
"Back": "返回",
"Basic": "基本",
"Bold": "加粗",
"Browse all plugins": "浏览所有插件",
"Browse...": "浏览...",
@ -173,7 +176,7 @@
"Could not export notes: %s": "无法导出笔记:%s",
"Could not install plugin: %s": "无法安装插件:%s",
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "无法对邀请作出回应。请再试一次,或向笔记本所有者核实他们是否仍在共享它。\n\n错误是:“%s”",
"Could not upgrade master key: %s": "无法升级主密钥:%s",
"Could not upgrade master key: %s": "无法升级主密钥(master key):%s",
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "无法验证此笔记的分享状态 — 正在终止。请在连接到互联网后再次尝试。",
"Create": "创建",
"Create a notebook": "新建一个笔记本",
@ -185,9 +188,9 @@
"Created local items: %d.": "已新建本地项目:%d。",
"Created locally": "已新建本地项目",
"Created remote items: %d.": "已新建远程项目:%d。",
"Created: ": "创建: ",
"Created: ": "创建: ",
"Created: %d.": "已创建:%d 条。",
"Created: %s": "创建:%s",
"Created: %s": "创建:%s",
"Creates a new note.": "新建笔记。",
"Creates a new notebook.": "新建笔记本。",
"Creates a new to-do.": "新建待办事项。",
@ -237,7 +240,7 @@
"Disable": "禁用",
"Disable encryption": "禁用加密",
"Disable safe mode and restart": "禁用安全模式并重启",
"Disable Web Clipper Service": "禁用网页剪器",
"Disable Web Clipper Service": "禁用网页剪器",
"Disabled": "已禁用",
"Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?": "禁用加密会导致 *所有笔记与附件* 重新同步,并以非加密的数据形式发送到同步目标。确定继续吗?",
"Discard changes": "放弃更改",
@ -262,7 +265,7 @@
"Downloaded and encrypted": "已下载并加密",
"Downloading": "下载中",
"Downloading resources...": "下载资源中...",
"Dracula": "德古拉紫 (Dracula)",
"Dracula": "德古拉紫(Dracula)",
"Drop notes or files here": "将笔记或文件拖到此处",
"Dropbox": "Dropbox",
"Dropbox Login": "登录 Dropbox",
@ -307,7 +310,7 @@
"Enable table of contents extension": "启用目录扩展 ([TOC])",
"Enable typographer support": "启用 Typographer 支持",
"Enable video player": "启用视频播放器",
"Enable Web Clipper Service": "启用网页剪器",
"Enable Web Clipper Service": "启用网页剪器",
"Enable ~sub~ syntax": "启用 ~sub~ 语法",
"Enabled": "已启用",
"Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target.": "启用加密意味着您的*所有*笔记与附件都将被重新同步,并被加密发送到同步目标。",
@ -317,11 +320,11 @@
"Encryption": "加密",
"Encryption Config": "加密配置",
"Encryption is: %s": "加密状态:%s",
"Encryption keys": "加密密钥",
"Encryption keys": "加密密钥(Encryption keys)",
"Encryption:": "加密:",
"End-to-end encryption": "端到端加密",
"Enter code here": "在此输入代码",
"Enter master password:": "输入主密码:",
"Enter master password:": "输入主密码(master password):",
"Enter notebook title": "输入笔记本标题",
"Enum": "枚举",
"Error": "发生错误",
@ -343,8 +346,8 @@
"Exports Joplin data to the given path. By default, it will export the complete database including notebooks, notes, tags and resources.": "导出 Joplin 数据到选定路径。默认将导出包含笔记本、笔记、标签与资源等的完整数据库。",
"Exports only the given note.": "仅导出选定笔记。",
"Exports only the given notebook.": "仅导出选定笔记本。",
"Fail-safe": "故障保护 (Fail-safe)",
"Fail-safe: Do not wipe out local data when sync target is empty (often the result of a misconfiguration or bug)": "故障保护 (Fail-safe) :当同步目标为空时(通常是配置错误或 Bug),不要删除本地数据",
"Fail-safe": "故障保护(Fail-safe)",
"Fail-safe: Do not wipe out local data when sync target is empty (often the result of a misconfiguration or bug)": "故障保护(Fail-safe) :当同步目标为空时(通常是配置错误或Bug),不要删除本地数据",
"Fatal error:": "严重错误:",
"Feature flags": "特性标志",
"Fetched items: %d/%d.": "已获取项目:%d/%d.",
@ -370,7 +373,7 @@
"Found: %d.": "已找到:%d 条。",
"FTS enabled: %d": "FTS 已开启:%d",
"Full changelog": "完整更新记录",
"General": "通用选项",
"General": "常规",
"Generated": "已生成",
"Generating link...": "生成链接中...",
"Get it now:": "立即获取:",
@ -379,6 +382,8 @@
"Go to source URL": "转到源 URL",
"Goto Anything...": "跳转到任意内容...",
"Grant authorisation": "批准授权",
"Header %d": "Header %d",
"Headers": "Headers",
"Heading": "标题",
"Help": "帮助",
"Hide %s": "隐藏 %s",
@ -387,10 +392,10 @@
"Hide disabled keys": "隐藏禁用的密钥",
"Hide Joplin": "隐藏 Joplin",
"Hide keyboard": "隐藏键盘",
"Hide more actions": "隐藏更多作",
"Hide more actions": "隐藏更多作",
"Highlight": "突出显示",
"Home": "主页",
"Horizontal Rule": "水平线",
"Horizontal Rule": "分割线",
"HTML Directory": "HTML 目录",
"HTML File": "HTML 文件",
"Hyperlink": "超链接",
@ -409,7 +414,7 @@
"In order to associate a geo-location with the note, the app needs your permission to access your location.\n\nYou may turn off this option at any time in the Configuration screen.": "为了将地理位置与笔记关联,本应用需要获取您的位置的权限。\n\n您可以在“配置”页面中随时关闭此选项。",
"In order to do so, your entire data set will have to be encrypted and synchronised, so it is best to run it overnight.\n\nTo start, please follow these instructions:\n\n1. Synchronise all your devices.\n2. Click \"%s\".\n3. Let it run to completion. While it runs, avoid changing any note on your other devices, to avoid conflicts.\n4. Once sync is done on this device, sync all your other devices and let it run to completion.\n\nImportant: you only need to run this ONCE on one device.": "为此,必须对整个数据集进行加密和同步,因此最好在夜间休息时分运行。\n\n首先,请按照以下说明进行操作:\n\n1. 同步您的所有设备。\n2. 单击 “%s”。\n3. 让其完成运行。在运行时,请不要在其他设备上更改任何笔记,以免发生冲突。\n4. 在此设备上完成同步后,同步其他所有设备,并运行至同步完成。\n\n重要提醒:在一台设备上只需要运行一次。",
"In order to use file system synchronisation your permission to write to external storage is required.": "为使用文件系统同步,需要获取写入外部存储的权限。",
"In order to use the web clipper, you need to do the following:": "要使用网页剪器,您需要执行以下步骤:",
"In order to use the web clipper, you need to do the following:": "要使用网页剪器,您需要执行以下步骤:",
"In progress": "正在进行",
"In: %s": "位于:%s",
"Increase indent level": "增加缩进级别",
@ -446,7 +451,7 @@
"Joplin Server email": "Joplin 服务器邮箱",
"Joplin Server password": "Joplin 服务器密码",
"Joplin Server URL": "Joplin 服务器 URL",
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": "Joplin 网页剪器可以让您将浏览器中的网页和屏幕截图保存到 Joplin。",
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": "Joplin 网页剪器可以让您将浏览器中的网页和屏幕截图保存到 Joplin。",
"Joplin website": "Joplin 官网",
"Joplin's own sync service. Also gives access to Joplin-specific features such as publishing notes or collaborating on notebooks with others.": "Joplin 自己的同步服务。还可以访问 Joplin 的特定功能,比如发布笔记或者与他人协作笔记本。",
"KaTeX": "KaTeX",
@ -470,6 +475,7 @@
"Link has been copied to clipboard!": "链接已复制到剪贴板!",
"Links with protocol \"%s\" are not supported": "不支持 “%s” 协议的链接",
"List item": "列表项",
"Lists": "列表",
"Loaded": "已加载",
"Location": "位置",
"Lock file is already being hold. If you know that no synchronisation is taking place, you may delete the lock file at \"%s\" and resume the operation.": "锁定文件已被占用。如果您确认当前未在进行任何同步,可在删除锁定文件 “%s” 后继续上一步操作。",
@ -481,8 +487,8 @@
"Logout": "登出",
"Logs": "日志",
"Make a donation": "捐助",
"Manage master password": "管理主密码",
"Manage master password...": "管理主密码……",
"Manage master password": "管理主密码(master password)",
"Manage master password...": "管理主密码(master password)...",
"Manage multiple users": "管理多个用户",
"Manage your plugins": "管理您的插件",
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": "管理 E2EE 配置。命令为:`enable`、`disable`、`decrypt`、`status`、`decrypt-file` 和 `target-status`。",
@ -492,17 +498,19 @@
"Marks a to-do as done.": "标记待办事项为完成。",
"Marks a to-do as non-completed.": "标记待办事项为未完成。",
"Markup": "标记语言",
"Master Key %s": "主密钥 %s",
"Master Key %s": "主密钥(Master Key) %s",
"Master password": "主密码",
"Master password:": "主密码:",
"Master password:": "主密码(Master password):",
"Max concurrent connections": "最大并发连接数",
"Missing keys": "缺少密钥",
"Missing Master Keys": "缺少主密钥",
"Max Item Size": "最大条目数",
"Max note or attachment size": "最大项目大小",
"Missing keys": "缺少密钥(keys)",
"Missing Master Keys": "缺少主密钥(Master Keys)",
"Missing required argument: %s": "缺失必选参数:%s",
"Mobile data - auto-sync disabled": "移动数据自动同步被禁用",
"More info": "更多信息",
"More information": "更多信息",
"More than one item match \"%s\". Please narrow down your query.": "有多条项目符合 “%s”。请缩小您的检索范围。",
"More than one item match \"%s\". Please narrow down your query.": "不止一项匹配 “%s”。请缩小您的检索范围。",
"Move %d notes to notebook \"%s\"?": "是否移动 %d 条笔记到笔记本 “%s”?",
"Move to notebook": "移动到笔记本",
"Move to notebook...": "移动到笔记本...",
@ -552,7 +560,7 @@
"Note list growth factor": "笔记列表增长因子",
"Note properties": "笔记属性",
"Note title": "笔记标题",
"Note&book": "笔记&笔记本",
"Note&book": "笔记 (&B)",
"Note: Does not work in all desktop environments.": "注意:在部分桌面环境下无法工作。",
"Note: When a note is shared, it will no longer be encrypted on the server.": "注意:笔记分享后,便不再在服务器上加密。",
"Notebook": "笔记本",
@ -561,15 +569,15 @@
"Notebooks": "笔记本",
"Notebooks cannot be named \"%s\", which is a reserved title.": "笔记本无法被命名为 “%s”,该标题已被留作他用。",
"Notes": "笔记",
"Notes and settings are stored in: %s": "笔记与设置储存于:%s",
"Notes and settings are stored in: %s": "笔记与配置信息存储于:%s",
"Notes can only be created within a notebook.": "笔记只能在笔记本内创建。",
"Numbered List": "有序列表",
"OK": "确认",
"OLED Dark": "纯黑 (OLED)",
"On %s: %s": "位于 %s: %s",
"One of your master keys use an obsolete encryption method.": "您的主密钥之一使用了过时的加密方法。",
"One or more items are currently encrypted and you may need to supply a master password. To do so please type `e2ee decrypt`. If you have already supplied the password, the encrypted items are being decrypted in the background and will be available soon.": "一个或多个项目当前已加密,您可能需要提供主密码。若需进行此操作请输入 `e2ee decrypt` 。若您已提供密码,此时加密文件正在后台解密,解锁之后即可使用。",
"One or more master keys need a password.": "一个或多个主密钥需要密码。",
"One of your master keys use an obsolete encryption method.": "您的主密钥(Master Key)之一使用了过时的加密方法。",
"One or more items are currently encrypted and you may need to supply a master password. To do so please type `e2ee decrypt`. If you have already supplied the password, the encrypted items are being decrypted in the background and will be available soon.": "一个或多个项目当前已加密,您可能需要提供主密码(master password)。若需进行此操作请输入 `e2ee decrypt` 。若您已提供密码,此时加密文件正在后台解密,解锁之后即可使用。",
"One or more master keys need a password.": "一个或多个主密钥(Master Key)需要密码。",
"OneDrive": "OneDrive",
"OneDrive Login": "登录 OneDrive",
"Only one note can be printed at a time.": "一次只能打印一个笔记。",
@ -597,7 +605,7 @@
"Permission to use camera": "使用相机的权限",
"Please click on \"%s\" to proceed, or set the passwords in the \"%s\" list below.": "请单击 “%s” 继续,或在下面的 “%s” 列表中设置密码。",
"Please confirm that you would like to re-encrypt your complete database.": "请确认您要重新加密整个数据库。",
"Please enter your password in the master key list below before upgrading the key.": "在升级密钥之前,请在下面的主密钥列表中输入您的密码。",
"Please enter your password in the master key list below before upgrading the key.": "在升级密钥之前,请在下面的主密钥(Master Key)列表中输入您的密码。",
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "请注意,如果是大型笔记本,可能需要几分钟时间才能在收件人的设备上显示出所有的笔记。",
"Please open the following URL in your browser to authenticate the application. The application will create a directory in \"Apps/Joplin\" and will only read and write files in this directory. It will have no access to any files outside this directory nor to any other personal data. No data will be shared with any third party.": "请在浏览器中打开以下链接以验证本应用程序。本应用会建立 “Apps/Joplin” 文件目录,并只会读写该目录中的文件。本应用没有任何权限访问此目录以外的任何文件或个人信息,也不会与第三方分享任何数据。",
"Please select a notebook first.": "请先选择笔记本。",
@ -613,8 +621,8 @@
"Portrait": "竖版",
"Possible keys/values:": "可用键/值:",
"Possible values: %s.": "可用值:%s。",
"Preferences": "首选项",
"Preferences...": "首选项...",
"Preferences": "偏好设置",
"Preferences...": "偏好设置...",
"Preferred dark theme": "首选暗色主题",
"Preferred light theme": "首选亮色主题",
"Press Ctrl+D or type \"exit\" to exit the application": "按 Ctrl+D 或输入 “exit” 退出程序",
@ -622,7 +630,7 @@
"Press the shortcut and then press ENTER. Or, press BACKSPACE to clear the shortcut.": "按下快捷键然后按下回车。或者:按下退格键以清除快捷键。",
"Press to set the decryption password.": "点按设置解密密码。",
"Previous match": "上次匹配",
"Previous versions of this note": "此笔记的早期版本",
"Previous versions of this note": "该笔记的历史版本",
"Print": "打印",
"Priority support": "优先支持",
"Privacy Policy": "隐私政策",
@ -635,7 +643,7 @@
"Properties": "笔记属性",
"Proxy timeout (seconds)": "代理超时(秒)",
"Proxy URL": "代理URL",
"Public-private key pair:": "公钥、私钥对:",
"Public-private key pair:": "公-私钥对:",
"Publish note...": "分享笔记...",
"Publish Notes": "分享笔记",
"Publish notes to the internet": "把笔记发布到互联网",
@ -661,10 +669,11 @@
"Renames the given <item> (note or notebook) to <name>.": "重命名选定的 <item> (笔记或笔记本)到 <name>。",
"Renew token": "更新令牌",
"Replace": "替换",
"Replace with...": "替换为...",
"Replace: ": "替换: ",
"Reset master password": "重置主密码",
"Reset master password": "重置主密码(master password)",
"Resources: %d.": "资源:%d。",
"Restart and upgrade": "重启升级",
"Restart and upgrade": "重启升级",
"Restart now": "立即重启",
"Restore": "恢复",
"Restored Notes": "已恢复的笔记",
@ -742,7 +751,7 @@
"Specify the port that should be used by the API server. If not set, a default will be used.": "请指定 API 服务器应使用的端口。如果未设置,将使用默认值。",
"Spell checker": "拼写检查器",
"Split View": "分栏视图",
"Start application minimised in the tray icon": "应用程序启动时最小化到托盘",
"Start application minimised in the tray icon": "程序启动时最小化到托盘",
"Start, stop or check the API server. To specify on which port it should run, set the api.port config variable. Commands are (%s).": "启动,停止或检查 API 服务。可以通过设置 ‘api.port’ 变量指定 API 服务运行在哪个端口上。执行命令 (%s) 。",
"Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.": "开始解密,请稍候... 取决于需解密的文件数量,该环节可能需要几分钟。",
"Starting synchronisation...": "开始同步...",
@ -752,12 +761,13 @@
"Status": "状态",
"Status: %s": "状态:%s",
"Status: Started on port %d": "状态:在 %d 端口运行",
"Step 1: Enable the clipper service": "步骤一:启用网页剪辑器",
"Step 1: Enable the clipper service": "步骤一:启用网页剪藏服务",
"Step 1: Open this URL in your browser to authorise the application:": "步骤一:在浏览器中打开此 URL 来授权应用程序:",
"Step 2: Enter the code provided by Dropbox:": "步骤二:输入 Dropbox 提供的代码:",
"Step 2: Install the extension": "步骤二:安装扩展",
"Stop": "停止",
"Stop external editing": "停止外部编辑",
"Storage space": "储存空间",
"Strikethrough": "删除线",
"strong text": "加粗文本",
"Submit": "提交",
@ -787,20 +797,21 @@
"Synchronisation target": "同步目标",
"Synchronisation target: %s (%s)": "同步目标:%s (%s)",
"Synchronise": "同步",
"Synchronise only over WiFi connection": "只通过 WiFi 网络同步数据",
"Synchronise only over WiFi connection": "只通过 WiFi 同步",
"Synchronises with remote storage.": "与远程储存同步。",
"Synchronising...": "正在同步...",
"Synchronizing...": "正在同步...",
"Tabloid": "文摘 (Tabloid)",
"Tabloid": "文摘(Tabloid)",
"tag1, tag2, ...": "标签1, 标签2, ...",
"Tagged: %d.": "已加标签:%d 条。",
"Tags": "标签",
"Take photo": "拍照",
"Tasks": "任务",
"Teams": "团队",
"Text editor command": "文本编辑器命令",
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "感谢!您的 Joplin Cloud 帐号已经设置完毕。",
"The app is now going to close. Please relaunch it to complete the process.": "应用将要关闭。请重新启动它以完成此过程。",
"The application did not close properly. Would you like to start in safe mode?": "该应用程序没有正确关闭。你想在安全模式下启动吗?",
"The application did not close properly. Would you like to start in safe mode?": "该程序没有正确关闭。你想在安全模式下启动吗?",
"The application has been authorised - you may now close this browser tab.": "授权成功 - 您可以关闭此页面了。",
"The application has been authorised!": "应用已成功授权!",
"The application has been successfully authorised.": "已成功授予本应用程序权限。",
@ -809,7 +820,7 @@
"The command \"%s\" is only available in GUI mode": "命令 “%s” 仅在 GUI 模式下可用",
"The default admin password is insecure and has not been changed! [Change it now](%s)": "默认管理员密码不安全且尚未更改![现在更改](%s)",
"The default encryption method has been changed to a more secure one and it is recommended that you apply it to your data.": "默认的加密方法已更改为一种更安全的方法,建议您将其应用于您的数据。",
"The default encryption method has been changed, you should re-encrypt your data.": "默认的加密方法已更改,您应当重新加密数据。",
"The default encryption method has been changed, you should re-encrypt your data.": "默认的加密方式已变更,您应当重新加密数据。",
"The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor.": "该文本编辑器命令(可包含参数)将会被用于打开笔记。若未提供将尝试自动检测默认编辑器。",
"The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes.": "拉伸系数属性用于指定项目之间的容量比例。如,因子为 2 的项目所占容量是因子为 1 的项目的两倍。该更改在软件重启后生效。",
"The following attachments are being watched for changes:": "下列附件发生的改动正在被监控:",
@ -817,8 +828,8 @@
"The Joplin mobile app does not currently support this type of link: %s": "Joplin 移动应用目前不支持这种类型的链接:%s",
"The Joplin team has vetted this plugin and it meets our standards for security and performance.": "Joplin 团队已经核准了该插件,它符合我们对于安全和性能的要求。",
"The keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "具有这些 ID 的密钥正被用于加密您的某些项,但应用程序目前无法访问它们。项目最终会通过同步获取,但目前可能仍未被同步。",
"The master key has been upgraded successfully!": "主密钥已成功升级!",
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "具有这些 ID 的主密钥正被用于加密某些项,但应用程序目前无法访问它们。项目最终会通过同步获取,但目前可能仍未被同步。",
"The master key has been upgraded successfully!": "主密钥(Master Key)已成功升级!",
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "具有这些 ID 的主密钥(Master Key)正被用于加密某些项,但应用程序目前无法访问它们。项目最终会通过同步获取,但目前可能仍未被同步。",
"The note \"%s\" has been successfully restored to the notebook \"%s\".": "笔记 “%s” 已成功恢复到笔记本 “%s” 中。",
"The notebook could not be saved: %s": "无法保存笔记本:%s",
"The notes have been imported: %s": "以下笔记已被导入:%s",
@ -828,9 +839,9 @@
"The sync target needs to be upgraded. Press this banner to proceed.": "同步目标需要升级。按这个横幅继续。",
"The tag \"%s\" already exists. Please choose a different name.": "标签 “%s” 已存在。请选择一个不同的名称。",
"The target to synchronise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).": "所要同步的目标。每个同步目标都可能有名为 `sync.NUM.NAME` 的附加参数(见下文)。",
"The Web Clipper needs your authorisation to access your data.": "网页剪器需要您的授权才能访问您的数据。",
"The web clipper service is enabled and set to auto-start.": "网页剪器已启用并已设置为自动启动。",
"The web clipper service is not enabled.": "网页剪未启用。",
"The Web Clipper needs your authorisation to access your data.": "网页剪器需要您的授权才能访问您的数据。",
"The web clipper service is enabled and set to auto-start.": "网页剪器已启用并已设置为自动启动。",
"The web clipper service is not enabled.": "网页剪未启用。",
"Theme": "主题",
"There are currently no notes. Create one by clicking on the (+) button.": "当前没有任何笔记。点击 (+) 按钮创建。",
"There is currently no notebook. Create one by clicking on \"New notebook\".": "当前没有笔记本。点击 “新建笔记本” 创建。",
@ -857,7 +868,7 @@
"title": "标题",
"Title": "标题",
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "要让 Joplin 与 Dropbox 同步,请按下列步骤操作:",
"To continue, please enter your master password below.": "若要继续,请在下面输入您的主密码。",
"To continue, please enter your master password below.": "若要继续,请在下面输入您的主密码(master password)。",
"To delete a tag, untag the associated notes.": "移除相关笔记的标签后才可删除此标签。",
"To delete: %d": "将删除:%d 条",
"To enter command line mode, press \":\"": "按 “:” 键进入命令行模式",
@ -905,7 +916,7 @@
"updated date": "更新日期",
"Updated local items: %d.": "已更新本地项目:%d。",
"Updated remote items: %d.": "已更新远程项目:%d。",
"Updated: ": "更新: ",
"Updated: ": "更新: ",
"Updated: %d.": "已更新:%d 条。",
"Updated: %s": "已更新:%s",
"Updating...": "正在更新…",
@ -930,7 +941,7 @@
"Vim": "Vim",
"Warning": "警告",
"Warning: not all resources shown for performance reasons (limit: %s).": "警告:由于性能原因无法显示所有资源(最多:%s)。",
"Web Clipper": "网页剪器",
"Web Clipper": "网页剪器",
"WebDAV": "WebDAV",
"WebDAV password": "WebDAV 密码",
"WebDAV URL": "WebDAV URL",

View File

@ -1,10 +1,10 @@
{
"name": "@joplin/lib",
"version": "2.9.1",
"version": "2.10.0",
"description": "Joplin Core library",
"author": "Laurent Cozic",
"homepage": "",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"publishConfig": {
"access": "public"
},
@ -17,25 +17,25 @@
},
"devDependencies": {
"@types/fs-extra": "9.0.13",
"@types/jest": "29.2.3",
"@types/jest": "29.2.4",
"@types/js-yaml": "4.0.5",
"@types/node": "18.11.10",
"@types/node": "18.11.17",
"@types/node-rsa": "1.1.1",
"@types/react": "17.0.52",
"@types/uuid": "^9.0.0",
"clean-html": "1.5.0",
"jest": "29.3.1",
"sharp": "0.31.2",
"typescript": "4.9.3"
"sharp": "0.31.3",
"typescript": "4.9.4"
},
"dependencies": {
"@aws-sdk/client-s3": "3.223.0",
"@aws-sdk/s3-request-presigner": "3.223.0",
"@aws-sdk/client-s3": "3.236.0",
"@aws-sdk/s3-request-presigner": "3.236.0",
"@joplin/fork-htmlparser2": "^4.1.41",
"@joplin/fork-sax": "^1.2.45",
"@joplin/fork-uslug": "^1.0.6",
"@joplin/htmlpack": "^2.9.1",
"@joplin/renderer": "^2.9.1",
"@joplin/htmlpack": "~2.10",
"@joplin/renderer": "~2.10",
"@joplin/turndown": "^4.0.63",
"@joplin/turndown-plugin-gfm": "^1.0.45",
"@types/nanoid": "3.0.0",
@ -82,10 +82,10 @@
"reselect": "4.1.7",
"server-destroy": "1.0.1",
"sprintf-js": "1.1.2",
"sqlite3": "5.1.2",
"sqlite3": "5.1.4",
"string-padding": "1.0.2",
"string-to-stream": "3.0.1",
"tar": "6.1.12",
"tar": "6.1.13",
"tcp-port-used": "1.0.2",
"uglifycss": "0.0.29",
"url-parse": "1.5.10",

View File

@ -126,7 +126,7 @@ const features = (): Record<FeatureId, PlanFeature> => {
teamsInfoShort: _('%d MB', 200),
},
maxStorage: {
title: 'Storage space',
title: _('Storage space'),
basic: true,
pro: true,
teams: true,

View File

@ -1,6 +1,6 @@
{
"name": "@joplin/pdf-viewer",
"version": "2.9.0",
"version": "2.10.0",
"description": "Provides embedded PDF viewers for Joplin",
"main": "dist/main.js",
"types": "src/main.ts",
@ -17,21 +17,21 @@
"postinstall": "yarn build"
},
"author": "Joplin",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"devDependencies": {
"@types/jest": "29.2.3",
"@types/jest": "29.2.4",
"@types/pdfjs-dist": "2.10.378",
"@types/react": "16.14.34",
"@types/react-dom": "18.0.9",
"@types/styled-components": "5.1.25",
"babel-jest": "29.3.1",
"css-loader": "6.7.2",
"css-loader": "6.7.3",
"jest": "29.3.1",
"jest-environment-jsdom": "29.3.1",
"style-loader": "3.3.1",
"ts-jest": "29.0.3",
"ts-loader": "9.4.2",
"typescript": "4.9.3",
"typescript": "4.9.4",
"webpack": "5.74.0",
"webpack-cli": "4.10.0"
},
@ -39,7 +39,7 @@
"@fortawesome/fontawesome-svg-core": "6.1.2",
"@fortawesome/free-solid-svg-icons": "6.1.2",
"@fortawesome/react-fontawesome": "0.2.0",
"@joplin/lib": "~2.9",
"@joplin/lib": "~2.10",
"async-mutex": "0.4.0",
"pdfjs-dist": "2.16.105",
"react": "18.2.0",

View File

@ -1,6 +1,6 @@
{
"name": "@joplin/plugin-repo-cli",
"version": "2.9.1",
"version": "2.10.0",
"description": "",
"main": "index.js",
"bin": "./dist/index.js",
@ -16,10 +16,10 @@
"dist": "webpack --config webpack.config.js"
},
"author": "",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"dependencies": {
"@joplin/lib": "^2.9.1",
"@joplin/tools": "^2.9.1",
"@joplin/lib": "~2.10",
"@joplin/tools": "~2.10",
"fs-extra": "11.1.0",
"gh-release-assets": "2.0.1",
"node-fetch": "2.6.7",
@ -28,11 +28,11 @@
},
"devDependencies": {
"@types/fs-extra": "9.0.13",
"@types/jest": "29.2.3",
"@types/node": "18.11.10",
"@types/jest": "29.2.4",
"@types/node": "18.11.17",
"jest": "29.3.1",
"source-map-loader": "4.0.1",
"typescript": "4.9.3",
"typescript": "4.9.4",
"webpack": "5.65.0",
"webpack-cli": "4.10.0"
},

View File

@ -3,5 +3,5 @@
"version": "0.0.0",
"description": "Sub-package to group official Joplin plugins",
"private": true,
"license": "MIT"
"license": "AGPL-3.0-or-later"
}

View File

@ -1,6 +1,6 @@
{
"name": "@joplin/react-native-saf-x",
"version": "2.9.0",
"version": "2.10.0",
"description": "a module to help work with scoped storages on android easily",
"main": "src/index",
"react-native": "src/index",
@ -33,7 +33,7 @@
"storage-access-framework"
],
"author": "Javad Mnjd (https://github.com/jd1378)",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"homepage": "",
"publishConfig": {
"access": "public"
@ -44,7 +44,7 @@
"@types/react-native": "0.64.19",
"react": "18.2.0",
"react-native": "0.66.1",
"typescript": "4.9.3"
"typescript": "4.9.4"
},
"peerDependencies": {
"react": "*",

View File

@ -1,6 +1,6 @@
{
"name": "@joplin/renderer",
"version": "2.9.1",
"version": "2.10.0",
"description": "The Joplin note renderer, used the mobile and desktop application",
"repository": "https://github.com/laurent22/joplin/tree/dev/packages/renderer",
"main": "index.js",
@ -16,12 +16,12 @@
"test-ci": "yarn test"
},
"author": "",
"license": "MIT",
"license": "AGPL-3.0-or-later",
"devDependencies": {
"@types/jest": "29.2.3",
"@types/node": "18.11.10",
"@types/jest": "29.2.4",
"@types/node": "18.11.17",
"jest": "29.3.1",
"typescript": "4.9.3"
"typescript": "4.9.4"
},
"dependencies": {
"@joplin/fork-htmlparser2": "^4.1.41",

View File

@ -1,6 +1,6 @@
{
"name": "@joplin/server",
"version": "2.9.7",
"version": "2.10.4",
"private": true,
"scripts": {
"start-dev": "yarn run build && JOPLIN_IS_TESTING=1 nodemon --config nodemon.json --ext ts,js,mustache,css,tsx dist/app.js --env dev",
@ -21,23 +21,23 @@
"watch": "tsc --watch --preserveWatchOutput --project tsconfig.json"
},
"dependencies": {
"@aws-sdk/client-s3": "3.223.0",
"@aws-sdk/client-s3": "3.236.0",
"@fortawesome/fontawesome-free": "5.15.4",
"@joplin/lib": "~2.9",
"@joplin/renderer": "~2.9",
"@joplin/lib": "~2.10",
"@joplin/renderer": "~2.10",
"@koa/cors": "4.0.0",
"@types/uuid": "9.0.0",
"bcryptjs": "2.4.3",
"bulma": "0.9.4",
"bulma-prefers-dark": "0.1.0-beta.1",
"compare-versions": "3.6.0",
"dayjs": "1.11.6",
"dayjs": "1.11.7",
"formidable": "2.1.1",
"fs-extra": "11.1.0",
"html-entities": "1.4.0",
"jquery": "3.6.1",
"jquery": "3.6.3",
"knex": "2.3.0",
"koa": "2.13.4",
"koa": "2.14.1",
"markdown-it": "13.0.1",
"mustache": "4.2.0",
"nanoid": "2.1.11",
@ -51,24 +51,25 @@
"query-string": "7.1.3",
"rate-limiter-flexible": "2.4.1",
"raw-body": "2.5.1",
"sqlite3": "5.1.2",
"sqlite3": "5.1.4",
"stripe": "8.222.0",
"uuid": "9.0.0",
"yargs": "17.6.2",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@joplin/tools": "~2.9",
"@joplin/tools": "~2.10",
"@rmp135/sql-ts": "1.15.1",
"@types/formidable": "2.0.5",
"@types/fs-extra": "9.0.13",
"@types/jest": "29.2.3",
"@types/jest": "29.2.4",
"@types/jest-expect-message": "1.0.4",
"@types/jsdom": "16.2.15",
"@types/koa": "2.13.4",
"@types/koa": "2.13.5",
"@types/markdown-it": "12.2.3",
"@types/mustache": "4.2.2",
"@types/nodemailer": "6.4.6",
"@types/yargs": "17.0.15",
"@types/nodemailer": "6.4.7",
"@types/yargs": "17.0.17",
"@types/zxcvbn": "4.4.1",
"gulp": "4.0.2",
"jest": "29.3.1",
@ -76,6 +77,6 @@
"jsdom": "16.7.0",
"node-mocks-http": "1.12.1",
"source-map-support": "0.5.21",
"typescript": "4.9.3"
"typescript": "4.9.4"
}
}

View File

@ -38,7 +38,7 @@ export async function putItemContents(path: SubPath, ctx: AppContext, isBatch: b
if (totalSize > batchMaxSize) throw new ErrorPayloadTooLarge(`Size of items (${formatBytes(totalSize)}) is over the limit (${formatBytes(batchMaxSize)})`);
} else {
const filePath = parsedBody?.files?.file ? parsedBody.files.file.path : null;
const filePath = parsedBody?.files?.file ? parsedBody.files.file.filepath : null;
try {
const buffer = filePath ? await fs.readFile(filePath) : Buffer.alloc(0);

View File

@ -1,8 +1,9 @@
import { cookieGet } from './cookies';
import { ErrorForbidden } from './errors';
import { AppContext } from './types';
const formidable = require('formidable');
import * as formidable from 'formidable';
import { Fields, Files } from 'formidable';
import { IncomingMessage } from 'http';
export type BodyFields = Record<string, any>;
@ -11,8 +12,22 @@ interface FormParseResult {
files: any;
}
interface ParsedBody {
fields: Fields;
files: Files;
}
interface FormParseRequest extends IncomingMessage {
__isMocked: boolean;
__parsed: ParsedBody;
files: Files;
body: any;
}
// Input should be Koa ctx.req, which corresponds to the native Node request
export async function formParse(req: any): Promise<FormParseResult> {
export async function formParse(request: IncomingMessage): Promise<FormParseResult> {
const req: FormParseRequest = request as any;
// It's not clear how to get mocked requests to be parsed successfully by
// formidable so we use this small hack. If it's mocked, we are running test
// units and the request body is already an object and can be returned.
@ -29,7 +44,7 @@ export async function formParse(req: any): Promise<FormParseResult> {
// headers
return new Promise((resolve: Function, reject: Function) => {
const form = formidable({ multiples: true });
form.parse(req, (error: any, fields: any, files: any) => {
form.parse(req, (error: any, fields: Fields, files: Files) => {
if (error) {
reject(error);
return;

View File

@ -60,7 +60,7 @@ export async function execRequestC(sessionId: string, method: string, path: stri
if (body) appContextOptions.request.body = body;
if (options.filePath) appContextOptions.request.files = { file: { path: options.filePath } };
if (options.filePath) appContextOptions.request.files = { file: { filepath: options.filePath } };
if (options.query) appContextOptions.request.query = options.query;
const context = await koaAppContext(appContextOptions);

View File

@ -132,7 +132,7 @@ function filterLogs(logs: LogEntry[], platform: Platform) {
// but that's not useful in a changelog especially since most people
// don't know country and language codes. So we catch all these and
// bundle them all up in a single "Updated translations" at the end.
if (log.message.match(/Translation: Update .*?\.po/)) {
if (log.message.match(/Translation:\sUpdate\s.*?(\.po|[a-zA-Z][a-zA-Z]|[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z])/)) {
// updatedTranslations = true;
addIt = false;
}

View File

@ -3839,6 +3839,10 @@ msgstr "قف"
msgid "Stop external editing"
msgstr "إيقاف التحرير خارج التطبيق"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "توسيط خط في النص"
@ -4594,7 +4598,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "نوع صورة غير مدعوم: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "رابط أو رسالة غير مدعومان: %s"

View File

@ -3920,6 +3920,10 @@ msgstr ""
msgid "Stop external editing"
msgstr "Натиснете за да спрете външното редактиране"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4668,7 +4672,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Този тип изображения не се поддържа: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Неподдържан линк или съобщение: %s"

View File

@ -3956,6 +3956,10 @@ msgstr ""
msgid "Stop external editing"
msgstr "Prekini vanjsko uređivanje"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4731,7 +4735,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Nepodržana vrsta slike: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Nepodržana veza ili poruka: %s"

View File

@ -3828,6 +3828,10 @@ msgstr "Atura"
msgid "Stop external editing"
msgstr "Atura l'edició externa"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Ratllat"
@ -4619,7 +4623,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Tipus d'imatge no admesa: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Missatge o enllaç no suportat: %s"

View File

@ -3856,6 +3856,10 @@ msgstr "Zastavit"
msgid "Stop external editing"
msgstr "Ukončit externí úpravy"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Přeškrtnutí"
@ -4628,7 +4632,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Nepodporovaný formát obrázku: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Nepodporovaný odkaz či zpráva: %s"

View File

@ -93,12 +93,12 @@ msgstr "%d dage"
#: packages/lib/utils/joplinCloud.ts:136 packages/lib/utils/joplinCloud.ts:137
#: packages/lib/utils/joplinCloud.ts:138
msgid "%d GB"
msgstr ""
msgstr "%d GB"
#: packages/lib/utils/joplinCloud.ts:133 packages/lib/utils/joplinCloud.ts:134
#: packages/lib/utils/joplinCloud.ts:135
msgid "%d GB storage space"
msgstr ""
msgstr "%d GB lagerplads"
#: packages/lib/models/Setting.ts:1322
msgid "%d hour"
@ -111,13 +111,12 @@ msgstr "%d timer"
#: packages/lib/utils/joplinCloud.ts:124 packages/lib/utils/joplinCloud.ts:125
#: packages/lib/utils/joplinCloud.ts:126
msgid "%d MB"
msgstr ""
msgstr "%d MB"
#: packages/lib/utils/joplinCloud.ts:121 packages/lib/utils/joplinCloud.ts:122
#: packages/lib/utils/joplinCloud.ts:123
#, fuzzy
msgid "%d MB per note or attachment"
msgstr "Note vedhæftninger"
msgstr "%d MB pr. note eller vedhæftning"
#: packages/lib/models/Setting.ts:1319 packages/lib/models/Setting.ts:1320
#: packages/lib/models/Setting.ts:1321
@ -476,7 +475,7 @@ msgstr "Tilbage"
#: packages/lib/utils/joplinCloud.ts:294
msgid "Basic"
msgstr ""
msgstr "Grundlæggende"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:33
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:132
@ -821,7 +820,7 @@ msgstr "Konflikter (vedhæftninger)"
#: packages/lib/utils/joplinCloud.ts:171
msgid "Consolidated billing"
msgstr ""
msgstr "Konsolideret fakturering"
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.tsx:110
msgid "Content provided by %s"
@ -2451,9 +2450,8 @@ msgid "Manage master password..."
msgstr "Administrer hovedadgangskode..."
#: packages/lib/utils/joplinCloud.ts:165
#, fuzzy
msgid "Manage multiple users"
msgstr "Administrer hovedadgangskode"
msgstr "Administrer flere brugere"
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.tsx:320
msgid "Manage your plugins"
@ -2520,9 +2518,8 @@ msgid "Max Item Size"
msgstr "Maks elementstørrelse"
#: packages/lib/utils/joplinCloud.ts:117
#, fuzzy
msgid "Max note or attachment size"
msgstr "Note vedhæftninger"
msgstr "Maksimal størrelse af note eller vedhæftning"
#: packages/server/src/routes/admin/users.ts:150
msgid "Max Total Size"
@ -2981,7 +2978,7 @@ msgstr "PDF-fil"
#: packages/lib/utils/joplinCloud.ts:355
msgid "Per user. Minimum of %d users."
msgstr ""
msgstr "Pr. bruger. Minimum %d brugere."
#: packages/app-mobile/components/screens/Note.tsx:403
msgid "Permission needed"
@ -3141,16 +3138,15 @@ msgstr "Udskriv"
#: packages/lib/utils/joplinCloud.ts:183
msgid "Priority support"
msgstr ""
msgstr "Prioriteret support"
#: packages/app-mobile/components/screens/ConfigScreen.tsx:655
msgid "Privacy Policy"
msgstr "Privatlivspolitik"
#: packages/lib/utils/joplinCloud.ts:316
#, fuzzy
msgid "Pro"
msgstr "Profil"
msgstr "Pro"
#: packages/server/src/services/TaskService.ts:24
msgid "Process failed payment subscriptions"
@ -3320,7 +3316,7 @@ msgstr "Erstat med..."
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:257
msgid "Replace: "
msgstr "Erstat:"
msgstr "Erstat: "
#: packages/app-desktop/gui/MasterPasswordDialog/Dialog.tsx:219
#: packages/app-desktop/gui/MasterPasswordDialog/Dialog.tsx:220
@ -3357,7 +3353,7 @@ msgstr "Prøv igen"
#: packages/app-desktop/gui/StatusScreen/StatusScreen.tsx:80
#: packages/app-mobile/components/screens/status.js:112
msgid "Retry All"
msgstr "Prøv Alle"
msgstr "Prøv alle"
#: packages/app-desktop/gui/MainScreen/commands/revealResourceFile.ts:8
#: packages/app-desktop/gui/NoteEditor/utils/contextMenu.ts:117
@ -3556,9 +3552,8 @@ msgid "Share"
msgstr "Del"
#: packages/lib/utils/joplinCloud.ts:159
#, fuzzy
msgid "Share and collaborate on a notebook"
msgstr "Noter kan kun oprettes i en notesbog."
msgstr "Del og samarbejd om en notesbog"
#: packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx:339
msgid "Share Notebook"
@ -3570,7 +3565,7 @@ msgstr "Del notesbog..."
#: packages/lib/utils/joplinCloud.ts:177
msgid "Sharing access control"
msgstr ""
msgstr "Adgangskontrol ved deling"
#: packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx:305
msgid "Sharing notebook..."
@ -3791,6 +3786,11 @@ msgstr "Stop"
msgid "Stop external editing"
msgstr "Stop ekstern redigering"
#: packages/lib/utils/joplinCloud.ts:129
#, fuzzy
msgid "Storage space"
msgstr "%d GB lagerplads"
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Gennemstregning"
@ -3855,7 +3855,7 @@ msgstr ""
#: packages/lib/utils/joplinCloud.ts:147
msgid "Sync as many devices as you want"
msgstr ""
msgstr "Synkroniser så mange enheder, du vil"
#: packages/app-mobile/components/screens/ConfigScreen.tsx:564
msgid "Sync Status"
@ -3968,7 +3968,7 @@ msgstr "Opgaver"
#: packages/lib/utils/joplinCloud.ts:338
msgid "Teams"
msgstr ""
msgstr "Teams"
#: packages/lib/models/Setting.ts:1343
msgid "Text editor command"
@ -4483,9 +4483,8 @@ msgstr "Prøv igen"
#: packages/lib/utils/joplinCloud.ts:309 packages/lib/utils/joplinCloud.ts:331
#: packages/lib/utils/joplinCloud.ts:353
#, fuzzy
msgid "Try it now"
msgstr "Gør det nu"
msgstr "Prøv det nu"
#: packages/app-cli/app/command-help.js:71
msgid ""
@ -4562,7 +4561,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Ikke-understøttet billedtype: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Ugyldigt link eller besked: %s"

View File

@ -7,8 +7,6 @@ msgid ""
msgstr ""
"Project-Id-Version: Joplin-CLI 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: MrKanister <pueblos_spatulas@aleeas.com>\n"
"Language-Team: \n"
"Language: de_DE\n"
@ -3857,6 +3855,11 @@ msgstr "Stopp"
msgid "Stop external editing"
msgstr "Externe Bearbeitung stoppen"
#: packages/lib/utils/joplinCloud.ts:129
#, fuzzy
msgid "Storage space"
msgstr "%d GB Speicherplatz"
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Durchstreichen"
@ -4659,7 +4662,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Nicht unterstütztes Fotoformat: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Nicht unterstützter Link oder Nachricht: %s"

View File

@ -3870,6 +3870,10 @@ msgstr "Σταμάτημα"
msgid "Stop external editing"
msgstr "Διακοπή εξωτερικής επεξεργασίας"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Διακριτή διαγραφή"
@ -4683,7 +4687,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Μη υποστηριζόμενος τύπος εικόνας: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Μη υποστηριζόμενος σύνδεσμος ή μήνυμα: %s"

View File

@ -3492,6 +3492,10 @@ msgstr ""
msgid "Stop external editing"
msgstr ""
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4097,7 +4101,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr ""
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr ""

View File

@ -3660,6 +3660,10 @@ msgstr ""
msgid "Stop external editing"
msgstr ""
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4355,7 +4359,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr ""
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr ""

View File

@ -3774,6 +3774,10 @@ msgstr ""
msgid "Stop external editing"
msgstr ""
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4479,7 +4483,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Nesubtenata bilda tipo: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
#, fuzzy
msgid "Unsupported link or message: %s"

View File

@ -3849,6 +3849,10 @@ msgstr "Detener"
msgid "Stop external editing"
msgstr "Detener la edición externa"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Tachado"
@ -4644,7 +4648,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Tipo de imagen no soportado: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Enlace o mensaje no soportado: %s"

View File

@ -3950,6 +3950,10 @@ msgstr ""
msgid "Stop external editing"
msgstr "Peata väline redigeerimine"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4703,7 +4707,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Toetuseta pilditüüp: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Toetuseta link või sõnum: %s"

View File

@ -3910,6 +3910,10 @@ msgstr ""
msgid "Stop external editing"
msgstr ""
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4639,7 +4643,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Irudi formatua ez onartua: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Esteka edo mezu ez dago onartua: %s"

View File

@ -3807,6 +3807,10 @@ msgstr ""
msgid "Stop external editing"
msgstr "توقف ویرایش خارجی"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4553,7 +4557,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "نوع تصویر پشتیبانی نشده: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "پیوند یا پیام پشتیبانی نشده: %s"

View File

@ -3791,6 +3791,10 @@ msgstr "Seis"
msgid "Stop external editing"
msgstr "Lopeta ulkoisen tekstieditorin muokkaus"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Yliviivaus"
@ -4564,7 +4568,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Kuvan tiedostotyyppiä ei tueta: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Linkkiä tai viestiä ei tueta: %s"

View File

@ -3823,6 +3823,10 @@ msgstr "Stopper"
msgid "Stop external editing"
msgstr "Arrêter l'édition externe"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Barrer"
@ -4606,7 +4610,7 @@ msgstr "Annuler le partage ? Les destinataires n'auront plus accès au carnet."
msgid "Unsupported image type: %s"
msgstr "Type d'image non géré : %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Lien ou message non géré : %s"

View File

@ -3891,6 +3891,10 @@ msgstr ""
msgid "Stop external editing"
msgstr ""
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4625,7 +4629,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Tipo de imaxe incompatíbel: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Ligazón ou mensaxe incompatíbeis: %s"

View File

@ -3817,6 +3817,10 @@ msgstr "Prekini"
msgid "Stop external editing"
msgstr "Prekini vanjsko uređivanje"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Precrtano"
@ -4595,7 +4599,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Nepodržana vrsta slike: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Nepodržana poveznica ili poruka: %s"

View File

@ -3750,6 +3750,10 @@ msgstr "Stop"
msgid "Stop external editing"
msgstr "Külső szerkesztés leállítása"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Áthúzott"
@ -4480,7 +4484,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Nem támogatott kép típus: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Nem támogatott hivatkozás vagy üzenet: %s"

View File

@ -3840,6 +3840,10 @@ msgstr "Berhenti"
msgid "Stop external editing"
msgstr "Hentikan pengeditan eksternal"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Dicoret"
@ -4621,7 +4625,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Tipe gambar tidak didukung: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Tautan atau pesan tidak didukung: %s"

View File

@ -7,14 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Joplin-CLI 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Albano Battistella <albano_battistella@hotmail.com>\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Manuel Tassi <mannivuwiki@gmail.com>\n"
"Language-Team: italian\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.2.2\n"
#: packages/app-mobile/components/screens/ConfigScreen.tsx:609
msgid "- Camera: to allow taking a picture and attaching it to a note."
@ -46,11 +48,11 @@ msgstr "(%s)"
#: packages/lib/services/plugins/api/JoplinViewsDialogs.ts:71
msgid "(In plugin: %s)"
msgstr ""
msgstr "(Nel plugin: %s)"
#: packages/lib/SyncTargetNone.ts:16
msgid "(None)"
msgstr ""
msgstr "(Nessuno)"
#: packages/lib/models/Setting.ts:386 packages/lib/models/Setting.ts:387
msgid "(wysiwyg: %s)"
@ -94,12 +96,12 @@ msgstr "%d giorni"
#: packages/lib/utils/joplinCloud.ts:136 packages/lib/utils/joplinCloud.ts:137
#: packages/lib/utils/joplinCloud.ts:138
msgid "%d GB"
msgstr ""
msgstr "%d GB"
#: packages/lib/utils/joplinCloud.ts:133 packages/lib/utils/joplinCloud.ts:134
#: packages/lib/utils/joplinCloud.ts:135
msgid "%d GB storage space"
msgstr ""
msgstr "%d GB di spazio di archiviazione"
#: packages/lib/models/Setting.ts:1322
msgid "%d hour"
@ -112,13 +114,12 @@ msgstr "%d ore"
#: packages/lib/utils/joplinCloud.ts:124 packages/lib/utils/joplinCloud.ts:125
#: packages/lib/utils/joplinCloud.ts:126
msgid "%d MB"
msgstr ""
msgstr "%d MB"
#: packages/lib/utils/joplinCloud.ts:121 packages/lib/utils/joplinCloud.ts:122
#: packages/lib/utils/joplinCloud.ts:123
#, fuzzy
msgid "%d MB per note or attachment"
msgstr "Allegati"
msgstr "%d MB per nota o allegato"
#: packages/lib/models/Setting.ts:1319 packages/lib/models/Setting.ts:1320
#: packages/lib/models/Setting.ts:1321
@ -261,7 +262,7 @@ msgstr "Accetta"
#: packages/server/src/routes/admin/users.ts:138
msgid "Account"
msgstr ""
msgstr "Account"
#: packages/app-desktop/gui/ResourceScreen.tsx:95
msgid "Action"
@ -269,9 +270,8 @@ msgstr "Azione"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.tsx:183
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:288
#, fuzzy
msgid "Actions"
msgstr "Azione"
msgstr "Azioni"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.tsx:178
msgid "Active"
@ -287,9 +287,8 @@ msgid "Add body"
msgstr "Aggiungi corpo"
#: packages/app-mobile/components/action-button.js:76
#, fuzzy
msgid "Add new"
msgstr "Aggiungi titolo"
msgstr "Aggiungi nuova"
#: packages/app-desktop/gui/MainScreen/commands/setTags.ts:38
msgid "Add or remove tags:"
@ -310,11 +309,11 @@ msgstr "Aggiungi al dizionario"
#: packages/server/src/services/MustacheService.ts:156
#: packages/server/src/services/MustacheService.ts:278
msgid "Admin"
msgstr ""
msgstr "Admin"
#: packages/server/src/routes/admin/dashboard.ts:10
msgid "Admin dashboard"
msgstr ""
msgstr "Pannello di controllo admin"
#: packages/app-desktop/gui/ClipperConfigScreen.tsx:148
msgid "Advanced options"
@ -340,9 +339,8 @@ msgid "Also displays unset and hidden config variables."
msgstr "Mostra anche le variabili di configurazione non impostate o nascoste."
#: packages/app-desktop/gui/ShareNoteDialog.tsx:203
#, fuzzy
msgid "Also publish linked notes"
msgstr "Annulla pubblicazione nota"
msgstr "Pubblica anche le note collegate"
#: packages/lib/models/Setting.ts:729
msgid "Always"
@ -353,12 +351,16 @@ msgid ""
"Ambiguous notebook \"%s\". Please use notebook id instead - press \"ti\" to "
"see the short notebook id or use $b for current selected notebook"
msgstr ""
"Taccuino ambiguo \"%s\". Per favore usa l'ID del taccuino - premi \"ti\" per "
"cercare l'ID breve del taccuino o usa $b per il taccuino corrente"
#: packages/app-cli/app/command-mv.js:29
msgid ""
"Ambiguous notebook \"%s\". Please use short notebook id instead - press "
"\"ti\" to see the short notebook id"
msgstr ""
"Taccuino ambiguo \"%s\". Per favore usa l'ID breve del taccuino - premi "
"\"ti\" per cercare l'ID breve del taccuino"
#: packages/app-desktop/checkForUpdates.ts:197
msgid "An update is available, do you want to download it now?"
@ -389,9 +391,8 @@ msgid "Aritim Dark"
msgstr "Scuro Aritim"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:206
#, fuzzy
msgid "Attach"
msgstr "Allega..."
msgstr "Allega"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:53
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx:591
@ -413,9 +414,8 @@ msgstr "Allega il seguente file alla nota."
#: packages/server/src/models/UserModel.ts:215
#: packages/server/src/models/UserModel.ts:232
#, fuzzy
msgid "attachment"
msgstr "Allegati"
msgstr "allegato"
#: packages/lib/models/Resource.ts:423
msgid "Attachment conflict: \"%s\""
@ -462,16 +462,15 @@ msgstr "Auto"
#: packages/server/src/services/TaskService.ts:28
msgid "Auto-add disabled accounts for deletion"
msgstr ""
msgstr "Aggiungi automaticamente gli account disabilitati per la cancellazione"
#: packages/lib/models/Setting.ts:928
msgid "Auto-pair braces, parenthesis, quotations, etc."
msgstr "Auto- accoppia parentesi graffe, parentesi, citazione, ecc."
#: packages/lib/models/Setting.ts:1306
#, fuzzy
msgid "Automatically check for updates"
msgstr "Controlla aggiornamenti..."
msgstr "Controlla aggiornamenti automaticamente"
#: packages/lib/models/Setting.ts:840
msgid "Automatically switch theme to match system theme"
@ -487,7 +486,7 @@ msgstr "Indietro"
#: packages/lib/utils/joplinCloud.ts:294
msgid "Basic"
msgstr ""
msgstr "Base"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:33
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:132
@ -508,9 +507,8 @@ msgid "Bulleted List"
msgstr "Elenco puntato"
#: packages/server/src/routes/admin/users.ts:154
#, fuzzy
msgid "Can Share"
msgstr "Condividi"
msgstr "Può condividere"
#: packages/app-desktop/bridge.ts:196 packages/app-desktop/bridge.ts:217
#: packages/app-desktop/checkForUpdates.ts:199
@ -626,12 +624,15 @@ msgstr ""
#: packages/server/src/models/UserModel.ts:214
msgid "Cannot save %s \"%s\" because it is larger than the allowed limit (%s)"
msgstr ""
"Impossibile salvare %s \"%s\" perché è più grande del limite consentito (%s)"
#: packages/server/src/models/UserModel.ts:231
msgid ""
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) "
"for this account"
msgstr ""
"Impossibile salvare %s \"%s\" perché supererebbe la dimensione massima "
"consentita (%s) per questo account"
#: packages/lib/services/share/ShareService.ts:318
msgid ""
@ -639,10 +640,13 @@ msgid ""
"enabled end-to-end encryption. They may do so from the screen Configuration "
"> Encryption."
msgstr ""
"Impossibile condividere il taccuino crittato con %s perché non hanno "
"abilitato la crittografia end-to-end. Possono attivarla da Opzioni > "
"Crittografia"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:328
msgid "Case sensitive"
msgstr ""
msgstr "Case sensitive"
#: packages/app-desktop/gui/MainScreen/commands/toggleLayoutMoveMode.ts:7
msgid "Change application layout"
@ -746,13 +750,12 @@ msgid "Code View"
msgstr "Codice"
#: packages/app-desktop/gui/SyncWizard/Dialog.tsx:179
#, fuzzy
msgid "Collaborate on notebooks with others"
msgstr "Per favore prima crea un Taccuino"
msgstr "Collabora su un taccuino con altri"
#: packages/app-mobile/components/side-menu-content.tsx:333
msgid "Collapse"
msgstr ""
msgstr "Collassa"
#: packages/lib/services/ReportService.ts:305
msgid "Coming alarms"
@ -784,9 +787,8 @@ msgid "Command palette"
msgstr "Comandi"
#: packages/app-desktop/gui/MainScreen/commands/commandPalette.ts:7
#, fuzzy
msgid "Command palette..."
msgstr "Comandi"
msgstr "Comandi..."
#: packages/app-desktop/gui/NotePropertiesDialog.min.js:31
msgid "Completed"
@ -802,7 +804,7 @@ msgstr "Completato: %s (%s)"
#: packages/server/src/services/TaskService.ts:26
msgid "Compress old changes"
msgstr ""
msgstr "Comprimi le vecchie modifiche"
#: packages/app-mobile/components/screens/ConfigScreen.tsx:681
#: packages/app-mobile/components/side-menu-content.tsx:404
@ -831,18 +833,16 @@ msgid "Conflicts"
msgstr "Conflitti"
#: packages/lib/models/Resource.ts:407
#, fuzzy
msgid "Conflicts (attachments)"
msgstr "Allegati"
msgstr "Conflitti (allegati)"
#: packages/lib/utils/joplinCloud.ts:171
msgid "Consolidated billing"
msgstr ""
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.tsx:110
#, fuzzy
msgid "Content provided by %s"
msgstr "Proprietà del contenuto"
msgstr "Contenuto fornito da %s"
#: packages/app-mobile/components/screens/Note.tsx:940
msgid "Convert to note"
@ -866,14 +866,12 @@ msgstr "Copia il comando della modalità sviluppatore negli appunti"
#: packages/app-desktop/gui/Sidebar/Sidebar.tsx:391
#: packages/app-desktop/gui/Sidebar/Sidebar.tsx:405
#: packages/app-desktop/gui/utils/NoteListUtils.ts:139
#, fuzzy
msgid "Copy external link"
msgstr "Interrompi modifiche esterne"
msgstr "Copia link esterno"
#: packages/app-desktop/gui/NoteEditor/utils/contextMenu.ts:140
#, fuzzy
msgid "Copy image"
msgstr "Copia token"
msgstr "Copia immagine"
#: packages/app-desktop/gui/NoteEditor/utils/contextMenu.ts:178
msgid "Copy Link Address"
@ -926,9 +924,8 @@ msgstr ""
"%s"
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.tsx:308
#, fuzzy
msgid "Could not connect to plugin repository."
msgstr "Non è possibile connettersi al catalogo dei plugin"
msgstr "Non è possibile connettersi al catalogo dei plugin."
#: packages/app-desktop/InteropServiceHelper.ts:190
msgid "Could not export notes: %s"
@ -3877,6 +3874,10 @@ msgstr "Stop"
msgid "Stop external editing"
msgstr "Interrompi modifiche esterne"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Barrato"
@ -4670,7 +4671,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Tipo di immagine non supportata: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Link o messaggio non supportato: %s"

View File

@ -3805,6 +3805,10 @@ msgstr "終了"
msgid "Stop external editing"
msgstr "外部エディターでの編集を終了"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "取消線"
@ -4576,7 +4580,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "サポートされていない画像の形式: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "次のリンクまたはメッセージはサポートしていません: %s"

View File

@ -3492,6 +3492,10 @@ msgstr ""
msgid "Stop external editing"
msgstr ""
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4097,7 +4101,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr ""
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr ""

View File

@ -3785,6 +3785,10 @@ msgstr "중지"
msgid "Stop external editing"
msgstr "외부 편집을 그만 두시려면 클릭하세요"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "취소선"
@ -4540,7 +4544,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "지원하지 않는 이미지 형식: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "지원하지 않는 링크 또는 메시지: %s"

View File

@ -3816,6 +3816,10 @@ msgstr "Stopp"
msgid "Stop external editing"
msgstr "Stopp ekstern redigering"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Gjennomstreket"
@ -4587,7 +4591,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Bildetypen er ikke støttet: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Lenke eller melding er ikke støttet: %s"

View File

@ -3939,6 +3939,10 @@ msgstr "Stop"
msgid "Stop external editing"
msgstr "Beëindig externe bijwerking"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Doorstrepen"
@ -4748,7 +4752,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Afbeeldingstype %s wordt niet ondersteund"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Niet-ondersteunde koppeling of bericht: %s"

View File

@ -3830,6 +3830,10 @@ msgstr "Stop"
msgid "Stop external editing"
msgstr "Klik om extern bewerken te stoppen"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Doorstrepen"
@ -4621,7 +4625,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Niet-ondersteunde afbeeldingssoort: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Niet-ondersteunde link of bericht: %s"

View File

@ -3842,6 +3842,10 @@ msgstr "Zatrzymaj"
msgid "Stop external editing"
msgstr "Zakończ edytowanie w programie zewnętrznym"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Przekreślenie"
@ -4620,7 +4624,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Niewspierany typ obrazu: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Niewspierany odnośnik lub wiadomość: %s"

View File

@ -3839,6 +3839,10 @@ msgstr "Parar"
msgid "Stop external editing"
msgstr "Encerrar edição externa"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Tachado"
@ -4621,7 +4625,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Tipo de imagem não suportada: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Link ou mensagem não suportada: %s"

View File

@ -3883,6 +3883,10 @@ msgstr "Parar"
msgid "Stop external editing"
msgstr "Parar a edição externa"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4669,7 +4673,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Tipo de imagem não suportado: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Ligação ou mensagem não suportados: %s"

View File

@ -3865,6 +3865,10 @@ msgstr ""
msgid "Stop external editing"
msgstr "Faceți click pentru a opri editarea în aplicația externă"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4611,7 +4615,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr ""
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Link sau mesaj neacceptat:% s"

View File

@ -3866,6 +3866,10 @@ msgstr "Остановить"
msgid "Stop external editing"
msgstr "Выйти из внешнего редактора"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Зачеркнутый"
@ -4649,7 +4653,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Неподдерживаемый формат изображения: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Неподдерживаемая ссылка или сообщение: %s"

View File

@ -3853,6 +3853,10 @@ msgstr "Ustavi"
msgid "Stop external editing"
msgstr "Ustavi zunanje urejanje"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Prečrtaj"
@ -4636,7 +4640,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Nepodprt tip slike: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Nepodprta povezava ali sporočilo: %s"

View File

@ -3934,6 +3934,10 @@ msgstr "Заустави"
msgid "Stop external editing"
msgstr "Зауставите спољно уређивање"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Прецртано"
@ -4711,7 +4715,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Неподржан тип слике: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Неподржана веза или порука: %s"

View File

@ -47,7 +47,7 @@ msgstr "(%s)"
#: packages/lib/services/plugins/api/JoplinViewsDialogs.ts:71
msgid "(In plugin: %s)"
msgstr ""
msgstr "(I tillägg: %s)"
#: packages/lib/SyncTargetNone.ts:16
msgid "(None)"
@ -95,12 +95,12 @@ msgstr "%d dagar"
#: packages/lib/utils/joplinCloud.ts:136 packages/lib/utils/joplinCloud.ts:137
#: packages/lib/utils/joplinCloud.ts:138
msgid "%d GB"
msgstr ""
msgstr "%d GB"
#: packages/lib/utils/joplinCloud.ts:133 packages/lib/utils/joplinCloud.ts:134
#: packages/lib/utils/joplinCloud.ts:135
msgid "%d GB storage space"
msgstr ""
msgstr "%d GB lagringsutrymme"
#: packages/lib/models/Setting.ts:1322
msgid "%d hour"
@ -113,13 +113,12 @@ msgstr "%d timmar"
#: packages/lib/utils/joplinCloud.ts:124 packages/lib/utils/joplinCloud.ts:125
#: packages/lib/utils/joplinCloud.ts:126
msgid "%d MB"
msgstr ""
msgstr "%d MB"
#: packages/lib/utils/joplinCloud.ts:121 packages/lib/utils/joplinCloud.ts:122
#: packages/lib/utils/joplinCloud.ts:123
#, fuzzy
msgid "%d MB per note or attachment"
msgstr "Anteckningsbilagor"
msgstr "%d MB per anteckning eller bilaga"
#: packages/lib/models/Setting.ts:1319 packages/lib/models/Setting.ts:1320
#: packages/lib/models/Setting.ts:1321
@ -256,7 +255,7 @@ msgstr "Acceptera"
#: packages/server/src/routes/admin/users.ts:138
msgid "Account"
msgstr ""
msgstr "Konto"
#: packages/app-desktop/gui/ResourceScreen.tsx:95
msgid "Action"
@ -281,9 +280,8 @@ msgid "Add body"
msgstr "Lägg till brödtext"
#: packages/app-mobile/components/action-button.js:76
#, fuzzy
msgid "Add new"
msgstr "Lägg till titel"
msgstr "Lägg till ny"
#: packages/app-desktop/gui/MainScreen/commands/setTags.ts:38
msgid "Add or remove tags:"
@ -345,12 +343,17 @@ msgid ""
"Ambiguous notebook \"%s\". Please use notebook id instead - press \"ti\" to "
"see the short notebook id or use $b for current selected notebook"
msgstr ""
"Tvetydig anteckningsbok \"%s\". Använd anteckningsbok-id istället - tryck på "
"\"ti\" för att se det korta anteckningsbok-id:t eller använd $b för aktuellt "
"vald anteckningsbok"
#: packages/app-cli/app/command-mv.js:29
msgid ""
"Ambiguous notebook \"%s\". Please use short notebook id instead - press "
"\"ti\" to see the short notebook id"
msgstr ""
"Tvetydig anteckningsbok \"%s\". Använd kort anteckningsbok-id istället - "
"tryck på \"ti\" för att se det korta anteckningsbok-id:t"
#: packages/app-desktop/checkForUpdates.ts:197
msgid "An update is available, do you want to download it now?"
@ -381,9 +384,8 @@ msgid "Aritim Dark"
msgstr "Aritim mörkt"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:206
#, fuzzy
msgid "Attach"
msgstr "Bifoga..."
msgstr "Bifoga"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:53
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx:591
@ -475,7 +477,7 @@ msgstr "Tillbaka"
#: packages/lib/utils/joplinCloud.ts:294
msgid "Basic"
msgstr ""
msgstr "Grundläggande"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:33
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:132
@ -496,9 +498,8 @@ msgid "Bulleted List"
msgstr "Punktlista"
#: packages/server/src/routes/admin/users.ts:154
#, fuzzy
msgid "Can Share"
msgstr "Dela"
msgstr "Kan dela"
#: packages/app-desktop/bridge.ts:196 packages/app-desktop/bridge.ts:217
#: packages/app-desktop/checkForUpdates.ts:199
@ -634,7 +635,7 @@ msgstr ""
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:328
msgid "Case sensitive"
msgstr ""
msgstr "Skiftlägeskänslig"
#: packages/app-desktop/gui/MainScreen/commands/toggleLayoutMoveMode.ts:7
msgid "Change application layout"
@ -743,7 +744,7 @@ msgstr "Samarbeta på anteckningsböcker tillsammans med andra"
#: packages/app-mobile/components/side-menu-content.tsx:333
msgid "Collapse"
msgstr ""
msgstr "Fäll in"
#: packages/lib/services/ReportService.ts:305
msgid "Coming alarms"
@ -1076,7 +1077,7 @@ msgstr "dagar"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:109
msgid "Decrease indent level"
msgstr ""
msgstr "Minska indragsnivå"
#: packages/app-cli/app/command-e2ee.ts:64
msgid "Decrypted items: %d"
@ -1168,9 +1169,8 @@ msgid "Delete plugin \"%s\"?"
msgstr "Ta bort insticksmodulen \"%s\"?"
#: packages/app-mobile/components/ScreenHeader.tsx:417
#, fuzzy
msgid "Delete selected notes"
msgstr "Ta bort dessa anteckningar?"
msgstr "Ta bort valda anteckningar"
#: packages/lib/models/Note.ts:771
msgid "Delete these %d notes?"
@ -1332,7 +1332,7 @@ msgstr ""
#: packages/app-mobile/components/NoteEditor/EditLinkDialog.tsx:149
msgid "Done"
msgstr ""
msgstr "Klar"
#: packages/app-desktop/checkForUpdates.ts:199
msgid "Download"
@ -1389,9 +1389,8 @@ msgid "Duplicate line"
msgstr "Duplicera rad"
#: packages/app-mobile/components/ScreenHeader.tsx:435
#, fuzzy
msgid "Duplicate selected notes"
msgstr "Duplicera rad"
msgstr "Duplicera valda anteckningar"
#: packages/app-cli/app/command-cp.js:13
msgid ""
@ -1413,9 +1412,8 @@ msgid "Edit in external editor"
msgstr "Redigera i extern redigerare"
#: packages/app-mobile/components/NoteEditor/EditLinkDialog.tsx:141
#, fuzzy
msgid "Edit link"
msgstr "Redigera anteckningsbok"
msgstr "Redigera länk"
#: packages/app-cli/app/command-edit.js:17
msgid "Edit note."
@ -1689,7 +1687,7 @@ msgstr "Avslutar programmet."
#: packages/app-mobile/components/side-menu-content.tsx:333
msgid "Expand"
msgstr ""
msgstr "Fäll ut"
#: packages/app-desktop/gui/KeymapConfig/KeymapConfigScreen.tsx:171
#: packages/app-desktop/gui/Sidebar/Sidebar.tsx:375
@ -1782,12 +1780,11 @@ msgstr "Filtrera taggar"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:218
msgid "Find and replace"
msgstr ""
msgstr "Hitta och ersätt"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:250
#, fuzzy
msgid "Find: "
msgstr "Hittad: %d."
msgstr "Hitta: "
#: packages/app-desktop/gui/ExtensionBadge.min.js:10
msgid "Firefox Extension"
@ -1827,7 +1824,7 @@ msgstr "Endast för felsökning: exportera din profil till ett externt SD-kort."
#: packages/lib/models/Setting.ts:1449
msgid "For example \"%s\""
msgstr ""
msgstr "Till exempel \"%s\""
#: packages/app-cli/app/command-help.js:36
msgid "For information on how to customise the shortcuts please visit %s"
@ -1853,9 +1850,8 @@ msgid "Force path style"
msgstr "Tvinga sökvägsstil"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:276
#, fuzzy
msgid "Formatting"
msgstr "Information"
msgstr "Formatering"
#: packages/lib/commands/historyForward.ts:6
msgid "Forward"
@ -1875,9 +1871,8 @@ msgid "Full changelog"
msgstr "Fullständig ändringslogg"
#: packages/server/src/routes/admin/users.ts:130
#, fuzzy
msgid "Full name"
msgstr "Fullständig ändringslogg"
msgstr "Fullständigt namn"
#: packages/lib/models/Setting.ts:2398
#: packages/server/src/services/MustacheService.ts:108
@ -1927,11 +1922,11 @@ msgstr "Bevilja auktorisation"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:48
msgid "Header %d"
msgstr ""
msgstr "Rubrik %d"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:280
msgid "Headers"
msgstr ""
msgstr "Rubriker"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:73
msgid "Heading"
@ -1946,14 +1941,12 @@ msgid "Hide %s"
msgstr "Dölj %s"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:218
#, fuzzy
msgid "Hide advanced"
msgstr "Dölj metadata"
msgstr "Dölj avancerade"
#: packages/server/src/routes/admin/users.ts:200
#, fuzzy
msgid "Hide disabled"
msgstr "Dölj inaktiverade nycklar"
msgstr "Dölj inaktiverade"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.tsx:172
msgid "Hide disabled keys"
@ -1964,14 +1957,12 @@ msgid "Hide Joplin"
msgstr "Dölj Joplin"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:253
#, fuzzy
msgid "Hide keyboard"
msgstr "Dölj metadata"
msgstr "Dölj tangentbord"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.tsx:22
#, fuzzy
msgid "Hide more actions"
msgstr "Dölj metadata"
msgstr "Dölj fler åtgärder"
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:14
msgid "Highlight"
@ -2132,7 +2123,7 @@ msgstr "I: %s"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:119
msgid "Increase indent level"
msgstr ""
msgstr "Öka indragsnivå"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:104
msgid "Indent less"
@ -2161,9 +2152,8 @@ msgstr "Infoga hyperlänk"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:83
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx:625
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:188
#, fuzzy
msgid "Insert time"
msgstr "Infoga datumtid"
msgstr "Infoga tid"
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.tsx:191
msgid "Install"
@ -2310,7 +2300,7 @@ msgstr ""
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:162
msgid "KaTeX"
msgstr ""
msgstr "KaTeX"
#: packages/lib/models/Setting.ts:1494
msgid "Keep note history for"
@ -2381,14 +2371,12 @@ msgid "Lines"
msgstr "Rader"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:174
#, fuzzy
msgid "Link"
msgstr "Länk"
#: packages/app-mobile/components/NoteEditor/EditLinkDialog.tsx:95
#, fuzzy
msgid "Link description"
msgstr "Kryptering"
msgstr "Länkbeskrivning"
#: packages/app-desktop/gui/ShareNoteDialog.tsx:185
msgid "Link has been copied to clipboard!"
@ -2397,9 +2385,8 @@ msgstr[0] "Länken har kopierats till urklipp!"
msgstr[1] "Länkarna har kopierats till urklipp!"
#: packages/app-mobile/components/NoteEditor/EditLinkDialog.tsx:92
#, fuzzy
msgid "Link text"
msgstr "Länk"
msgstr "Länktext"
#: packages/app-mobile/components/screens/Note.tsx:197
msgid "Links with protocol \"%s\" are not supported"
@ -2413,7 +2400,7 @@ msgstr "Listobjekt"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:284
msgid "Lists"
msgstr ""
msgstr "Listor"
#: packages/app-mobile/components/screens/encryption-config.tsx:212
msgid "Loaded"
@ -2476,9 +2463,8 @@ msgid "Manage master password..."
msgstr "Hantera huvudlösenord..."
#: packages/lib/utils/joplinCloud.ts:165
#, fuzzy
msgid "Manage multiple users"
msgstr "Hantera huvudlösenord"
msgstr "Hantera flera användare"
#: packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.tsx:320
msgid "Manage your plugins"
@ -2541,17 +2527,15 @@ msgstr "Max antal samtida anslutningar"
#: packages/server/src/routes/admin/users.ts:142
msgid "Max Item Size"
msgstr ""
msgstr "Max objektstorlek"
#: packages/lib/utils/joplinCloud.ts:117
#, fuzzy
msgid "Max note or attachment size"
msgstr "Anteckningsbilagor"
msgstr "Max storlek för anteckning eller bilaga"
#: packages/server/src/routes/admin/users.ts:150
#, fuzzy
msgid "Max Total Size"
msgstr "Faktiskt storlek"
msgstr "Max total storlek"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.tsx:324
msgid "Missing keys"
@ -2598,9 +2582,8 @@ msgid "Move to notebook..."
msgstr "Flytta till anteckningsbok..."
#: packages/app-cli/app/command-mv.js:14
#, fuzzy
msgid "Moves the given <item> to [notebook]"
msgstr "Flyttar anteckningarna som matchar <note> till [notebook]."
msgstr "Flyttar det givna <item> till [notebook]"
#: packages/app-cli/app/cli-utils.js:161
#: packages/app-cli/app/setupCommand.ts:20
@ -2652,7 +2635,7 @@ msgstr "Ny version: %s"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:268
msgid "Next match"
msgstr ""
msgstr "Nästa träff"
#: packages/lib/SyncTargetNextcloud.js:25
msgid "Nextcloud"
@ -2770,9 +2753,8 @@ msgid "Note does not exist: \"%s\". Create it?"
msgstr "Anteckning finns inte: \"%s\". Skapa den?"
#: packages/app-mobile/components/NoteEditor/NoteEditor.tsx:82
#, fuzzy
msgid "Note editor"
msgstr "Anteckningshistorik"
msgstr "Anteckningsredigerare"
#: packages/app-cli/app/command-edit.js:97
msgid "Note has been saved."
@ -2921,9 +2903,8 @@ msgid "Open %s"
msgstr "Öppna %s"
#: packages/app-desktop/gui/MainScreen/commands/openPdfViewer.ts:7
#, fuzzy
msgid "Open PDF viewer"
msgstr "Aktivera PDF-visare"
msgstr "Öppna PDF-visare"
#: packages/app-desktop/commands/openProfileDirectory.ts:8
msgid "Open profile directory"
@ -2954,9 +2935,8 @@ msgid "Or create an account."
msgstr "Eller skapa ett konto."
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:82
#, fuzzy
msgid "Ordered list"
msgstr "Skapa användare"
msgstr "Ordnad lista"
#: packages/app-desktop/gui/MenuBar.tsx:407
msgid "Other applications..."
@ -3010,7 +2990,7 @@ msgstr "PDF-fil"
#: packages/lib/utils/joplinCloud.ts:355
msgid "Per user. Minimum of %d users."
msgstr ""
msgstr "Per användare. Minst %d användare."
#: packages/app-mobile/components/screens/Note.tsx:403
msgid "Permission needed"
@ -3158,7 +3138,7 @@ msgstr "Tryck för att ställa in dekrypteringslösenordet."
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:278
msgid "Previous match"
msgstr ""
msgstr "Föregående träff"
#: packages/app-desktop/gui/NotePropertiesDialog.min.js:307
msgid "Previous versions of this note"
@ -3170,16 +3150,15 @@ msgstr "Skriv ut"
#: packages/lib/utils/joplinCloud.ts:183
msgid "Priority support"
msgstr ""
msgstr "Prioriterat stöd"
#: packages/app-mobile/components/screens/ConfigScreen.tsx:655
msgid "Privacy Policy"
msgstr "Integritetspolicy"
#: packages/lib/utils/joplinCloud.ts:316
#, fuzzy
msgid "Pro"
msgstr "Profil"
msgstr "Pro"
#: packages/server/src/services/TaskService.ts:24
msgid "Process failed payment subscriptions"
@ -3210,17 +3189,16 @@ msgid "Properties"
msgstr "Egenskaper"
#: packages/lib/models/Setting.ts:1438
#, fuzzy
msgid "Proxy enabled"
msgstr "Aktiverad"
msgstr "Proxy aktiverad"
#: packages/lib/models/Setting.ts:1459
msgid "Proxy timeout (seconds)"
msgstr ""
msgstr "Proxy tidsgräns (sekunder)"
#: packages/lib/models/Setting.ts:1448
msgid "Proxy URL"
msgstr ""
msgstr "Proxy-URL"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.tsx:252
msgid "Public-private key pair:"
@ -3294,9 +3272,8 @@ msgid "Refresh"
msgstr "Uppdatera"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:313
#, fuzzy
msgid "Regular expression"
msgstr "Aktivera matematiska uttryck"
msgstr "Reguljärt uttryck"
#: packages/app-desktop/gui/MainScreen/MainScreen.tsx:620
#: packages/app-desktop/gui/Root.tsx:179
@ -3341,20 +3318,19 @@ msgstr "Förnya token"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:288
msgid "Replace"
msgstr ""
msgstr "Ersätt"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:298
#, fuzzy
msgid "Replace all"
msgstr "Välj alla"
msgstr "Ersätt alla"
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:236
msgid "Replace with..."
msgstr ""
msgstr "Ersätt alla..."
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:257
msgid "Replace: "
msgstr ""
msgstr "Ersätt: "
#: packages/app-desktop/gui/MasterPasswordDialog/Dialog.tsx:219
#: packages/app-desktop/gui/MasterPasswordDialog/Dialog.tsx:220
@ -3489,9 +3465,8 @@ msgid "Search for plugins..."
msgstr "Sök efter insticksmoduler..."
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:223
#, fuzzy
msgid "Search for..."
msgstr "Sök..."
msgstr "Sök efter..."
#: packages/app-desktop/gui/NoteListControls/commands/focusSearch.ts:6
msgid "Search in all the notes"
@ -3590,9 +3565,8 @@ msgid "Share"
msgstr "Dela"
#: packages/lib/utils/joplinCloud.ts:159
#, fuzzy
msgid "Share and collaborate on a notebook"
msgstr "Anteckningar kan bara skapas i en anteckningsbok."
msgstr "Dela och samarbeta i en anteckningsbok"
#: packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx:339
msgid "Share Notebook"
@ -3604,7 +3578,7 @@ msgstr "Dela anteckningsbok..."
#: packages/lib/utils/joplinCloud.ts:177
msgid "Sharing access control"
msgstr ""
msgstr "Dela åtkomstkontroll"
#: packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx:305
msgid "Sharing notebook..."
@ -3615,9 +3589,8 @@ msgid "Shortcuts are not available in CLI mode."
msgstr "Snabbkommandon är inte tillgängliga i läge för kommandotolk."
#: packages/app-mobile/components/NoteEditor/SearchPanel.tsx:208
#, fuzzy
msgid "Show advanced"
msgstr "Visa avancerade inställningar"
msgstr "Visa avancerade"
#: packages/app-desktop/gui/ConfigScreen/ConfigScreen.tsx:217
msgid "Show Advanced Settings"
@ -3632,18 +3605,16 @@ msgid "Show completed to-dos"
msgstr "Visa slutförda att-göra"
#: packages/server/src/routes/admin/users.ts:200
#, fuzzy
msgid "Show disabled"
msgstr "Visa inaktiverade nycklar"
msgstr "Visa inaktiverade"
#: packages/app-desktop/gui/EncryptionConfigScreen/EncryptionConfigScreen.tsx:172
msgid "Show disabled keys"
msgstr "Visa inaktiverade nycklar"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/ToggleOverflowButton.tsx:22
#, fuzzy
msgid "Show more actions"
msgstr "Visa anteckningsantal"
msgstr "Visa fler åtgärder"
#: packages/lib/models/Setting.ts:883
msgid "Show note counts"
@ -3659,7 +3630,7 @@ msgstr "Visa fältikon"
#: packages/app-mobile/components/ScreenHeader.tsx:287
msgid "Show/hide the sidebar"
msgstr ""
msgstr "Visa/dölj sidofältet"
#: packages/app-desktop/gui/Sidebar/commands/focusElementSideBar.ts:8
#: packages/app-mobile/components/ScreenHeader.tsx:286
@ -3831,6 +3802,11 @@ msgstr "Sluta"
msgid "Stop external editing"
msgstr "Stoppa extern redigering"
#: packages/lib/utils/joplinCloud.ts:129
#, fuzzy
msgid "Storage space"
msgstr "%d GB lagringsutrymme"
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Genomstryk"
@ -3896,7 +3872,7 @@ msgstr ""
#: packages/lib/utils/joplinCloud.ts:147
msgid "Sync as many devices as you want"
msgstr ""
msgstr "Synkronisera så många enheter du vill"
#: packages/app-mobile/components/screens/ConfigScreen.tsx:564
msgid "Sync Status"
@ -4001,9 +3977,8 @@ msgid "Take photo"
msgstr "Ta ett foto"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:95
#, fuzzy
msgid "Task list"
msgstr "Uppgifter"
msgstr "Uppgiftslista"
#: packages/server/src/services/MustacheService.ts:123
#: packages/server/src/services/MustacheService.ts:275
@ -4012,7 +3987,7 @@ msgstr "Uppgifter"
#: packages/lib/utils/joplinCloud.ts:338
msgid "Teams"
msgstr ""
msgstr "Team"
#: packages/lib/models/Setting.ts:1343
msgid "Text editor command"
@ -4466,9 +4441,8 @@ msgid "to-do"
msgstr "att-göra"
#: packages/app-mobile/components/note-item.js:143
#, fuzzy
msgid "to-do: %s"
msgstr "att-göra"
msgstr "att-göra: %s"
#: packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts:112
msgid "Toggle comment"
@ -4519,9 +4493,8 @@ msgid "Tools"
msgstr "Verktyg"
#: packages/server/src/routes/admin/users.ts:146
#, fuzzy
msgid "Total Size"
msgstr "Faktiskt storlek"
msgstr "Total storlek"
#: packages/lib/services/ReportService.ts:282
msgid "Total: %d/%d"
@ -4533,9 +4506,8 @@ msgstr "Försök igen"
#: packages/lib/utils/joplinCloud.ts:309 packages/lib/utils/joplinCloud.ts:331
#: packages/lib/utils/joplinCloud.ts:353
#, fuzzy
msgid "Try it now"
msgstr "Gör det nu"
msgstr "Testa det nu"
#: packages/app-cli/app/command-help.js:71
msgid ""
@ -4587,9 +4559,8 @@ msgid ""
msgstr "Okänd objekttyp hämtad - uppgradera Joplin till den senaste versionen"
#: packages/app-mobile/components/NoteEditor/MarkdownToolbar/MarkdownToolbar.tsx:69
#, fuzzy
msgid "Unordered list"
msgstr "Skapa användare"
msgstr "Oordnad lista"
#: packages/app-desktop/gui/ShareNoteDialog.tsx:164
msgid "Unpublish note"
@ -4611,7 +4582,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Bildstorlek som inte stöds: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Länk eller meddelande stöds inte: %s"
@ -4849,7 +4820,7 @@ msgstr "y"
#: packages/app-cli/app/cli-utils.js:161
#: packages/app-cli/app/setupCommand.ts:20
msgid "Y"
msgstr "Y"
msgstr "J"
#: packages/lib/models/Setting.ts:386
msgid "yes"

View File

@ -3843,6 +3843,10 @@ msgstr ""
msgid "Stop external editing"
msgstr "หยุดการแก้ไขภายนอก"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4563,7 +4567,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "ไม่รองรับภาพนี้ประเภทนี้: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr ""

View File

@ -3822,6 +3822,10 @@ msgstr "Dur"
msgid "Stop external editing"
msgstr "Dış düzenlemeyi durdur"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Ortadan çizgili"
@ -4607,7 +4611,7 @@ msgstr "Not paylaşımı kaldırılsın mı? Alıcı artık not içeriğine eri
msgid "Unsupported image type: %s"
msgstr "Desteklenmeyen resim türü: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Desteklenmeyen bağlantı veya mesaj: %s"

View File

@ -3872,6 +3872,10 @@ msgstr "Зупинити"
msgid "Stop external editing"
msgstr "Зупинити зовнішнє редагування"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr ""
@ -4646,7 +4650,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Непідтримуваний тип зображення: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Непідтримуване посилання або повідомлення: %s"

View File

@ -3841,6 +3841,10 @@ msgstr "Dừng lại"
msgid "Stop external editing"
msgstr "Dừng sử dụng trình chỉnh sửa văn bản khác"
#: packages/lib/utils/joplinCloud.ts:129
msgid "Storage space"
msgstr ""
#: packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.ts:19
msgid "Strikethrough"
msgstr "Gạch bỏ"
@ -4615,7 +4619,7 @@ msgstr ""
msgid "Unsupported image type: %s"
msgstr "Không hỗ trợ định dạng ảnh này: %s"
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:35
#: packages/app-desktop/gui/MainScreen/commands/openItem.ts:40
#: packages/app-desktop/gui/NoteRevisionViewer.min.js:142
msgid "Unsupported link or message: %s"
msgstr "Đường dẫn hoặc tin nhắn không được hỗ trợ: %s"

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