* Weight search results by most recently updated
As discussed here: https://github.com/laurent22/joplin/pull/3777#issuecomment-696491859
Before this commit, results were rarely sorted by date. Content weights and fuzziness were
determined, and then the first criteria to differ would win in sort order (and user_updated_time
was the last criteria checked).
Now the weight score itself will also include age of user_updated_time, surfacing fresh content.
At the current alpha level, results are weighted logarithmically, prioritizing mostly within the
last 30 days, and especially heavily within the past week.
* Updated unit tests to weight search results by last updated date
* Updated unit test title
* Fixed issue with weighted search engine test, and made it more deterministic using mock date
Date was being calculated only at the start of the test suite. It also wasn't using a set mock date, so the milliseconds between the real search engine calculations and the test calculation caused differences in results
* Added initial Search Engine spec
* Added Search Engine spec to README.md
* Renamed Search Sorting spec per laurent22's mentioned naming
* Revised copy in search sorting spec
Co-authored-by: Laurent <laurent22@users.noreply.github.com>
- Added script to check links
- Moved plugin API doc to separate directory
- Added script to build website and plugin doc
- Moving static assets in separate directory
with app to create multiple instance of app and break settings.
Revert "Mobile: Add startup screen to show progress of db migration"
This reverts commit 569355a318.
add swapLine(Up/Down)
have `o` use the more complex list indent
enable sync initializing from vim (and maybe emacs)
split keymap stuff into it's own file
This patch includes the translation of missing strings, the improvement of the existing translation
Signed-off-by: Ji-Hyeon Gim <potatogim@potatogim.net>
Issue https://github.com/laurent22/joplin/issues/3711
This patch replaces the 'isLinux' check by a more restrictive version
which fixes the false positive in BSD systems. This was causing Joplin
not to load due to the lack of X11 in headless mode.
* Doc: Fixed a typo in a markdown syntax of a link
* Doc: added an example of a checked checkbox
and added how the checkboxes would get translated when turned to HTML
* Doc: added a picture of a rendered markdown checkbox in Joplin
Previously we'd use the remove-markdown package to create the note
preview however this function would freeze on certain notes, and was
probably unsafe as it used regex to parse Markdown. Replaced this in
favour of Markdown-it along with htmlparser2 to strip all markup from a
note.
The implementation uses / symbol as a nesting separator. I.e. tag/subtag is a nested tag, where tag is the parent tag and subtag is its child. Creating a tag named tag/subtag/subsubtag creates three tags, one for each level. The tags are associated using parent_id field.
In the app, viewing notes with a tag will also show all notes that are associated with any of the tag's descendant tags (same for the note count). Deleting a tag will also delete all its descendant tags.
In the desktop app the tags are shown nested just like the notebooks.
The goal is to allow locking a sync target so that maintenance
operations, such as upgrading the target to a more efficient format,
can be done. For now, only the lock mechanism is in place, as a way to
evaluate it, and to see if it can cause any issue.
The goal is to make the command system more modular, so each command can
be defined as a single object that includes a declaration (name, label,
etc.) and a runtime (to execute the command, test if it should be
enabled, etc.)
Utility methods are provided to convert a command to a menu item or a
toolbar button, thus reducing duplicated and boiler plate code across the
codebase (often the menu item logic was duplicated in the toolbar
button logic and vice versa).
The goal is to make it easier to add new commands (and associated menu
item and toolbar buttons) and to call them from
anywhere. This is also useful for plugins, which can also easily define
new commands.
Could also allow creating a command palette.
* Manually refresh codemirror whenever the parent div size changes
* Set editor width through style rather than adding an extra property
* use Memo for editorStyle
- previously getLineSpan was included line text as a token (dumb
oversight)
- the regex was updated to include a space after a OL element (was
missing for some reason)
This reverts commit f432734338.
This new package has its own glitches and doesn't look good
when button labels are too large. So reverting to the less
glitchy package.
Joplin has 4 panes: side bar, notes list, code and view. Change joplin in a way that these parts can be different windows. Thus it is possible to put these windows on different screens for more space and better overview.
Reverts 468261906a
Disabling the toolbar when the editor is not in focus means it
was disabled when trying to click on one of the button, because
the editor loses focus before the click event is processed.
* Add support for editable resources
* Fixed handling of resource paths
* Add delay before saving resource
* Delete temp files and stop watching when switching notes
* Handle sync when resource has been edited
* Handle resource conflicts
* Refactoring and handle conflicts from edit watcher
* Added test unit for conflict handling when deleting resource
* Trying to fix Travis-ci test units
* Fixed typo
* Update TinyMCE.tsx
* Update AsyncActionQueue.ts
* Added German translations
- Added missing translations
- Motified a few translations
- There is the question whether to translate the English "theme" to a
German word or keep its English version.
* Adjusted translation
* Translation : translate to bahasa indonesia
* fix(translation) : change to one letter
* fix(translation) : consistency N -> T
* rm(unused) : remove unused files
* When attaching an image/resource insert it at the current cursor position
* Correct argument order
* Address code review comments
* Another code review comment
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
* Fix quick actions
* Receive quick actions when the app is cold-launched
* Force side menu close before creating quick note
* Fix react warning: Can't perform a react state update on an unmounted component
The warning was:
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
in NoteScreenComponent (created by Connect(NoteScreenComponent))
in Connect(NoteScreenComponent) (at app-nav.js:74)
* Fix auto title generation for quick notes.
The previous version created a new provisional note but then while handling NAV_BACK at reduxSharedMiddleware:35 the list of provisional note ids was cleared so when NoteScreenComponent was being mounted later the note was no longer considered provisional and Joplin would not generate the note title from its contents.
* Check for quick action data to be present before processing.
For some reason sometimes it gets called with null.
* Disable sending serialized data over the react-native bridge when attaching image or file
* Remove noData opt from DocumentPicker as it's only relevant for ImagePicker
Many users unfortunately don't care about the template asking not post support queries here, so we'll now accept questions but we'll just ignore them and let stale bot take care of them.
Also removed the "invalid" template because I believe it make people try to game the system by posting instead a bug report for their support or feature request. At least now we can hope there will less off-topic issues in the bug label.
!function(){vare=function(t){varr=newe.Builder;returnr.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){returnfunction(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){returnnull==e?"":e.toString()},e.utils.clone=function(e){if(null==e)returne;for(vart=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){varn=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeofs&&"number"!=typeofs&&"boolean"!=typeofs)thrownewTypeError("clone is not deep and does not support nested objects");t[n]=s}}returnt},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){varr=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";vari=t.slice(0,r),n=t.slice(r+1);returnnewe.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){returnnull==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(vart=0;t<this.length;t++)this.elements[e[t]]=!0}elsethis.length=0},e.Set.complete={intersect:function(e){returne},union:function(e){returne},contains:function(){return!0}},e.Set.empty={intersect:function(){returnthis},union:function(e){returne},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){varr,i,n,s=[];if(t===e.Set.complete)returnthis;if(t===e.Set.empty)returnt;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(varo=0;o<n.length;o++){vara=n[o];aini.elements&&s.push(a)}returnnewe.Set(s)},e.Set.prototype.union=function(t){returnt===e.Set.complete?e.Set.complete:t===e.Set.empty?this:newe.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){varr=0;for(variine)"_index"!=i&&(r+=Object.keys(e[i]).length);varn=(t-r+.5)/(r+.5);returnMath.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){returnthis.str},e.Token.prototype.update=function(e){returnthis.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){returnt=t||function(e){returne},newe.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))returnt.map(function(t){returnnewe.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(vari=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){varl=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){varc=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(newe.Token(i.slice(a,o),c))}a=o+1}}returns},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){rinthis.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.labelinthis.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){varr=newe.Pipeline;returnt.forEach(function(t){vari=e.Pipeline.registeredFunctions[t];if(!i)thrownewError("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);vari=this._stack.indexOf(t);if(-1==i)thrownewError("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);vari=this._stack.indexOf(t);if(-1==i)thrownewError("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){vart=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(vart=this._stack.length,r=0;r<t;r++){for(vari=this._stack[r],n=[],s=0;s<e.length;s++){varo=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(vara=0;a<o.length;a++)n.push(o[a]);elsen.push(o)}e=n}returne},e.Pipeline.prototype.runString=function(t,r){vari=newe.Token(t,r);returnthis.run([i]).map(function(e){returne.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){returnthis._stack.map(function(t){returne.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return0;for(vart=0,r=this.elements.length/2,i=r-t,n=MathLine truncated
**As of 2020-11-02 this module no longer builds (a ton of TypeScript errors). No idea why since nothing was changed but should be investigated if modifying this plugin is ever needed.**
This is based on https://github.com/tinymce/tinymce/tree/59748a11303fb7cf00fdb8c9392dcb082ee9d965/modules/tinymce/src/plugins/lists
But with support for Joplin checkboxes.
## Building
Use `npm i && npm run build` to build the plugin, which will also copy the compiled version to the right packages/app-desktop sub-directory.
To test the plugin, use `npm run buildAndStart`, which will build the plugin and start the desktop application.
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.":"\u064a\u062a\u0645 \u0627\u0644\u0644\u0635\u0642 \u062d\u0627\u0644\u064a\u0627\u064b \u0643\u0646\u0635 \u0639\u0627\u062f\u064a. \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0633\u064a\u0628\u0642\u0649 \u0643\u0646\u0635 \u0639\u0627\u062f\u064a \u062d\u062a\u0649 \u062a\u0642\u0648\u0645 \u0628\u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u062e\u064a\u0627\u0631.",
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.":"\u0631\u0642\u0645 \u0627\u0644\u0645\u0639\u0631\u0641 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0628\u062f\u0623 \u0628\u062d\u0631\u0641\u060c \u064a\u062a\u0628\u0639 \u0641\u0642\u0637 \u0628\u062d\u0631\u0648\u0641 \u0648\u0623\u0631\u0642\u0627\u0645\u060c \u0634\u0631\u0637\u0627\u062a\u060c \u0623\u0648 \u0627\u0644\u0646\u0642\u0627\u0637\u060c \u0627\u0644\u0646\u0642\u0637\u062a\u064a\u0646 \u0623\u0648 \u0627\u0644\u0634\u0631\u0637\u0627\u062a \u0627\u0644\u0633\u0641\u0644\u064a\u0629.",
"You have unsaved changes are you sure you want to navigate away?":"\u0644\u062f\u064a\u0643 \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0644\u0645 \u064a\u062a\u0645 \u062d\u0641\u0638\u0647\u0627 \u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0628\u0639\u064a\u062f\u0627\u061f",
"Restore last draft":"\u0627\u0633\u062a\u0639\u0627\u062f\u0629 \u0623\u062e\u0631 \u0645\u0633\u0648\u062f\u0629",
"Paste or type a link":"\u0623\u062f\u062e\u0644 \u0623\u0648 \u0627\u0643\u062a\u0628 \u0627\u0644\u0631\u0627\u0628\u0637",
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?":"\u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064a \u0642\u0645\u062a \u0628\u0625\u062f\u0631\u0627\u062c\u0647 \u064a\u0634\u0627\u0628\u0647 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a. \u0647\u0644 \u062a\u0631\u064a\u062f \u0627\u0646 \u062a\u0636\u064a\u0641 \u0627\u0644\u0644\u0627\u062d\u0642\u0629 mailto: \u0645\u0639\u062a\u0628\u0631\u0627\u064b \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u0628\u0631\u064a\u062f\u0627 \u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0627\u064b\u061f",
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?":"\u0646\u062a\u0648\u0642\u0639 \u0627\u0646\u0643 \u0642\u0645\u062a \u0628\u0625\u062f\u0631\u0627\u062c \u0631\u0627\u0628\u0637 \u0644\u0645\u0648\u0642\u0639 \u062e\u0627\u0631\u062c\u064a. \u0647\u0644 \u062a\u0631\u064a\u062f \u0627\u0646 \u0646\u0636\u064a\u0641 \u0627\u0644\u0644\u0627\u062d\u0642\u0629 http:\/\/ \u0644\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064a \u0627\u062f\u062e\u0644\u062a\u0647\u061f",
"Find and replace...":"\u062c\u0627\u0631\u064d \u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0628\u062f\u0627\u0644...",
"Could not find the specified string.":"\u062a\u0639\u0630\u0631 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u062d\u062f\u062f\u0629",
"yuan character, in hong kong and taiwan":"\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u064a\u0648\u0627\u0646 \u0641\u064a \u0647\u0648\u0646\u062c \u0643\u0648\u0646\u062c \u0648\u062a\u0627\u064a\u0648\u0627\u0646",
"yen\/yuan character variant one":"\u0627\u0644\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0628\u062f\u064a\u0644\u0629 \u0644\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u064a\u0646\/\u0627\u0644\u064a\u0648\u0627\u0646",
"Characters (no spaces)":"\u0627\u0644\u0623\u062d\u0631\u0641 (\u062f\u0648\u0646 \u0627\u0644\u0645\u0633\u0627\u0641\u0627\u062a)",
"{0} characters":"{0} \u0631\u0645\u0648\u0632",
"Error: Form submit field collision.":"\u062e\u0637\u0623: \u062a\u0636\u0627\u0631\u0628 \u0641\u064a \u062d\u0642\u0644 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c.",
"Error: No form element found.":"\u0627\u0644\u062e\u0637\u0623: \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0639\u0646\u0635\u0631 \u0646\u0645\u0648\u0630\u062c.",
"Switch to or from fullscreen mode":"\u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 \u0623\u0648 \u0645\u0646 \u0648\u0636\u0639 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",
"Open help dialog":"\u0627\u0641\u062a\u062d \u062d\u0648\u0627\u0631 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a",
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.":"\u041f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435\u0442\u043e \u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0435 \u0432 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d \u0440\u0435\u0436\u0438\u043c. \u0421\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435\u0442\u043e \u0449\u0435 \u0431\u044a\u0434\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0435\u043d\u043e \u043a\u0430\u0442\u043e \u043d\u0435\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d \u0442\u0435\u043a\u0441\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u0438\u0437\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0442\u0430\u0437\u0438 \u043e\u043f\u0446\u0438\u044f.",
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.":"\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 (id) \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0441 \u0431\u0443\u043a\u0432\u0430, \u043f\u043e\u0441\u043b\u0435\u0434\u0432\u0430\u043d \u043e\u0442 \u0431\u0443\u043a\u0432\u0438, \u0447\u0438\u0444\u0440\u0438, \u0442\u0438\u0440\u0435\u0442\u0430, \u0442\u043e\u0447\u043a\u0438, \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435 \u0438 \u0434\u043e\u043b\u043d\u043e \u0442\u0438\u0440\u0435.",
"You have unsaved changes are you sure you want to navigate away?":"\u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0438\u043c\u0430 \u043d\u0435\u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438. \u0429\u0435 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435 \u043b\u0438?",
"Restore last draft":"\u0412\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u0447\u0435\u0440\u043d\u043e\u0432\u0430",
"New window":"\u0412 \u043d\u043e\u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 (\u043f\u043e\u0434\u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446)",
"Paste or type a link":"\u041f\u043e\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u0438\u043b\u0438 \u043d\u0430\u043f\u0438\u0448\u0435\u0442\u0435 \u0432\u0440\u044a\u0437\u043a\u0430(\u043b\u0438\u043d\u043a)",
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?":"URL \u0430\u0434\u0440\u0435\u0441\u044a\u0442, \u043a\u043e\u0439\u0442\u043e \u0432\u044a\u0432\u0434\u043e\u0445\u0442\u0435 \u043f\u0440\u0438\u043b\u0438\u0447\u0430 \u043d\u0430 \u0435-\u043c\u0435\u0439\u043b \u0430\u0434\u0440\u0435\u0441. \u0418\u0441\u043a\u0430\u0442\u0435 \u043b\u0438 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u044f mailto: \u043f\u0440\u0435\u0444\u0438\u043a\u0441?",
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?":"URL \u0430\u0434\u0440\u0435\u0441\u044a\u0442, \u043a\u043e\u0439\u0442\u043e \u0432\u044a\u0432\u0434\u043e\u0445\u0442\u0435 \u043f\u0440\u0438\u043b\u0438\u0447\u0430 \u0432\u044a\u043d\u0448\u0435\u043d \u0430\u0434\u0440\u0435\u0441. \u0418\u0441\u043a\u0430\u0442\u0435 \u043b\u0438 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0438\u044f http:\/\/ \u043f\u0440\u0435\u0444\u0438\u043a\u0441?",
"Find and replace...":"\u041d\u0430\u043c\u0438\u0440\u0430\u043d\u0435 \u0438 \u0437\u0430\u043c\u044f\u043d\u0430...",
"Could not find the specified string.":"\u0422\u044a\u0440\u0441\u0435\u043d\u0438\u044f\u0442 \u0442\u0435\u043a\u0441\u0442 \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d.",
"yuan character, in hong kong and taiwan":"\u0441\u0438\u043c\u0432\u043e\u043b \u0437\u0430 \u044e\u0430\u043d \u0432 \u0425\u043e\u043d\u043a\u043e\u043d\u0433 \u0438 \u0422\u0430\u0439\u0432\u0430\u043d",
"yen\/yuan character variant one":"\u0441\u0438\u043c\u0432\u043e\u043b \u0437\u0430 \u0439\u0435\u043d\u0430\/\u044e\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0435\u0434\u043d\u043e",
"Error: Form submit field collision.":"\u0413\u0440\u0435\u0448\u043a\u0430: \u041d\u0435\u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043d\u0430 \u043f\u043e\u043b\u0435 \u043f\u0440\u0438 \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u043d\u0435 \u043d\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440.",
"Error: No form element found.":"\u0413\u0440\u0435\u0448\u043a\u0430: \u041d\u0435 \u0435 \u043e\u0442\u043a\u0440\u0438\u0442 \u0435\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440\u0430.",
"Switch to or from fullscreen mode":"\u041f\u0440\u0435\u0432\u043a\u043b\u044e\u0447\u0432\u0430\u043d\u0435 \u043a\u044a\u043c \u0438\u043b\u0438 \u043e\u0442 \u0440\u0435\u0436\u0438\u043c \u043d\u0430 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",
"Open help dialog":"\u041e\u0442\u0432\u0430\u0440\u044f\u043d\u0435 \u043d\u0430 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 \u0437\u0430 \u043f\u043e\u043c\u043e\u0449",
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.":"El vostre navegador no suporta l'acc\u00e9s directe al portaobjectes. Si us plau, feu servir les dreceres de teclat Ctrl+X\/C\/V.",
"Headers":"Encap\u00e7alaments",
"Header 1":"Encap\u00e7alament 1",
"Header 2":"Encap\u00e7alament 2",
"Header 3":"Encap\u00e7alament 3",
"Header 4":"Encap\u00e7alament 4",
"Header 5":"Encap\u00e7alament 5",
"Header 6":"Encap\u00e7alament 6",
"Headings":"Encap\u00e7alaments",
"Heading 1":"Encap\u00e7alament 1",
"Heading 2":"Encap\u00e7alament 2",
"Heading 3":"Encap\u00e7alament 3",
"Heading 4":"Encap\u00e7alament 4",
"Heading 5":"Encap\u00e7alament 5",
"Heading 6":"Encap\u00e7alament 6",
"Preformatted":"Preformatat",
"Div":"Div",
"Pre":"Pre",
"Code":"Codi",
"Paragraph":"Par\u00e0graf",
"Blockquote":"Cita",
"Inline":"En l\u00ednia",
"Blocks":"Blocs",
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.":"Enganxar ara est\u00e0 en mode text pla. Els continguts s'enganxaran com a text pla fins que desactivis aquesta opci\u00f3. ",
"Fonts":"Fonts",
"Font Sizes":"Mides de la font",
"Class":"Classe",
"Browse for an image":"Explorar per cercar una imatge",
"OR":"O",
"Drop an image here":"Deixar anar una imatge aqu\u00ed",
"Upload":"Pujar",
"Block":"Bloc",
"Align":"Alinea",
"Default":"Per defecte",
"Circle":"Cercle",
"Disc":"Disc",
"Square":"Quadrat",
"Lower Alpha":"Alfa menor",
"Lower Greek":"Grec menor",
"Lower Roman":"Roman menor",
"Upper Alpha":"Alfa major",
"Upper Roman":"Roman major",
"Anchor...":"Ancoratge...",
"Name":"Nom",
"Id":"Id",
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.":"La Id ha de comen\u00e7ar amb una lletra, seguida d'altres lletres, n\u00fameros, punts, ratlles, comes, o guions baixos",
"You have unsaved changes are you sure you want to navigate away?":"Teniu canvis sense desar, esteu segur que voleu deixar-ho ara?",
"Restore last draft":"Restaurar l'\u00faltim esborrany",
"Paste or type a link":"Enganxa o escriu un enlla\u00e7",
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?":"L'URL que has escrit sembla una adre\u00e7a de correu electr\u00f2nic. Vols afegir-li el prefix obligatori mailto: ?",
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?":"L'URL que has escrit sembla un enlla\u00e7 extern. Vols afegir-li el prefix obligatori http:\/\/ ?",
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help":"\u00c0rea de text amb format. Premeu ALT-F9 per mostrar el men\u00fa, ALT F10 per la barra d'eines i ALT-0 per ajuda.",
"Image title":"T\u00edtol de la imatge",
"Border width":"Amplada de la vora",
"Border style":"Estil de la vora",
"Error":"Error",
"Warn":"Alerta",
"Valid":"V\u00e0lid",
"To open the popup, press Shift+Enter":"Per obrir la finestra emergent, premeu Maj.+Retorn",
"Rich Text Area. Press ALT-0 for help.":"\u00c0rea de Text enriquit. Premeu ALT-0 per obtenir ajuda.",
"System Font":"Font del sistema",
"Failed to upload image: {0}":"No s'ha pogut carregar la imatge: {0}",
"Failed to load plugin: {0} from url {1}":"No s'ha pogut carregar el complement: {0} de l\u2019URL {1}",
"Failed to load plugin url: {0}":"No s'ha pogut carregar l\u2019URL del complement: {0}",
"Failed to initialize plugin: {0}":"No s'ha pogut inicialitzar el complement: {0}",
"example":"exemple",
"Search":"Cerca",
"All":"Tot",
"Currency":"Moneda",
"Text":"Text",
"Quotations":"Cites",
"Mathematical":"S\u00edmbols matem\u00e0tics",
"Extended Latin":"Llat\u00ed ampliat",
"Symbols":"S\u00edmbols",
"Arrows":"Fletxes",
"User Defined":"Definit per l'usuari",
"dollar sign":"signe del d\u00f2lar",
"currency sign":"signe de la moneda",
"euro-currency sign":"signe de l'euro",
"colon sign":"signe del col\u00f3n",
"cruzeiro sign":"signe del cruzeiro",
"french franc sign":"signe del franc franc\u00e8s",
"lira sign":"signe de la lira",
"mill sign":"signe del mill",
"naira sign":"signe de la naira",
"peseta sign":"signe de la pesseta",
"rupee sign":"signe de la rupia",
"won sign":"signe del won",
"new sheqel sign":"signe del nou x\u00e9quel",
"dong sign":"signe del dong",
"kip sign":"signe del kip",
"tugrik sign":"signe del t\u00f6gr\u00f6g",
"drachma sign":"signe del dracma",
"german penny symbol":"signe del penic alemany",
"peso sign":"signe del peso",
"guarani sign":"signe del guaran\u00ed",
"austral sign":"signe de l\u2019austral",
"hryvnia sign":"signe de la hr\u00edvnia",
"cedi sign":"signe del cedi",
"livre tournois sign":"signe de la lliura tornesa",
"spesmilo sign":"signe de l\u2019spesmilo",
"tenge sign":"signe del tenge",
"indian rupee sign":"signe de la rupia \u00edndia",
"turkish lira sign":"signe de la lira turca",
"nordic mark sign":"signe del marc n\u00f2rdic",
"manat sign":"signe del manat",
"ruble sign":"signe del ruble",
"yen character":"signe del ien",
"yuan character":"signe del iuan",
"yuan character, in hong kong and taiwan":"signe del iuan en Hong Kong i Taiwan",
"yen\/yuan character variant one":"variaci\u00f3 1 del signe del ien\/iuan",
"Loading emoticons...":"Carregant les emoticones...",
"Could not load emoticons":"No s'han pogut carregar les emoticones",
"People":"Gent",
"Animals and Nature":"Animals i natura",
"Food and Drink":"Menjar i beure",
"Activity":"Activitat",
"Travel and Places":"Viatges i llocs",
"Objects":"Objectes",
"Flags":"Banderes",
"Characters":"Car\u00e0cters",
"Characters (no spaces)":"Car\u00e0cters (sense espais)",
"{0} characters":"{0} car\u00e0cters",
"Error: Form submit field collision.":"Error: error en el camp d\u2019enviament del formulari.",
"Error: No form element found.":"Error: no s'ha trobat l'element del formulari.",
"Update":"Actualitzar",
"Color swatch":"Mostra de color",
"Turquoise":"Turquesa",
"Green":"Verd",
"Blue":"Blau",
"Purple":"Violeta",
"Navy Blue":"Blau mar\u00ed",
"Dark Turquoise":"Turquesa fosc",
"Dark Green":"Verd fosc",
"Medium Blue":"Blau mitj\u00e0",
"Medium Purple":"Violeta mitj\u00e0",
"Midnight Blue":"Blau mitjanit",
"Yellow":"Groc",
"Orange":"Taronja",
"Red":"Vermell",
"Light Gray":"Gris clar",
"Gray":"Gris",
"Dark Yellow":"Groc fosc",
"Dark Orange":"Taronja fosc",
"Dark Red":"Vermell fosc",
"Medium Gray":"Gris mitj\u00e0",
"Dark Gray":"Gris fosc",
"Light Green":"Verd clar",
"Light Yellow":"Groc clar",
"Light Red":"Vermell clar",
"Light Purple":"Porpra clar",
"Light Blue":"Blau clar",
"Dark Purple":"Porpra fosc",
"Dark Blue":"Blau fosc",
"Black":"Negre",
"White":"Blanc",
"Switch to or from fullscreen mode":"Canviar a o del mode de pantalla completa",
"Open help dialog":"Obrir el quadre de di\u00e0leg d'ajuda",
"history":"historial",
"styles":"estils",
"formatting":"format",
"alignment":"alineaci\u00f3",
"indentation":"sagnat",
"permanent pen":"retolador permanent",
"comments":"comentaris",
"Format Painter":"Formata el Painter",
"Insert\/edit iframe":"Insereix\/edita iframe",
"Capitalization":"Capitalitzaci\u00f3",
"lowercase":"min\u00fascules",
"UPPERCASE":"MAJ\u00daSCULES",
"Title Case":"Caixa del t\u00edtol",
"Permanent Pen Properties":"Par\u00e0metres permanents del llapis",
"Permanent pen properties...":"Par\u00e0metres permanents del llapis\u2026",
"Font":"Font",
"Size":"Mida",
"More...":"M\u00e9s\u2026",
"Spellcheck Language":"Idioma de la comprovaci\u00f3 d'ortografia",
"Select...":"Selecciona\u2026",
"Preferences":"Par\u00e0metres",
"Yes":"S\u00ed",
"No":"No",
"Keyboard Navigation":"Navegaci\u00f3 per teclat",
"Version":"Versi\u00f3",
"Anchor":"\u00c0ncora",
"Special character":"Car\u00e0cter especial",
"Code sample":"Mostra de codi",
"Color":"Color",
"Emoticons":"Emoticones",
"Document properties":"Propietats del document",
"Image":"Imatge",
"Insert link":"Inserir enlla\u00e7",
"Target":"Dest\u00ed",
"Link":"Enlla\u00e7",
"Poster":"P\u00f3ster",
"Media":"Mitjans",
"Print":"Imprimir",
"Prev":"Anterior",
"Find and replace":"Buscar i rempla\u00e7ar",
"Whole words":"Paraules senceres",
"Spellcheck":"Comprovar ortrografia",
"Caption":"Encap\u00e7alament",
"Insert template":"Inserir plantilla"
});
Loaded 100 of 3423 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.