[freeplane] 01/04: New upstream version 1.5.16
Felix Natter
fnatter-guest at moszumanska.debian.org
Sun Sep 18 14:31:23 UTC 2016
This is an automated email from the git hooks/post-receive script.
fnatter-guest pushed a commit to branch master
in repository freeplane.
commit 47b1660b12a32d6ec012490828a40f4fba7cafd1
Author: Felix Natter <fnatter at gmx.net>
Date: Sun Sep 18 15:47:28 2016 +0200
New upstream version 1.5.16
---
freeplane/build.gradle | 1 +
freeplane/doc/history_en.txt | 8 +
.../external-resources/xml/mindmapmodemenu.xml | 4 +
freeplane/external-resources/xml/preferences.xml | 4 +-
.../external-resources/xslt/mm2wordml_utf8.xsl | 17 +-
freeplane/resources/images/weblate-32.png | Bin 0 -> 1092 bytes
.../resources/translations/Resources_cs.properties | 570 +++++++++++++++++++--
.../resources/translations/Resources_da.properties | 1 -
.../resources/translations/Resources_de.properties | 1 -
.../resources/translations/Resources_el.properties | 1 -
.../resources/translations/Resources_es.properties | 1 -
.../resources/translations/Resources_eu.properties | 102 +++-
.../resources/translations/Resources_fr.properties | 11 +-
.../resources/translations/Resources_hr.properties | 15 +-
.../resources/translations/Resources_hu.properties | 1 -
.../resources/translations/Resources_it.properties | 1 -
.../resources/translations/Resources_ja.properties | 9 +-
.../resources/translations/Resources_ko.properties | 272 ++++++----
.../resources/translations/Resources_nl.properties | 161 ++++--
.../translations/Resources_pt_BR.properties | 1 -
.../translations/Resources_pt_PT.properties | 17 +-
.../resources/translations/Resources_ru.properties | 1 -
.../resources/translations/Resources_sr.properties | 1 -
.../resources/translations/Resources_sv.properties | 34 +-
.../translations/Resources_uk_UA.properties | 13 +-
.../translations/Resources_zh_CN.properties | 1 -
.../translations/Resources_zh_TW.properties | 1 -
.../freeplane/core/resources/ResourceBundles.java | 95 +++-
.../core/resources/ResourceController.java | 24 +-
.../core/resources/SetBooleanPropertyAction.java | 7 +
.../core/resources/WindowConfigurationStorage.java | 4 -
.../resources/components/OptionPanelBuilder.java | 2 -
.../core/resources/components/PropertyAdapter.java | 16 +-
.../resources/components/SeparatorProperty.java | 17 +-
.../org/freeplane/core/ui/AFreeplaneAction.java | 15 +-
.../freeplane/core/ui/AccelerateableAction.java | 3 +-
.../core/ui/ActionAcceleratorManager.java | 14 +-
.../core/ui/IUserInputListenerFactory.java | 2 -
.../java/org/freeplane/core/ui/LengthUnits.java | 8 +-
.../org/freeplane/core/ui/components/UITools.java | 72 ++-
.../core/ui/menubuilders/generic/Entry.java | 2 -
.../ui/menubuilders/generic/EntryAccessor.java | 30 ++
.../menu/ConditionalActionBuilder.java | 49 ++
.../ui/menubuilders/menu/JMenuItemBuilder.java | 17 +-
.../menubuilders/menu/MenuBuildProcessFactory.java | 1 +
.../ui/textchanger/TextChangeHotKeyAction.java | 44 ++
.../core/ui/textchanger/TranslatedElement.java | 18 +
.../core/ui/textchanger/UITextChanger.java | 285 +++++++++++
.../java/org/freeplane/core/util/ColorUtils.java | 24 +-
.../java/org/freeplane/core/util/MenuUtils.java | 2 +-
.../java/org/freeplane/core/util/TextUtils.java | 22 +-
.../features/attribute/AttributeRegistry.java | 2 -
.../mindmapmode/MClipboardController.java | 3 -
.../features/export/mindmapmode/ExportDialog.java | 25 +-
.../export/mindmapmode/ExportWithXSLT.java | 2 +-
.../features/filter/AFilterComposerDialog.java | 4 +-
.../freeplane/features/filter/QuickFindAction.java | 1 -
.../filter/condition/ConditionFactory.java | 16 +-
.../condition/ConditionNotSatisfiedDecorator.java | 4 +-
.../filter/condition/ConjunctConditions.java | 4 +-
.../filter/condition/DisjunctConditions.java | 4 +-
.../features/filter/condition/JCondition.java | 2 +
.../features/help/OnlineDocumentationAction.java | 1 -
.../features/icon/IconContainedCondition.java | 5 +-
.../org/freeplane/features/icon/IconGroup.java | 6 +-
.../features/icon/PriorityCompareCondition.java | 3 +-
.../features/icon/mindmapmode/IconAction.java | 5 +
.../features/icon/mindmapmode/MIconController.java | 2 +-
.../freeplane/features/link/LinkController.java | 2 -
.../freeplane/features/map/AlwaysUnfoldedNode.java | 3 -
.../org/freeplane/features/map/MapController.java | 14 +-
.../freeplane/features/map/NodeAbsolutePath.java | 6 +-
.../freeplane/features/map/NodeRelativePath.java | 48 +-
.../org/freeplane/features/map/SharedNodeData.java | 4 +-
.../org/freeplane/features/map/SummaryNode.java | 1 -
.../ConvertCloneToIndependentNodeAction.java | 7 +-
.../features/map/mindmapmode/MMapController.java | 1 -
.../freeplane/features/mode/ModeController.java | 1 -
.../mindmapmode/LoadAcceleratorPresetsAction.java | 4 +-
.../mindmapmode/SaveAcceleratorPresetsAction.java | 3 +-
.../features/note/mindmapmode/MNoteController.java | 2 +
.../features/note/mindmapmode/NoteManager.java | 18 +-
.../freeplane/features/print/PreviewDialog.java | 4 +-
.../org/freeplane/features/styles/MapStyle.java | 7 +-
.../styles/SetBooleanMapPropertyAction.java | 12 +
.../styles/mindmapmode/StyleEditorPanel.java | 25 +-
.../features/text/mindmapmode/EditNodeWYSIWYG.java | 5 +-
.../org/freeplane/features/ui/FrameController.java | 15 +
.../org/freeplane/features/ui/ViewController.java | 2 +-
.../org/freeplane/features/url/UrlManager.java | 6 +-
.../features/url/mindmapmode/MFileManager.java | 71 ++-
.../org/freeplane/main/applet/FreeplaneApplet.java | 3 +
.../application/ApplicationResourceController.java | 1 +
.../main/application/FreeplaneGUIStarter.java | 7 +-
.../main/mindmapmode/MModeControllerFactory.java | 4 +-
.../swing/features/filepreview/ImagePreview.java | 2 -
.../features/filepreview/ViewerController.java | 1 -
.../time/mindmapmode/nodelist/NodeList.java | 3 -
.../org/freeplane/view/swing/map/MapScroller.java | 1 -
.../java/org/freeplane/view/swing/map/MapView.java | 53 +-
.../view/swing/map/MapViewController.java | 2 +-
.../view/swing/map/MapViewScrollPane.java | 2 +-
.../org/freeplane/view/swing/map/NodeView.java | 1 -
.../swing/map/VerticalNodeViewLayoutStrategy.java | 4 +
.../swing/map/mindmapmode/EditNodeTextField.java | 3 +-
.../view/swing/ui/DefaultMapMouseListener.java | 13 +-
.../view/swing/ui/DefaultNodeKeyListener.java | 2 +-
.../view/swing/ui/UserInputListenerFactory.java | 13 +-
.../swing/ui/mindmapmode/MNodeMotionListener.java | 29 +-
.../ui/menubuilders/MenuBuilderAcceptanceTest.java | 1 -
.../features/map/NodeRelativePathTest.java | 48 ++
freeplane/viewer-resources/freeplane.properties | 2 +-
.../translations/Resources_en.properties | 15 +-
freeplane/viewer-resources/version.properties | 2 +-
.../main/java/org/freeplane/launcher/Launcher.java | 7 +
.../windows-installer/Freeplane_without_Java.iss | 2 +-
.../windows-portable/App/AppInfo/appinfo.ini | 4 +-
.../scripts/installScriptAddOn.groovy | 2 +-
.../plugin/script/addons/AddOnDetailsPanel.java | 3 +-
gitinfo.properties | 2 +-
gitinfo.txt | 2 +-
121 files changed, 2124 insertions(+), 482 deletions(-)
diff --git a/freeplane/build.gradle b/freeplane/build.gradle
index 768982d..4957ef8 100644
--- a/freeplane/build.gradle
+++ b/freeplane/build.gradle
@@ -69,6 +69,7 @@ jar {
org.freeplane.core.ui.components,
org.freeplane.core.ui.components.calendar,
org.freeplane.core.ui.components.html,
+ org.freeplane.core.ui.textchanger,
org.freeplane.core.ui.menubuilders,
org.freeplane.core.ui.menubuilders.action,
org.freeplane.core.ui.menubuilders.generic,
diff --git a/freeplane/doc/history_en.txt b/freeplane/doc/history_en.txt
index 1e91b72..7dfcbbe 100644
--- a/freeplane/doc/history_en.txt
+++ b/freeplane/doc/history_en.txt
@@ -1,6 +1,14 @@
===============================
+1.5.16
+===============================
+Keep last selected exporter in dialog drop-down box
+User translations
+Dialog to choose template when new map is created
+
+===============================
1.5.15
===============================
+Bug fixes
===============================
1.5.14
diff --git a/freeplane/external-resources/xml/mindmapmodemenu.xml b/freeplane/external-resources/xml/mindmapmodemenu.xml
index 1080c97..ce0037c 100644
--- a/freeplane/external-resources/xml/mindmapmodemenu.xml
+++ b/freeplane/external-resources/xml/mindmapmodemenu.xml
@@ -453,6 +453,10 @@
<Entry name="OpenUserDirAction" />
<Entry builder="separator" />
<Entry name="PropertyAction" accelerator="control COMMA" builder="removeOnMac"/>
+ <Entry builder="conditionalActionBuilder" property="enableUserDefinedInterfaceStrings"
+ actionKey="TextChangeHotKeyAction"
+ actionClass="org.freeplane.core.ui.textchanger.TextChangeHotKeyAction"
+ accelerator="control shift F10"/>
</Entry>
<Entry name="mindmaps">
<Entry name="modes" builder="navigate_modes,radio_button_group" />
diff --git a/freeplane/external-resources/xml/preferences.xml b/freeplane/external-resources/xml/preferences.xml
index 91a7444..55b9e79 100644
--- a/freeplane/external-resources/xml/preferences.xml
+++ b/freeplane/external-resources/xml/preferences.xml
@@ -15,6 +15,7 @@
<boolean name="load_last_maps" />
<boolean name="always_load_last_maps" />
<boolean name="experimental_file_locking_on" />
+ <boolean name="skip_template_selection" />
</separator>
<separator name="load">
<combo name="load_folding">
@@ -78,8 +79,7 @@
<tab name="Appearance">
<separator name="look_and_feel">
<group name="lookandfeel" />
- <boolean name="apply_system_screen_resolution" />
- <number name="user_defined_screen_resolution" min="72" max="1200" />
+ <number name="user_defined_screen_resolution" min="36" max="1200" />
<boolean name="lookandfeel.scaleuifonts" />
<boolean name="resources_use_default_font_for_notes_too" />
<boolean name="resources_use_margin_top_zero_for_notes" />
diff --git a/freeplane/external-resources/xslt/mm2wordml_utf8.xsl b/freeplane/external-resources/xslt/mm2wordml_utf8.xsl
index d9ca966..5260835 100644
--- a/freeplane/external-resources/xslt/mm2wordml_utf8.xsl
+++ b/freeplane/external-resources/xslt/mm2wordml_utf8.xsl
@@ -96,12 +96,12 @@
</w:pPr>
<w:r>
<w:t>
- <xsl:call-template name="output-node-text-as-text" />
+ <xsl:call-template name="output-node-core" />
</w:t>
</w:r>
</w:p>
- <xsl:call-template name="output-note-text-as-bodytext"><xsl:with-param name="contentType" select="'DETAILS'"/></xsl:call-template>
- <xsl:call-template name="output-note-text-as-bodytext"><xsl:with-param name="contentType" select="'NOTE'"/></xsl:call-template>
+ <xsl:call-template name="output-added-richcontent"><xsl:with-param name="contentType" select="'DETAILS'"/></xsl:call-template>
+ <xsl:call-template name="output-added-richcontent"><xsl:with-param name="contentType" select="'NOTE'"/></xsl:call-template>
<!--
if the level is higher than maxlevel, or if the current node is
marked with LastHeading, we start outputting normal paragraphs,
@@ -133,15 +133,16 @@
</w:pPr>
<w:r>
<w:t>
- <xsl:call-template name="output-node-text-as-text" />
+ <xsl:call-template name="output-node-core" />
</w:t>
</w:r>
</w:p>
- <xsl:call-template name="output-note-text-as-bodytext" />
+ <xsl:call-template name="output-added-richcontent"><xsl:with-param name="contentType" select="'DETAILS'"/></xsl:call-template>
+ <xsl:call-template name="output-added-richcontent"><xsl:with-param name="contentType" select="'NOTE'"/></xsl:call-template>
<xsl:apply-templates select="node" />
</xsl:template>
- <xsl:template name="output-node-text-as-text">
+ <xsl:template name="output-node-core">
<xsl:choose>
<xsl:when test="@TEXT">
<xsl:value-of select="normalize-space(@TEXT)" />
@@ -155,8 +156,8 @@
</xsl:choose>
</xsl:template>
- <xsl:template name="output-note-text-as-bodytext">
- <xsl:param name="contentType" select="'DETAILS'"></xsl:param>
+ <xsl:template name="output-added-richcontent">
+ <xsl:param name="contentType"></xsl:param>
<xsl:if test="richcontent[@TYPE=$contentType]">
<w:p>
<w:pPr>
diff --git a/freeplane/resources/images/weblate-32.png b/freeplane/resources/images/weblate-32.png
new file mode 100644
index 0000000..4cc00ad
Binary files /dev/null and b/freeplane/resources/images/weblate-32.png differ
diff --git a/freeplane/resources/translations/Resources_cs.properties b/freeplane/resources/translations/Resources_cs.properties
index f1c6086..ae7d457 100644
--- a/freeplane/resources/translations/Resources_cs.properties
+++ b/freeplane/resources/translations/Resources_cs.properties
@@ -1,6 +1,6 @@
about_text=Freeplane - svobodn\u00FD program pro tvo\u0159en\u00ED my\u0161lenkov\u00FDch map a znalostn\u00EDch datab\u00E1z\u00ED
AboutAction.text=O programu
-acceleratorPresets=Nastaven\u00ED "hork\u00FDch" kl\u00E1ves
+acceleratorPresets=Nastaven\u00ED kl\u00E1vesov\u00FDch zkratek
accelerators_loading_error=Nelze na\u010D\u00EDst akceler\u00E1tory z {0}
accessories/plugins/ApplyFormatPlugin.dialog.title=Zm\u011Bna form\u00E1tu uzl\u016F
accessories/plugins/AutomaticLayout.properties_StyleDialogTitle=Zm\u011Bnit vzor
@@ -84,7 +84,7 @@ antialias_edges=Vyhlazovat hrany
antialias_none=Nevyhlazovat nic
apply=Pou\u017E\u00EDt
ApplyAction.text=Pou\u017E\u00EDt
-ApplyFormatPlugin.text=Zm\u011Bna form\u00E1tu ...
+ApplyFormatPlugin.text=Zm\u011Bna form\u00E1tu
ApplyFormatPlugin.tooltip=Dialog, kde atributy uzl\u016F a hran mohou b\u00FDt m\u011Bn\u011Bn\u00E9 najednou.
ApplyNoFilteringAction.text=Nefiltrov\u00E1no
ApplySelectedViewConditionAction.text=Filtrovat vybran\u00E9 uzly
@@ -139,8 +139,10 @@ attributes_visible_tooltip=Vybrat viditeln\u00E9
automatic_layout=Automatick\u00E9 rozlo\u017Een\u00ED
automatic_layout_disabled=zak\u00E1z\u00E1no
automatically_save_message=Mapa byla automaticky ulo\u017Eena (se jm\u00E9nem souboru {0}) ...
+AutomaticEdgeColor.FOR_BRANCHES=pro v\u011Btve
AutomaticEdgeColor.FOR_COLUMNS=pro sloupce
AutomaticEdgeColor.FOR_LEVELS=pro \u00FArovn\u011B
+AutomaticEdgeColor.ON_BRANCH_CREATION=p\u0159i vytvo\u0159en\u00ED v\u011Btve
AutomaticEdgeColorHookAction.text=Automatick\u00E9 barva hrany
AutomaticLayout.ALL=pro v\u0161echny uzly
AutomaticLayout.HEADINGS=pro jin\u00E9 ne\u017E koncov\u00E9 uzly
@@ -174,7 +176,7 @@ can_not_delete_style_group=Nelze odstranit skupinu styl\u016F
can_not_encrypt_cloned_node=Za\u0161ifrovan\u00E9 uzly nelze klonovat
can_not_save_key_set=Nelze ulo\u017Eit sadu kl\u00E1vesov\u00FDch zkratek
cancel=Storno
-CancelAction.text=Storno
+CancelAction.text=Zru\u0161it
cannot_add_parent_diff_parents=V\u0161echny uzly mus\u00ED m\u00EDt stejn\u00FD nad\u0159azen\u00FD uzel, aby tato funkce mohla b\u00FDt pou\u017Eita.
cannot_add_parent_to_root=Ko\u0159enov\u00FD uzel nem\u016F\u017Ee b\u00FDt p\u0159id\u00E1n pod nov\u00E9ho rodi\u010De.
cannot_delete_root=Ko\u0159enov\u00FD uzel nelze odstranit.
@@ -206,7 +208,8 @@ ClearLinkAnchorAction.text=Vymazat kotva
ClearLinkAnchorAction.tooltip=<html>Vymazat d\u0159\u00EDve nastaven\u00E9 ukotven\u00ED</html>
CloneAction.text=Vlo\u017Eit klonovan\u00FD uzel
close_btn=&Zav\u0159\u00EDt
-CloseAction.text=Zav\u0159\u00EDt
+CloseAction.text=Zav\u0159\u00EDt otev\u0159enou mapu
+cloud_shapes=Tvary oblak
CloudAction.text=Oblak
CloudColorAction.text=Barva oblaku...
CloudShapeAction.ARC.text=Oblouk
@@ -223,6 +226,7 @@ connector_label=Popisek konektoru
connector_lines=Spojovac\u00ED \u010D\u00E1ry
connector_shapes=Tvar konektoru
ConnectorColorAction.text=Barva konektoru...
+ConvertCloneToIndependentNodeAction.text=Odklonovat
CopyAction.text=Kop\u00EDrovat
CopyAction.tooltip=Kop\u00EDrovat vybranou v\u011Btev
CopyAttributes.text=Kop\u00EDrovat atributy
@@ -237,14 +241,16 @@ corrupt_map=Obsah mapy je po\u0161kozen
CreateConjunctConditionAction.text=A
CreateDisjunctConditionAction.text=Nebo
CreateNotSatisfiedConditionAction.text=Ne
-CreationModificationPluginAction.text=Ukazovat \u010Das zm\u011Bny
+CreationModificationPluginAction.text=Ukazovat \u010Das zm\u011Bn
CreationModificationPluginAction.tooltip=<html>Tato funkce ukazuje \u010Das vytvo\u0159en\u00ED a zm\u011Bny uzlu.</html>
current_dir=Mapy
CutAction.text=Vyjmout
decrease_branch_font_size=Men\u0161\u00ED p\u00EDsmo
DecreaseNodeFontAction.text=Men\u0161\u00ED p\u00EDsmo
default=V\u00FDchoz\u00ED
+defaultAuxiliaryWordList=a, nebo
DefaultColorAction.text=V\u00FDchoz\u00ED barva
+defaultstyle.attributes=Atributy
defaultstyle.details=Podrobnosti
defaultstyle.floating=Plovouc\u00ED uzel
defaultstyle.note=Pozn\u00E1mka
@@ -272,7 +278,9 @@ edge=Hrana
edge_is_formatted_by_style=Form\u00E1t hran je \u0159\u00EDzen stylem. Styly upravte dle pot\u0159eby.
edge_style=Styl hrany
edge_width=Tlou\u0161\u0165ka hrany
+edge_widths=\u0160\u00ED\u0159ka hrany
EdgeColorAction.text=Barva hrany...
+EdgeProperties=Vlastnosti hrany
EdgeStyleAction.bezier.text=Bezier
EdgeStyleAction.bezier.tooltip=<html>Zobrazit hrany jako hladkou k\u0159ivku.</html>
EdgeStyleAction.hide_edge.text=Skr\u00FDt hrany
@@ -313,9 +321,11 @@ EditLongAction.text=Upravit j\u00E1dro uzlu v dialogu
EditNoteInDialogAction.text=Upravit pozn\u00E1mku v dialogu
EditScript=Upravit script...
EditStylesAction.text=Upravit styly
-EncryptedMap.text=Vytvo\u0159it novou zak\u00F3dovanou mapu ...
+EncryptedMap.text=Vytvo\u0159it novou zak\u00F3dovanou mapu
EncryptedMap.tooltip=Vytvo\u0159it novou zak\u00F3dovanou mapu
+encryption=Zaheslov\u00E1n\u00ED
enter_base_url=Budu vkl\u00E1dat relativn\u00ED odkazy. Pros\u00EDm, vlo\u017Ete z\u00E1kladn\u00ED URL.
+enter_command=Vlo\u017Eit p\u0159\u00EDkaz
enter_condition_name=Zadejte nov\u00FD n\u00E1zev podm\u00EDnky
enter_confirms=Potvrdit vlo\u017Een\u00ED
enter_keyset_name=Zadejte n\u00E1zev sady kl\u00E1vesov\u00FDch zkratek
@@ -329,6 +339,8 @@ error_applying_template=Chyba p\u0159i aplikov\u00E1n\u00ED XSL \u0161ablony.
error_creating_directory=Nelze vytvo\u0159it adres\u00E1\u0159 pro export.
error_in_template=Chyby ve v\u00FDchoz\u00ED \u0161ablon\u011B map {0}. Pokuste se odstranit tento soubor.
errornumber={0} chyb
+ExecuteScript.available_modes_tooltip={0} je dostupn\u00FD pro
+ExecuteScript.script=Skript
ExecuteScriptError.text=Chyba p\u0159i prov\u00E1d\u011Bn\u00ED skriptu:\n{0}
ExecuteScriptForAllNodes.text=Prov\u00E9st v\u0161echny skripty
ExecuteScriptForSelectionAction.text=Spustit skripty vybran\u00FDch uzl\u016F
@@ -362,7 +374,7 @@ ExternalImageAddAction.text=P\u0159idat obr\u00E1zek...
ExternalImageChangeAction.text=Zm\u011Bnit obr\u00E1zek...
ExternalImageRemoveAction.text=Odstranit obr\u00E1zek
ExtractLinkFromTextAction.text=P\u0159ev\u00E9st odkaz v r\u00E1mci textu
-ExtractLinkFromTextAction.tooltip=Nastavit odkaz z adresy n textu uzlu
+ExtractLinkFromTextAction.tooltip=Nastavit odkaz z adresy v textu uzlu
extras=N\u00E1stroje
f_button_unassigned=<no action>[translate me]
FaqOpenURLAction.text=FAQ
@@ -398,6 +410,8 @@ filter=F&iltr
filter_add=P\u0159idat
filter_and=A
filter_any_text=J\u00E1dro, detaily nebo pozn\u00E1mku
+filter_clone_snapshot=Ulo\u017Een\u00E9 klony v\u00FDb\u011Bru
+filter_clones=Klony v\u00FDb\u011Bru
filter_conditions=Podm\u00EDnky filtru
filter_contains=Obsahuje
filter_created_after=Vytvo\u0159eno po
@@ -444,20 +458,28 @@ filter_selected_node_view=Aktu\u00E1ln\u011B vybran\u00E9 uzly
filter_selected_node_view_snapshot=Ulo\u017Een\u00FD v\u00FDb\u011Br
filter_style=Styl
filter_time=Datum
+FilterCondition=Podm\u00EDnky filtru
+filterConditions=U\u017Eivatelsky definovan\u00E9 filtry
+filterConditions.noActions=\u017D\u00E1dn\u00E9 pojmenovan\u00E9 filtry
filters_not_loaded=Nelze na\u010D\u00EDst filtr, soubor po\u0161kozen
+find=Najdi
find_what=Naj\u00EDt co
-FindAction.text=Naj\u00EDt...
+FindAction.text=Hledat
+FindNextAction.text=Najdi n\u00E1sleduj\u00EDc\u00ED
+FindPreviousAction.text=Najdi p\u0159edchoz\u00ED
+fit_background_to_page=P\u0159izp\u016Fsob obr\u00E1zek na pozad\u00ED na jednu str\u00E1nku
fit_map_to_page=Na jednu str\u00E1nku
fit_map_to_page_height=P\u0159izp\u016Fsobit &v\u00FD\u0161ku na jednu str\u00E1nku
fit_map_to_page_width=P\u0159izp\u016Fsobit & \u0161\u00ED\u0159ku na jednu str\u00E1nku
-FitToPage.text=P\u0159ibl\u00ED\u017Eit na celou mapu
+FitToPage.text=Zobrazit celou mapu
FitToPage.tooltip=Uprav\u00ED p\u0159ibl\u00ED\u017Een\u00ED tak, \u017Ee se do okna vejde cel\u00E1 mapa.
fold=Slo\u017Eit
FoldAllAction.text=Slo\u017Eit v\u0161e
FoldAllAction.tooltip=<html>Slo\u017Eit vybran\u00E9 uzly a v\u0161echny jejich poduzly.</html>
FoldOneLevelAction.text=Slo\u017Eit jednu \u00FArove\u0148
FoldOneLevelAction.tooltip=<html>Slo\u017Eit vybran\u00E9 uzly o jednu \u00FArove\u0148.</html>
-follow_graphical_link=Jdi na:
+follow_clone=Uvnit\u0159 "{0}"
+follow_graphical_link=P\u0159ej\u00EDt na "{0}"
FollowLinkAction.text=N\u00E1sledovat odkaz
font=p\u00EDsmo
FontFamilyAction.text=P\u00EDsmo
@@ -497,6 +519,8 @@ freeplane_reverted=Freeplane_Vraceno_
FreeplaneHelpStarter.text=Online n\u00E1pov\u011Bda...
FreeplaneHelpStarter.tooltip=Freeplane roz\u0161\u00ED\u0159en\u00E1 n\u00E1pov\u011Bda
GettingStartedAction.text=Tutori\u00E1l
+goto=P\u0159ejdi
+goto.noActions=\u017D\u00E1dn\u00E9 c\u00EDlov\u00E9 uzly
GotoLinkNodeAction.text=N\u00E1sledovat odkaz
GotoNodeAction.text=J\u00EDt na uzel s ID ...
GrabKeyDialog.common.cancel=Storno
@@ -652,19 +676,21 @@ IconProgressIconUpAction.text=Pokrok
IconProgressIconUpAction.tooltip=Zvy\u0161uje/ vkl\u00E1d\u00E1 ikony pr\u016Fb\u011Bhu (0% -> 25% -> 50% -> 75% -> 100% + OK).
IconProgressRemoveAction.text=Odstranit pokrok
IconProgressRemoveAction.tooltip=Odstra\u0148uje ikony pr\u016Fb\u011Bhu a roz\u0161\u00ED\u0159en\u00E9 ikony pr\u016Fb\u011Bhu.
+icons=Ikony
IconSelectionPlugin.text=V\u00FDb\u011Br ikony...
IconSelectionPlugin.tooltip=<html>Pomoc\u00ED n\u00E1sleduj\u00EDc\u00EDho okna m\u016F\u017Eete vybrat ikonu.</html>
image_covertLink=P\u0159ev\u00E9st odkaz na obr\u00E1zek
ImageFlavorHandler=Obr\u00E1zek (samostatn\u00FD soubor)
import=Importovat
import_linked_branch_no_link=Vybran\u00FD uzel nem\u00E1 \u017E\u00E1dn\u00FD odkaz, ze kter\u00E9ho se d\u00E1 importovat.
-ImportAction.text=Import
-ImportBranchAction.text=Importovat v\u011Btev...
-ImportExplorerFavoritesAction.text=Importovat obl\u00EDben\u00E9 IExploreru...
-ImportFolderStructureAction.text=Importovat strukturu slo\u017Eky...
+ImportAction.text=Import mapy
+ImportBranchAction.text=Importovat v\u011Btev
+ImportExplorerFavoritesAction.text=Importovat obl\u00EDben\u00E9 IExploreru
+ImportFolderStructureAction.text=Importovat strukturu slo\u017Eky
ImportLinkedBranchAction.text=Importovat odkazovanou v\u011Btev
-ImportLinkedBranchWithoutRootAction.text=Importovat bez ko\u0159ene...
-ImportMindmanagerFiles.text=MindManager X5 Mapa...
+ImportLinkedBranchWithoutRootAction.text=Importovat odkazovanou v\u011Btev bez ko\u0159enov\u00E9ho uzlu
+ImportMindmanagerFiles.text=Mapa MindManager X5
+ImportXmlFile.text=Importuj soubor XML
increase_branch_font_size=V\u011Bt\u0161\u00ED p\u00EDsmo
IncreaseNodeFontAction.text=V\u011Bt\u0161\u00ED p\u00EDsmo
internal_error_tooltip=Do\u0161lo k vnit\u0159n\u00ED chyb\u011B. Klepnut\u00EDm sem otev\u0159ete nejnov\u011Bj\u0161\u00ED log.0 souboru protokolu pro dal\u0161\u00ED informace.
@@ -676,20 +702,31 @@ invalid_url_msg=Nelze vytvo\u0159it platnou URL pro {0}
ItalicAction.text=Kurz\u00EDva
italicise_branch=Nastavit kurz\u00EDvu
java_version=Java verze: {0}
+JoinNodesAction.separator.format=Spoj uzly s "{0}"
+lastOpenedMaps=Posledn\u00ED mapy
+lastOpenedMaps.noActions=\u017D\u00E1dn\u00E9 mapy v historii
latex_editor=Editace LaTeX vzorce
LatexDeleteLatexAction.text=Odstran\u011Bn\u00ED LaTeX vzorce
LatexEditLatexAction.text=Editace LaTeX vzorce...
LatexInsertLatexAction.msg1=<html>Pokou\u0161\u00EDte se vlo\u017Eit <i>zastaral\u00E9</i> LaTeX vzorce. <br/>Nov\u00FD zp\u016Fsob, jak vytvo\u0159it text LaTeXu, je pops\u00E1n na t\u00E9to str\u00E1nce:</html>
+LatexInsertLatexAction.msg2=<html>Ve zkratce: <ul><li>pou\u017Eij p\u0159edponu "\\latex " v hlavn\u00EDm textu uzlu, nebo</li><li><i>Pohled->Vlastnosti</i>, pot\u00E9 <i>Hlavn\u00ED text->Form\u00E1t->Latex.</i></li></ul></html>
LatexInsertLatexAction.text=P\u0159id\u00E1n\u00ED LaTeX vzorce...
latexPatternFormat=LaTeX
+LengthUnits.cm=cm
+LengthUnits.in=in
+LengthUnits.mm=mm
+LengthUnits.pt=pt
+LengthUnits.px=px
less_than_two_selected_nodes=Mus\u00EDte vybrat alespo\u0148 dva uzly, aby se mohly vytvo\u0159it odkazy.
license=Licence: GPL 2 nebo nov\u011Bj\u0161\u00ED
+license_text=<html>Tento program je svobodn\u00FD software; m\u016F\u017Eete jej \u0161\u00ED\u0159it a/nebo<br>modifikovat podle podm\u00EDnek GNU General Public License<br>,vydan\u00E9 Free Software Foundation; bu\u010F ve verzi 2<br>t\u00E9to licence, nebo (podle vlastn\u00EDho uv\u00E1\u017Een\u00ED) kter\u00E9koliv pozd\u011Bj\u0161\u00ED verze.<br>Tento program je \u0161\u00ED\u0159en v nad\u011Bji, \u017Ee bude u\u017Eite\u010Dn\u00FD,<br>ale BEZ JAK\u00C9KOLIV Z\u00C1RUKY; dokonc [...]
link_error=Nespr\u00E1vn\u00E9 odkaz "{0}" nebyl na\u010Dten
link_not_available_any_more=Odkaz ji\u017E nen\u00ED platn\u00FD. Uzel byl pravd\u011Bpodobn\u011B smaz\u00E1n.
link_not_found=Link {0} nenalezen.
links=Odkaz
load=&Nahr\u00E1t
load_accelerator_presets=Nahr\u00E1t
+load_accelerator_presets.noActions=\u017D\u00E1dn\u00E9 p\u0159edvolby
LoadAcceleratorPresetsAction.textPatterns.text=Text Patterns[translate me]
locking_failed_by_open=Uzam\u010Den\u00ED mapy {0} se nezda\u0159ilo. Soubor otev\u0159en pouze ke \u010Dten\u00ED.
locking_failed_by_save_as=Uzam\u010Den\u00ED mapy {0} se nezda\u0159ilo. Akce Ulo\u017Eit je zru\u0161ena.
@@ -697,6 +734,7 @@ locking_old_lock_removed=Mapa {0} byla uzam\u010Dena u\u017Eivatelem {1}. Z\u00E
long_node_changed_cancel=Zm\u011Bnil(a) jste uzel. Chcete zahodit zm\u011Bny?
long_node_changed_submit=Zm\u011Bnil(a) jste uzel. Chcete ulo\u017Eit zm\u011Bny?
lots_of_links_warning=K tomuto uzlu se te\u010F vytvo\u0159\u00ED spousta odkaz\u016F. Opravdu to chcete?
+main_menu=Menu
main_resource_directory=Instala\u010Dn\u00ED zdroje: {0}
MainView.errorUpdateText=Chyba p\u0159i nastavov\u00E1n\u00ED textu pro n\u00E1sleduj\u00EDc\u00ED vstup: {0}.
MakeLinkFromAnchorAction.text=Vyvo\u0159 odkaz z kotvy
@@ -738,12 +776,17 @@ ManageAddOnsDialog.visit.addon.page=Nav\u0161tivte str\u00E1nku dopl\u0148k\u016
ManageConditionalStylesAction.text=Spr\u00E1va podm\u00EDn\u011Bn\u00FDch styl\u016F mapy
ManageNodeConditionalStylesAction.text=Spr\u00E1va podm\u00EDn\u011Bn\u00FDch styl\u016F uzlu
map_already_exists=Soubor mapy u\u017E existuje. Chcete ho p\u0159epsat?
+map_background=Pozad\u00ED mapy
+map_background_image=Obr\u00E1zek na pozad\u00ED
map_corrupted=Mapa je poni\u010Den\u00E1. Chcete zobrazit detaily?
map_load_error=Nelze na\u010D\u00EDst mapu {0}
map_locked_by_open=Mapa {0} je moment\u00E1ln\u011B editovan\u00E1 u\u017Eivatelem {1}. Otev\u0159ena je pouze ke \u010Dten\u00ED.
map_locked_by_save_as=Mapa {0} je moment\u00E1ln\u011B editovan\u00E1 u\u017Eivatelem {1}. Akce Ulo\u017Eit jako zru\u0161ena.
map_not_saved=Mapa nebyla d\u0159\u00EDve ulo\u017Eena.
-MapBackgroundColorAction.text=Barva pozad\u00ED mapy
+MapBackgroundClearAction.text=Vyma\u017E
+MapBackgroundColorAction.text=Barva pozad\u00ED
+MapBackgroundImageAction.text=Obr\u00E1zek na pozad\u00ED...
+maps=Mapy
MaxNodeWidth.text=Maxim\u00E1ln\u00ED \u0161\u00ED\u0159ka uzlu
menu_applyStyle=Pou\u017E\u00EDt styl
menu_attributes=Atributy
@@ -789,19 +832,21 @@ mode_File=Re\u017Eim souboru
mode_MindMap=Re\u017Eim my\u0161lenkov\u00E9 mapy
mode_na=M\u00F3d nedostupn\u00FD
mode_status=M\u00F3d zm\u011Bn\u011Bn na {0} M\u00F3d
+mode_StyleMap=Editovat styl
mode_title=Freeplane - {0} M\u00F3d
modes=M\u00F3dy
ModesMenuAction.Browse.text=Prohl\u00ED\u017Ee\u010D map
ModesMenuAction.File.text=Spr\u00E1vce soubor\u016F
ModesMenuAction.MindMap.text=Mind Map Editor[translate me]
most_recent_files=Posledn\u00ED soubory
+MoveAction.text=P\u0159esu\u0148
MoveToRootAction.text=P\u0159esunout do ko\u0159ene
NameConditionAction.text=Nastavit n\u00E1zev
navigate=Navigovat
NavigationNextMapAction.text=Dal\u0161\u00ED mapa
NavigationPreviousMapAction.text=P\u0159ede\u0161l\u00E1 mapa
new=&Nov\u00FD
-new_map_from_user_templates.text=Nov\u00E1 mapa ze \u0161ablony...
+new_map_from_user_templates.text=Nov\u00E1 mapa ze \u0161ablony
new_mindmap=Nov\u00E1 mapa
new_node=Nov\u00FD uzel
new_node_as_sibling_not_possible_for_the_root=Nem\u016F\u017Eete vlo\u017Eit nov\u00FD uzel na stejnou \u00FArove\u0148 jako je ko\u0159en
@@ -818,6 +863,7 @@ NewerFileRevisionsFoundDialog.question=Nalezeny nov\u011Bj\u0161\u00ED revize {0
NewerFileRevisionsFoundDialog.restore=Obn&ovit
NewerFileRevisionsFoundDialog.restore.tooltip=Nahradit {0} za {1}
NewerFileRevisionsFoundDialog.title=Nalezeny nov\u011Bj\u0161\u00ED revize soubor\u016F!
+NewFreeNodeAction.text=Nov\u00FD plovouc\u00ED uzel
NewLevelStyleAction.text=P\u0159idat \u00FArove\u0148 stylu
newmap.install.addon.question={0} se zd\u00E1 b\u00FDt bal\u00ED\u010Dek s dopl\u0148kem\nChcete jej nainstalovat?\n(Zvolte "Ne" pro norm\u00E1ln\u00ED spu\u0161t\u011Bn\u00ED.)
newmap.install.addon.title=Nainstalovat dopln\u011Bk?
@@ -842,14 +888,16 @@ no_found_from=<html>V "{1}" nebyl nalezen \u017E\u00E1dn\u00FD v\u00FDraz <u>{0}
no_more_found_from=<html>Od "{1}" u\u017E nebyl nalezen \u017E\u00E1dn\u00FD dal\u0161\u00ED v\u00FDraz <u>{0}</u>.</html>
no_previous_find=P\u0159edchoz\u00ED nenalezen.
no_styles_found_in_map=\u017D\u00E1dn\u00E9 styly nenalezeny v map\u011B
+no_translation_strings_found=Nenalezen \u017E\u00E1dn\u00FD p\u0159elo\u017Eiteln\u00FD \u0159et\u011Bzec
node=Uzel
node_changed_discard_changes=Zm\u011Bnil(a) jste uzel. Chcete zahodit zm\u011Bny?
node_is_write_protected=C\u00EDlov\u00FD uzel je chr\u00E1n\u011Bn proti z\u00E1pisu.
node_location_help=P\u0159eta\u017Een\u00ED zm\u011Bn\u00ED um\u00EDst\u011Bn\u00ED uzlu, Ctrl+ta\u017Een\u00ED zm\u011Bn\u00ED vzd\u00E1lenosti, dvojklik a Ctrl+dvojklik je resetuje.
+node_popup_scripting=Skripty
node_selector=V\u00FDb\u011Br uzlu
node_selector_message=Dvojklikem vyberete uzel
node_styles=Styly uzlu
-NodeBackgroundColorAction.text=Barva pozad\u00ED uzlu...
+NodeBackgroundColorAction.text=Barva pozad\u00ED uzlu
NodeColorAction.text=Barva uzlu...
NodeColorBlendAction.text=M\u00EDsit barvu
NodeDownAction.text=Uzel dol\u016F
@@ -858,7 +906,11 @@ NodeExtensions.RemoveNodeExtensions=Odebrat roz\u0161\u00ED\u0159en\u00ED uzlu
NodeListAction.text=Naj\u00EDt a nahradit...
NodeListAction.tooltip=Uk\u00E1\u017Ee v\u0161echny uzly jako prohledateln\u00FD seznam s filtrem vlastnost\u00ED.
NodeShapeAction.bubble.text=Bublina
-NodeShapeAction.fork.text=Rozdvojen\u00ED
+NodeShapeAction.fork.text=V\u011Btev
+NodeShapeAction.narrow_hexagon.text=\u00DAzk\u00FD \u0161esti\u00FAheln\u00EDk
+NodeShapeAction.oval.text=Ov\u00E1l
+NodeShapeAction.rectangle.text=Obd\u00E9ln\u00EDk
+NodeShapeAction.wide_hexagon.text=\u0160irok\u00FD \u0161esti\u00FAheln\u00EDk
NodeUpAction.text=Uzel nahoru
nonboldify_branch=Zru\u0161it tu\u010Dn\u00E9
nonitalicise_branch=Zru\u0161it kurz\u00EDvu
@@ -867,11 +919,15 @@ not_saved_for_image_error=Mapa mus\u00ED b\u00FDt ulo\u017Eena p\u0159ed t\u00ED
not_saved_for_link_error=Mapa mus\u00ED b\u00FDt ulo\u017Eena p\u0159ed nastaven\u00EDm odkazu pomoc\u00ED v\u00FDb\u011Bru souboru
note_window_location=Um\u00EDst\u011Bn\u00ED pozn\u00E1mkov\u00E9ho panelu
notes=Pozn\u00E1mka
+NotificationOptions.CLOSE=Zav\u0159i
+NotificationOptions.REMIND_ME_LATER=P\u0159ipome\u0148 pozd\u011Bji
+NotificationOptions.REMOVE_REMINDER=Odstra\u0148 p\u0159ipomenut\u00ED
+NotificationOptions.SELECT_NODE=P\u0159ejdi na p\u0159ipomenut\u00ED
ok=OK
-OKAction.text=OK
+OKAction.text=V po\u0159\u00E1dku
OnlineReference.text=Online mapy dokumentace
open_asMindMap=my\u0161lenkov\u00E1 mapa
-OpenAction.text=Otev\u0159\u00EDt...
+OpenAction.text=Otev\u0159\u00EDt
OpenFreeplaneSiteAction.text=Domovsk\u00E9 str\u00E1nky Freeplane
OpenMapsAddLocation.text=P\u0159idat um\u00EDst\u011Bn\u00ED map k otev\u0159en\u00ED...
OpenMapsRemoveLocation.text=Odstranit um\u00EDst\u011Bn\u00ED map k otev\u0159en\u00ED
@@ -886,31 +942,66 @@ OptionalDontShowMeAgainDialog.ok=Ano
OptionalDontShowMeAgainDialog.rememberMyDescision=Zapamatuj si m\u016Fj v\u00FDb\u011Br.
OptionPanel.absolute=Absolutn\u00ED
OptionPanel.accessories/plugins/AutomaticLayout.properties_PatternTabName=Automatick\u00E9 rozvr\u017Een\u00ED vzor\u016F
+OptionPanel.ADD_CHILD=P\u0159idej potomka
+OptionPanel.ADD_SIBLING=P\u0159idej rovnocenn\u00FD uzel
+OptionPanel.addons=Roz\u0161\u00ED\u0159en\u00ED
+OptionPanel.always_fold_all_after_load=Slo\u017E v\u0161echno
+OptionPanel.always_load_last_maps=Nahraj posledn\u00ED a nov\u00E9 mapy
+OptionPanel.always_load_last_maps.tooltip=Otev\u0159en\u00ED posledn\u00EDch soubor\u016F nastaveno v\u00FD\u0161e, nav\u00EDc startuje FP s vybranou mapou.
+OptionPanel.always_save_folding=V\u017Edy
+OptionPanel.always_save_folding_state=V\u017Edy ulo\u017Eit stav zm\u011Bn sklad\u016F
+OptionPanel.always_save_folding_state.tooltip=Kdy\u017E je zatr\u017Eeno, ka\u017Ed\u00E1 zm\u011Bna ve skl\u00E1d\u00E1n\u00ED uzl\u016F ozna\u010D\u00ED mapu jako modifikouvanou a p\u0159ipomene, \u017Ee je t\u0159eba ji ulo\u017Eit.
+OptionPanel.always_show_less_than_N_nodes_after_load=Rozvinout n\u011Bkter\u00E9 uzly
+OptionPanel.always_unfold_all_after_load=Rozvi\u0148 v\u0161echny uzly
OptionPanel.antialias=Vyhlazov\u00E1n\u00ED
OptionPanel.antialias.tooltip=<html>Stanovuje kvalitu mapy. V\u00EDce vyhlazov\u00E1n\u00ED pot\u0159ebuje v\u00EDce \u010Dasu.</html>
OptionPanel.antialias_all=Vyhlazovat v\u0161e
OptionPanel.antialias_edges=Vyhlazovat hrany
OptionPanel.antialias_none=\u017D\u00E1dn\u00E9 vyhlazov\u00E1n\u00ED
OptionPanel.Appearance=Vzhled
+OptionPanel.approximate_search_threshold=Pr\u00E1h pro p\u0159ibli\u017Enou shodu
+OptionPanel.approximate_search_threshold.tooltip=<html> Pr\u00E1h pro p\u0159ibli\u017Enou shodu<br/><font size="2"> Viz http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(\u010D\u00EDm vy\u0161\u0161\u00ED \u010D\u00EDslo, t\u00EDm p\u0159esn\u011Bj\u0161\u00ED shoda<br/>hledan\u00E9ho term\u00EDnu bude nalezena).</html>
OptionPanel.ar=Ar
+OptionPanel.ARC=Oblouk
OptionPanel.as_parent=Jako rodi\u010D
+OptionPanel.ask=Zeptat se
OptionPanel.automatic=Automaticky
OptionPanel.automaticFormat_level=Styly automatick\u00E9ho rozvr\u017Een\u00ED
OptionPanel.automaticFormat_level1=Form\u00E1t ko\u0159enov\u00E9ho uzlu
OptionPanel.automaticFormat_level2=Form\u00E1t uzlu 1. \u00FArovn\u011B
+OptionPanel.backup_file_number=Po\u010Det ponechan\u00FDch z\u00E1lo\u017En\u00EDch soubor\u016F
OptionPanel.Behaviour=Chov\u00E1n\u00ED
+OptionPanel.bezier=Hladk\u00E1 k\u0159ivka (Bezier)
OptionPanel.bubble=Bubble[translate me]
+OptionPanel.ca=Katal\u00E1nsky
OptionPanel.Cancel=Storno
+OptionPanel.center_selected_node=Automaticky vyst\u0159edit vybran\u00FD uzel
+OptionPanel.check_updates_automatically=P\u0159i startu programu kontrolovat aktualizace
OptionPanel.childpattern=Vzor potomka
OptionPanel.childpattern.tooltip=Vybran\u00FD vzor je aplikov\u00E1n na v\u0161echny potomky.
OptionPanel.clear_all_setters=P\u0159epnout v\u0161e
OptionPanel.clear_all_setters.tooltip=Zapne, nebo vypne ve\u0161ker\u00E9 indikace zm\u011Bn.
OptionPanel.cloud=Cloud[translate me]
+OptionPanel.cloudcolor=Barva oblaku
+OptionPanel.cloudshape=Tvar oblaku
OptionPanel.combined=Kombinovan\u00E9
+OptionPanel.compare_as_number=Porovnej jako \u010D\u00EDsla
+OptionPanel.convert_to_current_version=<html>Automaticky p\u0159ev\u00E1d\u011Bt mapy ze star\u0161\u00EDch verz\u00ED Freeplanu <br>do form\u00E1tu sou\u010Dasn\u00E9 verze?</html>
+OptionPanel.convert_to_current_version.tooltip=<html>Pouze pro velmi velk\u00E9 mapy, kter\u00E9 nemus\u00ED b\u00FDt konvertov\u00E1ny <br>(co\u017E je pokro\u010Dil\u00E1 znalost), m\u016F\u017Ee\u0161 otev\u0159\u00EDt mapu bez p\u0159evodu .</html>
+OptionPanel.copyFormatToNewSibling=Kop\u00EDruj form\u00E1t na nov\u00E9 uzly stejn\u00E9 \u00FArovn\u011B
+OptionPanel.copyFormatToNewSiblingIncludesIcons=Kop\u00EDruj form\u00E1t s ikonami
OptionPanel.cs=Cs
+OptionPanel.cut_nodes_without_question=Vyjmout uzly bez potvrzen\u00ED?
+OptionPanel.cut_nodes_without_question.tooltip=Je-li zatr\u017Eeno, uzly budou vyjmuty bez potvrzen\u00ED. To m\u016F\u017Ee zp\u016Fsobit ztr\u00E1tu informac\u00ED p\u0159i necht\u011Bn\u00E9m u\u017Eit\u00ED.
OptionPanel.da=Dk
+OptionPanel.date_format=Standradn\u00ED form\u00E1t data
+OptionPanel.date_format.tooltip=Mo\u017Eno pou\u017E\u00EDt SHORT (kr\u00E1tk\u00E9), MEDIUM (st\u0159edn\u00ED), LONG (dlouh\u00E9), \u010Di FULL (pln\u00E9), anebo vzor typu "MM/dd/yyyy"
+OptionPanel.datetime_format=Standardn\u00ED form\u00E1t data a \u010Dasu
+OptionPanel.datetime_format.tooltip=Mo\u017Eno pou\u017E\u00EDt <styl data>, <styl \u010Dasu> (se stylem SHORT (kr\u00E1tk\u00E9), MEDIUM (st\u0159edn\u00ED), LONG (dlouh\u00E9), \u010Di FULL (pln\u00E9)), anebo pln\u00FD vzor typu "M/d/yyyy hh:mm"
OptionPanel.de=De
OptionPanel.default=Defaultn\u00ED
+OptionPanel.default_attribute_key_column_width=Standardn\u00ED \u0161\u00ED\u0159ka polo\u017Eky kl\u00ED\u010De atributu
+OptionPanel.default_attribute_value_column_width=Standardn\u00ED \u0161\u00ED\u0159ka polo\u017Eky hodnoty atributu
OptionPanel.default_browser_command_mac=P\u0159\u00EDkaz pro defaultn\u00ED prohl\u00ED\u017Ee\u010D pro Mac
OptionPanel.default_browser_command_mac.tooltip=<html> a MAC:</html>
OptionPanel.default_browser_command_other_os=P\u0159\u00EDkaz pro defaultn\u00ED prohl\u00ED\u017Ee\u010D u ostatn\u00EDch OS
@@ -919,18 +1010,29 @@ OptionPanel.default_browser_command_windows_9x=P\u0159\u00EDkaz pro defaultn\u00
OptionPanel.default_browser_command_windows_9x.tooltip=<html>Pro Windows (znaky "" jsou nutn\u00E9 kv\u016Fli odkaz\u016Fm, kter\u00E9 maj\u00ED "=" v URL).</html>
OptionPanel.default_browser_command_windows_nt=P\u0159\u00EDkaz pro defaultn\u00ED prohl\u00ED\u017Ee\u010D u Windows NT
OptionPanel.default_browser_command_windows_nt.tooltip=<html>Pro Windows (znaky "" jsou nutn\u00E9 kv\u016Fli odkaz\u016Fm, kter\u00E9 maj\u00ED "=" v URL).</html>
+OptionPanel.default_charset=Znakov\u00E1 sada
+OptionPanel.default_save_dir=V\u00FDchoz\u00ED adres\u00E1\u0159 pro ukl\u00E1d\u00E1n\u00ED
OptionPanel.Defaults=P\u0159ednastaven\u00ED
OptionPanel.delete_automatic_saves_at_exit=Smazat automatick\u00E9 ulo\u017Een\u00ED p\u0159i ukon\u010Den\u00ED
OptionPanel.delete_automatic_saves_at_exit.tooltip=<html> Zda maj\u00ED b\u00FDt soubory smazan\u00E9 automaticky p\u0159i norm\u00E1ln\u00EDm ukon\u010Den\u00ED Freeplaneu.</html>
+OptionPanel.delete_nodes_without_question=Smazat uzly bez potvrzen\u00ED?
+OptionPanel.delete_nodes_without_question.tooltip=Je-li zatr\u017Eeno, uzly jsou maz\u00E1ny bez potvrzen\u00ED. V p\u0159\u00EDpad\u011B necht\u011Bn\u00E9ho u\u017Eit\u00ED m\u016F\u017Ee v\u00E9st ke ztr\u00E1t\u011B informace.
OptionPanel.disable_cursor_move_paper=Zak\u00E1zat kurzoru v pohybu pap\u00EDru
OptionPanel.disable_cursor_move_paper.tooltip=<html>Neukazovat 'move' kurzor p\u0159i tah\u00E1n\u00ED pap\u00EDru.</html>
+OptionPanel.display_inline_editor_for_all_new_nodes=Zobraz do mapy vlo\u017Een\u00FD editor pro v\u0161echny nov\u00E9 uzly
+OptionPanel.display_node_id=Zobraz ID uzlu
OptionPanel.edgecolor=Barva hrany
OptionPanel.edgecolor.tooltip=Vlastnost hrany nad\u0159azen\u00E9ho uzlu (je tak\u00E9 aplikovan\u00E1 na v\u0161echny potomky)
OptionPanel.edgestyle=Styl hrany
OptionPanel.edgestyle.tooltip=Vlastnost hrany nad\u0159azen\u00E9ho uzlu (je tak\u00E9 aplikovan\u00E1 na v\u0161echny potomky)
OptionPanel.edgewidth=\u0160\u00ED\u0159ka hrany
OptionPanel.edgewidth.tooltip=Vlastnost hrany na rodi\u010Dovsk\u00FD uzel (je tak\u00E9 aplikovan\u00E9 na v\u0161echny potomky)
+OptionPanel.EDIT_CURRENT=P\u0159epi\u0161 obsah
+OptionPanel.edit_on_double_click=Edituj na dvojit\u00E9 kliknut\u00ED
+OptionPanel.editor_extra_width=Krok p\u0159idan\u00E9 \u0161\u00ED\u0159ky
+OptionPanel.editor_extra_width.tooltip=<html>Ur\u010Duje po\u010Det pixel\u016F, o kter\u00E9 se uzel roz\u0161\u00ED\u0159\u00ED, pakli\u017Ee \u0161\u00ED\u0159e textu p\u0159ekro\u010D\u00ED sou\u010Dasnou \u0161\u00ED\u0159i uzlu.</html>
OptionPanel.el=El[translate me]
+OptionPanel.el__buttons_above=Tla\u010D\u00EDtka na vrchu
OptionPanel.el__enter_confirms_by_default=Enter defaultn\u011B potvrzuje
OptionPanel.el__max_default_window_height=Maxim\u00E1ln\u00ED defaultn\u00ED v\u00FD\u0161ka okna
OptionPanel.el__max_default_window_width=Maxim\u00E1ln\u00ED defaultn\u00ED \u0161\u00ED\u0159ka okna
@@ -941,19 +1043,40 @@ OptionPanel.en=En
OptionPanel.Environment=Prost\u0159ed\u00ED
OptionPanel.es=Es
OptionPanel.et=Et[translate me]
+OptionPanel.eu=Basque
+OptionPanel.execute_scripts_without_asking=Povoleno spou\u0161t\u011Bn\u00ED skript\u016F
+OptionPanel.execute_scripts_without_asking.tooltip=<html>Skripty Freeplanu jsou principi\u00E1ln\u011B schopny prov\u00E9st na va\u0161em po\u010D\u00EDta\u010Di jakoukoliv akci. <br> Proto nespou\u0161t\u011Bjte skripty, o kter\u00FDch nev\u00EDte, zda jsou bezpe\u010Dn\u00E9.</html>
+OptionPanel.execute_scripts_without_exec_restriction=Povolit spou\u0161t\u011Bn\u00ED ostatn\u00EDch aplikac\u00ED (NEDOPORU\u010CUJE SE)
+OptionPanel.execute_scripts_without_exec_restriction.tooltip=<html><body>Jestli va\u0161e skripty v jazyce Groovy pot\u0159ebuj\u00ED spustit n\u011Bjakou extern\u00ED aplikaci (jako nap\u0159\u00EDklad prohl\u00ED\u017Ee\u010D) bez ptan\u00ED(!),<br>povolte tuto mo\u017Enost.<br>Ale pou\u017E\u00EDvejte s rozmyslem - m\u011Bjte na pam\u011Bti, \u017Ee podvodn\u00E9 skripty mohou po\u0161kodit v\u00E1\u0161 po\u010D\u00EDta\u010D!</body></html>
+OptionPanel.execute_scripts_without_file_restriction=Povolit \u010Dten\u00ED soubor\u016F (NEDOPORU\u010CUJE SE)
+OptionPanel.execute_scripts_without_file_restriction.tooltip=<html><body>Jestli va\u0161e skripty v jazyce Groovy pot\u0159ebuj\u00ED p\u0159\u00EDstup k soubor\u016Fm (otev\u0159en\u00ED/zav\u0159en\u00ED/\u010Dten\u00ED),<br>povolte tuto mo\u017Enost.<br>Ale pou\u017E\u00EDvejte s rozmyslem - m\u011Bjte na pam\u011Bti, \u017Ee podvodn\u00E9 skripty mohou po\u0161kodit v\u00E1\u0161 po\u010D\u00EDta\u010D!</body></html>
+OptionPanel.execute_scripts_without_network_restriction=Povolit s\u00ED\u0165ov\u00E9 operace (NEDOPORU\u010CUJE SE)
+OptionPanel.execute_scripts_without_network_restriction.tooltip=<html><body>Jestli va\u0161e skripty v jazyce Groovy pot\u0159ebuj\u00ED p\u0159\u00EDstup na internet,<br>povolte tuto mo\u017Enost.<br>Ale pou\u017E\u00EDvejte s rozmyslem - m\u011Bjte na pam\u011Bti, \u017Ee podvodn\u00E9 skripty mohou kompromitovat va\u0161e soukrom\u00ED!</body></html>
+OptionPanel.execute_scripts_without_write_restriction=Povolit z\u00E1pis soubor\u016F (NEDOPORU\u010CUJE SE)
+OptionPanel.execute_scripts_without_write_restriction.tooltip=<html><body>Jestli va\u0161e skripty v jazyce Groovy pot\u0159ebuj\u00ED p\u0159\u00EDstup k soubor\u016Fm (z\u00E1pis/v\u00FDmaz(!)),<br>povolte tuto mo\u017Enost.<br>Tato mo\u017Enost je norm\u00E1ln\u011B pou\u017E\u00EDv\u00E1na spolu s p\u0159\u00EDstupem ke \u010Dten\u00ED soubor\u016F.<br>Ale pou\u017E\u00EDvejte s rozmyslem - m\u011Bjte na pam\u011Bti, \u017Ee podvodn\u00E9 skripty mohou po\u0161kodit v\u00E1\u0161 po\ [...]
OptionPanel.experimental_file_locking_on=Experiment\u00E1ln\u00ED zamyk\u00E1n\u00ED souboru
OptionPanel.experimental_file_locking_on.tooltip=<html> Experiment\u00E1ln\u00ED vlastnost</html>
OptionPanel.export_icons_in_html=Exportovat ikony do HTML
OptionPanel.export_icons_in_html.tooltip=<html> Zda HTML exportovan\u00E9 z Freeplaneu m\u00E1 obsahovat ikony. Probl\u00E9m s ikonami je, \u017Ee docela \u010Dasto odkazy na ikony nebudou nalezeny v exportovan\u00E9m HTML.</html>
+OptionPanel.exported_image_resolution_dpi=Rozli\u0161en\u00ED exportovan\u00E9ho obr\u00E1zku (v DPI)
OptionPanel.Files=Soubory
OptionPanel.first=Prvn\u00ED
+OptionPanel.fit_to_viewport=P\u0159izp\u016Fsob obr\u00E1zek na pozad\u00ED oknu
+OptionPanel.fold_on_click_inside=Slo\u017E po kliknut\u00ED dovnit\u0159
OptionPanel.foldingsymbolwidth=\u0160\u00ED\u0159ka symbolu pro skl\u00E1d\u00E1n\u00ED
OptionPanel.foldingsymbolwidth.tooltip=<html>\u0160\u00ED\u0159ka kruhu ozna\u010Duj\u00EDc\u00EDho skl\u00E1d\u00E1n\u00ED</html>
+OptionPanel.fork=V\u011Btev
+OptionPanel.format_locale=M\u00EDstn\u00ED nastaven\u00ED pro form\u00E1ty
+OptionPanel.format_locale.tooltip=M\u00EDstn\u00ED nastaven\u00ED pro form\u00E1tov\u00E1n\u00ED a anal\u00FDzu dat a \u010Dasu
OptionPanel.formula_disable_caching=Zak\u00E1zat mezipam\u011B\u0165 vzorc\u016F
OptionPanel.formula_disable_plugin=Zak\u00E1zat v\u00FDpo\u010Det vzorec\u016F
OptionPanel.fr=Fr
OptionPanel.gl=Gl[translate me]
+OptionPanel.goto_note_end_on_edit=P\u0159esu\u0148 kurzor v pozn\u00E1mce na konec
OptionPanel.grid_size=Velikost m\u0159\u00ED\u017Eky
+OptionPanel.groovy_editor_font=Font pro editor jazyka Groovy se zv\u00FDrazn\u011Bn\u00EDm syntaxe
+OptionPanel.groovy_editor_font.tooltip=Pou\u017Eijte "Dialog", nebo "Monospaced", jestli\u017Ee pot\u0159ebujete znaky sady Unicode!
+OptionPanel.groovy_editor_font_size=Velikost fontu pro editor jazyka Groovy se zv\u00FDrazn\u011Bn\u00EDm syntaxe
OptionPanel.gtk=Gtk
OptionPanel.hide_edge=Skr\u00FDt hranu
OptionPanel.highlight_formulas=Zv\u00FDraznit vzorce
@@ -972,18 +1095,31 @@ OptionPanel.ic_ram=V RAM
OptionPanel.icon=Ikona
OptionPanel.icon.tooltip=Pokud se aplikuje, dan\u00FD uzel bude m\u00EDt p\u0159esn\u011B tuto ikonu.
OptionPanel.icons.list=Seznam standardn\u00EDch ikon
+OptionPanel.icons.list.tooltip=Zde m\u016F\u017Eete \u0159adit, nebo vyp\u00EDnat standardn\u00ED ikony. Ikony odd\u011Blujte pomoc\u00ED st\u0159edn\u00EDku.
OptionPanel.id=Id[translate me]
OptionPanel.IGNORE=Ned\u011Blat nic
+OptionPanel.il__enter_confirms_by_default=Enter potvrzuje jako v\u00FDchoz\u00ED mo\u017Enost
OptionPanel.image_cache=pro obr\u00E1zky
+OptionPanel.indentationUsesTabsInTextOutput=Ve v\u00FDstupn\u00EDm textu pou\u017E\u00EDvej tabul\u00E1tory
OptionPanel.it=It
OptionPanel.ja=Ja
+OptionPanel.JoinNodesAction.textSeparators=Odd\u011Blova\u010D textu
+OptionPanel.key_type_action=P\u0159i stisknut\u00ED kl\u00E1vesy
OptionPanel.Keystrokes=Kl\u00E1vesov\u00E9 zkratky
OptionPanel.ko=Kr
+OptionPanel.label_font_family=Rodina p\u00EDsem
OptionPanel.label_font_size=Velikost p\u00EDsma
OptionPanel.language=Jazyk
OptionPanel.language.tooltip=<html>Toto je jazyk, kter\u00FD by m\u011Bl b\u00FDt pou\u017Eit\u00FD v programu. P\u0159i nastaven\u00ED na 'Automaticky' se vybere aktu\u00E1ln\u00ED jazyk u\u017Eivatele. </html>
OptionPanel.last=Posledn\u00ED
OptionPanel.last_opened_list_length=D\u00E9lka seznamu naposledy otev\u0159en\u00FDch map
+OptionPanel.latex_disable_editor=Vypni editor jazyka LaTeX se zv\u00FDrazn\u011Bn\u00EDm syntaxe
+OptionPanel.latex_disable_editor.tooltip=Zkontroluj, zda jsou probl\u00E9my s editorem jazyka LaTeX
+OptionPanel.latex_editor_font=Font pro editor jazyka LaTeX se zv\u00FDrazn\u011Bn\u00EDm syntaxe
+OptionPanel.latex_editor_font.tooltip=Pou\u017Eijte "Dialog", nebo "Monospaced", jestli\u017Ee pot\u0159ebujete znaky sady Unicode!
+OptionPanel.latex_editor_font_size=Velikost fontu pro editor jazyka LaTeX se zv\u00FDrazn\u011Bn\u00EDm syntaxe
+OptionPanel.latex_macros=B\u011B\u017En\u00E1 makra jazyka LaTeX
+OptionPanel.layout_map_on_text_change=Aktualizuj rozlo\u017Een\u00ED mapy b\u011Bhem \u00FApravy
OptionPanel.layout_map_on_text_change.tooltip=Zak\u00E1zat pro lep\u0161\u00ED v\u00FDkon
OptionPanel.linear=Line\u00E1rn\u00ED
OptionPanel.links=Odkazy
@@ -995,17 +1131,22 @@ OptionPanel.load_last_map=Automaticky otev\u0159e posledn\u00ED mapu
OptionPanel.load_last_map.tooltip=<html>P\u0159i startu Freeplaneu se automaticky otev\u0159e naposledy otev\u0159en\u00E1 mapa.</html>
OptionPanel.load_last_maps=Na\u010D\u00EDst v\u0161echny posledn\u00ED mapy
OptionPanel.lookandfeel=Vzhled a t\u00E9ma
+OptionPanel.lookandfeel.scaleuifonts=\u0160k\u00E1luj p\u00EDsma u\u017Eivatelsk\u00E9ho rozhran\u00ED
+OptionPanel.lookandfeel.scaleuifonts.tooltip=U\u017Eite\u010Dn\u00E9 pro monitory s vy\u0161\u0161\u00EDm rozli\u0161en\u00EDm
OptionPanel.lookandfeel.tooltip=<html>Vzhled a t\u00E9ma k pou\u017Eit\u00ED.'metal', 'windows', 'motif', 'gtk' jsou podporovan\u00E9, 'mac' je dostupn\u00FD pouze na MacOS. default znamen\u00E1, \u017Ee je pou\u017Eit\u00FD vzhled dan\u00E9 platformy. Pokud chcete d\u00E1t sv\u016Fj vlastn\u00ED vzhled, vlo\u017Ete n\u00E1zev t\u0159\u00EDdy a zajist\u011Bte, \u017Ee odpov\u00EDdaj\u00EDc\u00ED jar soubor(y) jsou nahran\u00E9. Kdy\u017E nastanou n\u011Bjak\u00E9 probl\u00E9my se vzhlede [...]
OptionPanel.lt=Litev\u0161tina / kalba
OptionPanel.max_displayed_node_count=Maxim\u00E1ln\u00ED po\u010Det zobrazen\u00FDch uzl\u016F
OptionPanel.max_image_width=Max v\u00FDchoz\u00ED \u0161\u00ED\u0159ka obrazu
OptionPanel.max_image_width.tooltip=Nov\u00E9 obr\u00E1zky jsou zmen\u0161eny na tuto \u0161\u00ED\u0159ku
OptionPanel.max_menu_item_count=Maxim\u00E1ln\u00ED po\u010Det polo\u017Eek menu
+OptionPanel.max_menu_item_count.tooltip=Ohrani\u010Den\u00ED po\u010Dtu polo\u017Eek v jednom submenu, nejm\u00E9n\u011B 10
OptionPanel.max_node_width=Maxim\u00E1ln\u00ED \u0161\u00ED\u0159ka uzlu
OptionPanel.max_node_width.tooltip=<html>Defaultn\u00ED maxim\u00E1ln\u00ED \u0161\u00ED\u0159ka uzlu v pixelech</html>
+OptionPanel.max_shortened_text_length=Nejvy\u0161\u0161\u00ED \u0161\u00ED\u0159ka textu zkr\u00E1cen\u00E9ho uzlu
OptionPanel.metal=Kov
OptionPanel.min_node_width=Min. \u0161\u00ED\u0159ka uzlu
OptionPanel.motif=Motif
+OptionPanel.narrow_hexagon=Tenk\u00FD \u0161esti\u00FAheln\u00EDk
OptionPanel.nb=Nb[translate me]
OptionPanel.never_save_folding=Nikdy
OptionPanel.nl=Nl
@@ -1015,50 +1156,85 @@ OptionPanel.nodebackgroundcolor.tooltip=Barva pozad\u00ED uzlu, kdy\u017E nen\u0
OptionPanel.nodecolor=Barva uzlu
OptionPanel.nodecolor.tooltip=Barva textu uzlu, kdy\u017E nen\u00ED vybr\u00E1n.
OptionPanel.nodefontbold=Tlust\u00E9 p\u00EDsmo uzlu
+OptionPanel.nodefonthyperlink=Hyperlink
OptionPanel.nodefontitalic=Kurz\u00EDva
OptionPanel.nodefontname=P\u00EDsmo uzlu
OptionPanel.nodefontsize=Velikost p\u00EDsma uzlu
OptionPanel.nodeformat=Form\u00E1t
+OptionPanel.nodeformat.tooltip=<html>N\u00E1hrada textu a/nebo form\u00E1tov\u00E1n\u00ED:<ul><li><em>Roz\u0161\u00ED\u0159en\u00ED \u0161ablony (<tt>%s</tt> je p\u016Fvodn\u00ED text), t.j. <tt>POZOR: %s</tt><li><em>Form\u00E1tov\u00E1n\u00ED dat a \u010D\u00EDsel</em> - viz p\u0159\u00EDkazy ve v\u00FDb\u011Brov\u00E9m dialogu</ul></html>
OptionPanel.nodenumbering=\u010C\u00EDslov\u00E1n\u00ED uzl\u016F
+OptionPanel.nodenumbering.tooltip=P\u0159id\u00E1 po\u0159adov\u00E9 \u010D\u00EDslo (nap\u0159. 1.3.1) do textu uzlu.
+OptionPanel.nodeshape=Tvar uzlu
OptionPanel.nodetext=Text uzlu
OptionPanel.nodetext.tooltip=Zde m\u016F\u017Eete definovat test uzlu. Dosavadn\u00ED text se odstran\u00ED, kdy\u017E je takov\u00FD vzor aplikov\u00E1n.
OptionPanel.nothing=Nic
OptionPanel.number_format=Standardn\u00ED \u010D\u00EDseln\u00FD form\u00E1t
+OptionPanel.number_format.tooltip=Vzor obsahuje "#" pro voliteln\u00E1, anebo "0" pro povinn\u00E1 \u010D\u00EDsla. P\u0159\u00EDklady: "0.00", "0.0%", "$#.00", "#0"
OptionPanel.number_of_different_files_for_automatic_save=Po\u010Det rozd\u00EDlov\u00FDch soubor\u016F pro automatick\u00E9 ukl\u00E1d\u00E1n\u00ED
OptionPanel.number_of_different_files_for_automatic_save.tooltip=<html> Po\u010Det r\u016Fzn\u00FDch soubor\u016F, mezi kter\u00FDmi se cykluje p\u0159i automatick\u00E9m ukl\u00E1d\u00E1n\u00ED.</html>
OptionPanel.OK=Ulo\u017Eit
+OptionPanel.org.freeplane.plugin.bugreport=Pravidla
OptionPanel.org.freeplane.plugin.bugreport.allowed=V\u017Edy odes\u00EDlat
+OptionPanel.org.freeplane.plugin.bugreport.ask=Uka\u017E okno zpr\u00E1vy
OptionPanel.org.freeplane.plugin.bugreport.denied=Nikdy neodes\u00EDlat
+OptionPanel.org.freeplane.plugin.bugreport.userid=Voliteln\u00ED identifik\u00E1tor k odesl\u00E1n\u00ED
OptionPanel.outline_hgap=Vodorovn\u00E1 vzd\u00E1lenost
OptionPanel.outline_vgap=Svisl\u00E1 vzd\u00E1lenost
+OptionPanel.oval=Ov\u00E1l
OptionPanel.paint_connectors_behind=Konektory vykresleny pod uzly
+OptionPanel.parse_data=Rozpoznat vstup \u010D\u00EDsel a data a \u010Dasu
+OptionPanel.parse_data.tooltip=Zkus analyzovat datum, datum-\u010Das a \u010D\u00EDseln\u00FD vstup a pou\u017E\u00EDt standardn\u00ED form\u00E1tov\u00E1n\u00ED. P\u0159\u00EDklady: 100,000.00, 12/31, 12/31/99, 1999-12-31 a 1999-12-31 23:59
+OptionPanel.parse_formulas=Rozpozn\u00E1vej vzorce
+OptionPanel.parse_formulas.tooltip=Analyzuj vzorce v uzlech za\u010D\u00EDnaj\u00EDc\u00EDch rovn\u00EDtkem. Viz http://www.freeplane.org/wiki/index.php/Formulas.
+OptionPanel.parse_latex=Rozpozn\u00E1vej p\u0159\u00EDkazy jazyka LaTeX
+OptionPanel.parse_latex.tooltip=Rozpozn\u00E1vej p\u0159\u00EDkazy jazyka LaTeX pomoc\u00ED form\u00E1tu, nebo p\u0159edpony. Viz http://www.freeplane.org/wiki/index.php/LaTeX_in_Freeplane.
OptionPanel.PASTE_HTML=Vlo\u017Eit jako HTML
OptionPanel.PASTE_PLAIN_TEXT=Vlo\u017Eit jako prost\u00FD text
+OptionPanel.path_property_may_not_be_empty=Vlastnost cesty nem\u016F\u017Ee b\u00FDt pr\u00E1zdn\u00E1! Zm\u011Bny jsou vr\u00E1ceny zp\u011Bt.
OptionPanel.patternname=N\u00E1zev
OptionPanel.patternname.tooltip=Unik\u00E1tn\u00ED jm\u00E9no vzoru
OptionPanel.pl=Pl
OptionPanel.placenewbranches=Um\u00EDstit nov\u00E9 v\u011Btve
OptionPanel.placenewbranches.tooltip=<html>Kde um\u00EDstit nov\u00E9 v\u011Btve. Platn\u00E9 hodnoty jsou 'first' a 'last'. </html>
+OptionPanel.plugin.tooltip=Ostatn\u00ED roz\u0161\u00ED\u0159en\u00ED.
OptionPanel.plugins=Pluginy
+OptionPanel.presentation_dimmer_transparency=Prezentace miz\u00ED do pr\u016Fhlednosti
OptionPanel.presentation_mode=Prezenta\u010Dn\u00ED re\u017Eim
OptionPanel.printonwhitebackground=<html>B\u00EDl\u00E9 pozad\u00ED pro tisk</html>
OptionPanel.printonwhitebackground.tooltip=<html>V\u017Edy pou\u017E\u00EDvejte b\u00EDl\u00E9 pozad\u00ED pro tisk</html>
OptionPanel.pt_BR=Pt BR
OptionPanel.pt_PT=Pt PT
OptionPanel.RECT=Obd\u00E9ln\u00EDk
+OptionPanel.rectangle=Obd\u00E9ln\u00EDk
OptionPanel.relative=Relativn\u00ED
+OptionPanel.remind_type_of_new_nodes.tooltip=<html> "Zeptej se" se v\u00E1s zept\u00E1 (pou\u017Eijte p\u0159i pochybnostech).<br>"Ano" zobraz\u00ED editor typu Word.<br>"Ne" zobraz\u00ED textov\u00FD editor typu Pozn\u00E1mkov\u00E9ho bloku.</html>
OptionPanel.remind_use_rich_text_in_new_nodes=Pou\u017E\u00EDt form\u00E1tovan\u00FD text pro vlo\u017Een\u00E9 uzly
+OptionPanel.remindersBlink=P\u0159ipom\u00EDnky blikaj\u00ED
+OptionPanel.remindersShowNotifications=P\u0159ipom\u00EDnky zobraz\u00ED vyskakovac\u00ED okna
+OptionPanel.remindersStandardDelay=Prodleva p\u0159ipomenut\u00ED
OptionPanel.remove_notes_without_question=Odstranit pozn\u00E1mky bez dotazu?
+OptionPanel.remove_notes_without_question.tooltip=Je-li zatr\u017Eeno, pozn\u00E1mky p\u0159\u00EDslu\u0161ej\u00EDc\u00ED vybran\u00FDm uzl\u016Fm budou odstran\u011Bny bez potvrzen\u00ED. To m\u016F\u017Ee zp\u016Fsobit ztr\u00E1tu informace p\u0159i ne\u00FAmysln\u00E9m stisknut\u00ED.
OptionPanel.resources_use_default_font_for_notes_too=Pou\u017E\u00EDt v\u00FDchoz\u00ED font tak\u00E9 pro pozn\u00E1mky
+OptionPanel.resources_use_margin_top_zero_for_notes=Odeber horn\u00ED okraj pozn\u00E1mek
OptionPanel.revision_color=Barva revize
OptionPanel.revision_color.tooltip=Barva pozad\u00ED pro zm\u011Bn\u011Bn\u00E9 uzly.
OptionPanel.ROUND_RECT=Zaoblen\u00FD obd\u00E9ln\u00EDk
OptionPanel.ru=Ru
OptionPanel.save_folding=Ulo\u017Eit, skl\u00E1d\u00E1n\u00ED
OptionPanel.save_folding_if_map_is_changed=Pokud je mapa zm\u011Bn\u011Bna
+OptionPanel.save_last_visited_node=Ulo\u017E posledn\u00ED pozici v map\u011B
OptionPanel.save_modification_times=Ulo\u017Eit \u010Das zm\u011Bny
+OptionPanel.script_classpath=Cesta k t\u0159\u00EDd\u00E1m skript\u016F: Dal\u0161\u00ED adres\u00E1\u0159e obsahuj\u00EDc\u00ED t\u0159\u00EDdy a/nebo soubory typu JAR (viz n\u00E1strojov\u00FD tip)
+OptionPanel.script_classpath.tooltip=<html> Seznam soubor\u016F typu JAR a/nebo adres\u00E1\u0159e pro p\u0159id\u00E1n\u00ED do cesty k t\u0159\u00EDd\u00E1m skript\u016F a vzorc\u016F.<br>Pou\u017Eijte st\u0159edn\u00EDk (na Windowsech), nebo dvojte\u010Dku (na Linuxu, nebo Macu) k odd\u011Blen\u00ED polo\u017Eek.<br>Adres\u00E1\u0159e budou prohled\u00E1ny k nalezen\u00ED soubor\u016F typu JAR a soubor\u016F s p\u0159\u00EDponou ".class".<br>Relativn\u00ED cesty jsou porovn\u00E1v\u00 [...]
+OptionPanel.script_compilation_disabled_extensions=P\u0159\u00EDponu soubor\u016F, kter\u00E9 nejsou ur\u010Deny ke kompilaci (viz n\u00E1strojov\u00FD tip)
+OptionPanel.script_compilation_disabled_extensions.tooltip=<html>Jestli\u017Ee v\u0161echny skripty dal\u0161\u00EDho jazyka (vyjma<br>skript\u016F Groovy a JavaScriptu) maj\u00ED z\u00E1sadn\u00ED probl\u00E9m p\u0159i kompilaci,<br>zkus p\u0159idat p\u0159\u00EDponu souboru sem (seznam odd\u011Blen\u00FD \u010D\u00E1rkami).</html>
+OptionPanel.script_directories=Cesta, ve kter\u00E9 jsou hled\u00E1ny skripty (viz n\u00E1strojov\u00FD tip)
+OptionPanel.script_directories.tooltip=<html>Seznam adres\u00E1\u0159\u016F (dopln\u011Bk "skript\u016F").<br> Pou\u017Eijte st\u0159edn\u00EDk (na Windows), nebo dvojte\u010Dku (na Linuxu a Macu) k odd\u011Blen\u00ED polo\u017Eek.<br>Relativn\u00ED cesty jsou uva\u017Eov\u00E1ny k u\u017Eivatelsk\u00E9mu adres\u00E1\u0159i Freeplanu.</html>
+OptionPanel.script_user_key_name_for_signing=Voliteln\u00FD u\u017Eivatelsk\u00FD pseudonym podpisov\u00E9ho kl\u00ED\u010De skript\u016F
+OptionPanel.script_user_key_name_for_signing.tooltip=<html>Jestli\u017Ee chcete podepsat sv\u00E9 skripty, zapi\u0161te pseudonym pro kl\u00ED\u010D zde.<br>P\u0159edpokl\u00E1d\u00E1 se, \u017Ee je kl\u00ED\u010D ulo\u017Een ve v\u00FDchoz\u00ED kl\u00ED\u010Dence.<br>Heslo kl\u00ED\u010De mus\u00ED odpov\u00EDdat heslu kl\u00ED\u010Denky (co\u017E je v\u00FDchoz\u00ED nastaven\u00ED).</html>
OptionPanel.scrollbar_increment=Speed[translate me]
OptionPanel.scrolling_speed=Rychlost automatick\u00E9ho rolov\u00E1n\u00ED
+OptionPanel.scrollOnUnfold=Posu\u0148 mapu po rozlo\u017Een\u00ED uzlu
OptionPanel.selection_method=Metoda v\u00FDb\u011Bru
OptionPanel.selection_method.tooltip=<html> n\u00E1sleduj\u00EDc\u00EDm p\u0159ep\u00EDna\u010Dem m\u016F\u017Eete zapnout/vypnout opo\u017Ed\u011Bn\u00E9 schema v\u00FDb\u011Bru. Automatick\u00E9 nastaven\u00ED. Nemodifikujte, proto\u017Ee stejn\u011B bude ulo\u017Eeno do auto.properties.</html>
OptionPanel.selection_method_by_click=Na kliknut\u00ED
@@ -1074,42 +1250,103 @@ OptionPanel.separator.cache=Mezipam\u011B\u0165
OptionPanel.separator.CloudControls=Mraky
OptionPanel.separator.commands_for_the_program=P\u0159\u00EDkazy pro program
OptionPanel.separator.connectors=Konektory
+OptionPanel.separator.data_formats=Form\u00E1tov\u00E1n\u00ED
OptionPanel.separator.default_colors=Defaultn\u00ED barvy
OptionPanel.separator.default_fonts=Defaultn\u00ED p\u00EDsma
OptionPanel.separator.default_styles=Defaultn\u00ED styly
OptionPanel.separator.EdgeControls=Hrany
OptionPanel.separator.edit_long_node_window=Editovat v dialogu
OptionPanel.separator.editing=Nastaven\u00ED editoru
+OptionPanel.separator.export=Export
OptionPanel.separator.files=Soubory
+OptionPanel.separator.formula=Vzorce
OptionPanel.separator.General=V\u0161eobecn\u00E9
OptionPanel.separator.html_export=Export Html
OptionPanel.separator.html_import=Import Html
OptionPanel.separator.hyperlink_types=Typy hyperlink\u016F
OptionPanel.separator.icon_properties=Ikony
+OptionPanel.separator.icons=Ikony ve "Vyber ikonu..."
OptionPanel.separator.initial_map_size=\u00DAvodn\u00ED velikost mapy
+OptionPanel.separator.inline_editor=Editor uzlu v \u0159\u00E1dku
+OptionPanel.separator.JoinNodesAction=Spojov\u00E1n\u00ED uzl\u016F
OptionPanel.separator.key_typing=Key Typing TODO: translate
OptionPanel.separator.language=Jazyk
+OptionPanel.separator.latex=LaTeX
+OptionPanel.separator.load=Na\u010Dti
OptionPanel.separator.look_and_feel=Vzhled a t\u00E9ma
+OptionPanel.separator.mouse_wheel=Kole\u010Dko my\u0161i
OptionPanel.separator.new_node_commands=P\u0159\u00EDkazy nov\u00E9ho uzlu
OptionPanel.separator.node_editing_commands=P\u0159\u00EDkazy pro \u00FApravu uzl\u016F
OptionPanel.separator.node_navigation_commands=P\u0159\u00EDkazy pro navigaci
OptionPanel.separator.NodeColors=Barvy uzlu
OptionPanel.separator.NodeFont=P\u00EDsmo uzlu
+OptionPanel.separator.NodeShape=Tvar uzlu
+OptionPanel.separator.NodeStyle=Styl uzlu
+OptionPanel.separator.NodeText=Hlavn\u00ED text uzlu
+OptionPanel.separator.notifications=Potvrzen\u00ED
+OptionPanel.separator.org.freeplane.plugin.bugreport=Automatick\u00E9 hl\u00E1\u0161en\u00ED chyb programu
OptionPanel.separator.other_defaults=Ostatn\u00ED defaultn\u00ED nastaven\u00ED
OptionPanel.separator.others=Jin\u00E1 nav\u00E1z\u00E1n\u00ED kl\u00E1ves
+OptionPanel.separator.outline_view=Zobraz sch\u00E9ma
OptionPanel.separator.patterns=Vzory
+OptionPanel.separator.reminderOptions=Volby p\u0159ipom\u00EDnek
OptionPanel.separator.RichTextEditor=Bohat\u00FD textov\u00FD editor
+OptionPanel.separator.root_node_appearance=Chov\u00E1n\u00ED ko\u0159enov\u00E9ho uzlu
OptionPanel.separator.save=Ulo\u017Eit
+OptionPanel.separator.scripting=Skriptov\u00E1n\u00ED
OptionPanel.separator.scrollbar=Scrollbar[translate me]
+OptionPanel.separator.search=Vyhled\u00E1v\u00E1n\u00ED
+OptionPanel.separator.selection_colors=Barvy v\u00FDb\u011Bru
OptionPanel.separator.selection_method=Metoda v\u00FDb\u011Bru
+OptionPanel.separator.single_instance_mode=Jedin\u00E1 instance programu
+OptionPanel.separator.size_limits=Ohrani\u010Den\u00ED velikosti
+OptionPanel.separator.spelling=Volby kontroly pravopisu
+OptionPanel.separator.SplitToWordsAction=Rozd\u011Blov\u00E1n\u00ED uzlu podle slov
+OptionPanel.separator.status=Stavov\u00FD \u0159\u00E1dek
+OptionPanel.separator.tooltip=Doba zobrazen\u00ED n\u00E1strojov\u00E9ho tipu
OptionPanel.separator.undo=Zp\u011Bt
+OptionPanel.separator.updates=Aktualizace programu
OptionPanel.set_property_text=Zm\u011Bna
OptionPanel.set_property_text.tooltip=Empty: Nedot\u00FDkat se; Minus=Odstranit vlastnost (nastav\u00ED defaultn\u00ED hodnoty); Plus=Zm\u011Bnit vlastnost
+OptionPanel.setscript=Zm\u011Bnit?
+OptionPanel.setscript.tooltip=Skript m\u016F\u017Ee b\u00FDt spojen se stylem.
+OptionPanel.shape_horizontal_margin=Vodorovn\u00FD okraj
+OptionPanel.shape_vertical_margin=Svisl\u00FD okraj
OptionPanel.sharp_bezier=ostr\u00FD bezier
OptionPanel.sharp_linear=ostr\u00FD line\u00E1rn\u00ED
+OptionPanel.shouldCenterSmallMaps=Vyst\u0159e\u010F mal\u00E9 mapy
OptionPanel.show_icon_for_attributes=Ukazovat ikonu atribut\u016F
+OptionPanel.show_less_than_N_nodes_by_default_after_load=Na\u010Dti z mapy, nebo rozlo\u017E n\u011Bjak\u00E9 uzly
+OptionPanel.show_node_tooltips=Zobrazuj n\u00E1strojov\u00E9 tipy
+OptionPanel.show_note_icons=Zobrazuj ikonu pozn\u00E1mky
+OptionPanel.show_styles_in_tooltip=Zobrazuj styly uzl\u016F v n\u00E1strojov\u00FDch tipech
+OptionPanel.signed_script_are_trusted=V\u011B\u0159it podepsan\u00FDm skript\u016Fm (doporu\u010Deno).
+OptionPanel.signed_script_are_trusted.tooltip=Jestli\u017Ee jsou skripty podeps\u00E1ny d\u016Fv\u011Bryhodnou stranou (nap\u0159\u00EDklad autory Freeplanu, nebo v\u00E1mi), vykonaj\u00ED se bez omezen\u00ED.
+OptionPanel.simplyhtml.default_paste_mode=V\u00FDchoz\u00ED re\u017Eim vkl\u00E1d\u00E1n\u00ED
+OptionPanel.single_backup_directory=Pou\u017E\u00EDvat jedin\u00FD adres\u00E1\u0159 pro z\u00E1lo\u017En\u00ED soubory
+OptionPanel.single_backup_directory.tooltip=<html>Je-li za\u0161krtnuto, bude ukl\u00E1dat z\u00E1lo\u017En\u00ED a automaticky ulo\u017Een\u00E9 soubory do jednoho adres\u00E1\u0159e, nam\u00EDsto do podadres\u00E1\u0159e k otev\u0159en\u00E9 map\u011B</html>
+OptionPanel.single_backup_directory_path=Adres\u00E1\u0159 pro z\u00E1lo\u017En\u00ED soubory (je-li za\u0161krtnuta volba v\u00FD\u0161e)
+OptionPanel.single_backup_directory_path.tooltip=<html>Potla\u010D\u00ED v\u00FDchoz\u00ED adres\u00E1\u0159 pro z\u00E1lohy map Freeplanu "/.backup"</html>
+OptionPanel.single_instance=Otev\u00EDrej soubory v b\u011B\u017E\u00EDc\u00ED instanci Freeplanu
+OptionPanel.single_instance_force=Nepovol \u017E\u00E1dnou dal\u0161\u00ED instanci Freeplanu
+OptionPanel.single_instance_force.tooltip=Nepovol\u00ED dal\u0161\u00ED instanci, i kdy\u017E nechcete na\u010D\u00EDst \u017E\u00E1dn\u00FD ulo\u017Een\u00FD soubor
OptionPanel.sk=Sk[translate me]
+OptionPanel.skip_template_selection=P\u0159esko\u010D dialog v\u00FDb\u011Bru \u0161ablony
OptionPanel.sl=Sl
+OptionPanel.slow_scroll_selected_node=Pomal\u00E9 naj\u00ED\u017Ed\u011Bn\u00ED na vybran\u00FD uzel
+OptionPanel.spelling_opt_case_sensitive=Citliv\u00E9 na velikost p\u00EDsmen
+OptionPanel.spelling_opt_ignore_all_caps_words=Ignoruj v\u0161echna slova zapsan\u00E1 VELK\u00DDMI P\u00CDSMENY.
+OptionPanel.spelling_opt_ignore_capitalization=Ignoruj velk\u00E1 p\u00EDsmena na po\u010D\u00E1tku slova
+OptionPanel.spelling_opt_ignore_words_with_numbers=Ignoruj slova obsahuj\u00EDc\u00ED \u010D\u00EDsla
+OptionPanel.spelling_opt_suggestions_limit_dialog=Nejvy\u0161\u0161\u00ED po\u010Det n\u00E1vrh\u016F v dialogu
+OptionPanel.spelling_opt_suggestions_limit_menu=Nejvy\u0161\u0161\u00ED po\u010Det n\u00E1vrh\u016F v menu
+OptionPanel.SplitToWordsAction.auxiliaryWordList=seznam pomocn\u00FDch slov
+OptionPanel.SplitToWordsAction.charactersAcceptedInWord=znaky ve slovech
+OptionPanel.SplitToWordsAction.leaveOriginalNodeEmpty=ponech p\u016Fvodn\u00ED uzel pr\u00E1zdn\u00FD
+OptionPanel.SplitToWordsAction.nodeNumbersInLine=\u010D\u00EDslo uzlu v \u0159\u00E1dku
+OptionPanel.SplitToWordsAction.saveOriginalTextAsDetails=ulo\u017E p\u016Fvodn\u00ED text do detailu uzlu
+OptionPanel.sr=Srbsky
+OptionPanel.standard_template=V\u00FDchoz\u00ED \u0161ablona mapy
OptionPanel.standardbackgroundcolor=Standardn\u00ED barva pozad\u00ED
OptionPanel.standardbackgroundcolor.tooltip=<html>Standardn\u00ED barva pozad\u00ED v html notaci </html>
OptionPanel.standardcloudcolor=Standardn\u00ED barva oblaku
@@ -1117,49 +1354,117 @@ OptionPanel.standardcloudcolor.tooltip=<html>Standardn\u00ED barva oblaku v html
OptionPanel.standardcloudestyle=Standardn\u00ED styl oblaku
OptionPanel.standardcloudestyle.tooltip=<html>Standardn\u00ED styl oblaku.</html>
OptionPanel.standarddrawrectangleforselection=Zobrazit vybran\u00E9 uzly v bublin\u00E1ch
+OptionPanel.standarddrawrectangleforselection.tooltip=<html>Ozna\u010D vybran\u00E9 uzly bublinou okolo.</html>
OptionPanel.standardlinkcolor=Standardn\u00ED barva odkazu
OptionPanel.standardlinkcolor.tooltip=<html>Standardn\u00ED barva odkazu v html notaci </html>
OptionPanel.standardlinkestyle=Standard styl odkazu
OptionPanel.standardlinkestyle.tooltip=<html>Standardn\u00ED styl odkazu. Aktu\u00E1ln\u011B je podporov\u00E1n jen 'bezier'.</html>
OptionPanel.standardselectednodecolor=Standardn\u00ED barva vybran\u00E9ho uzlu
OptionPanel.standardselectednodecolor.tooltip=<html>Standardn\u00ED barva vybran\u00E9ho uzlu v notaci HTML (#RRGGBB v hexa hodnot\u00E1ch) </html>
+OptionPanel.standardselectednoderectanglecolor=Barva bubliny vybran\u00E9ho uzlu
+OptionPanel.standardselectednoderectanglecolor.tooltip=<html>Barva bubliny ozna\u010Duj\u00EDc\u00ED vybran\u00E9 uzly. V z\u00E1pise HTML (#RRGGBB v \u0161estn\u00E1ctkov\u00FDch hodnot\u00E1ch)</html>
+OptionPanel.STAR=Hv\u011Bzda
+OptionPanel.statesymbolwidth=\u0160\u00ED\u0159ka symbolu stavu
+OptionPanel.structured_html_import=Importuj HTML jako strukturu uzl\u016F
+OptionPanel.structured_icon_toolbar=Sdru\u017E ikony v n\u00E1strojov\u00E9 li\u0161t\u011B
+OptionPanel.summary=Souhrn
OptionPanel.sv=Se
+OptionPanel.text.use_ctrl_key=Pou\u017Eij "P\u0159i\u0159a\u010F kl\u00E1vesovou zkratku" z menu N\u00E1stroje
+OptionPanel.textalignment=Zarovn\u00E1n\u00ED textu
OptionPanel.time_for_automatic_save=Interval automatick\u00E9ho ukl\u00E1d\u00E1n\u00ED
OptionPanel.time_for_automatic_save.tooltip=<html> Interval mezi dv\u011Bma n\u00E1sleduj\u00EDc\u00EDmi automatick\u00FDmi akcemi ulo\u017Een\u00ED (v msec): Pro vypnut\u00ED automatick\u00E9ho ukl\u00E1d\u00E1n\u00ED zadejte \u010D\u00EDslo 2000000000.</html>
OptionPanel.time_for_delayed_selection=\u010Cas pro opo\u017Ed\u011Bn\u00FD v\u00FDb\u011Br
OptionPanel.time_for_delayed_selection.tooltip=<html> \u010Casov\u00E9 zpo\u017Ed\u011Bn\u00ED v\u00FDb\u011Bru uzlu p\u0159i najet\u00ED my\u0161i (v msec). Zm\u011B\u0148te hodnotu na 1, pokud chcete p\u0159\u00EDm\u00FD v\u00FDb\u011Br p\u0159i najet\u00ED my\u0161i.</html>
-OptionPanel.toolTipManager.max_tooltip_width=\u0160\u00ED\u0159ka tooltipu #FIXME
-OptionPanel.toolTipManager.max_tooltip_width.tooltip=<html>Defaultn\u00ED \u0161\u00ED\u0159ka tooltipu v pixelech.</html>
+OptionPanel.toolTipManager.dismissDelay=Prodleva opu\u0161t\u011Bn\u00ED, ms
+OptionPanel.toolTipManager.initialDelay=Po\u010D\u00E1te\u010Dn\u00ED prodleva, ms
+OptionPanel.toolTipManager.max_tooltip_height=Nejvy\u0161\u0161\u00ED v\u00FD\u0161ka n\u00E1strojov\u00E9ho tipu uzlu
+OptionPanel.toolTipManager.max_tooltip_height.tooltip=Nejvy\u0161\u0161\u00ED v\u00FD\u0161ka n\u00E1strojov\u00E9ho tipu, zadan\u00E1 v pixelech.
+OptionPanel.toolTipManager.max_tooltip_width=Nejvy\u0161\u0161\u00ED \u0161\u00ED\u0159ka n\u00E1strojov\u00E9ho tipu uzlu
+OptionPanel.toolTipManager.max_tooltip_width.tooltip=Nejvy\u0161\u0161\u00ED \u0161\u00ED\u0159ka n\u00E1strojov\u00E9ho tipu v pixelech.
+OptionPanel.toolTipManager.reshowDelay=Prodleva p\u0159ed znovuzobrazen\u00EDm, ms
OptionPanel.tr=Tr
OptionPanel.uk_UA=Uk UA[translate me]
OptionPanel.undefined_font=Nedefinovan\u00E9 p\u00EDsmo
OptionPanel.undo_levels=\u00DArovn\u011B zp\u011Bt
OptionPanel.undo_levels.tooltip=<html>Ur\u010Duje kolik krok\u016F zp\u011Bt je ulo\u017Eeno a m\u016F\u017Ee b\u00FDt vr\u00E1ceno pomoc\u00ED "Zp\u011Bt".</html>
+OptionPanel.unfold_on_paste=Rozlo\u017E uzly p\u0159i vkl\u00E1d\u00E1n\u00ED
+OptionPanel.unfold_on_paste.tooltip=Rozlo\u017E uzel p\u0159i vkl\u00E1d\u00E1n\u00ED, nebo p\u0159et\u00E1hnut\u00ED (drag and drop)
+OptionPanel.uniform_shape=Jednotn\u00FD
+OptionPanel.use_common_out_point_for_root_node=Hrany vych\u00E1z\u00ED z jedin\u00E9ho bodu v ko\u0159enov\u00E9m uzlu
+OptionPanel.use_common_out_point_for_root_node.tooltip=Hrany vych\u00E1z\u00ED z jedin\u00E9ho bodu v ko\u0159enov\u00E9m uzlu
+OptionPanel.use_tabbed_pane=Pou\u017E\u00EDvej karty
+OptionPanel.use_tabbed_pane.tooltip=Je-li zatr\u017Eeno, mapy se budou zobrazovat v samostatn\u00FDch kart\u00E1ch (jako ve Firefoxu).
+OptionPanel.user_defined_screen_resolution=U\u017Eivatelsky ur\u010Den\u00E9 rozli\u0161en\u00ED obrazovky (v DPI)
+OptionPanel.validate_classpath_needs_readaccess=Skriptov\u00E1n\u00ED: P\u0159i nastavovan\u00ED cesty k soubor\u016Fm .class mus\u00EDte m\u00EDt opr\u00E1vn\u011Bn\u00ED ke \u010Dten\u00ED soubor\u016F!
+OptionPanel.validate_invalid_date_format=Nedopustn\u00FD standardn\u00ED form\u00E1t data
+OptionPanel.validate_invalid_datetime_format=Nedopustn\u00FD standardn\u00ED form\u00E1t data a \u010Dasu
+OptionPanel.validate_invalid_number_format=Nedopustn\u00FD standardn\u00ED \u010D\u00EDseln\u00FD form\u00E1t
+OptionPanel.validate_write_without_read=Skriptov\u00E1n\u00ED: Zva\u017E p\u0159id\u00E1n\u00ED "\u010Dti soubor" k "zapi\u0161 soubor".
+OptionPanel.validation_error=<html><body>Chyba/y validace:<p><em>{0}</em><p>Pro opravu chyb pros\u00EDm zm\u011B\u0148te nastaven\u00ED.</body></html>
+OptionPanel.validation_warning=<html><body>Varov\u00E1n\u00ED validace:<p><em>{0}</em></body></html>
+OptionPanel.vertical_child_gap=Svisl\u00E1 mezera mezi potomky
+OptionPanel.vertical_child_gap.tooltip=Svisl\u00E1 vzd\u00E1lenost mezi uzly-potomky
OptionPanel.vi=Vi[translate me]
OptionPanel.wheel_velocity=Speed[translate me]
+OptionPanel.wheel_velocity.tooltip=Vy\u0161\u0161\u00ED hodnota zp\u016Fsob\u00ED rychlej\u0161\u00ED pohyb v map\u011B kole\u010Dkem my\u0161i.
+OptionPanel.wide_hexagon=\u0160irok\u00FD \u0161esti\u00FAheln\u00EDk
OptionPanel.windows=Windows
OptionPanel.zh_CN=Zh CN
OptionPanel.zh_TW=Zh
+org.freeplane.plugin.bugreport.agree=Odeslat
+org.freeplane.plugin.bugreport.always_agree=Odeslat v\u017Edy
+org.freeplane.plugin.bugreport.always_deny=Nikdy neodes\u00EDlat
+org.freeplane.plugin.bugreport.deny=Neodes\u00EDlat
+org.freeplane.plugin.bugreport.dialog.title=Automatick\u00E9 hl\u00E1\u0161en\u00ED chyb programu
+org.freeplane.plugin.bugreport.freeplane_team=Zpr\u00E1va t\u00FDmu Freeplanu
+org.freeplane.plugin.bugreport.lastreport=Obdr\u017Een\u00E1 zpr\u00E1va
+org.freeplane.plugin.bugreport.never=Nikdy se neptat na pomoc
+org.freeplane.plugin.bugreport.question=Freeplane obsahuje automatick\u00E9 rozpozn\u00E1v\u00E1n\u00ED a vyhled\u00E1v\u00E1n\u00ED chyb programu.
+org.freeplane.plugin.bugreport.report=Posledn\u00ED zpr\u00E1va
+org.freeplane.plugin.bugreport.wanted_bug=Nastala vnit\u0159n\u00ED chyba a byla automaticky reportov\u00E1na.
+org.freeplane.plugin.script.NodeIdHighlighter.node_is_not_defined=Uzel {0} nen\u00ED definov\u00E1n
+out_of_memory=Nedostatek pam\u011Bti.
+overwrite_keyset_question=P\u0159epsat existuj\u00EDc\u00ED sadu kl\u00E1vesov\u00FDch zkratek?
PageAction.text=Nastaven\u00ED tisku...
+password_is_not_ascii=Heslo nen\u00ED ASCII
PasteAction.text=Vlo\u017Eit
+PasteAttributes.text=Vlo\u017Eit atributy
PatternNewNameProperty=Nov\u00FD vzor
PatternToString.backgroundColor=Barva pozad\u00ED
+PatternToString.Child=Styl potomka
PatternToString.color=Barva
+PatternToString.EdgeColor=Barva hrany
PatternToString.EdgeStyle=Styl hrany
PatternToString.EdgeWidth=Tlou\u0161\u0165ka hrany
PatternToString.FontBold=Tu\u010Dn\u011B
+PatternToString.FontItalic=Kurz\u00EDva
PatternToString.FontName=Font Name[translate me]
PatternToString.Icon=Ikona
PatternToString.NodeFontSize=Velikost p\u00EDsma
+periodic_formula={0} * n + {1}
PeriodUnit.DAY=dn\u016F
+PeriodUnit.HOUR=hodina
+PeriodUnit.MINUTE=minuta
+PeriodUnit.MONTH=m\u011Bs\u00EDc
+PeriodUnit.WEEK=t\u00FDden
+PeriodUnit.YEAR=rok
+plugins/latex/LatexNodeHook.editorTitle=Edituj vzorec v jazyce LaTeX
+plugins/script_filter=Filtr skript\u016F {0}
+plugins/script_filter_error={0} m\u00E1 navr\u00E1tit logickou hodnotu na {1}, ale navr\u00E1til {2}
+plugins/script_filter_execute_error=Chyba vykon\u00E1n\u00ED {0}\npro uzel {1}:\n{2}
+plugins/ScriptEditor.cancel=&Neukl\u00E1dat zm\u011Bny a skon\u010Dit
plugins/ScriptEditor.exit=Konec
+plugins/ScriptEditor.FORBIDDEN_ACTION=Skripty jazyka Groovy pro Freeplane jsou zak\u00E1z\u00E1ny. N\u00E1sleduj\u00EDc\u00ED operace {0,choice,0#File|1#Network|2#Exec} je zak\u00E1z\u00E1na: {1,choice,0#Accept|1#Connect|2#Listen|3#Multicast|4#SetFactory|5#Exec|6#Link|7#Delete|8#Read|9#Write} {2}. Nastaven\u00ED je mo\u017Eno zm\u011Bnit v nastaven\u00ED programu.
plugins/ScriptEditor.menu_actions=Akce
plugins/ScriptEditor.new_script=New Script[translate me]
plugins/ScriptEditor.run=Spustit
+plugins/ScriptEditor.sign=Podepsat skript
plugins/ScriptEditor/window.Result=V\u00FDsledek:
plugins/ScriptEditor/window.title=Editor skriptu
+plugins/ScriptingEngine.illegalAccessToInternalAPI=Nep\u0159\u00EDpustn\u00FD p\u0159\u00EDstup do vnit\u0159n\u00EDho programov\u00E9ho rozhran\u00ED (package {0}). Kontaktuje v\u00FDvojov\u00FD team Freeplanu, m\u00E1te-li dojem, \u017Ee skriptovac\u00ED API je nedostate\u010Dn\u00E9.
plugins/TimeList.xml_Created=Vytvo\u0159eno
plugins/TimeList.xml_Date=Datum
+plugins/TimeList.xml_Details=Detaily
plugins/TimeList.xml_Icons=Ikony
plugins/TimeList.xml_Modified=Zm\u011Bn\u011Bno
plugins/TimeList.xml_Notes=Pozn\u00E1mky
@@ -1175,6 +1480,7 @@ plugins/TimeManagement.xml_hour=Hodina:
plugins/TimeManagement.xml_menu_actions=Akce
plugins/TimeManagement.xml_minute=Minuta:
plugins/TimeManagement.xml_reminderButton=Upozornit ve vybran\u00E9 datum
+plugins/TimeManagement.xml_reminderButton_tooltip=<html>P\u0159i stisknut\u00ED se vytvo\u0159\u00ED polo\u017Eka \u010Dasova\u010De dan\u00E9 datum. Blikaj\u00EDc\u00ED ikona v\u00E1s v p\u0159\u00EDslu\u0161n\u00E9 datum upozorn\u00ED.<br>\u010Casova\u010D se p\u0159i zav\u0159en\u00ED mapy deaktivuje do jej\u00EDho dal\u0161\u00EDho otev\u0159en\u00ED.</html>
plugins/TimeManagement.xml_reminderNode_onlyOneDate=<html>Moment\u00E1ln\u011B m\u016F\u017Ee b\u00FDt nastaven pouze jeden \u010Dasova\u010D na uzel. <br>Aktu\u00E1ln\u00ED \u010Dasova\u010D je nastaven na {0,date} {0,time}, Va\u0161e volba byla {1,date} {1,time}. <br><br>P\u0159ejete si zm\u011Bnit \u010Dasova\u010D uzlu (ANO), <br>nebo si p\u0159ejete pou\u017E\u00EDt st\u00E1vaj\u00EDc\u00ED (NE)?</html>
plugins/TimeManagement.xml_reminderNode_tooltip=Upozorn\u011Bn\u00ED napl\u00E1nov\u00E1no na {0,date} {0,time}.
plugins/TimeManagement.xml_remindLaterButton=Upozornit pozd\u011Bji
@@ -1186,58 +1492,143 @@ plugins/TimeManagement.xml_Replace_All=Nahradit v\u0161e
plugins/TimeManagement.xml_Replace_Selected=Nahradit vybran\u00E9
plugins/TimeManagement.xml_Select=Vybrat
plugins/TimeManagement.xml_todayButton=Dnes
-plugins/TimeManagement.xml_WindowTitle=Time Management
+plugins/TimeManagement.xml_WindowTitle=Kalend\u00E1\u0159
plugins/TimeManagement.xml_WindowTitle_All_Nodes=Naj\u00EDt a nahradit
preferences=Nastaven\u00ED
+print_preview_title=N\u00E1hled tisku
+PrintAction.text=Tisknout mapu
PrintDirectAction.text=Tisk
printing_settings=Nastaven\u00ED tisku
-PrintPreviewAction.text=N\u00E1hled tisku...
+PrintPreviewAction.text=N\u00E1hled tisku
progress=Ikona pr\u016Fb\u011Bhu (%)
+PropertyAction.dialog=Nastaven\u00ED
PropertyAction.text=Mo\u017Enosti ...
-QuitAction.text=Konec
+QuickFilterAction.text=Rychl\u00FD filtr
+QuickFindAction.BACK.text=Najdi p\u0159edchoz\u00ED
+QuickFindAction.FORWARD.text=Najdi n\u00E1sleduj\u00EDc\u00ED
+QuickFindAllAction.text=Vyber v\u0161echny odpov\u00EDdaj\u00EDc\u00ED uzly
+QuickHighlightAction.text=Zv\u00FDrazni v\u0161echny odpov\u00EDdaj\u00EDc\u00ED uzly
+QuitAction.text=Ukon\u010Di Freeplane
read_only=Pouze ke \u010Dten\u00ED
+ReadScriptError.text=Chyba \u010Dten\u00ED skriptu
+really_convert_to_current_version=<html> Tato mapa byla vytvo\u0159ena ve star\u0161\u00ED verzi Freeplanu.<br>M\u00E1m ji konvertovat do aktu\u00E1ln\u00ED verze (doporu\u010Deno)?<br>(V opa\u010Dn\u00E9m p\u0159\u00EDpad\u011B bude na\u010Dtena tak jak je, ale bez z\u00E1ruky.)</html>
+really_cut_node=Opravdu vyjmout uzel/uzly?
+really_execute_script=Opravdu chcete spustit skripty obsa\u017Een\u00E9 v t\u00E9to map\u011B? Je mo\u017En\u00E9, \u017Ee po\u0161kod\u00ED v\u00E1\u0161 po\u010D\u00EDta\u010D.
+really_remove_node=Opravdu smazat uzel/uzly?
+really_remove_notes=Opravdu smazat pozn\u00E1mku/y?
+ReapplyFilterAction.text=Fitrovat znovu
+red=\u010Cerven\u00E1
+RedefineStyleAction.text=P\u0159edefinovat styl
RedoAction.text=Znovu
RedoFilterAction.text=Znovu
+regular_expressions=Regul\u00E1rn\u00ED v\u00FDrazy
ReminderHookAction.text=Odstranit \u010Dasova\u010D
ReminderHookAction.tooltip=Odstran\u00ED p\u0159ipomenut\u00ED z uzlu.
+reminderNotification=Upozorn\u011Bn\u00ED \u010Dasova\u010De
+remove_file_from_list_on_error=Soubor {0} se nepoda\u0159ilo otev\u0159\u00EDt. Odebrat jej ze seznamu naposledy otev\u0159en\u00FDch soubor\u016F?
+remove_shortcut_question=Nahradit kl\u00E1vesovou zkratku?
+RemoveAllAlwaysUnfoldedNodeFlagsAction.text=Vyma\u017E nastaven\u00ED slo\u017Een\u00ED uzl\u016F
+RemoveAllAlwaysUnfoldedNodeFlagsAction.tooltip=Povolit skl\u00E1d\u00E1n\u00ED pro ka\u017Ed\u00FD uzel
RemoveAllIconsAction.text=Odebrat v\u0161echny ikony
+RemoveConnectorAction.text=Odstranit propojen\u00ED
+RemoveEncryption.text=Odstranit heslo
+RemoveFormatAction.text=Odstranit form\u00E1t
+RemoveIcon_0_Action.text=Odebrat prvn\u00ED ikonu
RemoveIconAction.text=Odebrat posledn\u00ED ikonu
+RemoveNoteAction.text=Odebrat pozn\u00E1mku
+RemoveNoteAction.tooltip=<html>Odstran\u00ED obsah pozn\u00E1mky u v\u0161ech vybran\u00FDch uzl\u016F.</html>
+rename=&P\u0159ejmenovat
repair_link=Opravit odkaz
repair_link_question=Nem\u016F\u017Eu na\u010D\u00EDst odkazovanou mapu. Chcete opravit odkaz manu\u00E1ln\u011B?
replace=Nahradit
-ResetNodeLocationAction.text=Resetovat pozici
+replace_shortcut_question=Tato kl\u00E1vesov\u00E1 zkratka je v sou\u010Dasnosti p\u0159i\u0159azena k\n{0}.\nNahradit p\u0159i\u0159azen\u00ED?
+replace_shortcut_title=Nahradit kl\u00E1vesovou zkratku?
+ReportBugAction.text=Nahl\u00E1sit chybu programu
+RequestFeatureAction.text=Po\u017E\u00E1dat o dopln\u011Bn\u00ED programu
+reset_to_default=Pou\u017Eij v\u00FDchoz\u00ED
+ResetNodeLocationAction.text=Resetovat pozici uzlu
+ResetStyleAction.text=Resetovat styl uzlu
+RevertAction.text=Obnovit z m\u00EDstn\u00ED historie
+RevisionPluginAction.text=Barva pozad\u00ED historie zm\u011Bn
save=&Ulo\u017Eit
save_failed=Pokus ulo\u017Eit soubor mapy {0} selhal.
save_unsaved=Ulo\u017Eit n\u00E1sleduj\u00EDc\u00ED mapu?
+save_unsaved_styles=Ulo\u017Eit styly?
+SaveAcceleratorPresetsAction.text=Ulo\u017E seznam kl\u00E1vesov\u00FDch zkratek
SaveAction.text=Ulo\u017Eit
+SaveAction_readonlyMsg=Tato mapa je pouze ke \u010Dten\u00ED. Pro editaci mapu nejprve ulo\u017Ete.
+SaveAction_readonlyTitle=Pokus o ulo\u017Een\u00ED mapy otev\u0159en\u00E9 v re\u017Eimu pouze ke \u010Dten\u00ED
SaveAll.text=Ulo\u017Eit v\u0161echny otev\u0159en\u00E9 mapy
SaveAll.tooltip=Ulo\u017Eit v\u0161echny otev\u0159en\u00E9 mapy
-SaveAsAction.text=Ulo\u017Eit jako...
+SaveAs_toReadonlyMsg={0} je pouze ke \u010Dten\u00ED. Pros\u00EDm, ulo\u017Ete do jin\u00E9ho souboru.
+SaveAs_toReadonlyTitle=Pokus o ulo\u017Een\u00ED souboru otev\u0159en\u00E9ho v re\u017Eimu pouze ke \u010Dten\u00ED
+SaveAsAction.text=Ulo\u017Eit jako
saved=Ulo\u017Eeno
+saving_canceled=Ukl\u00E1d\u00E1n\u00ED zru\u0161eno
+scanners_not_loaded=Skenery nemohou b\u00FDt nahr\u00E1ny - soubor je po\u0161kozen
scheme_evaluate=Vyhodnotit!
-ScriptEditor.text=Editor skriptu...
+script_execution_disabled=Spou\u0161t\u011Bn\u00ED skript\u016F je vypnuto, viz N\u00E1stroje/Nastaven\u00ED/Pluginy
+ScriptEditor.text=Editor skript\u016F
ScriptEditor.tooltip=Umo\u017En\u00ED ps\u00E1t v\u011Bt\u0161\u00ED skripty uvnit\u0159 Freeplaneu.
ScriptEditorPanel.changed_cancel=Skripty byly zm\u011Bn\u011Bny. Opravdu chcete zahodit zm\u011Bny?
+scripting=Skripty
+scripting_api_generator_legend=Legenda
+scripting_api_generator_proxy=Proxy
+scripting_api_generator_title=Skriptovac\u00ED API
+scripting_api_generator_utilities=N\u00E1stroje
+scripting_api_generator_web=Internetov\u00E9 zdroje
+ScriptsRunToggleAction.ON_SELECTED_NODE.text=Vykonat skript na v\u0161ech vybran\u00FDch uzlech
+ScriptsRunToggleAction.ON_SELECTED_NODE_RECURSIVELY.text=Vykonat skript na vybran\u00FDch uzlech rekurzivn\u011B
+ScriptsRunToggleAction.ON_SINGLE_NODE.text=Vykonat skript na jedin\u00E9m vybran\u00E9m uzlu
select_favorites_folder=Vyberte slo\u017Eku, kde m\u00E1te sv\u00E9 obl\u00EDben\u00E9 z\u00E1lo\u017Eky
+select_file_export_to=Vybrat soubor, do kter\u00E9ho exportovat
select_folder_for_importing=Vyberte slo\u017Eku pro import
-SelectAllAction.text=Vybrat v\u0161e viditeln\u00E9
+select_icon=Vyber ikonu
+select_menu_item_dialog=Vyber polo\u017Eku z menu
+select_menu_item_root_node=Menu
+select_template=Vyber \u0161ablonu
+SelectAllAction.text=Vybrat v\u0161echny viditeln\u00E9 uzly
SelectBranchAction.text=Vybrat viditelnou v\u011Btev
+SelectedPasteAction.text=Vlo\u017E jako
selection_method_by_click=V\u00FDb\u011Br kliknut\u00EDm
selection_method_delayed=Opo\u017Ed\u011Bn\u00FD automatick\u00FD v\u00FDb\u011Br
selection_method_direct=V\u00FDb\u011Br uk\u00E1z\u00E1n\u00EDm
SelectNoteAction.text=P\u0159epnout editor pozn\u00E1mek
SelectNoteAction.tooltip=P\u0159epnout se z/do okna s pozn\u00E1mkou
+set_accelerator_on_next_click_action=K vytvo\u0159en\u00ED nov\u00E9 kl\u00E1vesov\u00E9 zkratky: Stiskn\u011Bte "Ctrl" p\u0159i kliknut\u00ED na zam\u00FD\u0161len\u00FD p\u0159\u00EDkaz v menu.
+SetAccelerator.dialogTitle=P\u0159i\u0159azen\u00ED kl\u00E1vesov\u00FDch zkratek
+SetAccelerator.keystrokeDetected=Kl\u00E1vesov\u00E1 zkratka "{0}" nen\u00ED p\u0159i\u0159azena k \u017E\u00E1dn\u00E9 polo\u017Ece menu.
+SetAcceleratorOnNextClickAction.text=P\u0159i\u0159adit kl\u00E1vesovou zkratku
+SetAlwaysUnfoldedNodeFlagsAction.text=Ponechat rozlo\u017Een\u00E9 uzly
+SetAlwaysUnfoldedNodeFlagsAction.tooltip=Zabr\u00E1nit slo\u017Een\u00ED v sou\u010Dasnosti rozlo\u017Een\u00FDch uzl\u016F
SetImageByFileChooserAction.text=Nastavit obr\u00E1zek (V\u00FDb\u011Br souboru k nav\u00E1z\u00E1n\u00ED)...
+SetLinkAnchorAction.text=Nastav kotvu odkazu
+SetLinkAnchorAction.tooltip=<html>Nastav\u00ED vybran\u00FD uzel jako budouc\u00ED kotvu pro m\u00EDstn\u00ED i glob\u00E1ln\u00ED odkazy.</html>
+SetLinkAnchorAction.tooltip_anchored=<html>Nastav\u00ED vybran\u00FD uzel jako budouc\u00ED kotvu pro m\u00EDstn\u00ED i glob\u00E1ln\u00ED odkazy. Pr\u00E1v\u011B nastaven\u00E1 kotva:<br>{0}</html>
SetLinkByFileChooserAction.text=Nastavit odkaz (V\u00FDb\u011Brem souboru)...
SetLinkByTextFieldAction.text=Nastavit odkaz (Zad\u00E1n\u00EDm)...
+SetNodeLink.text=Nastavit odkaz uzlu
+SetNoteWindowPosition.bottom.text=Spodek
+SetNoteWindowPosition.left.text=Vlevo
+SetNoteWindowPosition.right.text=Vpravo
+SetNoteWindowPosition.top.text=Vr\u0161ek
+SetShortenerStateAction.text=Minimalizuj uzel
+sf_login_required=Je zapot\u0159eb\u00ED login do Source Forge. Pokra\u010Dovat?
ShowAllAttributesAction.text=Uk\u00E1zat v\u0161echny atributy
ShowAncestorsAction.text=Uk\u00E1zat p\u0159edch\u016Fdce
ShowAttributeDialogAction.text=Mana\u017Eer atribut\u016F...
ShowDescendantsAction.text=Uk\u00E1zat n\u00E1sledovn\u00EDky
+ShowFilterToolbarAction.text=N\u00E1strojov\u00E1 li\u0161ta filtr\u016F
+ShowFormatPanel.text=Panel vlastnost\u00ED
+ShowFormatPanel.tooltip=Otev\u0159e dialog, ve kter\u00E9m je mo\u017Eno najednou upravit atributy uzlu i hrany.
ShowHideNoteAction.text=Uk\u00E1zat/schovat okno s pozn\u00E1mkou
ShowHideNoteAction.tooltip=Menu zkratka pro mal\u00E9 \u0161ipky na rozd\u011Blen\u00E9 \u0159\u00E1dce.
+ShowNextChildAction.text=Uk\u00E1zat dal\u0161\u00EDho potomka
+ShowNotesInMapAction.text=Zobrazovat pozn\u00E1mky v map\u011B
ShowSelectedAttributesAction.text=Uk\u00E1zat vybran\u00E9 atributy
+ShowSelectionAsRectangleAction.text=V\u00FDb\u011Br obd\u00E9ln\u00EDkem
simplyhtml.aboutFrameTitle=O aplikaci
+simplyhtml.aboutLabel=O SimplyHTML
simplyhtml.alignCenter=na st\u0159ed
simplyhtml.alignLabel=Zarovn\u00E1n\u00ED:
simplyhtml.alignLeft=vlevo
@@ -1248,6 +1639,8 @@ simplyhtml.appendTableColLabel=P\u0159idat sloupec
simplyhtml.appendTableRowLabel=P\u0159idat \u0159\u00E1dek
simplyhtml.applyCellAttrLabel=Aplikovat na
simplyhtml.backgroundLabel=Pozad\u00ED:
+simplyhtml.blackFontColorLabel=\u010Cern\u00E1
+simplyhtml.blueFontColorLabel=Modr\u00E1
simplyhtml.boldItalicName=tu\u010Dn\u00E1 kurz\u00EDva
simplyhtml.boldName=tu\u010Dn\u011B
simplyhtml.borderColorLabel=Barva:
@@ -1277,6 +1670,7 @@ simplyhtml.cTagNamePara=Odstavec
simplyhtml.cTagNameUL=Neset\u0159\u00EDd\u011Bn\u00FD seznam
simplyhtml.cutLabel=Vyjmout
simplyhtml.cutTip=Vyjmout
+simplyhtml.decreaseFontSizeLabel=Men\u0161\u00ED
simplyhtml.defaultDocName=Bez_n\u00E1zvu
simplyhtml.deleteTableColLabel=Smazat sloupec
simplyhtml.deleteTableRowLabel=Smazat \u0159\u00E1dek
@@ -1291,6 +1685,8 @@ simplyhtml.findReplaceLabel=Naj\u00EDt a nahradit
simplyhtml.findReplaceTip=Naj\u00EDt a nahradit
simplyhtml.fontBoldLabel=Tu\u010Dn\u011B
simplyhtml.fontBoldTip=P\u0159epnout tu\u010Dn\u00E9
+simplyhtml.fontColorLabel=Barva textu
+simplyhtml.fontColorTip=Barva textu
simplyhtml.fontDialogTitle=Form\u00E1t p\u00EDsma
simplyhtml.fontItalicLabel=Kurz\u00EDva
simplyhtml.fontItalicTip=P\u0159epnout kurz\u00EDvu
@@ -1307,9 +1703,11 @@ simplyhtml.formatParaLabel=Odstavec...
simplyhtml.formatParaTip=Zm\u011Bnit form\u00E1t odstavce
simplyhtml.formatTableLabel=Tabulka...
simplyhtml.formatTableTip=Form\u00E1t tabulky
+simplyhtml.greenFontColorLabel=Zelen\u00E1
simplyhtml.helpLabel=N\u00E1pov\u011Bda
simplyhtml.htmlTabTitle=HTML k\u00F3d
simplyhtml.imageFileDesc=Soubory s ob\u00E1zkem
+simplyhtml.increaseFontSizeLabel=V\u011Bt\u0161\u00ED
simplyhtml.insertTableColLabel=Vlo\u017Eit sloupec
simplyhtml.insertTableLabel=Tabulka...
simplyhtml.insertTableMsg=Kolik sloupc\u016F?
@@ -1334,6 +1732,7 @@ simplyhtml.listTypeSquare=\u010Dtvercov\u00E1 odr\u00E1\u017Eka
simplyhtml.listTypeUpperAlpha=A.,B.,C.,D.
simplyhtml.listTypeUpperRoman=I.,II.,III.,IV.
simplyhtml.marginLabel=Vn\u011Bj\u0161\u00ED
+simplyhtml.matchApproximately=Naj\u00EDt p\u0159ibli\u017En\u00E9
simplyhtml.matchApproximately.tooltip=<html>Zda povolit p\u0159ibli\u017En\u00E1 porovn\u00E1n\u00ED,<br/>tj. vyhled\u00E1v\u00E1n\u00ED 'files' nalezne 'flies'.</html>
simplyhtml.matchCase=Rozli\u0161ovat mal\u00E1 a velk\u00E1 p\u00EDsmena
simplyhtml.matchCase.tooltip=Zda respektovat velikost p\u00EDsmen, kdy\u017E je shoda.
@@ -1351,14 +1750,19 @@ simplyhtml.paraAlignRightLabel=Zarovnat vpravo
simplyhtml.paraAlignRightTip=Nastavit prav\u00E9 zarovn\u00E1n\u00ED odstavce
simplyhtml.paraStyleDialogTitle=Styl odstavce
simplyhtml.paraTabLabel=Odstavec
+simplyhtml.pasteHTMLLabel=Vlo\u017Eit HTML
simplyhtml.pasteLabel=Vlo\u017Eit
+simplyhtml.pastePlainTextLabel=Vlo\u017Eit prost\u00FD text
simplyhtml.pasteTip=Vlo\u017Eit
simplyhtml.plainName=b\u011B\u017En\u011B
simplyhtml.previewLabel=N\u00E1hled
simplyhtml.previewText=N\u00E1hledu textu
simplyhtml.prevTableCellLabel=P\u0159edchoz\u00ED bu\u0148ka
+simplyhtml.printLabel=Tisknout
+simplyhtml.redFontColorLabel=\u010Cerven\u00E1
simplyhtml.redoLabel=Znovu
simplyhtml.redoTip=Vp\u0159ed
+simplyhtml.removeFontColorLabel=Odstranit barvu
simplyhtml.replace=Nahradit...
simplyhtml.replaceAll=V\u0161e
simplyhtml.replaceDone=Hotovo
@@ -1368,9 +1772,13 @@ simplyhtml.replaceWith=Nahradit s:
simplyhtml.replaceYes=Ano
simplyhtml.rightLabel=vpravo:
simplyhtml.searchDown=Hledat d\u00E1le
+simplyhtml.searchDown.tooltip=Hledat shora dol\u016F.
simplyhtml.searchFromStart=Naj\u00EDt od za\u010D\u00E1tku
+simplyhtml.searchFromStart.tooltip=Za\u010Dne hled\u00E1n\u00ED od shora nam\u00EDsto od pozice kurzoru.
simplyhtml.searchUp=Hledat zp\u011Bt
+simplyhtml.searchUp.tooltip=Hledat zdola nahoru.
simplyhtml.selectAllLabel=Vybrat v\u0161e
+simplyhtml.selectedFontColorLabel=Vybran\u00E1 barva p\u00EDsma
simplyhtml.sizeLabel=Velikost
simplyhtml.standardStyleName=Standard
simplyhtml.strikeLabel=P\u0159e\u0161krtnut\u00ED
@@ -1404,26 +1812,88 @@ simplyhtml.valignLabel=Vertik\u00E1ln\u00ED zarovn\u00E1n\u00ED:
simplyhtml.valignMiddle=na st\u0159ed
simplyhtml.valignTop=nahoru
simplyhtml.wholeWordsOnly=Hledat pouze cel\u00E1 slova
+simplyhtml.wholeWordsOnly.tooltip=Omez shodu na cel\u00E1 slova.
SortNodes.text=Set\u0159\u00EDdit potomky
SortNodes.tooltip=Abecedn\u011B set\u0159\u00EDd\u00ED v\u0161echny potomky uzlu.
split=&Rozd\u011Blit
-SplitNode.text=Rozd\u011Blen\u00ED uzlu
+SplitConditionAction.text=Rozd\u011Bl
+SplitNode.text=Rozd\u011Blit uzlel
SplitNode.tooltip=<html>Uzel je rozd\u011Blen</html>
+SplitToWordsAction.text=Rozd\u011Bl v \u0159\u00E1dku s pou\u017Eit\u00EDm slov {0}
+STANDARD_FORMAT=Standardn\u00ED
+stop_processing=Stop
+StringFlavorHandler=Prost\u00FD text jako hierarchie uzl\u016F
+StructuredHtmlFlavorHandler=HTML jako hierarchie uzl\u016F
style=Styl
+style_already_exists=Styl u\u017E existuje.
+styledialog.cancel.text=Zru\u0161it
+styledialog.ok.text=V po\u0159\u00E1dku
+styles=St&yly
+styles.AutomaticLayout=Pou\u017Eij styly dle \u00FArovn\u011B
+styles.connection=Spoj
+styles.date=Datum
+styles.definition=Definice
+styles.description=Popis
+styles.floating_node=Plovouc\u00ED uzel
+styles.idea=My\u0161lenka
+styles.important=D\u016Fle\u017Eit\u00E9
+styles.key=Kl\u00ED\u010D
+styles.list=Seznam
+styles.needs_action=Vy\u017Eaduje akci
+styles.note=Pozn\u00E1mka
+styles.ok=V po\u0159\u00E1dku
+styles.pending=Prob\u00EDhaj\u00EDc\u00ED
+styles.predefined=P\u0159eddefinovan\u00E9 styly
+styles.question=Ot\u00E1zka
+styles.quotation=Citace
+styles.root_node=Styly
+styles.subsubtopic=Podpodt\u00E9ma
+styles.subtopic=Podt\u00E9ma
+styles.topic=T\u00E9ma
+styles.user-defined=U\u017Eivatelem definovan\u00E9 styly
+styles.website=Webov\u00E1 str\u00E1nka
+styles_background_html=\n <html> 1\n <head> 2\n </head> 3\n <body> 4\n <table width="800" style="text-align: left; vertical-align: top"> 5\n <tr valign="top"> 6\n <th> 7\n <div style="margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: center; font-weight: bold"> 8\nO t\u00E9to sad\u011B styl\u016F\n </div> 9\n <div style="text-align: left; font-weight: normal"> 0\n <div style="margin: 3pt">\nTento standard byl vyvinut po jeden\u00E1cti letech pedagogick [...]
+styles_menu=Dostupn\u00E9 styly
+submenu_keystroke_in_use_error=Kl\u00E1vesu {0} nen\u00ED mo\u017En\u00E9 pou\u017E\u00EDt pro submenu {1}. Kl\u00E1vesa odstran\u011Bna.
+summary_nodes=Souhrnn\u00E9 uzly
+summary_not_possible=Pro vybran\u00E9 uzly nen\u00ED mo\u017Eno vytvo\u0159it souhrnn\u00FD uzel
svg=SVG[translate me]
+template_dir=Standardn\u00ED \u0161ablony
+TextAlignAction.CENTER.text=Vyst\u0159ed\u011Bn\u00FD text
+TextAlignAction.DEFAULT.text=V\u00FDchoz\u00ED
+TextAlignAction.LEFT.text=Text zarovnan\u00FD vlevo
+TextAlignAction.RIGHT.text=Text zarovnan\u00FD vpravo
+textalignment=Zarovn\u00E1n\u00ED textu
+TextChangeHotKeyAction.text=Nastav kl\u00E1vesovou zkratku zm\u011Bny textu
TimeListAction.text=Uk\u00E1zat seznam napl\u00E1novan\u00FDch \u010Das\u016F ...
TimeListAction.tooltip=Uk\u00E1zat v\u0161echny napl\u00E1novan\u00E9 datumy a odpov\u00EDdaj\u00EDc\u00ED uzly.
TimeManagementAction.text=Uk\u00E1zat kalend\u00E1\u0159 ...
TimeManagementAction.tooltip=<html>Uk\u00E1\u017Ee modul kalend\u00E1\u0159 od Kaie Toedtera.</html>
+TimePeriodUnits.days=dny
+TimePeriodUnits.hours=hodiny
+TimePeriodUnits.minutes=minuty
+TimePeriodUnits.ms=ms
+TimePeriodUnits.seconds=sekundy
+TimePeriodUnits.weeks=t\u00FDdny
ToggleChildrenFoldedAction.text=(Roz)slo\u017Eit poduzly
+ToggleDetailsAction.text=Skr\u00FDt detaily
ToggleFBarAction.text=F-Bar[translate me]
ToggleFoldedAction.text=(Roz)slo\u017Eit
-ToggleLeftToolbarAction.text=P\u0159epnout lev\u00FD panel
+ToggleFullScreenAction.text=Re\u017Eim cel\u00E9 obrazovky
+ToggleLeftToolbarAction.text=Panel ikon
ToggleMenubarAction.text=P\u0159epnout Menu
-ToggleToolbarAction.text=P\u0159epnout Panel n\u00E1stroj\u016F
+ToggleScrollbarsAction.text=Skrolovac\u00ED li\u0161ty
+ToggleStatusAction.text=Zobrazit stavovou \u0159\u00E1dku
+ToggleToolbarAction.text=N\u00E1strojov\u00FD panel
toolbars=N\u00E1strojov\u00E9 li\u0161ty
+TranslatedElement.BORDER=Hrani\u010Dn\u00ED text
+TranslatedElement.TEXT=Text
+TranslatedElement.TOOLTIP=N\u00E1strojov\u00FD tip
+uiTextChanger.originalTextIsNotDefined=P\u016Fvodn\u00ED text nen\u00ED definov\u00E1n
+uiTextChanger.replaceText=Nahra\u010F text u\u017Eivatelsk\u00E9ho rozhran\u00ED
undefined_error=Nastala neo\u010Dek\u00E1van\u00E1 chyba. Pros\u00EDme, pokuste se zaslat report o chyb\u011B.
underline=Podtr\u017Een\u00ED
+UnderlineAction.text=Podtr\u017Een\u00ED
underlined=Podtrhnut\u00E9
UndoAction.text=Zp\u011Bt
UndoFilterAction.text=Zp\u011Bt
@@ -1432,21 +1902,53 @@ UnfoldAllAction.text=Rozlo\u017Eit v\u0161e
UnfoldAllAction.tooltip=<html>Rozlo\u017Eit vybran\u00E9 uzly a v\u0161echny jejich poduzly.</html>
UnfoldOneLevelAction.text=Rozlo\u017Eit jednu \u00FArove\u0148
UnfoldOneLevelAction.tooltip=Rozlo\u017E\u00ED vybran\u00E9 uzly o jednu \u00FArove\u0148.
+unparsedLatexPatternFormat=Neparsovan\u00FD LaTeX
+up=Nahoru
+UpConditionAction.text=Nahoru
+update_failed=Aktualizace selhala se zpr\u00E1vou {0}
+UpdateCheckAction.text=Zkontroluj aktualizace
+updatecheckdialog=Dialog kontroly aktualizace
+updater.component=Komponenta
+updater.goToDownload=P\u0159ejdi na sta\u017Een\u00ED
+updater.version.installed=Instalovan\u00E1 verze
+updater.version.latest=Posledn\u00ED verze
+updater.version.noUpdateUrl=Tento dopln\u011Bk nem\u00E1 pro aktualizace URL, nebo domovskou str\u00E1nku.
+updater.version.unknown=nezn\u00E1m\u00FD
+updater.version.unreachable=Nedostupn\u00FD zdroj:
+updater.viewChangelog=Zobraz seznam zm\u011Bn
url_error=Toto URL nen\u00ED v po\u0159\u00E1dku!
url_load_error=Nemohl jsem na\u010D\u00EDst mapu z URL:
+url_open_error=Nen\u00ED mo\u017Eno otev\u0159\u00EDt URL {0}.
+used_in_menu=Tuto kl\u00E1vesovou zkratku nen\u00ED mo\u017Eno pou\u017E\u00EDt, nebo\u0165 je pou\u017Eita v menu.
UsePlainTextAction.text=Pou\u017E\u00EDt neform\u00E1tovan\u00FD text
+user_config_folder=U\u017Eivatelsk\u00FD adres\u00E1\u0159 s nastaven\u00EDm: {0}
+user_defined_filters=U\u017Eivatelsky definovan\u00E9 filtry
user_defined_scale=& U\u017Eivatelem definovan\u00E9 m\u011B\u0159\u00EDtko
user_defined_zoom=U\u017Eivatelsky definov\u00E1no
user_defined_zoom_status_bar=M\u011Bn\u00EDm p\u0159ibl\u00ED\u017Een\u00ED lupou na hodnotu {0}%.
+user_icon=U\u017Eivatelsk\u00E1 ikona "{0}"
user_template_dir=U\u017Eivatelsk\u00E9 \u0161ablony
user_zoom=Faktor lupy p\u0159i tisku (0.0 - 2.0):
+userScripts=Skripty
+value_format=Form\u00E1t hodnoty
version_up_to_date=Pou\u017E\u00EDv\u00E1te nejnov\u011Bj\u0161\u00ED verzi programu
view=Zobrazit
ViewLayoutTypeAction.OUTLINE.text=Zobrazit jako osnovu
+web_resources=Webov\u00E9 zdroje
WebDocuAction.text=Webov\u00E1 dokumentace
+WhatsNewAction.text=Co nov\u00E9ho ve Freeplanu 1.5.x
width=\u0160\u00ED\u0159ka
+wrong_regexp=Chybn\u00FD regul\u00E1rn\u00ED v\u00FDraz "{0}", chyba {1}
+xslt_export.html=Dokument HTML
+xslt_export.latex=Dokument LaTeX
+xslt_export.latexbook=Kniha LaTeX
+xslt_export.mediawiki=Mediawiki
+xslt_export.ms_excel=MS Excel 2003 XML
+xslt_export.ms_project=MS Project 2003 XML
+xslt_export.ms_word=MS Word 2003 XML
xslt_export.text=Prost\u00FD text
xslt_export_not_possible=Export Freeplane XSLT nen\u00ED mo\u017En\u00FD
yes=Ano
+zoom=P\u0159ibl\u00ED\u017Een\u00ED
ZoomInAction.text=P\u0159ibl\u00ED\u017Eit
ZoomOutAction.text=Odd\u00E1lit
diff --git a/freeplane/resources/translations/Resources_da.properties b/freeplane/resources/translations/Resources_da.properties
index 3473ce5..b33704d 100644
--- a/freeplane/resources/translations/Resources_da.properties
+++ b/freeplane/resources/translations/Resources_da.properties
@@ -962,7 +962,6 @@ OptionPanel.antialias_all=Antialias alt
OptionPanel.antialias_edges=Antialias kanter
OptionPanel.antialias_none=Ingen Antialias
OptionPanel.Appearance=Udseende
-OptionPanel.apply_system_screen_resolution=Anvend systemets standard sk\u00E6rmopl\u00F8sning
OptionPanel.approximate_search_threshold=T\u00E6rskel for omtrentlige tr\u00E6f
OptionPanel.approximate_search_threshold.tooltip=<html>T\u00E6rskel for omtrentlige tr\u00E6f<br/><font size="2">se http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(jo h\u00F8jere desto f\u00E6rre variationer<br/>af s\u00F8geordet vil blive fundet)</html>
OptionPanel.ar=Arabisk/\u0627\u0644\u0639\u0631\u0628\u064A\u0629
diff --git a/freeplane/resources/translations/Resources_de.properties b/freeplane/resources/translations/Resources_de.properties
index 021a411..bf31379 100644
--- a/freeplane/resources/translations/Resources_de.properties
+++ b/freeplane/resources/translations/Resources_de.properties
@@ -969,7 +969,6 @@ OptionPanel.antialias_all=Kantengl\u00E4ttung auf alles anwenden
OptionPanel.antialias_edges=Kantengl\u00E4ttung nur auf die Verbindungslinien der Knoten anwenden
OptionPanel.antialias_none=Keine Kantengl\u00E4ttung anwenden
OptionPanel.Appearance=Aussehen
-OptionPanel.apply_system_screen_resolution=System-Bildschirmaufl\u00F6sung anwenden
OptionPanel.approximate_search_threshold=Schwelle f\u00FCr \u00C4hnlichkeitsvergleich
OptionPanel.approximate_search_threshold.tooltip=<html>Schwelle f\u00FCr \u00C4hnlichkeitserkennung beim Vergleichen festlegen.<br/><font size="2">siehe http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(je gr\u00F6\u00DFer der Wert desto enger die zul\u00E4ssige<br/>Variationsbreite f\u00FCr das Suchergebnis)</html>
OptionPanel.ar=Arabisch / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
diff --git a/freeplane/resources/translations/Resources_el.properties b/freeplane/resources/translations/Resources_el.properties
index f8c200f..1ff3cfc 100644
--- a/freeplane/resources/translations/Resources_el.properties
+++ b/freeplane/resources/translations/Resources_el.properties
@@ -869,7 +869,6 @@ OptionPanel.antialias_all=\u039F\u03C0\u03C4\u03B9\u03BA\u03AE \u03B4\u03B9\u03C
OptionPanel.antialias_edges=\u039F\u03C0\u03C4\u03B9\u03BA\u03AE \u03B4\u03B9\u03CC\u03C1\u03B8\u03C9\u03C3\u03B7: \u03A0\u03B5\u03C1\u03AF\u03B3\u03C1\u03B1\u03BC\u03BC\u03B1
OptionPanel.antialias_none=\u03A7\u03C9\u03C1\u03AF\u03C2 \u03BF\u03C0\u03C4\u03B9\u03BA\u03AE \u03B4\u03B9\u03CC\u03C1\u03B8\u03C9\u03C3\u03B7
OptionPanel.Appearance=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7
-OptionPanel.apply_system_screen_resolution=\u0395\u03C6\u03B1\u03C1\u03BC\u03BF\u03B3\u03AE \u03C4\u03B7\u03C2 \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7\u03C2 \u03C4\u03BF\u03C5 \u03C3\u03C5\u03C3\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2
OptionPanel.approximate_search_threshold=\u038C\u03C1\u03B9\u03BF \u03B3\u03B9\u03B1 \u03C0\u03C1\u03BF\u03C3\u03B5\u03B3\u03B3\u03B9\u03C3\u03C4\u03B9\u03BA\u03AE \u03C4\u03B1\u03CD\u03C4\u03B9\u03C3\u03B7
OptionPanel.approximate_search_threshold.tooltip=<html>Threshold for approximate matching<br/><font size="2">see http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(the higher the fewer variations<br/>of the search term will be found)</html>
OptionPanel.ar=Ar
diff --git a/freeplane/resources/translations/Resources_es.properties b/freeplane/resources/translations/Resources_es.properties
index 0171872..f4c6c5a 100644
--- a/freeplane/resources/translations/Resources_es.properties
+++ b/freeplane/resources/translations/Resources_es.properties
@@ -893,7 +893,6 @@ OptionPanel.antialias_all=Alisar Todo
OptionPanel.antialias_edges=Alisar Bordes
OptionPanel.antialias_none=Sin Alisar
OptionPanel.Appearance=Apariencia
-OptionPanel.apply_system_screen_resolution=Aplicar la resoluci\u00F3n de pantalla por defecto del sistema
OptionPanel.approximate_search_threshold=L\u00EDmite para la coincidencia aproximada
OptionPanel.approximate_search_threshold.tooltip=<html>L\u00EDmite para la coincidencia aproximada<br/><font size="2">mire http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(cuanto m\u00E1s alto, menos variaciones<br/>se encontrar\u00E1n del t\u00E9rmino de b\u00FAsqueda)</html>
OptionPanel.ar=Ar / \u00C1rabe
diff --git a/freeplane/resources/translations/Resources_eu.properties b/freeplane/resources/translations/Resources_eu.properties
index a40a6b0..f39425a 100644
--- a/freeplane/resources/translations/Resources_eu.properties
+++ b/freeplane/resources/translations/Resources_eu.properties
@@ -373,7 +373,7 @@ ExternalImageAddAction.text=Irudia gehitu...
ExternalImageChangeAction.text=Irudia aldatu...
ExternalImageRemoveAction.text=Irudia ezabatu
ExtractLinkFromTextAction.text=Testu barrutik link-a eraldatu
-ExtractLinkFromTextAction.tooltip=Hyperlinka n helbidearen adabegi testutik ezarri
+ExtractLinkFromTextAction.tooltip=Hyperlinka helbidearen adabegi testutik ezarri
extras=&Lanabesak
f_button_unassigned=<ekintzarik ez>
FaqOpenURLAction.text=FAQ
@@ -887,6 +887,7 @@ no_found_from=<html> <u>{0}</u> ez da "{1}"-n aurkitu.</html>
no_more_found_from=<html> Ez da <u>{0}</u> gehiagorik "{1}"-n aurkitu.</html>
no_previous_find=Aurreko bilaketarik ez.
no_styles_found_in_map=Mapan ez da estilorik aurkitu
+no_translation_strings_found=Itzuli ezineko hizki kateak aurkitu dira
node=Adabegia
node_changed_discard_changes=Adabegia aldatu duzu. Aldaketak ezeztatu egin nahi al dituzu?
node_is_write_protected=Helburutzat jotako adabegiak idazteko babesa du
@@ -957,7 +958,6 @@ OptionPanel.antialias_all=Guztiei antialias-a ezarri
OptionPanel.antialias_edges=Loturei antialias.-a ezarri
OptionPanel.antialias_none=Antialiasik ez
OptionPanel.Appearance=Tankera
-OptionPanel.apply_system_screen_resolution=Dekektuz sistemaren pantaila doitasuna ezarri
OptionPanel.approximate_search_threshold=Antzeko parekatzerako ataria (threshold)
OptionPanel.approximate_search_threshold.tooltip=<html>Antzeko parekatzerako ataria (threshold)g<br/><font size="2">ikus http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(zenbat eta altuago orduan eta aldaketa gutxiago<br/>aurkituko dira egindako bilaketaren inguruan)</html>
OptionPanel.ar=Arabiera / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
@@ -999,3 +999,101 @@ OptionPanel.datetime_format=Data-ordu formatu estandarra
OptionPanel.datetime_format.tooltip=Baldin eta <datestyle>,<timestyle> (SHORT (motz), MEDIUM (ertain), LONG (luze) edo FULL (oso) estilo eran) edota "HH/ee/uuuu oo:mm" (Hilabete, egun, urte, ordu:minutu)erako txantilloi osoa
OptionPanel.de=Aleman/Deutsch
OptionPanel.default=Defektuz
+OptionPanel.default_attribute_key_column_width=Ezaugarriaren giltzaren zabalera estandarra
+OptionPanel.default_attribute_value_column_width=Ezaugarriaren balioaren zabalera estandarra
+OptionPanel.default_browser_command_mac=Nabigatzailearen defektuzko Mac komandoa
+OptionPanel.default_browser_command_mac.tooltip=<html> eta MAC: (Nick-i eskerrak!)</html>
+OptionPanel.default_browser_command_other_os=Beste sistema eragile bat, defektuzko nabigatzaile komandoa
+OptionPanel.default_browser_command_other_os.tooltip=<html> Hau normalki Linux da:</html>
+OptionPanel.default_browser_command_windows_9x=Defektuzko nabigatzaile komandoa Windows 9x
+OptionPanel.default_browser_command_windows_9x.tooltip=<html>Windows-entzat ("" ikurrak beharrezkoak dira URLtan "=" ikurra duten loturak direla eta).</html>
+OptionPanel.default_browser_command_windows_nt=Defektuzko nabigatzaile komandoa Windows NT
+OptionPanel.default_browser_command_windows_nt.tooltip=<html>Windows-entzat ("" ikurrak beharrezkoak dira URLtan "=" ikurra duten loturak direla eta).</html>
+OptionPanel.default_charset=Karaktere multzoa
+OptionPanel.default_save_dir=Gordetzeko defektuzko direktorioa
+OptionPanel.Defaults=Defektuzkoak
+OptionPanel.delete_automatic_saves_at_exit=Automatikoki gordetako fitxategiak irtetean ezabatu
+OptionPanel.delete_automatic_saves_at_exit.tooltip=<html> Fitxategiak Freeplane normalki itzaltzean ezabatzeko ondorengo aldagia TRUE-ra pasa</html>
+OptionPanel.delete_nodes_without_question=Adabegiak baieztapenik gabe ezabatu?
+OptionPanel.delete_nodes_without_question.tooltip=Kutxatxo hau aukeratzen baduzu adabegiak baieztapenik gabe ezabatuko dira. Honek nahi gabean informazio galera sor lezake.
+OptionPanel.disable_cursor_move_paper=Ezeztatu papera kurtsorearekin mugitzeko aukera
+OptionPanel.disable_cursor_move_paper.tooltip=<html>Es kurtsorea 'mugitu" erakutsi papera mugitzerakoan</html>
+OptionPanel.display_inline_editor_for_all_new_nodes=Inline editorea azaldu adabegi berri guztientzat
+OptionPanel.display_node_id=Adabegiaren ID-a azaldu
+OptionPanel.edgecolor=Loturaren kolorea
+OptionPanel.edgecolor.tooltip=Loturaren ezaugarriak bere gurasoari ezarri (bere haur adabegi guztiei ere ezartzen zaie)
+OptionPanel.edgestyle=Loturaren estiloa
+OptionPanel.edgestyle.tooltip=Loturaren ezaugarriak bere gurasoari ezarri (bere haur adabegi guztiei ere ezartzen zaie)
+OptionPanel.edgewidth=Loturaren zabalera
+OptionPanel.edgewidth.tooltip=Loturaren ezaugarriak bere gurasoari ezarri (bere haur adabegi guztiei ere ezartzen zaie)
+OptionPanel.EDIT_CURRENT=Edukia gainidatzi
+OptionPanel.edit_on_double_click=Klik bikoitza egitean editatu
+OptionPanel.editor_extra_width=Zabalera extrako pausua
+OptionPanel.editor_extra_width.tooltip=<html>Testuak adabegiaren oraingo zabalera gainditzen baldin badu, adabegi hori zenbat pixel zabaldu behar den kalkulatzen du.</html>
+OptionPanel.el=Greziera/ \u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC
+OptionPanel.el__buttons_above=Botoiak goikaldean
+OptionPanel.el__enter_confirms_by_default=Enter-ek defektuz baieztatu egitend u
+OptionPanel.el__max_default_window_height=Leihoaren defektuzko garaiera maximoa
+OptionPanel.el__max_default_window_width=Leihoaren defektuzko zabalera maximoa
+OptionPanel.el__min_default_window_height=Leihoaren defektuzko garaiera minimoa
+OptionPanel.el__min_default_window_width=Leihoaren defektuzko zabalera minimoa
+OptionPanel.el__position_window_below_node=Leihoa adabegi azpian kokatu
+OptionPanel.en=Ingelesa / English
+OptionPanel.Environment=Ingurunea
+OptionPanel.es=Gaztelera / espa\u00F1ol, castellano
+OptionPanel.et=Estoniera / eesti, eesti keel
+OptionPanel.eu=Euskara
+OptionPanel.execute_scripts_without_asking=Script-aren abiaraztea aktibatuta
+OptionPanel.execute_scripts_without_asking.tooltip=<html>Freeplane script-ak orohar edozein ekintza egiteko gai dira konputagailuan <br>Beraz, segurua dela garbi izan ezean ez zenuke script-ik abiarazi behar.</html>
+OptionPanel.execute_scripts_without_exec_restriction=Beste aplikazioak abiarazten utzi (EZ gomendagarria)
+OptionPanel.execute_scripts_without_exec_restriction.tooltip=<html><body>Zure Groovy Script-ek beste aplikazio batzuek galdetu gabe (!) abiaraztea behar badute (adib. nabigatzailea) ,<br>aukera hau aktibatu behar duzu. <br>Baina kontuz erabili, script gaiztoek zure konputagailua kaltetu bailezakete!</body></html>
+OptionPanel.execute_scripts_without_file_restriction=Fitxategi irakurtze eragiketak baimendu (EZ gomendagarria)
+OptionPanel.execute_scripts_without_file_restriction.tooltip=<html><body>Zure Groovy Script-ek irakurketa baimenak behar izanez gero (ireki, itxi, irakurri),<br>aukera hori baimendu behar duzu. <br>Baina kontuz erabili, script gaiztoek zure konputagailua kaltetu bailezakete!</body></html>
+OptionPanel.execute_scripts_without_network_restriction=Sare eragiketak baimendu (EZ gomendagarria)
+OptionPanel.execute_scripts_without_network_restriction.tooltip=<html><body>Zure Groovy Script-ek sare eragiketak egin behar badituzte,<br>aukera hori baimendu behar duzu. <br>Baina kontuz erabili, script gaiztoek zure konputagailua kaltetu bailezakete!</body></ht
+OptionPanel.execute_scripts_without_write_restriction=Fitxategi idazte eragiketak baimendu (EZ gomendagarria)
+OptionPanel.execute_scripts_without_write_restriction.tooltip=<html><body>Zure Groovy Script-ek idazte baimenak behar izanez gero (idatzi, ezabatu(!)),<br>aukera hori baimendu behar duzu. <br> Normalki irakurketa baimenekin batera erabiltzen da. <br> Baina kontuz erabili, script gaiztoek zure konputagailua kaltetu bailezakete!</body></ht
+OptionPanel.experimental_file_locking_on=Filxategi lotze esperimentala
+OptionPanel.experimental_file_locking_on.tooltip=<html> Baliabide esperimentala</html>
+OptionPanel.export_icons_in_html=Ikonoak HTMLn esportatu
+OptionPanel.export_icons_in_html.tooltip=<html> Freeplan HTMLra esportatzean ikonoak izan beharko lituzken esan. Nahiko sarritan ikonoetara loturak ezin izaten dira esportatutako HTMLan aurkitu.</html>
+OptionPanel.exported_image_resolution_dpi=Esportatzeko irudi erresoluzioa (DPI edota hazbeteko puntu kopurua)
+OptionPanel.Files=Fitxategiak
+OptionPanel.first=Lehendabizi
+OptionPanel.fit_to_viewport=Atzekaldeko irudia leihora egokitu
+OptionPanel.fold_on_click_inside=Barruak klikatzean tolestu
+OptionPanel.foldingsymbolwidth=Tolesteko ikurraren zabalera
+OptionPanel.foldingsymbolwidth.tooltip=<html>Tolesteko zirkuluaren zabalera</html>
+OptionPanel.fork=Banatu.
+OptionPanel.format_locale=Formatuentzat "locale"ak
+OptionPanel.format_locale.tooltip=Kokapen berezitasunak datuak parseatu eta formatua emateko
+OptionPanel.formula_disable_caching=Formula ebaluatzeko cache-a desaktibatu
+OptionPanel.formula_disable_plugin=Formulen ebaluaketa desaktibatu
+OptionPanel.fr=Frantsesa/Fran\u00E7ais
+OptionPanel.gl=Galiziera / Galego
+OptionPanel.goto_note_end_on_edit=Kurtsorera amaierara eraman
+OptionPanel.grid_size=Sare-begiaren tartea
+OptionPanel.groovy_editor_font=Groovy Editorearen Syntaxi Erakuslearen hizki mota
+OptionPanel.groovy_editor_font.tooltip=Unicode hizki mota behar izanez gero 'Dialog' edo 'Monospaced' erabili!
+OptionPanel.groovy_editor_font_size=Groovy Editorearen Syntaxi Erakuslearen hizki mota
+OptionPanel.gtk=Gtk
+OptionPanel.hide_edge=Adabegi loturak ezkutatu
+OptionPanel.highlight_formulas=Formulak bereziki azaldu
+OptionPanel.horizontal=Horizontala
+OptionPanel.hr=Kroaziera / hrvatski
+OptionPanel.HTML=HTML
+OptionPanel.html_export_based_on_headings=Izenburuetan oinarritua
+OptionPanel.html_export_fold_all=Guztia tolestu
+OptionPanel.html_export_fold_currently_folded=Orain artean tolestuak tolestu
+OptionPanel.html_export_folding=HTML tolestuta esportatu
+OptionPanel.html_export_no_folding=Ez tolestu
+OptionPanel.hu=Hungarieram, magyarrera / Magyar
+OptionPanel.ic_disable=Desaktibatu
+OptionPanel.ic_file=Diskoa erabili
+OptionPanel.ic_ram=RAMean
+OptionPanel.icon=Ikonoa
+OptionPanel.icon.tooltip=Aplikatuz geroz, adabegiak zehazki ikono hau izango du
+OptionPanel.icons.list=Azaldutako Ikono Estandarren zerrenda
+OptionPanel.icons.list.tooltip=Hemen ikono estandarrak ordenatu edo desaktibatu zenitzake. Ikonoak ';' ikurraz bereizi behar dira.
+OptionPanel.id=Indonesiera / Bahasa Indonesia
+OptionPanel.IGNORE=Ez ezer egin
diff --git a/freeplane/resources/translations/Resources_fr.properties b/freeplane/resources/translations/Resources_fr.properties
index 654e3c6..fbade77 100644
--- a/freeplane/resources/translations/Resources_fr.properties
+++ b/freeplane/resources/translations/Resources_fr.properties
@@ -889,6 +889,7 @@ no_found_from=<html>Aucun <u>{0}</u> n''a \u00E9t\u00E9 trouv\u00E9 \u00E0 parti
no_more_found_from=<html>Recherche termin\u00E9e :<br>il n''y a plus de <u>{0}</u> \u00E0 partir du n\u0153ud <b>{1}</b>.</html>
no_previous_find=Aucune recherche n'est en cours.
no_styles_found_in_map=Aucun style trouv\u00E9 sur la carte
+no_translation_strings_found=Aucune chaine traduisible trouv\u00E9e
node=n\u0153ud
node_changed_discard_changes=Vous avez modifi\u00E9 le n\u0153ud. Voulez-vous ignorer ces changements ?
node_is_write_protected=Le n\u0153ud cible est prot\u00E9g\u00E9 contre l'\u00E9criture.
@@ -961,7 +962,6 @@ OptionPanel.antialias_all=Tout lisser
OptionPanel.antialias_edges=Lisser les lignes
OptionPanel.antialias_none=Sans lissage
OptionPanel.Appearance=Apparence
-OptionPanel.apply_system_screen_resolution=Utiliser la r\u00E9solution \u00E9cran par d\u00E9faut
OptionPanel.approximate_search_threshold=Seuil pour la recherche par variantes
OptionPanel.approximate_search_threshold.tooltip=<html>Plus le nombre est \u00E9lev\u00E9 moins il y aura de r\u00E9sultats.<br><font size="2">Plus de d\u00E9tails sur : http://freeplane.sf.net/wiki/index.php/Approximate_search
OptionPanel.ar=Arabe
@@ -975,6 +975,8 @@ OptionPanel.automaticFormat_level2=Mise en forme des n\u0153uds de niveau 1
OptionPanel.backup_file_number=Nombre de fichiers de sauvegarde conserv\u00E9s
OptionPanel.Behaviour=Comportement
OptionPanel.bezier=Courbe
+OptionPanel.border_color=Couleur
+OptionPanel.border_width=Largeur de ligne
OptionPanel.bubble=Bulle
OptionPanel.ca=Catalan
OptionPanel.Cancel=Annuler
@@ -1280,6 +1282,7 @@ OptionPanel.separator.mouse_wheel=Molette de la souris
OptionPanel.separator.new_node_commands=Commandes pour cr\u00E9er un n\u0153ud
OptionPanel.separator.node_editing_commands=Commandes pour modifier un n\u0153ud
OptionPanel.separator.node_navigation_commands=Commandes de navigation dans les n\u0153uds
+OptionPanel.separator.NodeBorder=Bordure du n\u0153ud
OptionPanel.separator.NodeColors=Couleurs du n\u0153ud
OptionPanel.separator.NodeFont=Texte du n\u0153ud
OptionPanel.separator.NodeShape=Forme du n\u0153ud
@@ -1333,6 +1336,7 @@ OptionPanel.single_instance=Ouvrir les fichiers dans l'instance courante
OptionPanel.single_instance_force=Toujours utiliser une seule instance du programme
OptionPanel.single_instance_force.tooltip=Toujours utiliser une seule instance du programme m\u00EAme s'il n'y a aucun fichier \u00E0 ouvrir
OptionPanel.sk=Slovaque
+OptionPanel.skip_template_selection=Ignorer l'\u00E9cran de s\u00E9lection du mod\u00E8le
OptionPanel.sl=Slov\u00E8ne
OptionPanel.slow_scroll_selected_node=D\u00E9filement doux jusqu'au n\u0153ud s\u00E9lectionn\u00E9
OptionPanel.small_bubble=Petite bulle
@@ -1589,6 +1593,7 @@ select_folder_for_importing=S\u00E9lectionnez le dossier d'importation
select_icon=Biblioth\u00E8que d'ic\u00F4nes
select_menu_item_dialog=S\u00E9lectionnez une commande
select_menu_item_root_node=Menus de Freeplane
+select_template=S\u00E9lectionner le mod\u00E8le
SelectAllAction.text=S\u00E9lectionner les n\u0153uds visibles de la carte
SelectBranchAction.text=S\u00E9lectionner les n\u0153uds visibles de la branche
SelectedPasteAction.text=Collage sp\u00E9cial...
@@ -1887,6 +1892,10 @@ ToggleScrollbarsAction.text=Barres de d\u00E9filement
ToggleStatusAction.text=Barre d'\u00E9tat
ToggleToolbarAction.text=Barre d'outils principale
toolbars=Barres d'outils
+TranslatedElement.BORDER=Bordure de texte
+TranslatedElement.TEXT=Texte
+TranslatedElement.TOOLTIP=Info-bulle
+uiTextChanger.originalTextIsNotDefined=Le texte original n'est pas d\u00E9finit
undefined_error=Une erreur impr\u00E9vue vient de se produire. Merci de bien vouloir signaler le bogue.
underline=Soulign\u00E9
UnderlineAction.text=Soulign\u00E9
diff --git a/freeplane/resources/translations/Resources_hr.properties b/freeplane/resources/translations/Resources_hr.properties
index 7d55e83..82a2e64 100644
--- a/freeplane/resources/translations/Resources_hr.properties
+++ b/freeplane/resources/translations/Resources_hr.properties
@@ -888,6 +888,7 @@ no_found_from=<html>Nije<u>{0}</u>mogu\u0107e na\u0107i "{1}".</html>
no_more_found_from=<html>Nijedan <u>{0}</u>vi\u0161e nije na\u0111en u "{1}".</html>
no_previous_find=Nema podatka tra\u017Eenja.
no_styles_found_in_map=Nisu prona\u0111eni stilovi u mapi
+no_translation_strings_found=Nisu prona\u0111ene znakovi za prijevod
node=\u010Cvor
node_changed_discard_changes=Promijenili ste \u010Dvor. \u017Delite li odbaciti promjene?
node_is_write_protected=Ciljni \u010Dvor je za\u0161ti\u0107en od pisanja.
@@ -960,7 +961,6 @@ OptionPanel.antialias_all=Zagladi sve
OptionPanel.antialias_edges=Zagla\u0111ivanje ruba
OptionPanel.antialias_none=Bez zagla\u0111ivanja
OptionPanel.Appearance=Izgled
-OptionPanel.apply_system_screen_resolution=Primijeni zadanu razlu\u010Divost zaslona
OptionPanel.approximate_search_threshold=Granica pribli\u017Enog uspore\u0111ivanja
OptionPanel.approximate_search_threshold.tooltip=<html>Granica pribli\u017Enog uspore\u0111ivanja<br/><font size="2">pogledajte http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(ako koristite ve\u0107i broj slova<br/>broj prona\u0111enih rezultata tra\u017Eenog pojma biti \u0107e manji)</html>
OptionPanel.ar=arapski
@@ -974,6 +974,10 @@ OptionPanel.automaticFormat_level2=1. Razina oblika \u010Dvora
OptionPanel.backup_file_number=Broj sigurnosnih kopija
OptionPanel.Behaviour=Karakteristike
OptionPanel.bezier=Bezier
+OptionPanel.border_color=Boja
+OptionPanel.border_color_matches_edge_color=Koristi boju ruba
+OptionPanel.border_width=\u0160irina crte
+OptionPanel.border_width_matches_edge_width=Koristi \u0161irinu ruba
OptionPanel.bubble=Obla\u010Di\u0107
OptionPanel.ca=katalonski
OptionPanel.Cancel=Odustani
@@ -1279,6 +1283,7 @@ OptionPanel.separator.mouse_wheel=Kota\u010Di\u0107 mi\u0161a
OptionPanel.separator.new_node_commands=Naredbe novog \u010Dvora
OptionPanel.separator.node_editing_commands=Naredbe ure\u0111ivanja \u010Dvora
OptionPanel.separator.node_navigation_commands=Naredbe navigacije \u010Dvora
+OptionPanel.separator.NodeBorder=Rub \u010Dvora
OptionPanel.separator.NodeColors=Boje teksta \u010Dvora
OptionPanel.separator.NodeFont=Font \u010Dvora
OptionPanel.separator.NodeShape=Oblik \u010Dvora
@@ -1332,6 +1337,7 @@ OptionPanel.single_instance=Otvori datoteku u aktivnom prozoru programa
OptionPanel.single_instance_force=Izbjegni otvaranje datoteke u novom prozoru programa
OptionPanel.single_instance_force.tooltip=Izbjegni otvaranje programa u novom prozoru \u010Dak iako ne postoji datoteka za u\u010Ditavanje
OptionPanel.sk=slova\u010Dki
+OptionPanel.skip_template_selection=Presko\u010Di okvir za odabir predlo\u0161ka
OptionPanel.sl=slovenski
OptionPanel.slow_scroll_selected_node=Sporo pomicanje do odabranog \u010Dvora
OptionPanel.small_bubble=Mali mjehuri\u0107
@@ -1589,6 +1595,7 @@ select_folder_for_importing=Odaberite mapu uvoza
select_icon=Odabir ikone
select_menu_item_dialog=Odaberite stavku izbornika
select_menu_item_root_node=Izbornik
+select_template=Odaberi predlo\u017Eak
SelectAllAction.text=Odaberi sve vidljive \u010Dvorove
SelectBranchAction.text=Odaberi vidljive grane
SelectedPasteAction.text=Zalijepi kao...
@@ -1866,6 +1873,7 @@ TextAlignAction.DEFAULT.text=Zadano
TextAlignAction.LEFT.text=Poravnaj tekst ulijevo
TextAlignAction.RIGHT.text=Poravnaj tekst desno
textalignment=Poravnavanje teksta
+TextChangeHotKeyAction.text=Postavi tipkovni\u010Dku kraticu za promjenu teksta
TimeListAction.text=Prika\u017Ei popis vremenskih podsjetnika ...
TimeListAction.tooltip=Prikazuje sve vremenske podsjetnike i pripadaju\u0107e \u010Dvorove.
TimeManagementAction.text=Prika\u017Ei kalendar...
@@ -1887,6 +1895,11 @@ ToggleScrollbarsAction.text=Kliza\u010Di
ToggleStatusAction.text=Prika\u017Ei statusnu traku
ToggleToolbarAction.text=Alatna traka
toolbars=Alatne trake
+TranslatedElement.BORDER=Okvir teksta
+TranslatedElement.TEXT=Tekst
+TranslatedElement.TOOLTIP=Opis alata
+uiTextChanger.originalTextIsNotDefined=Originalni tekst nije definiran
+uiTextChanger.replaceText=Zamjeni tekst korisni\u010Dkog su\u010Delja
undefined_error=Do\u0161lo je do neo\u010Dekivane gre\u0161ke. Molim poku\u0161ajte poslati poruku o gre\u0161ci.
underline=Podcrtano
UnderlineAction.text=Podcrtano
diff --git a/freeplane/resources/translations/Resources_hu.properties b/freeplane/resources/translations/Resources_hu.properties
index 68d2598..e4b3166 100644
--- a/freeplane/resources/translations/Resources_hu.properties
+++ b/freeplane/resources/translations/Resources_hu.properties
@@ -959,7 +959,6 @@ OptionPanel.antialias_all=Minden elem \u00E9lsim\u00EDt\u00E1sa
OptionPanel.antialias_edges=\u00C9lek \u00E9lsim\u00EDt\u00E1sa
OptionPanel.antialias_none=Nincs \u00E9lsim\u00EDt\u00E1s
OptionPanel.Appearance=Megjelen\u00E9s
-OptionPanel.apply_system_screen_resolution=Rendszer-felbont\u00E1s haszn\u00E1lata
OptionPanel.approximate_search_threshold=T\u0171r\u00E9s a k\u00F6r\u00FCl-bel\u00FCli egyez\u00E9shez
OptionPanel.approximate_search_threshold.tooltip=<html>T\u0171r\u00E9s a k\u00F6r\u00FCl-bel\u00FCli egyez\u00E9shez<br/><font size="2">l\u00E1sd a http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>oldalt (magasabb \u00E9rt\u00E9kre kevesebb<br/>tal\u00E1latot eredm\u00E9nyez)</html>
OptionPanel.ar=Arab / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
diff --git a/freeplane/resources/translations/Resources_it.properties b/freeplane/resources/translations/Resources_it.properties
index b05b665..1b8c334 100644
--- a/freeplane/resources/translations/Resources_it.properties
+++ b/freeplane/resources/translations/Resources_it.properties
@@ -886,7 +886,6 @@ OptionPanel.antialias_all=Antialias tutto
OptionPanel.antialias_edges=Antialias collegamenti
OptionPanel.antialias_none=No antialias
OptionPanel.Appearance=Visualizzazione
-OptionPanel.apply_system_screen_resolution=Applica la risoluzione standard dello schermo
OptionPanel.approximate_search_threshold=Soglia di approssimazione
OptionPanel.approximate_search_threshold.tooltip=<html>Soglia di approssimazione per il confronto<br/><font size="2">vedere http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(pi\u00F9 alto \u00E8 il valore, minore \u00E8 la tolleranza<br/>per i termini riconosciuti)</html>
OptionPanel.ar=Arabo / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
diff --git a/freeplane/resources/translations/Resources_ja.properties b/freeplane/resources/translations/Resources_ja.properties
index 41fc454..786743a 100644
--- a/freeplane/resources/translations/Resources_ja.properties
+++ b/freeplane/resources/translations/Resources_ja.properties
@@ -885,6 +885,7 @@ no_found_from=<html>"{1}" \u306E\u679D\u306B <u>{0}</u> \u306F\u3042\u308A\u
no_more_found_from=<html>"{1}" \u306E\u679D\u306B \u3053\u308C\u4EE5\u4E0A <u>{0}</u> \u306F\u3042\u308A\u307E\u305B\u3093\u3002</html>
no_previous_find=\u524D\u56DE\u306E\u691C\u7D22\u6761\u4EF6\u304C\u3042\u308A\u307E\u305B\u3093\u3002
no_styles_found_in_map=\u30DE\u30C3\u30D7\u306B\u30B9\u30BF\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+no_translation_strings_found=\u7FFB\u8A33\u3067\u304D\u308B\u6587\u5B57\u5217\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
node=\u30CE\u30FC\u30C9
node_changed_discard_changes=\u3059\u3067\u306B\u30CE\u30FC\u30C9\u3092\u5909\u66F4\u3057\u3066\u3044\u307E\u3059\u3002\u5909\u66F4\u70B9\u3092\u7834\u68C4\u3057\u307E\u3059\u304B\uFF1F
node_is_write_protected=\u3053\u306E\u30CE\u30FC\u30C9\u306F\u66F8\u304D\u8FBC\u307F\u7981\u6B62\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
@@ -955,7 +956,6 @@ OptionPanel.antialias_all=\u3059\u3079\u3066\u30A2\u30F3\u30C1\u30A8\u30A4\u30EA
OptionPanel.antialias_edges=\u7DDA\u3060\u3051\u30A2\u30F3\u30C1\u30A8\u30A4\u30EA\u30A2\u30B9
OptionPanel.antialias_none=\u30A2\u30F3\u30C1\u30A8\u30A4\u30EA\u30A2\u30B9\u306A\u3057
OptionPanel.Appearance=\u753B\u9762\u8868\u793A
-OptionPanel.apply_system_screen_resolution=\u30B7\u30B9\u30C6\u30E0\u306E\u753B\u9762\u89E3\u50CF\u5EA6\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u3068\u3057\u3066\u9069\u7528
OptionPanel.approximate_search_threshold=\u66D6\u6627\u691C\u7D22\u306E\u95BE\u5024
OptionPanel.approximate_search_threshold.tooltip=<html>\u66D6\u6627\u691C\u7D22\u3067\u30DE\u30C3\u30C1\u3057\u305F\u3068\u307F\u306A\u3059\u95BE\u5024\u3067\u3059\u3002<br/><font size="2">http://freeplane.sf.net/wiki/index.php/Approximate_search \u3092\u53C2\u7167\u3002</font><br/>\uFF08\u5024\u304C\u5927\u304D\u3044\u307B\u3069\u3001\u691C\u7D22\u6761\u4EF6\u306B\u30DE\u30C3\u30C1\u3059\u308B\u3082\u306E\u304C\u5C11\u306A\u304F\u306A\u308A\u307E\u3059\u3002\uFF09</html>
OptionPanel.ar=\u30A2\u30E9\u30D3\u30A2\u8A9E\uFF0F\u0627\u0644\u0639\u0631\u0628\u064A\u0629
@@ -1326,6 +1326,7 @@ OptionPanel.single_instance=\u5B9F\u884C\u4E2D\u306E\u30A4\u30F3\u30B9\u30BF\u30
OptionPanel.single_instance_force=\u7B2C\uFF12\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u4F5C\u6210\u3092\u7981\u6B62
OptionPanel.single_instance_force.tooltip=\u8AAD\u307F\u8FBC\u307F\u30D5\u30A1\u30A4\u30EB\u304C\u306A\u3044\u5834\u5408\u3067\u3082\u3001\u7B2C\uFF12\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u4F5C\u6210\u3057\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059\u3002
OptionPanel.sk=\u30B9\u30ED\u30D0\u30AD\u30A2\u8A9E\uFF0Fsloven\u010Dina
+OptionPanel.skip_template_selection=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u9078\u629E\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u30B9\u30AD\u30C3\u30D7\u3059\u308B
OptionPanel.sl=\u30B9\u30ED\u30D9\u30CB\u30A2\u8A9E\uFF0Fsloven\u0161\u010Dina
OptionPanel.slow_scroll_selected_node=\u9078\u629E\u30CE\u30FC\u30C9\u3092\u4E2D\u592E\u306B\u3059\u308B\u5834\u5408\u3001\u3086\u3063\u304F\u308A\u30B9\u30AF\u30ED\u30FC\u30EB
OptionPanel.small_bubble=\u5C0F\u3055\u306A\u56F2\u307F
@@ -1581,6 +1582,7 @@ select_folder_for_importing=\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u30D5\u30
select_icon=\u30A2\u30A4\u30B3\u30F3\u3092\u9078\u629E...
select_menu_item_dialog=\u30E1\u30CB\u30E5\u30FC\u304B\u3089\u8A72\u5F53\u9805\u76EE\u3092\u9078\u3093\u3067\u304F\u3060\u3055\u3044\u3002
select_menu_item_root_node=\u30E1\u30CB\u30E5\u30FC
+select_template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u9078\u629E
SelectAllAction.text=\u8868\u793A\u4E2D\u306E\u30CE\u30FC\u30C9\u3092\u3059\u3079\u3066\u9078\u629E
SelectBranchAction.text=\u679D\u306E\u8868\u793A\u30CE\u30FC\u30C9\u3092\u3059\u3079\u3066\u9078\u629E
SelectedPasteAction.text=\u5F62\u5F0F\u3092\u9078\u629E\u3057\u3066\u8CBC\u308A\u4ED8\u3051...
@@ -1858,6 +1860,7 @@ TextAlignAction.DEFAULT.text=\u65E2\u5B9A\u5024
TextAlignAction.LEFT.text=\u5DE6\u63C3\u3048
TextAlignAction.RIGHT.text=\u53F3\u63C3\u3048
textalignment=\u6587\u5B57\u63C3\u3048
+TextChangeHotKeyAction.text=\u6587\u5B57\u5217\u5909\u66F4\u306E\u30DB\u30C3\u30C8\u30AD\u30FC\u3092\u8A2D\u5B9A
TimeListAction.text=\u30BF\u30B9\u30AF\u3092\u7BA1\u7406...
TimeListAction.tooltip=\u3059\u3079\u3066\u306E\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u3068\u95A2\u9023\u30CE\u30FC\u30C9\u3092\u8868\u793A
TimeManagementAction.text=\u6642\u9593\u3092\u7BA1\u7406...
@@ -1879,6 +1882,10 @@ ToggleScrollbarsAction.text=\u30B9\u30AF\u30ED\u30FC\u30EB\u30D0\u30FC
ToggleStatusAction.text=\u30B9\u30C6\u30FC\u30BF\u30B9\u30D0\u30FC\u3092\u8868\u793A
ToggleToolbarAction.text=\u30C4\u30FC\u30EB\u30D0\u30FC
toolbars=\u30C4\u30FC\u30EB\u30D0\u30FC
+TranslatedElement.TEXT=\u30C6\u30AD\u30B9\u30C8
+TranslatedElement.TOOLTIP=\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7
+uiTextChanger.originalTextIsNotDefined=\u5143\u306E\u30C6\u30AD\u30B9\u30C8\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+uiTextChanger.replaceText=UI\u30C6\u30AD\u30B9\u30C8\u306E\u7F6E\u63DB
undefined_error=\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u304C\u304A\u304D\u307E\u3057\u305F\u3002\u30D0\u30B0\u3092\u5831\u544A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
underline=\u4E0B\u7DDA
UnderlineAction.text=\u4E0B\u7DDA
diff --git a/freeplane/resources/translations/Resources_ko.properties b/freeplane/resources/translations/Resources_ko.properties
index fe60d85..678f8ce 100644
--- a/freeplane/resources/translations/Resources_ko.properties
+++ b/freeplane/resources/translations/Resources_ko.properties
@@ -65,7 +65,7 @@ addons.installer.script.no.execution_mode={0} \uC5D0 \uB300\uD574 "excution_mode
addons.installer.script.no.menulocation={0} \uC5D0 \uB300\uD574 "menuLocation"\uC18D\uC131\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC74C
addons.installer.script.no.menutitle={0} \uC5D0 \uB300\uD574 "menuTitleKey"\uC18D\uC131\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC74C
addons.installer.script.no.permissions={0}\uC5D0 \uB300\uD574 \uC9C0\uC815\uB41C \uAD8C\uD55C\uC774 \uC5C6\uC74C
-addons.installer.success=\uC124\uCE58 \uC131\uACF5.\n\uC0C8 \uBD80\uAC00 \uAE30\uB2A5\uC740 \uB2E4\uC2DC \uC2DC\uC791\uD6C4 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
+addons.installer.success=\uC124\uCE58 \uC131\uACF5.\n\uC0C8\uB85C\uC6B4 \uBD80\uAC00 \uAE30\uB2A5\uC740 \uB2E4\uC2DC \uC2DC\uC791\uD6C4 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
addons.installer.success.update={0}\uC5D0\uC11C {1}\uB85C \uAC31\uC2E0 \uC131\uACF5.\n\uC77C\uBD80 \uAE30\uB2A5\uB4E4\uC740 \uB2E4\uC2DC \uC2DC\uC791\uD6C4\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
addons.installer.title=\uBD80\uAC00 \uAE30\uB2A5 \uC124\uCE58\uAE30
addons.installer.too.new=\uD604\uC7AC \uD504\uB9AC\uD50C\uB808\uC778 \uBC84\uC804 {0} \uC774 \uB108\uBB34 \uB192\uC2B5\uB2C8\uB2E4. \uC774 \uBD80\uAC00 \uAE30\uB2A5\uC740 \uBC84\uC804 {1} \uAE4C\uC9C0\uB9CC \uC9C0\uC6D0\uD569\uB2C8\uB2E4
@@ -74,7 +74,7 @@ addons.installer.unknown.deinstallation.rules=\uC54C\uC218 \uC5C6\uB294 \uC124\u
addons.installer.update=\uBC84\uC804 {0} \uC5D0\uC11C \uAC31\uC2E0
addons.installer.warning=<html><body><strong style="color: red; font-size: 9px">\uC2E0\uB8B0\uD558\uB294 \uC6D0\uBCF8\uC73C\uB85C \uBD80\uAC00 \uAE30\uB2A5\uC744 \uC124\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4. \uC545\uC131 \uC18C\uD504\uD2B8\uC6E8\uC5B4\uB294 \uB370\uC774\uD130\uC5D0 \uB300\uD55C \uC190\uC0C1\uC774\uB098 \uAC1C\uC778\uC815\uBCF4\uB97C \uCE68\uD574\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.</strong></body></html>
addons.site=http://freeplane.sourceforge.net/addons/
-AddStyleAttributes.text=\uC18D\uC131\uC744 \uAF34\uB85C\uBD80\uD130 \uBCA0\uAEF4\uC624\uAE30
+AddStyleAttributes.text=\uAF34\uC5D0\uC11C \uC18D\uC131
AddStyleAttributes.tooltip=\uAF34 \uB178\uB4DC\uC5D0\uC11C \uC18D\uC131\uC744 \uCD94\uAC00
AllMapsNodeListAction.text=\uBAA8\uB4E0 \uC9C0\uB3C4\uC5D0\uC11C \uCC3E\uC544 \uBC14\uAFB8\uAE30
always=\uD56D\uC0C1
@@ -84,7 +84,7 @@ antialias_edges=\uC904\uAE30\uB9CC \uC548\uD2F0\uC54C\uB9AC\uC5B4\uC2A4 \uC801\u
antialias_none=\uC548\uD2F0\uC54C\uB9AC\uC5B4\uC2A4 \uC0AC\uC6A9 \uC548\uD568
apply=\uC801\uC6A9(&A)
ApplyAction.text=\uC801\uC6A9(A)
-ApplyFormatPlugin.text=\uC11C\uC2DD \uBC14\uAFB8\uAE30(&C) ...
+ApplyFormatPlugin.text=\uC11C\uC2DD \uBC14\uAFB8\uAE30 ...
ApplyFormatPlugin.tooltip=\uB178\uB4DC\uC640 \uC904\uAE30 \uD2B9\uC131\uC744 \uD55C \uBC88\uC5D0 \uBCC0\uACBD\uD560 \uC218 \uC788\uB294 \uB300\uD654\uC0C1\uC790\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.
ApplyNoFilteringAction.text=\uAC70\uB984\uAE30 \uC5C6\uC74C
ApplySelectedViewConditionAction.text=\uC120\uD0DD\uD55C \uB178\uB4DC \uAC78\uB7EC\uB0B4\uAE30
@@ -141,13 +141,14 @@ automatic_layout_disabled=\uBE44\uD65C\uC131\uD654\uB428
automatically_save_message=\uC9C0\uB3C4\uAC00 \uC790\uB3D9 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4 (\uD30C\uC77C\uBA85 {0})...
AutomaticEdgeColor.FOR_BRANCHES=\uAC00\uC9C0\uB85C
AutomaticEdgeColor.FOR_COLUMNS=\uC5F4\uB85C
+AutomaticEdgeColor.FOR_LEVELS=\uC218\uC900??\uC5D0\uB300\uD558\uC5EC
AutomaticEdgeColor.ON_BRANCH_CREATION=\uC9C0\uC810 \uC0DD\uC131
AutomaticEdgeColorHookAction.text=\uC790\uB3D9 \uC904\uAE30 \uC0C9\uC0C1
AutomaticLayout.ALL=\uBAA8\uB4E0 \uB178\uB4DC\uC5D0
AutomaticLayout.HEADINGS=\uBE44? \uB5A0\uB098\uC9C0 \uC54A\uB294 \uB178\uB4DC\uC5D0\uB300\uD574
AutomaticLayout.level=\uB2E8\uACC4 {0}
AutomaticLayout.level.root=\uCD5C\uC0C1\uC704 \uB178\uB4DC
-AutomaticLayoutAction.text=\uB2E8\uACC4\uBCC4 \uAF34 \uC801\uC6A9(&A)
+AutomaticLayoutAction.text=\uB2E8\uACC4\uBCC4 \uAF34 \uC801\uC6A9
AutomaticLayoutAction.tooltip=<html>\uC9C0\uB3C4\uC758 \uBC30\uCE58 \uD615\uD0DC\uB97C \uACE0\uC815\uD569\uB2C8\uB2E4.<br>\uCD5C\uC0C1\uC704 \uB2E8\uACC4\uB294 \uAC80\uC740\uC0C9, \uB450\uBC88\uC9F8\uB294 \uD30C\uB780\uC0C9 \uB4F1\uC73C\uB85C \uBCC0\uACBD\uB429\uB2C8\uB2E4.</html>
AutomaticLayoutControllerAction.ALL.text=\uBAA8\uB4E0 \uB178\uB4DC\uC5D0
AutomaticLayoutControllerAction.COLUMNS.text=\uC5F4\uB85C
@@ -167,10 +168,12 @@ branch=\uAC00\uC9C0
browse=\uCC3E\uC544\uBCF4\uAE30...
calendar_attributes_panel=\uB2EC\uB825 \uBC0F \uD2B9\uC131
calendar_panel=\uB2EC\uB825
+can_not_clone_encrypted_node=\uC554\uD638\uD654\uB41C \uB178\uB4DC\uB97C \uBCF5\uC0AC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
can_not_connect_to_info_server=\uC815\uBCF4 \uC11C\uBC84\uB85C \uC5F0\uACB0\uD560 \uC218 \uC5C6\uC74C
can_not_delete_predefined_style=\uBBF8\uB9AC \uC815\uC758\uB41C \uAF34\uC744 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC74C
can_not_delete_root_style=\uCD5C\uC0C1\uC704 \uB178\uB4DC \uAF34\uC744 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC74C
can_not_delete_style_group=\uAF34 \uADF8\uB8F9\uC744 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC74C
+can_not_encrypt_cloned_node=\uBCF5\uC0AC\uB41C \uB178\uB4DC\uB97C \uC554\uD638\uD654 \uD560\uC218 \uC5C6\uC2B5\uB2C8\uB2E4
can_not_save_key_set=\uB2E8\uCD95\uD0A4 \uC124\uC815\uC744 \uC800\uC7A5\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
cancel=\uCDE8\uC18C(&C)
CancelAction.text=\uCDE8\uC18C(C)
@@ -178,6 +181,7 @@ cannot_add_parent_diff_parents=\uC774 \uAE30\uB2A5\uC744 \uC774\uC6A9\uD558\uB82
cannot_add_parent_to_root=\uCD5C\uC0C1\uC704 \uB178\uB4DC\uB97C \uC0C8\uB85C\uC6B4 \uC0C1\uC704 \uB178\uB4DC\uC5D0 \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
cannot_delete_root=\uCD5C\uC0C1\uC704 \uB178\uB4DC\uB294 \uC0AD\uC81C\uB418\uAC70\uB098 \uC624\uB824\uB458 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
cannot_join_nodes_with_children=\uD558\uC704 \uB0B4\uC6A9\uC774 \uC788\uB294 \uB178\uB4DC\uB294 \uD569\uCE60 \uC218 \uC5C6\uC74C
+cannot_move_into_child_node=\uC790\uC2DD \uB178\uB4DC\uB85C \uC774\uB3D9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
cannot_move_to_child=\uB178\uB4DC\uB97C \uC790\uC2E0\uC758 \uD558\uC704 \uB178\uB4DC\uB85C \uC62E\uAE38 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
CenterAction.text=\uC911\uC559\uC815\uB82C
CenterSelectedNodeAction.text=\uC120\uD0DD\uD55C \uB178\uB4DC\uB97C \uC911\uC559 \uC815\uB82C
@@ -202,9 +206,9 @@ choose_node_background_color=\uB178\uB4DC \uBC30\uACBD\uC0C9 \uC120\uD0DD:
choose_node_color=\uAE00\uC790\uC0C9 \uC120\uD0DD:
ClearLinkAnchorAction.text=\uC5F0\uACB0 \uC575\uCEE4?? \uC9C0\uC6B0\uAE30
ClearLinkAnchorAction.tooltip=<html>\uC774\uC804\uC5D0 \uC124\uC815\uD55C \uB178\uB4DC \uC575\uCEE4 \uC9C0\uC6B0\uAE30</html>
-CloneAction.text=\uC0AC\uBCF8 \uBD99\uC5EC\uB123\uAE30
+CloneAction.text=\uBCF5\uC0AC\uBCF8 \uBD99\uC5EC\uB123\uAE30
close_btn=\uB2EB\uAE30(&C)
-CloseAction.text=\uD604\uC7AC \uC9C0\uB3C4 \uB2EB\uAE30(&C)
+CloseAction.text=\uC774 \uC9C0\uB3C4 \uB2EB\uAE30
cloud_shapes=\uAD6C\uB984 \uBAA8\uC591
CloudAction.text=\uAD6C\uB984 \uCD94\uAC00 / \uC81C\uAC70 (\uAE30\uBCF8 \uC124\uC815)
CloudColorAction.text=\uAD6C\uB984 \uC0C9\uC0C1...
@@ -222,26 +226,27 @@ connector_label=\uC5F0\uACB0\uC120 \uB77C\uBCA8
connector_lines=\uC5F0\uACB0\uC120 \uC885\uB958
connector_shapes=\uC5F0\uACB0\uC120 \uBAA8\uC591
ConnectorColorAction.text=\uC5F0\uACB0\uC120 \uC0C9\uC0C1...
-CopyAction.text=\uBCA0\uAEF4\uB450\uAE30(C)
-CopyAction.tooltip=\uC120\uD0DD\uD55C \uAC00\uC9C0 \uBCA0\uAEF4\uB450\uAE30
-CopyAttributes.text=\uC18D\uC131 \uBCA0\uAEF4\uB450\uAE30(&A)
-CopyIDAction.text=\uB178\uB4DC ID \uBCA0\uAEF4\uB450\uAE30
+ConvertCloneToIndependentNodeAction.text=\uBCF5\uC0AC \uCDE8\uC18C
+CopyAction.text=\uBCF5\uC0AC
+CopyAction.tooltip=\uC120\uD0DD\uD55C \uAC00\uC9C0 \uBCF5\uC0AC
+CopyAttributes.text=\uC18D\uC131 \uBCF5\uC0AC\uD558\uAE30
+CopyIDAction.text=\uB178\uB4DC ID \uBCF5\uC0AC
CopyMapStylesAction.text=\uC9C0\uB3C4 \uAF34 \uBCF5\uC0AC...
-CopyNodeURIAction.text=\uB178\uB4DC URI \uBCA0\uAEF4\uB450\uAE30
+CopyNodeURIAction.text=\uB178\uB4DC URI \uBCF5\uC0AC
copyright=\uC800\uC791\uAD8C \u00A9 2000-2016 \uD504\uB9AC\uD50C\uB808\uC778 \uD300\uACFC \uB3C4\uC640\uC8FC\uC2E0\uBD84\uB4E4
-CopySingleAction.text=\uB178\uB4DC \uBCA0\uAEF4\uB450\uAE30(&S)
-CopySingleAction.tooltip=\uC120\uD0DD\uD55C \uB178\uB4DC\uB9CC \uBCA0\uAEF4\uB450\uAE30
-CopyStyleExtensionsAction.text=\uAF34 \uB178\uB4DC \uD655\uC7A5 \uD56D\uBAA9 \uBCA0\uAEF4\uB450\uAE30
+CopySingleAction.text=\uB2E8\uC77C \uB178\uB4DC \uBCF5\uC0AC(&S)
+CopySingleAction.tooltip=\uC120\uD0DD\uD55C \uB178\uB4DC\uB9CC \uBCF5\uC0AC
+CopyStyleExtensionsAction.text=\uAF34 \uB178\uB4DC \uD655\uC7A5 \uD56D\uBAA9 \uBCF5\uC0AC
corrupt_map=\uC9C0\uB3C4 \uB0B4\uC6A9\uC774 \uC190\uC0C1\uB418\uC5C8\uC2B5\uB2C8\uB2E4
CreateConjunctConditionAction.text=\uADF8\uB9AC\uACE0
CreateDisjunctConditionAction.text=\uB610\uB294
CreateNotSatisfiedConditionAction.text=\uC544\uB2D8
-CreationModificationPluginAction.text=\uC218\uC815\uB41C \uC2DC\uAC04 \uD45C\uC2DC(&M)
+CreationModificationPluginAction.text=\uC218\uC815\uB41C \uC2DC\uAC04 \uD45C\uC2DC
CreationModificationPluginAction.tooltip=<html>\uC774 \uAE30\uB2A5\uC740 \uB178\uB4DC\uC758 \uC218\uC815/\uBCC0\uACBD \uC2DC\uAC04\uC744 \uAE30\uB85D\uD569\uB2C8\uB2E4.</html>
current_dir=\uC9C0\uB3C4
CutAction.text=\uC798\uB77C\uB0B4\uAE30(T)
-decrease_branch_font_size=\uAC00\uC9C0\uC758 \uD3F0\uD2B8 \uC791\uAC8C
-DecreaseNodeFontAction.text=\uAC00\uC9C0\uC758 \uD3F0\uD2B8 \uC791\uAC8C
+decrease_branch_font_size=\uB354 \uC791\uC740 \uAE00\uAF34
+DecreaseNodeFontAction.text=\uB354 \uC791\uC740 \uAE00\uAF34
default=\uAE30\uBCF8 \uC124\uC815
defaultAuxiliaryWordList=??a, the, of
DefaultColorAction.text=\uAE30\uBCF8 \uC0C9
@@ -316,16 +321,16 @@ EditLongAction.text=\uB178\uB4DC \uD45C\uC81C\uB97C \uB300\uD654 \uC0C1\uC790\uC
EditNoteInDialogAction.text=\uB300\uD654\uC0C1\uC790\uC758 \uBA54\uBAA8 \uD3B8\uC9D1
EditScript=\uC2A4\uD06C\uB9BD\uD2B8 \uD3B8\uC9D1...
EditStylesAction.text=\uAF34 \uD3B8\uC9D1
-EncryptedMap.text=\uC554\uD638\uD654\uB41C \uC9C0\uB3C4\uB85C \uC800\uC7A5(&Y) ...
-EncryptedMap.tooltip=\uC554\uD638\uD654\uB41C \uC0C8\uB85C\uC6B4 \uC9C0\uB3C4 \uC791\uC131
+EncryptedMap.text=\uC0C8\uB85C\uC6B4 \uC554\uD638\uD654\uB41C \uC9C0\uB3C4 ...
+EncryptedMap.tooltip=\uC0C8\uB85C\uC6B4 \uC554\uD638\uD654\uB41C \uC9C0\uB3C4
encryption=\uC554\uD638\uD654
enter_base_url=\uC5F0\uAD00\uB41C \uB9C1\uD06C\uB97C \uBD99\uC5EC\uB123\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8 URL\uC744 \uC785\uB825\uD558\uC138\uC694.
enter_command=\uBA85\uB839\uC5B4 \uC785\uB825
-enter_condition_name=\uC0C8\uB85C\uC6B4 \uC870\uAC74\uBA85\uC744 \uC785\uB825
+enter_condition_name=\uC0C8\uB85C\uC6B4 \uC870\uAC74 \uC774\uB984 \uC785\uB825
enter_confirms=\uC5D4\uD130 \uD0A4\uB85C \uD655\uC778(&E)
enter_keyset_name=\uB2E8\uCD95\uD0A4 \uC124\uC815 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694
enter_map_url=\uC9C0\uB3C4 URL\uC744 \uC785\uB825\uD558\uC138\uC694
-enter_new_style_name=\uC0C8\uB85C\uC6B4 \uAF34 \uC774\uB984 \uC785\uB825
+enter_new_style_name=\uC0C8\uB85C\uC6B4 \uBAA8\uC591 \uC774\uB984 \uC785\uB825
enter_node_id=\uB178\uB4DC ID \uC785\uB825
enter_zoom=\uD655\uB300\uC728 \uC785\uB825
EnterPassword.text=\uC554\uD638 \uC785\uB825
@@ -349,8 +354,8 @@ export_failed=\uB0B4\uBCF4\uB0B4\uAE30 \uC2E4\uD328
export_pdf_text=PDF(\uD734\uB300\uC6A9 \uBB38\uC11C \uD615\uC2DD) text\uB85C \uB0B4\uBCF4\uB0B4\uAE30
export_svg_text=SVG(Scalable Vector Graphic) \uD14D\uC2A4\uD2B8\uB85C \uB0B4\uBCF4\uB0B4\uAE30
export_using_xslt=\uD504\uB9AC\uD50C\uB808\uC778 \uB0B4\uBCF4\uB0B4\uAE30
-ExportAction.text=\uC9C0\uB3C4 \uB0B4\uBCF4\uB0B4\uAE30... (&E)
-ExportBranchAction.text=\uAC00\uC9C0\uB97C \uC0C8\uB85C\uC6B4 \uC9C0\uB3C4\uB85C \uC774\uB3D9...
+ExportAction.text=\uC9C0\uB3C4 \uB0B4\uBCF4\uB0B4\uAE30...
+ExportBranchAction.text=\uC0C8\uB85C\uC6B4 \uC9C0\uB3C4\uB85C \uAC00\uC9C0\uB97C \uC774\uB3D9...
ExportBranchToHTMLAction.text=\uAC00\uC9C0\uB97C HTML\uB85C \uB0B4\uBCF4\uB0B4\uAE30
exported_file=\uD30C\uC77C {0}
ExportPdf.text=PDF
@@ -368,7 +373,7 @@ ExternalImageAddAction.text=\uC774\uBBF8\uC9C0 \uCD94\uAC00...
ExternalImageChangeAction.text=\uC774\uBBF8\uC9C0 \uBCC0\uACBD...
ExternalImageRemoveAction.text=\uC774\uBBF8\uC9C0 \uC81C\uAC70
ExtractLinkFromTextAction.text=\uD14D\uC2A4\uD2B8 \uB0B4\uBD80\uC5D0\uC11C \uB9C1\uD06C \uBCC0\uD658
-ExtractLinkFromTextAction.tooltip=\uC8FC\uC18C n \uB178\uB4DC \uD14D\uC2A4\uD2B8\uC5D0\uC11C \uD558\uC774\uD37C \uB9C1\uD06C\uB97C \uC124\uC815
+ExtractLinkFromTextAction.tooltip=\uB178\uB4DC \uAE00\uC790\uC5D0 \uD558\uC774\uD37C \uACE0\uB9AC\uB97C \uC124\uC815
extras=\uB3C4\uAD6C(&T)
f_button_unassigned=<\uB3D9\uC791 \uC5C6\uC74C>
FaqOpenURLAction.text=\uC790\uC8FC \uBB3B\uB294 \uC9C8\uBB38
@@ -389,7 +394,7 @@ FileProperties_NodeSelectionCount=\uC120\uD0DD\uD55C \uB178\uB4DC \uC218:
FileProperties_TotalFilteredCount=\uAC70\uB984\uAE30\uB97C \uB9CC\uC871\uD558\uB294 \uB178\uB4DC \uC218:
FileProperties_TotalLeafCount=\uCD5C\uD558\uC704 \uB178\uB4DC \uC218 \uD569\uACC4:
FileProperties_TotalNodeCount=\uCD1D \uB178\uB4DC \uC218:
-FilePropertiesAction.text=\uC9C0\uB3C4 \uAD00\uB828 \uD1B5\uACC4(&I)...
+FilePropertiesAction.text=\uC9C0\uB3C4 \uD1B5\uACC4...
FileRevisionsDialog.cancel=\uCDE8\uC18C (&C)
FileRevisionsDialog.file_last_modified=\uD0C0\uC784\uC2A4\uD0EC\uD504
FileRevisionsDialog.file_name=\uD30C\uC77C
@@ -404,8 +409,8 @@ filter=\uAC70\uB984\uAE30(&I)
filter_add=\uCD94\uAC00(&A)
filter_and=\uADF8\uB9AC\uACE0( &n)
filter_any_text=\uD45C\uC81C, \uC138\uBD80 \uC0AC\uD56D \uB610\uB294 \uB178\uD2B8
-filter_clone_snapshot=\uC800\uC7A5\uB41C?? \uC0AC\uBCF8 \uC120\uD0DD
-filter_clones=\uC0AC\uBCF8 \uC120\uD0DD?? \uC120\uD0DD\uC758 \uC0AC\uBCF8
+filter_clone_snapshot=\uC800\uC7A5\uB41C \uBCF5\uC0AC\uBCF8 \uC120\uD0DD
+filter_clones=\uBCF5\uC0AC\uBCF8 \uC120\uD0DD
filter_conditions=\uAC70\uB984\uAE30
filter_contains=\uB2E4\uC74C \uBB38\uC790\uC5F4\uC744 \uD3EC\uD568
filter_created_after=\uB2E4\uC74C \uB0A0\uC9DC \uC774\uD6C4\uC5D0 \uC0DD\uC131
@@ -430,7 +435,7 @@ filter_match_case_tooltip=\uC77C\uCE58 \uD560\uACBD\uC6B0 \uC874\uC911\uC5EC\uBD
filter_modified_after=\uBCC0\uACBD \uD6C4
filter_modified_before=\uBCC0\uACBD \uC804
filter_no_filtering=\uAC70\uB984\uAE30 \uC5C6\uC74C(\uC81C\uAC70)
-filter_node=\uD45C\uC81C \uB0B4\uC6A9
+filter_node=\uD45C\uC81C \uAE00\uC790
filter_node_level=\uB178\uB4DC\uC758 \uB2E8\uACC4
filter_not=\uC544\uB2D8( &N)
filter_note=\uB178\uD2B8
@@ -454,17 +459,18 @@ filter_style=\uAF34
filter_time=\uB0A0\uC9DC \uAC70\uB984\uAE30
FilterCondition=\uC870\uAC74\uBD80 \uAC70\uB984\uAE30
filterConditions=\uC0AC\uC6A9\uC790\uC815\uC758 \uAC70\uB984\uAE30
-filters_not_loaded=\uAC70\uB984\uAE30\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD30C\uC77C\uC774 \uC190\uC0C1\uB428
+filterConditions.noActions=\uC774\uB984 \uC5C6\uB294 \uAC70\uB984\uB9DD
+filters_not_loaded=\uD30C\uC77C\uC774 \uC190\uC0C1\uB418\uC5B4 \uAC70\uB984\uAE30\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
find=\uCC3E\uAE30
find_what=\uCC3E\uC744 \uB0B4\uC6A9
-FindAction.text=\uCC3E\uAE30...
+FindAction.text=\uCC3E\uAE30(&F)...
FindNextAction.text=\uB2E4\uC74C \uCC3E\uAE30
FindPreviousAction.text=\uC774\uC804 \uCC3E\uAE30
fit_background_to_page=\uD55C\uC7A5\uC73C\uB85C \uBC30\uACBD \uADF8\uB9BC\uC744 \uB9DE\uCD94\uAE30
fit_map_to_page=\uD55C \uD398\uC774\uC9C0\uC5D0 \uB9DE\uCD94\uAE30(&F)
fit_map_to_page_height=\uD55C \uD398\uC774\uC9C0\uC5D0 \uB192\uC774\uB97C \uB9DE\uCD94\uAE30(&H)
fit_map_to_page_width=\uD55C \uD398\uC774\uC9C0\uC5D0 \uB108\uBE44\uB97C \uB9DE\uCD94\uAE30(&W)
-FitToPage.text=\uD398\uC774\uC9C0\uC5D0 \uB9DE\uAC8C \uD655\uB300/\uCD95\uC18C(&F)
+FitToPage.text=\uD398\uC774\uC9C0\uC5D0 \uB9DE\uAC8C \uC870\uC815
FitToPage.tooltip=\uD604\uC7AC \uCC3D\uC5D0 \uC9C0\uB3C4 \uC804\uCCB4\uAC00 \uB4E4\uC5B4\uAC00\uB3C4\uB85D \uD655\uB300\uC728\uC744 \uC870\uC815\uD569\uB2C8\uB2E4.
fold=\uC811\uAE30
FoldAllAction.text=\uBAA8\uB450 \uC811\uAE30
@@ -475,19 +481,19 @@ follow_clone=\uB0B4\uBD80\uB85C "{0}"
follow_graphical_link=''{0}'' \uB85C \uAC00\uAE30
FollowLinkAction.text=\uB9C1\uD06C \uB530\uB77C\uAC00\uAE30
font=\uAE00\uAF34
-FontFamilyAction.text=\uD3F0\uD2B8 \uC885\uB958
-FontSizeAction.text=\uD3F0\uD2B8 \uD06C\uAE30
+FontFamilyAction.text=\uAE00\uAF34 \uAC00\uC871
+FontSizeAction.text=\uAE00\uAF34 \uD06C\uAE30
format=\uBAA8\uC591
format_invalid_pattern=\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD328\uD134
format_menu_cloud_shapes=\uAD6C\uB984\uC744 \uCD94\uAC00\uD558\uAC70\uB098 \uAF34 \uBCC0\uACBD
format_menu_edge_styles=\uC904\uAE30 \uAF34(&E)
format_menu_edge_widths=\uC904\uAE30 \uB450\uAED8(&W)
format_panel=\uC11C\uC2DD
-FormatCopy.text=\uC11C\uC2DD \uBCA0\uAEF4\uB450\uAE30
-FormatCopy.tooltip=<html>\uB178\uB4DC\uC5D0 \uC0AC\uC6A9\uB41C \uC11C\uC2DD\uC744 \uBCA0\uAEF4\uB461\uB2C8\uB2E4.</html>
+FormatCopy.text=\uD615\uC2DD \uBCF5\uC0AC
+FormatCopy.tooltip=<html>\uB178\uB4DC\uC5D0 \uC0AC\uC6A9\uB41C \uC11C\uC2DD\uC744 \uBCF5\uC0AC\uD569\uB2C8\uB2E4.</html>
FormatPaste.text=\uC11C\uC2DD \uBD99\uC5EC\uB123\uAE30
-FormatPaste.tooltip=<html>\uBCA0\uAEF4\uB454 \uC11C\uC2DD\uC744 \uB178\uB4DC\uC5D0 \uC801\uC6A9\uD569\uB2C8\uB2E4.</html>
-formats_not_loaded=\uD615\uC2DD\uC744 \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD30C\uC77C\uC774 \uC190\uC0C1\uB428
+FormatPaste.tooltip=<html>\uB178\uB4DC\uC758 \uD615\uC2DD\uC744 \uBD99\uC5EC\uB123\uAE30 \uD569\uB2C8\uB2E4.</html>
+formats_not_loaded=\uD30C\uC77C\uC774 \uC190\uC0C1\uB418\uC5B4 \uD615\uC2DD\uC744 \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
formula.error.attributeValueIsNull=\uD3C9\uAC00 \uD6C4 \uD2B9\uC131 \uAC12 ''{0}'' \uC740 \uB110(null) \uC785\uB2C8\uB2E4.
formula.error.circularReference=\uC21C\uD658 \uCC38\uC870: \uC218\uC2DD \uB178\uB4DC ''{0}'' \uC5D0\uC11C \uC790\uC2E0\uC744 \uCC38\uC870 \uD569\uB2C8\uB2E4.
formula.EvaluateAllAction.text=\uD3C9\uAC00\uD558\uAE30
@@ -513,6 +519,7 @@ FreeplaneHelpStarter.text=\uC628\uB77C\uC778 \uB3C4\uC6C0\uB9D0...
FreeplaneHelpStarter.tooltip=\uD504\uB9AC\uD50C\uB808\uC778 \uD655\uC7A5 \uB3C4\uC6C0\uB9D0
GettingStartedAction.text=\uC790\uC2B5\uC11C
goto=\uAC00\uAE30
+goto.noActions=\uB300\uC0C1 \uB178\uB4DC \uC5C6\uC74C
GotoLinkNodeAction.text=\uB9C1\uD06C\uB85C \uAC00\uAE30
GotoNodeAction.text=ID\uB85C \uB178\uB4DC \uC120\uD0DD...
GrabKeyDialog.common.cancel=\uCDE8\uC18C
@@ -522,13 +529,13 @@ GrabKeyDialog.grab-key.assigned-to.none=\uD604\uC7AC \uC9C0\uC815\uB418\uC5B4 \u
GrabKeyDialog.grab-key.clear=\uC9C0\uC6B0\uAE30
GrabKeyDialog.grab-key.remove=\uC81C\uAC70
GrabKeyDialog.grab-key.remove-ask=\uC774 \uB2E8\uCD95\uD0A4\uB97C \uC9C0\uC6B8\uAE4C\uC694?
-GrabKeyDialog.grab-key.title=\uC0C8\uB85C\uC6B4 \uD0A4\uAC12\uC744 \uC785\uB825\uD558\uC138\uC694
+GrabKeyDialog.grab-key.title=\uC0C8\uB85C\uC6B4 \uD0A4\uB97C \uC785\uB825
green=\uCD08\uB85D\uC0C9
help=\uB3C4\uC6C0\uB9D0(&H)
HideableAction.tooltip=<html>\uAC01\uAC01 \uBC14\uB010 \uB178\uB4DC\uC758 \uBC30\uACBD\uC744 \uCCB4\uD06C\uD45C\uC2DC\uD569\uB2C8\uB2E4.</html>
HideAllAttributesAction.text=\uBAA8\uB4E0 \uC18D\uC131 \uC228\uAE30\uAE30
HierarchicalIcons2Action.text=\uD558\uC704 \uB178\uB4DC \uC544\uC774\uCF58\uC758 \uAD50\uC9D1\uD569 \uBCF4\uC774\uAE30
-HierarchicalIconsAction.text=\uC544\uC774\uCF58 \uACC4\uCE35\uC801\uC73C\uB85C \uBCF4\uAE30
+HierarchicalIconsAction.text=\uC544\uC774\uCF58\uC744 \uACC4\uCE35\uC801\uC73C\uB85C \uD45C\uC2DC
HierarchicalIconsAction.tooltip=\uB098\uC758 \uD558\uC704 \uB178\uB4DC \uC911\uC5D0 \uC544\uC774\uCF58\uC774 \uC788\uC744 \uACBD\uC6B0 \uB098\uB3C4 \uADF8 \uC544\uC774\uCF58\uC744 \uC791\uAC8C \uD45C\uC2DC\uD569\uB2C8\uB2E4.
hot_keys=\uB2E8\uCD95\uD0A4
hot_keys_table=\uB2E8\uCD95\uD0A4 \uD45C
@@ -566,7 +573,7 @@ icon_down=\uC544\uB798
icon_edit=\uAD6C\uCCB4\uD654
icon_encrypted=\uC7A0\uAE40
icon_executable=\uC2E4\uD589 \uAC00\uB2A5
-icon_family=\uAE00\uAF34
+icon_family=\uAC00\uC871
icon_fema=\uB0A8\uC790\uC640 \uC5EC\uC790
icon_female1=\uC5EC\uC7901
icon_female2=\uC5EC\uC7902
@@ -630,12 +637,12 @@ icon_revision=\uAC1C\uC815\uD310
icon_smiley-angry=\uD654\uB0A8
icon_smiley-neutral=\uBB34\uD45C\uC815
icon_smiley-oh=\uB180\uB78C
-icon_smily_bad=\uC7AC\uBBF8 \uC5C6\uC5B4
-icon_stop=\uBE68\uAC04 \uC2E0\uD638\uB4F1
+icon_smily_bad=\uC7AC\uBBF8 \uC5C6\uC74C
+icon_stop=\uBE68\uAC04\uC0C9 \uC2E0\uD638\uB4F1
icon_stop-sign=\uC815\uC9C0
icon_subtraction=\uBE84\uC148
icon_unchecked=\uCCB4\uD06C \uD574\uC81C
-icon_up=\uC704
+icon_up=\uC704\uB85C
icon_user_icon=\uC0AC\uC6A9\uC790 \uC544\uC774\uCF58
icon_very_negative=\uAC15\uD558\uAC8C \uBD80\uC815
icon_very_positive=\uAC15\uD558\uAC8C \uAE0D\uC815
@@ -675,13 +682,14 @@ image_covertLink=\uB9C1\uD06C\uB97C \uC774\uBBF8\uC9C0\uB85C \uBCC0\uD658
ImageFlavorHandler=\uC774\uBBF8\uC9C0 (use separate file)
import=\uAC00\uC838\uC624\uAE30(&M)
import_linked_branch_no_link=\uC120\uD0DD\uD55C \uB178\uB4DC\uC5D0\uB294 \uAC00\uC838\uC62C \uB9C1\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.
-ImportAction.text=\uC9C0\uB3C4 \uAC00\uC838\uC624\uAE30(&I)
+ImportAction.text=\uC9C0\uB3C4 \uAC00\uC838\uC624\uAE30
ImportBranchAction.text=\uAC00\uC9C0(B)...
-ImportExplorerFavoritesAction.text=\uC990\uACA8\uCC3E\uAE30 \uD0D0\uC0C9(&E)...
+ImportExplorerFavoritesAction.text=\uC990\uACA8\uCC3E\uAE30 \uD0D0\uC0C9...
ImportFolderStructureAction.text=\uD3F4\uB354 \uAD6C\uC870(F)...
-ImportLinkedBranchAction.text=\uC5F0\uACB0\uB41C \uAC00\uC9C0(&L)
-ImportLinkedBranchWithoutRootAction.text=\uCD5C\uC0C1\uC704 \uB178\uB4DC \uC81C\uC678 \uC5F0\uACB0\uB41C \uAC00\uC9C0(&W)...
+ImportLinkedBranchAction.text=\uC5F0\uACB0\uB41C \uAC00\uC9C0
+ImportLinkedBranchWithoutRootAction.text=\uCD5C\uC0C1\uC704 \uB178\uB4DC \uC5C6\uC774 \uC5F0\uACB0\uB41C \uAC00\uC9C0...
ImportMindmanagerFiles.text=MindManager X5 \uD615\uD0DC\uC758 \uC9C0\uB3C4...
+ImportXmlFile.text=XML \uD30C\uC77C \uAC00\uC838\uC624\uAE30
increase_branch_font_size=\uB354 \uD070 \uAE00\uAF34
IncreaseNodeFontAction.text=\uB354 \uD070 \uAE00\uAF34
internal_error_tooltip=\uB0B4\uBD80 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uC815\uBCF4\uB97C \uD655\uC778\uD558\uAE30 \uC704\uD574 \uCD5C\uC2E0 \uB85C\uADF8\uD30C\uC77C log.0\uB97C \uC5F4\uB824\uBA74 \uD074\uB9AD\uD558\uC138\uC694.
@@ -693,7 +701,9 @@ invalid_url_msg={0}\uC5D0 \uB300\uD55C \uC720\uD6A8\uD55C URL\uC744 \uC0DD\uC131
ItalicAction.text=\uAE30\uC6B8\uC784
italicise_branch=\uAE30\uC6B8\uC774\uAE30
java_version=\uC790\uBC14 \uBC84\uC804: {0}
+JoinNodesAction.separator.format=\uB178\uB4DC "{0}"\uC5D0 \uC5F0\uACB0
lastOpenedMaps=\uAC00\uC7A5 \uCD5C\uADFC \uC9C0\uB3C4
+lastOpenedMaps.noActions=\uAE30\uB85D\uC5D0 \uC5C6\uB294 \uC9C0\uB3C4
latex_editor=LaTeX \uC218\uC2DD \uD3B8\uC9D1
LatexDeleteLatexAction.text=LaTeX \uC218\uC2DD \uC81C\uAC70
LatexEditLatexAction.text=LaTeX \uC218\uC2DD \uD3B8\uC9D1...
@@ -715,6 +725,7 @@ link_not_found={0} \uB9C1\uD06C\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2
links=\uB9C1\uD06C
load=\uBD88\uB7EC\uC624\uAE30(&L)
load_accelerator_presets=\uBD88\uB7EC\uC624\uAE30
+load_accelerator_presets.noActions=\uBBF8\uB9AC\uC124\uC815 \uC5C6\uC74C
LoadAcceleratorPresetsAction.textPatterns.text=\uAE00\uC790 \uD328\uD134
locking_failed_by_open={0} \uC9C0\uB3C4 \uC7A0\uAE08\uC774 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uC77D\uAE30 \uC804\uC6A9\uC73C\uB85C \uC5F4\uB9BD\uB2C8\uB2E4.
locking_failed_by_save_as={0} \uC9C0\uB3C4 \uC7A0\uAE08\uC774 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uB978\uC774\uB984\uC73C\uB85C \uC800\uC7A5 \uB3D9\uC791\uC774 \uC911\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4.
@@ -755,14 +766,14 @@ ManageAddOnsDialog.status.downloading=\uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC \uC9
ManageAddOnsDialog.status.installing=\uBD80\uAC00 \uAE30\uB2A5 \uC124\uCE58 \uC911...
ManageAddOnsDialog.status.success=\uC124\uCE58 \uC644\uB8CC {0}.
ManageAddOnsDialog.tab.install=\uAC80\uC0C9 \uBC0F \uC124\uCE58
-ManageAddOnsDialog.tab.install.tooltip=\uAC80\uC0C9 \uBC0F \uC0C8\uB85C \uBD80\uAC00 \uAE30\uB2A5 \uC124\uCE58
+ManageAddOnsDialog.tab.install.tooltip=\uAC80\uC0C9 \uBC0F \uC0C8\uB85C\uC6B4 \uBD80\uAC00 \uAE30\uB2A5 \uC124\uCE58
ManageAddOnsDialog.tab.manage=\uBD80\uAC00\uAE30\uB2A5
ManageAddOnsDialog.tab.manage.themes=\uD14C\uB9C8
ManageAddOnsDialog.tab.manage.themes.tooltip=\uC124\uCE58\uB41C \uD14C\uB9C8 \uAD00\uB9AC
ManageAddOnsDialog.tab.manage.tooltip=\uC124\uCE58\uB41C \uBD80\uAC00 \uAE30\uB2A5 \uAD00\uB9AC
ManageAddOnsDialog.visit.addon.page=\uBD80\uAC00 \uAE30\uB2A5 \uD398\uC774\uC9C0 \uBC29\uBB38...
-ManageConditionalStylesAction.text=\uC9C0\uB3C4\uC758 \uC870\uAC74\uBCC4 \uAF34 \uAD00\uB9AC(&M)
-ManageNodeConditionalStylesAction.text=\uB178\uB4DC\uC758 \uC870\uAC74\uBCC4 \uAF34 \uAD00\uB9AC(&A)
+ManageConditionalStylesAction.text=\uC9C0\uB3C4\uC758 \uC870\uAC74\uBCC4 \uAF34 \uAD00\uB9AC
+ManageNodeConditionalStylesAction.text=\uB178\uB4DC\uC758 \uC870\uAC74\uBCC4 \uAF34 \uAD00\uB9AC
map_already_exists=\uC774 \uC9C0\uB3C4\uB294 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uB36E\uC5B4\uC4F0\uACA0\uC2B5\uB2C8\uAE4C?
map_background=\uC9C0\uB3C4 \uBC30\uACBD
map_background_image=\uBC30\uACBD \uADF8\uB9BC
@@ -779,7 +790,7 @@ MaxNodeWidth.text=\uCD5C\uB300 \uB178\uB4DC \uB113\uC774 \uC124\uC815
menu_applyStyle=\uAF34 \uC801\uC6A9
menu_attributes=\uC18D\uC131(&A)
menu_clouds=\uAD6C\uB984
-menu_copy=\uBCA0\uAEF4\uB450\uAE30
+menu_copy=\uBCF5\uC0AC
menu_coreFormat=\uB178\uB4DC \uD45C\uC81C
menu_details=\uC790\uC138\uD55C \uB0B4\uC6A9
menu_displayAttributes=\uB178\uB4DC \uC18D\uC131
@@ -834,7 +845,7 @@ navigate=\uD0D0\uC0C9(&N)
NavigationNextMapAction.text=\uB2E4\uC74C \uC9C0\uB3C4
NavigationPreviousMapAction.text=\uC774\uC804 \uC9C0\uB3C4
new=\uC0C8\uB85C \uB9CC\uB4E4\uAE30(&N)
-new_map_from_user_templates.text=\uC11C\uC2DD\uC5D0\uC11C \uC0C8\uB85C\uC6B4 \uC9C0\uB3C4 \uC791\uC131(&T)...
+new_map_from_user_templates.text=\uC11C\uC2DD\uC73C\uB85C \uC0C8\uB85C\uC6B4 \uC9C0\uB3C4 \uC791\uC131...
new_mindmap=\uC0C8\uB85C\uC6B4 \uB9C8\uC778\uB4DC \uC9C0\uB3C4
new_node=\uC0C8\uB85C\uC6B4 \uB178\uB4DC
new_node_as_sibling_not_possible_for_the_root=\uCD5C\uC0C1\uC704 \uB178\uB4DC\uC5D0\uC11C\uB294 \uD615\uC81C \uB178\uB4DC\uB97C \uC0C8\uB85C \uB9CC\uB4E4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
@@ -847,20 +858,21 @@ NewerFileRevisionsFoundDialog.file_name=\uD30C\uC77C
NewerFileRevisionsFoundDialog.file_size=\uBC14\uC774\uD2B8
NewerFileRevisionsFoundDialog.open=\uC5F4\uAE30(&O)
NewerFileRevisionsFoundDialog.open.tooltip=\uC624\uB798\uB41C \uB0A0\uC9DC\uC758 \uD30C\uC77C\uC77C \uACBD\uC6B0\uB77C\uB3C4 \uC5F4\uAE30
-NewerFileRevisionsFoundDialog.question={0}\uAC1C\uC758 \uCD5C\uC2E0 \uAC1C\uC815\uC744 \uCC3E\uC558\uC2B5\uB2C8\uB2E4!
+NewerFileRevisionsFoundDialog.question={0}\uC758 \uB354 \uC0C8\uB85C\uC6B4 \uAC1C\uC815\uD310\uC744 \uCC3E\uC558\uC2B5\uB2C8\uB2E4!
NewerFileRevisionsFoundDialog.restore=\uB418\uB3CC\uB9AC\uAE30(&o)
NewerFileRevisionsFoundDialog.restore.tooltip={0}\uC744 {1}(\uC73C)\uB85C \uB300\uCCB4
-NewerFileRevisionsFoundDialog.title=\uCD5C\uADFC \uD30C\uC77C \uBC84\uC804\uC774 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!
+NewerFileRevisionsFoundDialog.title=\uB354 \uC0C8\uB85C\uC6B4 \uAC1C\uC815\uD310\uC774 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!
+NewFreeNodeAction.text=\uC0C8\uB85C\uC6B4 \uB5A0\uC788\uB294 \uB178\uB4DC
NewLevelStyleAction.text=\uB2E8\uACC4\uBCC4 \uAF34 \uCD94\uAC00
newmap.install.addon.question={0} \uC740 \uBD80\uAC00 \uAE30\uB2A5 \uAFB8\uB7EC\uBBF8 \uAC19\uC2B5\uB2C8\uB2E4.\n \uC124\uCE58\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?\n("\uC544\uB2C8\uC624" \uC120\uD0DD\uC2DC \uC77C\uBC18 \uC5F4\uAE30.)
newmap.install.addon.title=\uBD80\uAC00 \uAE30\uB2A5\uC744 \uC124\uCE58\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
-NewMapAction.text=\uC0C8\uB85C\uC6B4 \uC9C0\uB3C4(&N)
+NewMapAction.text=\uC0C8\uB85C\uC6B4 \uC9C0\uB3C4
NewMapViewAction.text=\uC0C8\uB85C\uC6B4 \uC9C0\uB3C4 \uBCF4\uAE30
NewParentNode.text=\uC0C8\uB85C\uC6B4 \uC0C1\uC704 \uB178\uB4DC
NewParentNode.tooltip=<html>\uC120\uD0DD\uD55C \uBAA8\uB4E0 \uD56D\uBAA9\uC774 \uC0C8\uB85C\uC6B4 \uC0C1\uC704 \uB178\uB4DC\uB85C \uBCF4\uB0B4\uC9D1\uB2C8\uB2E4.</html>
NewPreviousSiblingAction.text=\uC0C8\uB85C\uC6B4 \uC190\uC704 \uD615\uC81C \uB178\uB4DC
NewSiblingAction.text=\uC0C8\uB85C\uC6B4 \uC190\uC544\uB798 \uD615\uC81C \uB178\uB4DC
-NewSummaryAction.text=\uC0C8 \uC694\uC57D \uB178\uB4DC(\uC120\uD0DD\uD55C \uB178\uB4DC\uB4E4)
+NewSummaryAction.text=\uC0C8\uB85C\uC6B4 \uC694\uC57D \uB178\uB4DC(\uC120\uD0DD\uD55C \uB178\uB4DC)
NewUserStyleAction.text=\uC120\uD0DD\uC5D0\uC11C \uC0C8\uB85C\uC6B4 \uAF34
NextNodeAction.BACK.text=\uC774\uC804 \uB178\uB4DC\uB85C \uAC00\uAE30
NextNodeAction.BACK_N_FOLD.text=\uC774\uC804 \uB178\uB4DC \uC774\uB3D9 (\uC811\uD798)
@@ -875,6 +887,7 @@ no_found_from=<html>"{1}"\uC5D0\uC11C <u>{0}</u>\uC744(\uB97C) \uCC3E\uC9C0 \uBA
no_more_found_from=<html>"{1}"\uC5D0\uC11C \uB354 \uC774\uC0C1 <u>{0}</u>\uC744 \uBC1C\uACAC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.</html>
no_previous_find=\uC774\uC804\uC5D0\uC11C \uB354\uC774\uC0C1 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.
no_styles_found_in_map=\uC9C0\uB3C4\uC5D0\uC11C \uAF34\uC774 \uBC1C\uACAC\uB418\uC9C0 \uC54A\uC74C
+no_translation_strings_found=\uBC88\uC5ED \uBB38\uC790\uC5F4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
node=\uB178\uB4DC
node_changed_discard_changes=\uC218\uC815\uB0B4\uC6A9\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBC14\uB010\uB0B4\uC6A9\uC744 \uC800\uC7A5\uD558\uC9C0 \uC54A\uACA0\uC2B5\uB2C8\uAE4C?
node_is_write_protected=\uB300\uC0C1 \uB178\uB4DC\uB294 \uC4F0\uAE30 \uBC29\uC9C0\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
@@ -883,7 +896,7 @@ node_popup_scripting=\uC2A4\uD06C\uB9BD\uD2B8
node_selector=\uB178\uB4DC \uC120\uD0DD
node_selector_message=\uB354\uBE14 \uD074\uB9AD\uD558\uC5EC \uB178\uB4DC \uC120\uD0DD
node_styles=\uB178\uB4DC \uAF34
-NodeBackgroundColorAction.text=\uB178\uB4DC \uBC30\uACBD\uC0C9(&N)...
+NodeBackgroundColorAction.text=\uB178\uB4DC \uBC30\uACBD\uC0C9...
NodeColorAction.text=\uB178\uB4DC \uC0C9\uC0C1...
NodeColorBlendAction.text=\uC0C9\uC0C1 \uD63C\uD569
NodeDownAction.text=\uB178\uB4DC \uC774\uB3D9\uD558\uAE30 (\uD615\uC81C \uC544\uB798\uB85C)
@@ -891,13 +904,13 @@ NodeExtensions.EditNodeExtensions=\uB178\uB4DC \uD655\uC7A5 \uAE30\uB2A5 \uD3B8\
NodeExtensions.RemoveNodeExtensions=\uB178\uB4DC \uD655\uC7A5 \uAE30\uB2A5 \uC81C\uAC70
NodeListAction.text=\uCC3E\uAE30 \uBC0F \uBC14\uAFB8\uAE30...
NodeListAction.tooltip=\uBAA8\uB4E0 \uB178\uB4DC\uB97C \uAC70\uB984\uAE30 \uC18D\uC131\uACFC \uD568\uAED8 \uAC80\uC0C9 \uAC00\uB2A5\uD55C \uBAA9\uB85D\uC73C\uB85C \uBCF4\uC5EC\uC90D\uB2C8\uB2E4.
-NodeShapeAction.bubble.text=\uAC70\uD488\uD615\uD0DC\uC758 \uC678\uACFD\uC120(&B)
-NodeShapeAction.fork.text=\uC678\uACFD\uC120 \uC5C6\uC560\uAE30(&F)
+NodeShapeAction.bubble.text=\uAC70\uD488\uBAA8\uC591 \uC678\uACFD\uC120
+NodeShapeAction.fork.text=\uD3EC\uD06C(\uBCF5\uC0AC??)
NodeShapeAction.narrow_hexagon.text=\uC881\uC740 \uC721\uAC01\uD615
NodeShapeAction.oval.text=\uD0C0\uC6D0\uD615
NodeShapeAction.rectangle.text=\uC0AC\uAC01\uD615
NodeShapeAction.wide_hexagon.text=\uB113\uC740 \uC721\uAC01\uD615
-NodeUpAction.text=\uB178\uB4DC \uC774\uB3D9\uD558\uAE30 (\uD615\uC81C \uC704\uB85C)
+NodeUpAction.text=\uB178\uB4DC \uC774\uB3D9 (\uD615\uC81C \uC704\uB85C)
nonboldify_branch=\uAD75\uC9C0 \uC54A\uAC8C
nonitalicise_branch=\uAE30\uC6B8\uC784 \uD574\uC81C
normal=\uBCF4\uD1B5
@@ -905,11 +918,15 @@ not_saved_for_image_error=\uD30C\uC77C \uC120\uD0DD\uAE30\uB97C \uD1B5\uD574 \uA
not_saved_for_link_error=\uD30C\uC77C \uC120\uD0DD\uAE30\uB97C \uD1B5\uD574 \uACE0\uB9AC\uB97C \uC124\uC815\uD558\uAE30 \uC804\uC5D0 \uC9C0\uB3C4\uAC00 \uBA3C\uC800 \uC800\uC7A5\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4
note_window_location=\uB178\uD2B8 \uD328\uB110 \uC704\uCE58
notes=\uBA54\uBAA8
+NotificationOptions.CLOSE=\uB2EB\uAE30
+NotificationOptions.REMIND_ME_LATER=\uB098\uC911\uC5D0 \uC54C\uB9BC
+NotificationOptions.REMOVE_REMINDER=\uC54C\uB9BC\uC744 \uC81C\uAC70
+NotificationOptions.SELECT_NODE=\uC54C\uB9BC\uC73C\uB85C \uC774\uB3D9
ok=\uD655\uC778(&O)
OKAction.text=\uD655\uC778(O)
OnlineReference.text=\uC628\uB77C\uC778 \uCC38\uACE0\uC11C \uC9C0\uB3C4
open_asMindMap=\uB9C8\uC778\uB4DC \uC9C0\uB3C4
-OpenAction.text=\uC800\uC7A5\uB41C \uC9C0\uB3C4 \uC5F4\uAE30(&O)...
+OpenAction.text=\uC800\uC7A5\uB41C \uC9C0\uB3C4 \uC5F4\uAE30...
OpenFreeplaneSiteAction.text=\uD504\uB9AC\uD50C\uB808\uC778 \uD648\uD398\uC774\uC9C0
OpenMapsAddLocation.text=\uC5F4\uB9B0 \uC9C0\uB3C4 \uC704\uCE58 \uCD94\uAC00...
OpenMapsRemoveLocation.text=\uC5F4\uB9B0 \uC9C0\uB3C4 \uC704\uCE58 \uC81C\uAC70
@@ -941,7 +958,6 @@ OptionPanel.antialias_all=\uBAA8\uB450 \uC548\uD2F0\uC54C\uB9AC\uC5B4\uC2A4 \uC8
OptionPanel.antialias_edges=\uC904\uAE30 \uC548\uD2F0\uC54C\uB9AC\uC5B4\uC2A4
OptionPanel.antialias_none=\uC548\uD2F0\uC54C\uB9AC\uC5B4\uC2A4 \uC0AC\uC6A9 \uC548\uD568
OptionPanel.Appearance=\uC0DD\uAE40\uC0C8
-OptionPanel.apply_system_screen_resolution=\uC2DC\uC2A4\uD15C \uAE30\uBCF8 \uD574\uC0C1\uB3C4\uB97C \uC801\uC6A9\uD558\uAE30
OptionPanel.approximate_search_threshold=\uADFC\uC811\uD55C \uAC80\uC0C9 \uACB0\uACFC \uD45C\uC2DC \uC784\uACC4\uAC12
OptionPanel.approximate_search_threshold.tooltip=<html>\uB300\uB7B5\uC801\uC778 \uAC80\uC0C9\uC5D0 \uB300\uD55C \uC784\uACC4 \uAC12\uC740 <br/><font size="2"> http://freeplane.sf.net/wiki/index.php/Approximate_search</font> \uC744 \uCC38\uACE0\uD558\uC2ED\uC2DC\uC694.<br/>(\uAC80\uC0C9\uC5B4\uC758 \uB354\uB192\uACE0 \uB354\uC801\uC740 \uC801\uC740 \uBCC0\uD654\uB294<br/> \uCC3E\uC544\uC9C8 \uAC83\uC785\uB2C8\uB2E4.)</html>
OptionPanel.ar=\uC544\uB78D\uC5B4 / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
@@ -952,14 +968,18 @@ OptionPanel.automatic=\uC790\uB3D9\uC120\uD0DD
OptionPanel.automaticFormat_level=\uC790\uB3D9 \uB808\uC774\uC544\uC6C3 \uAF34
OptionPanel.automaticFormat_level1=\uCD5C\uC0C1\uC704 \uB178\uB4DC \uD615\uD0DC
OptionPanel.automaticFormat_level2=1\uB2E8\uACC4 \uB178\uB4DC \uBAA8\uC591
-OptionPanel.backup_file_number=\uBCF4\uAD00\uB41C \uBC31\uC5C5\uD30C\uC77C \uAC2F\uC218
+OptionPanel.backup_file_number=\uBCF4\uAD00\uB41C \uBC31\uC5C5 \uD30C\uC77C \uAC2F\uC218
OptionPanel.Behaviour=\uB3D9\uC791 \uC124\uC815
OptionPanel.bezier=\uBCA0\uC9C0\uC5B4 \uACE1\uC120
+OptionPanel.border_color=\uC0C9\uC0C1
+OptionPanel.border_color_matches_edge_color=\uBAA8\uC11C\uB9AC \uC0C9\uC0C1 \uC0AC\uC6A9
+OptionPanel.border_width=\uC120 \uB113\uC774
+OptionPanel.border_width_matches_edge_width=\uBAA8\uC11C\uB9AC \uB113\uC774 \uC0AC\uC6A9
OptionPanel.bubble=\uAC70\uD488 \uBAA8\uC591
OptionPanel.ca=\uCE74\uD0C8\uB85C\uB2C8\uC544, Valencian / Catal\u00E0
OptionPanel.Cancel=\uCDE8\uC18C
OptionPanel.center_selected_node=\uC790\uB3D9\uC73C\uB85C \uC120\uD0DD\uD55C \uB178\uB4DC\uB97C \uC911\uC559 \uC815\uB82C
-OptionPanel.check_updates_automatically=\uD504\uB85C\uADF8\uB7A8 \uC2DC\uC791 \uC2DC \uC5C5\uB370\uC774\uD2B8 \uD655\uC778
+OptionPanel.check_updates_automatically=\uD504\uB85C\uADF8\uB7A8 \uC2DC\uC791 \uC2DC \uAC31\uC2E0 \uD655\uC778
OptionPanel.childpattern=\uD558\uC704 \uB178\uB4DC \uD328\uD134
OptionPanel.childpattern.tooltip=\uC120\uD0DD\uD55C \uD328\uD134\uC740 \uBAA8\uB4E0 \uD558\uC704 \uB178\uB4DC\uC5D0 \uC801\uC6A9\uB429\uB2C8\uB2E4.
OptionPanel.clear_all_setters=\uBAA8\uB450 \uC804\uD658
@@ -971,7 +991,7 @@ OptionPanel.combined=\uACB0\uD569
OptionPanel.compare_as_number=\uC218\uCE58\uB85C \uBE44\uAD50
OptionPanel.convert_to_current_version=<html>\uC790\uB3D9\uC73C\uB85C \uC774\uC804 \uBC84\uC804 \uD504\uB9AC\uD50C\uB808\uC778 \uC9C0\uB3C4\uB97C<br>\uD604\uC7AC \uBC84\uC804\uC73C\uB85C \uBCC0\uD658\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?</html>
OptionPanel.convert_to_current_version.tooltip=<html>\uB9E4\uC6B0 \uD070 \uC9C0\uB3C4\uB294 \uBCC0\uD658\uD560 \uD544\uC694\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.<br>(\uC774\uAC83\uC740 \uC804\uBB38\uC9C0\uC2DD\uC785\uB2C8\uB2E4.) \uBCC0\uD658 \uC5C6\uC774\uB3C4 \uC9C0\uB3C4\uB97C \uC5F4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.</html>
-OptionPanel.copyFormatToNewSibling=\uC0C8\uB85C\uC6B4 \uD615\uC81C\uB85C \uD615\uC2DD \uBCF5\uC0AC
+OptionPanel.copyFormatToNewSibling=\uC0C8\uB85C\uC6B4 \uD615\uC81C\uB85C \uAF34 \uBCF5\uC0AC
OptionPanel.copyFormatToNewSiblingIncludesIcons=\uC544\uC774\uCF58\uACFC \uD615\uC2DD \uBCF5\uC0AC
OptionPanel.cs=\uCCB4\uCF54\uC5B4 / \u010Desky
OptionPanel.cut_nodes_without_question=\uD655\uC778\uD558\uC9C0 \uC54A\uACE0 \uB178\uB4DC\uB97C \uC790\uB97C\uAE4C\uC694?
@@ -1002,7 +1022,7 @@ OptionPanel.delete_nodes_without_question=\uD655\uC778\uD558\uC9C0 \uC54A\uACE0
OptionPanel.delete_nodes_without_question.tooltip=\uC774 \uD655\uC778\uB780\uC744 \uC124\uC815\uD558\uBA74 \uB178\uB4DC\uAC00 \uD655\uC778 \uC5C6\uC774 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uC758\uB3C4\uD558\uC9C0 \uC54A\uACE0 \uB204\uB978 \uACBD\uC6B0 \uC815\uBCF4\uC758 \uC190\uC2E4\uC744 \uBC1C\uC0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
OptionPanel.disable_cursor_move_paper=\uB9C8\uC778\uB4DC\uC9C0\uB3C4 \uD654\uBA74\uC744 \uB9C8\uC6B0\uC2A4 \uB4DC\uB798\uADF8\uB85C \uC6C0\uC9C1\uC774\uC9C0 \uBABB\uD558\uAC8C
OptionPanel.disable_cursor_move_paper.tooltip=<html>\uB9C8\uC778\uB4DC\uC9C0\uB3C4 \uD654\uBA74\uC744 \uB4DC\uB798\uADF8\uD560 \uB54C \uC774\uB3D9 \uCEE4\uC11C\uB97C \uBCF4\uC774\uC9C0 \uC54A\uC74C</html>
-OptionPanel.display_inline_editor_for_all_new_nodes=\uBAA8\uB4E0 \uC0C8\uB85C\uC6B4 \uB178\uB4DC\uC5D0 \uB300\uD574 \uC989\uC11D \uD3B8\uC9D1\uAE30\uB97C \uD45C\uC2DC\uD558\uAE30
+OptionPanel.display_inline_editor_for_all_new_nodes=\uBAA8\uB4E0 \uC0C8\uB85C\uC6B4 \uB178\uB4DC\uC5D0 \uB300\uD574 \uC989\uC11D \uD3B8\uC9D1\uAE30\uB97C \uD45C\uC2DC
OptionPanel.display_node_id=\uB178\uB4DC\uC758 ID \uD45C\uC2DC
OptionPanel.edgecolor=\uC904\uAE30 \uC0C9\uC0C1
OptionPanel.edgecolor.tooltip=\uC0C1\uC704 \uB178\uB4DC\uB85C \uAC00\uB294 \uC904\uAE30\uC758 \uC18D\uC131 (\uBAA8\uB4E0 \uD558\uC704 \uB178\uB4DC\uC5D0\uB3C4 \uC801\uC6A9\uB428)
@@ -1026,6 +1046,7 @@ OptionPanel.en=\uC601\uC5B4 / English
OptionPanel.Environment=\uD658\uACBD\uC124\uC815
OptionPanel.es=\uC2A4\uD398\uC778\uC5B4 / espa\u00F1ol, castellano
OptionPanel.et=\uC5D0\uC2A4\uD1A0\uB2C8\uC544\uC5B4 / eesti, eesti keel
+OptionPanel.eu=\uBC14\uC2A4\uD06C\uC5B4
OptionPanel.execute_scripts_without_asking=\uC2A4\uD06C\uB9BD\uD2B8 \uC2E4\uD589 \uD5C8\uAC00
OptionPanel.execute_scripts_without_asking.tooltip=<html>\uD504\uB9AC\uD50C\uB808\uC778 \uC2A4\uD06C\uB9BD\uD2B8\uB294 \uB300\uCCB4\uB85C \uC0AC\uC6A9\uC790\uC758 \uCEF4\uD4E8\uD130\uC5D0\uC11C \uC5B4\uB5A0\uD55C \uC791\uC5C5\uB3C4 \uC2E4\uD589 \uAC00\uB2A5\uD569\uB2C8\uB2E4. <br>\uB530\uB77C\uC11C, \uC548\uC804\uC131\uC774 \uC54C\uB824\uC9C0\uC9C0 \uC54A\uC740 \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC2E4\uD589\uD574\uC11C\uB294 \uC548\uB429\uB2C8\uB2E4.</html>
OptionPanel.execute_scripts_without_exec_restriction=\uB2E4\uB978 \uC751\uC6A9\uD504\uB85C\uADF8\uB7A8 \uC2E4\uD589\uC744 \uD5C8\uAC00 (\uAD8C\uC7A5\uD558\uC9C0 \uC54A\uC74C)
@@ -1043,7 +1064,7 @@ OptionPanel.export_icons_in_html.tooltip=<html> \uD504\uB9AC\uD50C\uB808\uC778\u
OptionPanel.exported_image_resolution_dpi=\uB0B4\uBCF4\uB0B4\uAE30\uB41C \uC774\uBBF8\uC9C0 \uD574\uC0C1\uB3C4 (DPI\uC5D0\uC11C)
OptionPanel.Files=\uD30C\uC77C
OptionPanel.first=\uCC98\uC74C
-OptionPanel.fit_to_viewport=\uCC3D\uC5D0 \uB9DE\uCD94\uAE30
+OptionPanel.fit_to_viewport=\uCC3D\uC5D0 \uBC30\uACBD \uC774\uBBF8\uC9C0 \uB9DE\uCD94\uAE30
OptionPanel.fold_on_click_inside=\uD074\uB9AD \uC548\uCABD\uC73C\uB85C \uC811\uAE30
OptionPanel.foldingsymbolwidth=\uC811\uD798 \uD45C\uC2DC \uB108\uBE44
OptionPanel.foldingsymbolwidth.tooltip=<html>\uC811\uD798 \uD45C\uC2DC \uB3D9\uADF8\uB77C\uBBF8\uC758 \uB108\uBE44 \uC9C0\uC815</html>
@@ -1082,13 +1103,15 @@ OptionPanel.id=\uC778\uB3C4\uB124\uC2DC\uC544\uC5B4 / Bahasa Indonesia
OptionPanel.IGNORE=\uC544\uBB34\uAC83\uB3C4 \uD558\uC9C0\uC54A\uC74C
OptionPanel.il__enter_confirms_by_default=\uC5D4\uD130\uB97C \uB20C\uB7EC \uD655\uC815\uD569\uB2C8\uB2E4
OptionPanel.image_cache=\uC774\uBBF8\uC9C0\uC5D0 \uB300\uD574
+OptionPanel.indentationUsesTabsInTextOutput=\uAE00\uC790 \uCD9C\uB825\uC73C\uB85C \uD0ED \uC0AC\uC6A9
OptionPanel.it=\uC774\uD0C8\uB9AC\uC544\uC5B4 / Italiano
OptionPanel.ja=\uC77C\uBCF8\uC5B4 / \u65E5\u672C\u8A9E
+OptionPanel.JoinNodesAction.textSeparators=\uAE00\uC790 \uAD6C\uBD84
OptionPanel.key_type_action=\uD0A4 \uC785\uB825 \uC2DC
OptionPanel.Keystrokes=\uB2E8\uCD95\uD0A4
OptionPanel.ko=\uD55C\uAD6D\uC5B4 (\u97D3\u570B\u8A9E), \uC870\uC120\uB9D0 (\u671D\u9BAE\u8A9E)
-OptionPanel.label_font_family=\uAE00\uAF34
-OptionPanel.label_font_size=\uAE00\uC790 \uD06C\uAE30
+OptionPanel.label_font_family=\uAE00\uAF34 \uAC00\uC871
+OptionPanel.label_font_size=\uAE00\uAF34 \uD06C\uAE30
OptionPanel.language=\uC5B8\uC5B4
OptionPanel.language.tooltip=<html>\uC774 \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC0AC\uC6A9\uB418\uC5B4\uC57C \uD558\uB294 \uC5B8\uC5B4\uC785\uB2C8\uB2E4. '\uC790\uB3D9'\uC740 \uD604\uC7AC \uC0AC\uC6A9\uC790\uC758 \uC5B8\uC5B4\uB97C \uBD88\uB7EC\uC635\uB2C8\uB2E4.</html>
OptionPanel.last=\uB9C8\uC9C0\uB9C9
@@ -1111,11 +1134,13 @@ OptionPanel.load_last_map=\uCD5C\uADFC \uC9C0\uB3C4 \uC790\uB3D9\uC73C\uB85C \uC
OptionPanel.load_last_map.tooltip=<html>\uC120\uD0DD\uD558\uC2DC\uBA74 \uD504\uB9AC\uD50C\uB808\uC778 \uC2DC\uC791 \uC2DC, \uB9C8\uC9C0\uB9C9\uC5D0 \uC5F4\uC5C8\uB358 \uC9C0\uB3C4\uB97C \uC790\uB3D9\uC73C\uB85C \uBD88\uB7EC\uC635\uB2C8\uB2E4.</html>
OptionPanel.load_last_maps=\uCD5C\uADFC \uC9C0\uB3C4 \uBAA8\uB450 \uBD88\uB7EC\uC624\uAE30
OptionPanel.lookandfeel=\uC2A4\uD0A8\uC120\uD0DD
+OptionPanel.lookandfeel.scaleuifonts=\uD06C\uAE30 UI \uAE00\uAF34
+OptionPanel.lookandfeel.scaleuifonts.tooltip=\uACE0\uBC00\uB3C4 \uBAA8\uB2C8\uD130\uC5D0 \uC720\uC6A9
OptionPanel.lookandfeel.tooltip=<html>\uBAA8\uC591\uACFC \uB290\uB08C. \uC0AC\uC6A9\uD558\uAE30'\uAE08\uC18D','\uCC3D','\uBAA8\uD2F0\uBE0C','GTK'\uB97C \uC9C0\uC6D0\uD558\uACE0, '\uB9E5'\uC740 \uB9E5 OS\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560\uC218\uC788\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC740 \uAE30\uBCF8 \uBAA8\uC591\uACFC \uB290\uB08C\uC774 \uC0AC\uC6A9\uB429\uB2C8\uB2E4. \uC790\uC2E0\uC758 \uBAA8\uC591\uACFC \uB290\uB08C\uC744 \uB123\uAE38 \uC6D0\uD560\uACBD\uC6B0, \uC5EC\uAE30\uC5D [...]
OptionPanel.lt=Lt
OptionPanel.max_displayed_node_count=\uCD5C\uB300 \uD45C\uC2DC\uB41C \uB178\uB4DC \uC218
OptionPanel.max_image_width=\uCD5C\uB300 \uCD08\uAE30 \uC774\uBBF8\uC9C0 \uB113\uC774
-OptionPanel.max_image_width.tooltip=\uC0C8\uB85C\uC6B4 \uC774\uBBF8\uC9C0\uB294 \uC774 \uB113\uC774\uB85C \uCD95\uC18C \uC870\uC815\uB429\uB2C8\uB2E4
+OptionPanel.max_image_width.tooltip=\uC0C8\uB85C\uC6B4 \uC774\uBBF8\uC9C0\uB294 \uC774 \uB113\uC774\uB85C \uD06C\uAE30 \uC870\uC815\uB429\uB2C8\uB2E4
OptionPanel.max_menu_item_count=\uCD5C\uB300 \uBA54\uB274 \uD56D\uBAA9 \uC218
OptionPanel.max_menu_item_count.tooltip=\uD55C \uD558\uC704 \uBA54\uB274\uC5D0 \uC788\uB294 \uD56D\uBAA9\uC758 \uACBD\uC6B0 \uD55C\uB3C4 \uC22B\uC790, \uCD5C\uC18C 10
OptionPanel.max_node_width=\uCD5C\uB300 \uB178\uB4DC \uB108\uBE44
@@ -1136,14 +1161,14 @@ OptionPanel.nodecolor.tooltip=??\uC120\uD0DD\uD558\uC9C0 \uC54A\uC744 \uB54C \uB
OptionPanel.nodefontbold=\uAC15\uC870
OptionPanel.nodefonthyperlink=\uD558\uC774\uD37C\uB9C1\uD06C
OptionPanel.nodefontitalic=\uAE30\uC6B8\uC784
-OptionPanel.nodefontname=\uAE00\uAF34
-OptionPanel.nodefontsize=\uAE00\uC790 \uD06C\uAE30
+OptionPanel.nodefontname=\uAE00\uAF34 \uAC00\uC871
+OptionPanel.nodefontsize=\uAE00\uAF34 \uD06C\uAE30
OptionPanel.nodeformat=\uC11C\uC2DD
OptionPanel.nodeformat.tooltip=<html>\uD14D\uC2A4\uD2B8 \uAD50\uCCB4 \uBC0F/\uB610\uB294 \uD615\uC2DD:<ul><li><em>\uD655\uC7A5 \uC11C\uC2DD</em> (<tt>%s</tt> \uB294 \uC6D0\uBCF8 \uD14D\uC2A4\uD2B8\uC785\uB2C8\uB2E4), \uC608\uB97C \uB4E4\uBA74, <tt>\uC8FC\uC758: %s</tt><li><em>\uB0A0\uC9DC \uBC0F \uC22B\uC790 \uC11C\uC2DD</em> - \uC120\uD0DD \uC0C1\uC790\uC5D0\uC11C \uC608\uC81C\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624.</ul></html>
OptionPanel.nodenumbering=\uB178\uB4DC \uBC88\uD638\uBD80\uC5EC
OptionPanel.nodenumbering.tooltip=\uB178\uB4DC \uD14D\uC2A4\uD2B8\uC5D0 \uC77C\uB828 \uBC88\uD638(\uC608: 1.3.1)\uB97C \uCD94\uAC00 \uD569\uB2C8\uB2E4.
OptionPanel.nodeshape=\uB178\uB4DC \uBAA8\uC591
-OptionPanel.nodetext=\uD45C\uC81C \uB0B4\uC6A9
+OptionPanel.nodetext=\uD45C\uC81C \uAE00\uC790
OptionPanel.nodetext.tooltip=\uB178\uB4DC\uC758 \uAE00\uC790 \uBAA8\uC591\uC744 \uC774\uACF3\uC5D0\uC11C \uC815\uC758\uD569\uB2C8\uB2E4. \uD574\uB2F9 \uD328\uD134\uC774 \uC801\uC6A9\uB418\uBA74 \uC774\uC804 \uB0B4\uC6A9\uC740 \uD3D0\uAE30\uB429\uB2C8\uB2E4.
OptionPanel.nothing=\uC5C6\uC74C
OptionPanel.number_format=\uD45C\uC900 \uBC88\uD638 \uD615\uC2DD
@@ -1173,7 +1198,7 @@ OptionPanel.patternname=\uC774\uB984
OptionPanel.patternname.tooltip=\uC911\uBCF5\uB418\uC9C0 \uC54A\uC740 \uD328\uD134 \uC774\uB984
OptionPanel.pl=\uD3F4\uB780\uB4DC\uC5B4 / polski
OptionPanel.placenewbranches=\uC0C8\uB85C\uC6B4 \uAC00\uC9C0 \uB9CC\uB4E4\uAE30
-OptionPanel.placenewbranches.tooltip=<html>\uC0C8\uB85C\uC6B4 \uC9C0\uC810\uC744 \uBC30\uCE58 \uD560 \uACF3. \uC720\uD6A8\uD55C \uAC12\uC740 '\uCCAB \uBC88\uC9F8'\uACFC '\uB9C8\uC9C0\uB9C9'\uC785\uB2C8\uB2E4</html>
+OptionPanel.placenewbranches.tooltip=<html>\uC0C8\uB85C\uC6B4 \uAC00\uC9C0\uB97C \uBC30\uCE58 \uD560 \uACF3. \uC720\uD6A8\uD55C \uAC12\uC740 '\uCCAB \uBC88\uC9F8'\uACFC '\uB9C8\uC9C0\uB9C9'\uC785\uB2C8\uB2E4</html>
OptionPanel.plugin.tooltip=\uBE44 \uD575\uC2EC \uD50C\uB7EC\uADF8\uC778.
OptionPanel.plugins=\uD50C\uB7EC\uADF8\uC778
OptionPanel.presentation_dimmer_transparency=\uBC1C\uD45C \uBAA8\uB4DC \uD22C\uBA85\uB3C4 \uC870\uC808
@@ -1188,6 +1213,8 @@ OptionPanel.relative=\uC0C1\uB300 \uACBD\uB85C
OptionPanel.remind_type_of_new_nodes.tooltip=<html>"\uC9C8\uBB38\uD558\uAE30"\uB294 (\uAD81\uAE08\uD55C\uAC83\uC774 \uC788\uC744\uB54C) \uC0AC\uC6A9\uD560\uC218 \uC788\uC2B5\uB2C8\uB2E4. <BR>"\uC608"\uB294 \uC11C\uC2DD\uC788\uB294 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.<BR>"\uC544\uB2C8\uC624"\uB294 \uC77C\uBC18 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.</html>
OptionPanel.remind_use_rich_text_in_new_nodes=\uBD99\uC5EC\uB123\uC744 \uB178\uB4DC\uC758 \uC11C\uC2DD \uAE00\uC790\uB97C \uC0AC\uC6A9
OptionPanel.remindersBlink=\uAE5C\uBC15\uC774?? \uC54C\uB9AC\uBBF8
+OptionPanel.remindersShowNotifications=\uC54C\uB9BC \uD31D\uC5C5 \uD45C\uC2DC
+OptionPanel.remindersStandardDelay=\uC54C\uB9BC \uC9C0\uC5F0
OptionPanel.remove_notes_without_question=\uC9C8\uBB38 \uC5C6\uC774 \uBA54\uBAA8\uB97C \uC81C\uAC70\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
OptionPanel.remove_notes_without_question.tooltip=\uC774 \uD655\uC778\uB780\uC744 \uC124\uC815\uD558\uBA74 \uC120\uD0DD\uD55C \uB178\uB4DC\uC5D0 \uC18D\uD558\uB294 \uBA54\uBAA8\uAC00 \uD655\uC778\uC5C6\uC774 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uC758\uB3C4\uD558\uC9C0 \uC54A\uACE0 \uB204\uB978 \uACBD\uC6B0 \uC815\uBCF4\uC758 \uC190\uC2E4\uC744 \uBC1C\uC0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
OptionPanel.resources_use_default_font_for_notes_too=\uBA54\uBAA8\uC758 \uAE30\uBCF8 \uAE00\uAF34\uB3C4 \uC0AC\uC6A9\uD569\uB2C8\uB2E4
@@ -1244,26 +1271,29 @@ OptionPanel.separator.icon_properties=\uC544\uC774\uCF58
OptionPanel.separator.icons="\uC544\uC774\uCF58 \uC120\uD0DD..."\uC5D0\uC11C\uC758 \uC544\uC774\uCF58
OptionPanel.separator.initial_map_size=\uCD08\uAE30 \uC9C0\uB3C4 \uD06C\uAE30
OptionPanel.separator.inline_editor=\uC778-\uB77C\uC778 \uB178\uB4DC \uD3B8\uC9D1\uAE30
+OptionPanel.separator.JoinNodesAction=\uB178\uB4DC \uC5F0\uACB0\uC911
OptionPanel.separator.key_typing=\uD0A4 \uC785\uB825
OptionPanel.separator.language=\uC5B8\uC5B4
OptionPanel.separator.latex=LaTeX
OptionPanel.separator.load=\uBD88\uB7EC\uC624\uAE30
OptionPanel.separator.look_and_feel=\uC2A4\uD0A8\uC120\uD0DD
OptionPanel.separator.mouse_wheel=\uB9C8\uC6B0\uC2A4 \uD720
-OptionPanel.separator.new_node_commands=\uB178\uB4DC \uCD94\uAC00 \uBA85\uB839\uC5B4
+OptionPanel.separator.new_node_commands=\uC0C8\uB85C\uC6B4 \uB178\uB4DC \uBA85\uB839\uC5B4
OptionPanel.separator.node_editing_commands=\uB178\uB4DC \uD3B8\uC9D1 \uBA85\uB839\uC5B4
OptionPanel.separator.node_navigation_commands=\uB178\uB4DC \uC0AC\uC774 \uC774\uB3D9 \uBA85\uB839\uC5B4
+OptionPanel.separator.NodeBorder=\uB178\uB4DC \uD14C\uB450\uB9AC
OptionPanel.separator.NodeColors=\uD45C\uC81C \uBD80\uBD84 \uC804\uCCB4\uC758 \uC0C9\uC0C1
-OptionPanel.separator.NodeFont=\uD45C\uC81C \uBD80\uBD84 \uC804\uCCB4\uC758 \uAE00\uAF34
+OptionPanel.separator.NodeFont=\uC804\uCCB4 \uD45C\uC81C\uC758 \uAE00\uAF34
OptionPanel.separator.NodeShape=\uB178\uB4DC \uBAA8\uC591
OptionPanel.separator.NodeStyle=\uB178\uB4DC \uAF34
-OptionPanel.separator.NodeText=\uD45C\uC81C \uB0B4\uC6A9
+OptionPanel.separator.NodeText=\uD45C\uC81C \uAE00\uC790
OptionPanel.separator.notifications=\uD655\uC778\uC0AC\uD56D
OptionPanel.separator.org.freeplane.plugin.bugreport=\uC790\uB3D9\uC73C\uB85C \uACB0\uD568 \uBCF4\uACE0
OptionPanel.separator.other_defaults=\uAE30\uD0C0 \uAE30\uBCF8\uAC12
OptionPanel.separator.others=\uB2E4\uB978 \uD0A4 \uBC14\uC778\uB529
OptionPanel.separator.outline_view=\uAC1C\uC694 \uBCF4\uAE30
OptionPanel.separator.patterns=\uD328\uD134
+OptionPanel.separator.reminderOptions=\uC54C\uB9BC(\uC54C\uB9BC\uB9DE\uB098?) \uC635\uC158
OptionPanel.separator.RichTextEditor=\uC11C\uC2DD \uC788\uB294 \uD14D\uC2A4\uD2B8 \uD3B8\uC9D1\uAE30
OptionPanel.separator.root_node_appearance=\uCD5C\uC0C1\uC704 \uB178\uB4DC \uBAA8\uC591
OptionPanel.separator.save=\uC800\uC7A5
@@ -1288,6 +1318,7 @@ OptionPanel.shape_horizontal_margin=\uC218\uD3C9 \uC5EC\uBC31
OptionPanel.shape_vertical_margin=\uC218\uC9C1 \uC5EC\uBC31
OptionPanel.sharp_bezier=\uC608\uB9AC\uD55C \uACE1\uC120
OptionPanel.sharp_linear=\uC608\uB9AC\uD55C \uC9C1\uC120
+OptionPanel.shouldCenterSmallMaps=\uC791\uC740 \uC9C0\uB3C4 \uC911\uC559\uC73C\uB85C
OptionPanel.show_icon_for_attributes=\uC18D\uC131 \uAD00\uB828 \uC544\uC774\uCF58 \uBCF4\uAE30
OptionPanel.show_less_than_N_nodes_by_default_after_load=\uC9C0\uB3C4\uB97C \uBD88\uB7EC\uC624\uAC70\uB098 \uC77C\uBD80 \uB178\uB4DC\uB97C \uD3BC\uCE68
OptionPanel.show_node_tooltips=\uB3C4\uAD6C \uD301 \uD45C\uC2DC
@@ -1296,7 +1327,7 @@ OptionPanel.show_styles_in_tooltip=\uB3C4\uAD6C \uB3C4\uC6C0\uB9D0\uC5D0\uC11C \
OptionPanel.signed_script_are_trusted=\uC2E0\uB8B0 \uC11C\uBA85\uB41C \uC2A4\uD06C\uB9BD\uD2B8 (\uAD8C\uC7A5\uD568).
OptionPanel.signed_script_are_trusted.tooltip=\uC2A4\uD06C\uB9BD\uD2B8\uAC00 \uC2E0\uB8B0\uD560 \uC218 \uC788\uB294 \uC790(\uC608\uB97C \uB4E4\uC5B4 \uD504\uB9AC\uD50C\uB808\uC778\uC758 \uC81C\uC791\uC790\uB098 \uB2F9\uC2E0)\uC5D0 \uC758\uD574 \uC11C\uBA85\uB418\uC5C8\uB2E4\uBA74, \uC81C\uD55C\uC5C6\uC774 \uC2E4\uD589\uB429\uB2C8\uB2E4.
OptionPanel.simplyhtml.default_paste_mode=\uAE30\uBCF8 \uBD99\uC5EC\uB123\uAE30 \uBAA8\uB4DC
-OptionPanel.single_backup_directory=\uBC31\uC5C5\uD30C\uC77C\uC744 \uC704\uD55C \uB2E8\uC77C \uB514\uB809\uD1A0\uB9AC \uC0AC\uC6A9
+OptionPanel.single_backup_directory=\uBC31\uC5C5 \uD30C\uC77C\uB85C \uB2E8\uC77C \uB514\uB809\uD1A0\uB9AC \uC0AC\uC6A9
OptionPanel.single_backup_directory.tooltip=<html>\uBC31\uC5C5 \uBC0F \uC790\uB3D9 \uC800\uC7A5 \uD30C\uC77C\uC744 \uAE30\uC874 \uC9C0\uB3C4 \uD30C\uC77C\uACFC \uAC19\uC740 \uB514\uB809\uD1A0\uB9AC\uC5D0 \uB123\uC744 \uAC83\uC778\uC9C0, \uD558\uC704 \uB514\uB809\uD1A0\uB9AC\uB97C \uC0DD\uC131\uD558\uC5EC \uB123\uC744 \uAC83\uC778\uC9C0 \uACB0\uC815</html>
OptionPanel.single_backup_directory_path=\uBC31\uC5C5 \uB514\uB809\uD1A0\uB9AC (\uC704\uC758 \uC635\uC158\uC744 \uC120\uD0DD\uD558\uB294 \uACBD\uC6B0)
OptionPanel.single_backup_directory_path.tooltip=<html>\uAE30\uBCF8\uC0AC\uD56D \uC7AC\uC815\uC758???<freeplaneuserdir>/.backup</html>
@@ -1304,6 +1335,7 @@ OptionPanel.single_instance=\uC2E4\uD589\uC911\uC778 \uD504\uB85C\uADF8\uB7A8\uC
OptionPanel.single_instance_force=\uC5B4\uB5A0\uD55C \uACBD\uC6B0\uC5D0 \uB450 \uBC88\uC9F8 \uC2E4\uD589 \uBC29\uC9C0
OptionPanel.single_instance_force.tooltip=\uBD88\uB7EC\uC62C \uD30C\uC77C\uC774 \uC5C6\uB354 \uB77C\uB3C4 \uB450\uBC88\uC9F8 \uC2E4\uD589 \uBC29\uC9C0
OptionPanel.sk=\uC2AC\uB85C\uBC14\uD0A4\uC544\uC5B4 / sloven\u010Dina
+OptionPanel.skip_template_selection=\uC11C\uC2DD \uC120\uD0DD \uB300\uD654\uC0C1\uC790 \uAC74\uB108\uB6F0\uAE30
OptionPanel.sl=\uC2AC\uB85C\uBCA0\uB2C8\uC544\uC5B4 / sloven\u0161\u010Dina
OptionPanel.slow_scroll_selected_node=\uC120\uD0DD\uD55C \uB178\uB4DC\uB85C \uB290\uB9B0 \uC2A4\uD06C\uB864\uB9C1
OptionPanel.spelling_opt_case_sensitive=\uB300\uC18C\uBB38\uC790 \uAD6C\uBD84??(\uCF00\uC774\uC2A4 \uC13C\uC2A4\uD2F0\uBE0C)
@@ -1313,6 +1345,7 @@ OptionPanel.spelling_opt_ignore_words_with_numbers=\uB2E8\uC5B4\uAC2F\uC218 \uBB
OptionPanel.spelling_opt_suggestions_limit_dialog=\uB300\uD654\uC0C1\uC790\uC5D0 \uCD5C\uB300 \uC81C\uC548 \uAC2F\uC218
OptionPanel.spelling_opt_suggestions_limit_menu=\uBA54\uB274\uC5D0 \uCD5C\uB300 \uC81C\uC548\uC758 \uAC2F\uC218
OptionPanel.SplitToWordsAction.auxiliaryWordList=\uBCF4\uC870 \uB2E8\uC5B4 \uBAA9\uB85D
+OptionPanel.SplitToWordsAction.charactersAcceptedInWord=\uB2E8\uC5B4\uC5D0\uC11C \uBB38\uC790
OptionPanel.SplitToWordsAction.leaveOriginalNodeEmpty=\uC6D0\uB798 \uBE48 \uB178\uB4DC\uB97C \uB0A8\uAE30\uAE30
OptionPanel.SplitToWordsAction.nodeNumbersInLine=\uD589\uC758 \uB178\uB4DC \uBC88\uD638
OptionPanel.SplitToWordsAction.saveOriginalTextAsDetails=\uC138\uBD80 \uC0AC\uD56D\uC744 \uC6D0\uBCF8 \uAE00\uB85C \uC800\uC7A5
@@ -1355,7 +1388,7 @@ OptionPanel.toolTipManager.max_tooltip_width.tooltip=\uD53D\uC140\uB85C \uCD5C\u
OptionPanel.toolTipManager.reshowDelay=\uB2E4\uC2DC\uBCF4\uAE30 \uC9C0\uC5F0, ms
OptionPanel.tr=\uD130\uD0A4\uC5B4 / T\u00FCrk\u00E7e
OptionPanel.uk_UA=\uC6B0\uD06C\uB77C\uC774\uB098\uC5B4 / \u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430
-OptionPanel.undefined_font=\uC815\uC758\uB418\uC9C0 \uC54A\uC740 \uAE00\uAF34
+OptionPanel.undefined_font=\uC815\uC758\uC548\uB41C \uAE00\uAF34
OptionPanel.undo_levels=\uC2E4\uD589 \uCDE8\uC18C \uB2E8\uACC4
OptionPanel.undo_levels.tooltip=<html>\uC2E4\uD589\uCDE8\uC18C \uB0B4\uC5ED\uC744 \uC5BC\uB9C8\uB9CC\uD07C\uC758 \uB2E8\uACC4\uAE4C\uC9C0 \uC800\uC7A5\uD560\uAC83\uC778\uC9C0 \uC124\uC815\uD569\uB2C8\uB2E4.</html>
OptionPanel.unfold_on_paste=\uB178\uB4DC\uB97C \uC811\uC740 \uC0C1\uD0DC\uB85C \uBD99\uC5EC\uB123\uAE30
@@ -1399,8 +1432,8 @@ overwrite_keyset_question=\uAE30\uC874\uC758 \uD0A4 \uC124\uC815\uC744 \uB36E\uC
PageAction.text=\uD398\uC774\uC9C0 \uC124\uC815...
password_is_not_ascii=ASCII \uD615\uD0DC\uC758 \uC554\uD638\uAC00 \uC544\uB2D9\uB2C8\uB2E4
PasteAction.text=\uBD99\uC5EC\uB123\uAE30(P)
-PasteAttributes.text=\uC18D\uC131 \uBD99\uC5EC\uB123\uAE30(&r)
-PatternNewNameProperty=\uC0C8 \uD328\uD134
+PasteAttributes.text=\uC18D\uC131 \uBD99\uC5EC\uB123\uAE30
+PatternNewNameProperty=\uC0C8\uB85C\uC6B4 \uD328\uD134
PatternToString.backgroundColor=\uBC30\uACBD\uC0C9
PatternToString.Child=\uD558\uC704 \uB178\uB4DC \uAF34
PatternToString.color=\uC0C9
@@ -1409,9 +1442,9 @@ PatternToString.EdgeStyle=\uC904\uAE30 \uAF34
PatternToString.EdgeWidth=\uC904\uAE30 \uB108\uBE44
PatternToString.FontBold=\uAC15\uC870
PatternToString.FontItalic=\uAE30\uC6B8\uAC8C
-PatternToString.FontName=\uAE00\uAF34\uC774\uB984
+PatternToString.FontName=\uAE00\uAF34 \uC774\uB984
PatternToString.Icon=\uC544\uC774\uCF58
-PatternToString.NodeFontSize=\uAE00\uC790\uD06C\uAE30
+PatternToString.NodeFontSize=\uAE00\uC790 \uD06C\uAE30
periodic_formula={0} * n + {1}
PeriodUnit.DAY=\uC77C
PeriodUnit.HOUR=\uC2DC
@@ -1427,7 +1460,7 @@ plugins/ScriptEditor.cancel=\uBCC0\uACBD \uC0AC\uD56D\uC744 \uC800\uC7A5\uD558\u
plugins/ScriptEditor.exit=\uC800\uC7A5 \uD6C4 \uC885\uB8CC(&S)
plugins/ScriptEditor.FORBIDDEN_ACTION=\uD504\uB9AC\uD50C\uB808\uC778 groovy scripts are restricted. The following {0,choice,0#File|1#Network|2#Exec} operation is forbidden: {1,choice,0#Accept|1#Connect|2#Listen|3#Multicast|4#SetFactory|5#Exec|6#Link|7#Delete|8#Read|9#Write} {2}. You can change this in the program settings.
plugins/ScriptEditor.menu_actions=\uB3D9\uC791(&A)
-plugins/ScriptEditor.new_script=\uC0C8 \uC2A4\uD06C\uB9BD\uD2B8
+plugins/ScriptEditor.new_script=\uC0C8\uB85C\uC6B4 \uC2A4\uD06C\uB9BD\uD2B8
plugins/ScriptEditor.run=\uC2E4\uD589(&R)
plugins/ScriptEditor.sign=\uC2A4\uD06C\uB9BD\uD2B8 \uC11C\uBA85\uD558\uAE30...
plugins/ScriptEditor/window.Result=\uACB0\uACFC:
@@ -1470,7 +1503,7 @@ print_preview_title=\uC778\uC1C4 \uBBF8\uB9AC\uBCF4\uAE30
PrintAction.text=\uC9C0\uB3C4 \uC778\uC1C4(P)...
PrintDirectAction.text=\uC778\uC1C4
printing_settings=\uC778\uC1C4 \uBE44\uC728
-PrintPreviewAction.text=\uC778\uC1C4 \uBBF8\uB9AC\uBCF4\uAE30(&V)...
+PrintPreviewAction.text=\uC778\uC1C4 \uBBF8\uB9AC\uBCF4\uAE30...
progress=\uC9C4\uD589\uC728 \uC544\uC774\uCF58 (%)
PropertyAction.dialog=\uD658\uACBD\uC124\uC815
PropertyAction.text=\uD658\uACBD\uC124\uC815...
@@ -1495,6 +1528,7 @@ RedoFilterAction.text=\uAC70\uB984\uAE30 \uB3D9\uC791\uC744 \uB2E4\uC2DC \uC2E4\
regular_expressions=\uC815\uADDC\uC2DD
ReminderHookAction.text=\uC54C\uB9BC \uD45C\uC2DC \uC81C\uAC70
ReminderHookAction.tooltip=\uB178\uB4DC\uC5D0\uC11C \uBBF8\uB9AC \uC54C\uB9BC\uC744 \uC81C\uAC70.
+reminderNotification=\uC54C\uB9BC
remove_file_from_list_on_error=\uD30C\uC77C {0} \uC740 \uC5F4\uB9AC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC5F4\uB9B0 \uD30C\uC77C \uBAA9\uB85D\uC5D0\uC11C \uC81C\uAC70 \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
remove_shortcut_question=\uB2E8\uCD95\uD0A4\uB97C \uBC14\uAFB8\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
remove_shortcut_title=\uB2E8\uCD95\uD0A4\uB97C \uC81C\uAC70 \uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
@@ -1517,29 +1551,29 @@ replace_shortcut_title=\uB2E8\uCD95\uD0A4\uB97C \uBC14\uAFB8\uACA0\uC2B5\uB2C8\u
ReportBugAction.text=\uACB0\uD568 \uBCF4\uACE0\uD558\uAE30
RequestFeatureAction.text=\uAE30\uB2A5\uC744 \uC694\uCCAD\uD558\uAE30
reset_to_default=\uAE30\uBCF8 \uC124\uC815 \uC0AC\uC6A9
-ResetNodeLocationAction.text=\uB178\uB4DC \uC704\uCE58 \uCD08\uAE30\uD654(&P)
+ResetNodeLocationAction.text=\uB178\uB4DC \uC704\uCE58 \uCD08\uAE30\uD654
ResetStyleAction.text=\uB178\uB4DC \uAF34 \uB2E4\uC2DC \uC124\uC815
-RevertAction.text=\uC9C0\uC5ED \uD788\uC2A4\uD1A0\uB9AC\uC5D0\uC11C \uBCF5\uC6D0(&R)
-RevisionPluginAction.text=\uAC1C\uC815 \uBC30\uACBD \uC0C9\uC0C1 \uBCC0\uACBD(&r)
+RevertAction.text=\uC9C0\uC5ED \uAE30\uB85D\uC5D0\uC11C \uBCF5\uC6D0
+RevisionPluginAction.text=\uAC1C\uC815 \uBC30\uACBD \uC0C9\uC0C1 \uBC14\uAFB8\uAE30
save=\uC800\uC7A5(&S)
save_failed={0} \uC9C0\uB3C4 \uC800\uC7A5 \uC791\uC5C5\uC774 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4.
save_unsaved=\uB2E4\uC74C\uC758 \uB9C8\uC778\uB4DC \uC9C0\uB3C4\uC744 \uC800\uC7A5\uD560\uAE4C\uC694?
save_unsaved_styles=\uAF34\uC744 \uC800\uC7A5\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
SaveAcceleratorPresetsAction.text=\uB2E8\uCD95\uD0A4 \uC124\uC815 \uC800\uC7A5\uD558\uAE30...
-SaveAction.text=\uC9C0\uB3C4 \uC800\uC7A5(S)
+SaveAction.text=\uC9C0\uB3C4 \uC800\uC7A5(&S)
SaveAction_readonlyMsg=\uC774 \uC9C0\uB3C4\uB294 \uC77D\uAE30 \uC804\uC6A9\uC785\uB2C8\uB2E4. \uC9C0\uB3C4\uB97C \uC800\uC7A5\uD558\uB824\uBA74 ' \uD30C\uC77C-> \uC9C0\uB3C4\uB97C \uB2E4\uB978\uC774\uB984\uC73C\uB85C \uC800\uC7A5..' \uD558\uC2ED\uC2DC\uC624.
SaveAction_readonlyTitle=\uC77D\uAE30 \uC804\uC6A9 \uC9C0\uB3C4\uB97C \uC800\uC7A5\uD558\uAE30
-SaveAll.text=\uC5F4\uB824 \uC788\uB294 \uC9C0\uB3C4 \uBAA8\uB450 \uC800\uC7A5(&L)
+SaveAll.text=\uC5F4\uB824 \uC788\uB294 \uC9C0\uB3C4 \uBAA8\uB450 \uC800\uC7A5(&A)
SaveAll.tooltip=\uC5F4\uB824 \uC788\uB294 \uC9C0\uB3C4 \uBAA8\uB450 \uC800\uC7A5
SaveAs_toReadonlyMsg={0} \uB294 \uC77D\uAE30 \uC804\uC6A9\uC785\uB2C8\uB2E4. \uB2E4\uB978 \uD30C\uC77C\uB85C \uC800\uC7A5 \uD558\uC2ED\uC2DC\uC624.
SaveAs_toReadonlyTitle=\uC77D\uAE30 \uC804\uC6A9 \uD30C\uC77C\uC744 \uC800\uC7A5\uD558\uAE30
-SaveAsAction.text=\uB2E4\uB978\uC774\uB984\uC73C\uB85C \uC9C0\uB3C4 \uC800\uC7A5(&A)...
+SaveAsAction.text=\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC9C0\uB3C4 \uC800\uC7A5...
saved=\uC800\uC7A5\uB428
saving_canceled=\uC800\uC7A5 \uCDE8\uC18C\uB428
-scanners_not_loaded=\uC2A4\uCE90\uB108\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD30C\uC77C\uC774 \uC190\uC0C1\uB418\uC5C8\uC2B5\uB2C8\uB2E4
+scanners_not_loaded=\uD30C\uC77C\uC774 \uC190\uC0C1\uB418\uC5B4 \uC2A4\uCE90\uB108\uB97C \uBD88\uB7EC\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
scheme_evaluate=\uD3C9\uAC00!
script_execution_disabled=\uC2A4\uD06C\uB9BD\uD2B8 \uC2E4\uD589\uC774 \uBE44\uD65C\uC131\uD654 \uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB3C4\uAD6C/\uD658\uACBD\uC124\uC815/\uD50C\uB7EC\uADF8\uC778 \uCC38\uC870
-ScriptEditor.text=\uC2A4\uD06C\uB9BD\uD2B8 \uD3B8\uC9D1\uAE30(&C)...
+ScriptEditor.text=\uC2A4\uD06C\uB9BD\uD2B8 \uD3B8\uC9D1...
ScriptEditor.tooltip=\uD504\uB9AC\uD50C\uB808\uC778\uC5D0\uC11C \uB354 \uD070 \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC791\uC131\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
ScriptEditorPanel.changed_cancel=\uC2A4\uD06C\uB9BD\uD2B8\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBCC0\uACBD\uB41C \uB0B4\uC6A9\uC744 \uBB34\uC2DC\uD560\uAE4C\uC694?
scripting=\uC2A4\uD06C\uB9BD\uD2B8
@@ -1557,9 +1591,10 @@ select_folder_for_importing=\uB0B4\uBCF4\uB0BC \uD3F4\uB354 \uC120\uD0DD
select_icon=\uC544\uC774\uCF58 \uC120\uD0DD\uD558\uAE30
select_menu_item_dialog=\uBA54\uB274 \uD56D\uBAA9\uC744 \uC120\uD0DD\uD558\uC138\uC694
select_menu_item_root_node=\uBA54\uB274
-SelectAllAction.text=\uBCF4\uC774\uB294 \uB178\uB4DC \uBAA8\uB450 \uC120\uD0DD(&V)
-SelectBranchAction.text=\uBCF4\uC774\uB294 \uB178\uB4DC \uD558\uC704 \uD56D\uBAA9 \uC120\uD0DD(&B)
-SelectedPasteAction.text=\uC120\uD0DD\uD558\uC5EC \uBD99\uC5EC\uB123\uAE30(&A)...
+select_template=\uC11C\uC2DD \uC120\uD0DD
+SelectAllAction.text=\uBCF4\uC774\uB294 \uB178\uB4DC \uBAA8\uB450 \uC120\uD0DD
+SelectBranchAction.text=\uBCF4\uC774\uB294 \uAC00\uC9C0 \uC120\uD0DD
+SelectedPasteAction.text=\uC120\uD0DD\uD558\uC5EC \uBD99\uC5EC\uB123\uAE30...
selection_method_by_click=\uD55C \uBC88 \uD074\uB9AD\uD558\uC5EC \uC120\uD0DD
selection_method_delayed=\uB9C8\uC6B0\uC2A4\uB97C \uAC00\uC838\uAC00\uBA74 \uC57D\uAC04\uC758 \uC9C0\uC5F0 \uD6C4 \uC120\uD0DD
selection_method_direct=\uB9C8\uC6B0\uC2A4\uB97C \uAC00\uC838\uAC00\uBA74 \uBC14\uB85C \uC120\uD0DD
@@ -1609,6 +1644,8 @@ simplyhtml.appendTableColLabel=\uCE78 \uCD94\uAC00
simplyhtml.appendTableRowLabel=\uC904 \uCD94\uAC00
simplyhtml.applyCellAttrLabel=\uC801\uC6A9
simplyhtml.backgroundLabel=\uBC30\uACBD:
+simplyhtml.blackFontColorLabel=\uAC80\uC815\uC0C9
+simplyhtml.blueFontColorLabel=\uD30C\uB791\uC0C9
simplyhtml.boldItalicName=\uAC15\uC870 \uAE30\uC6B8\uC784
simplyhtml.boldName=\uAC15\uC870
simplyhtml.borderColorLabel=\uC0C9\uC0C1:
@@ -1624,8 +1661,8 @@ simplyhtml.clearFormatTip=\uAE00\uC790 \uBAA8\uC591 \uC81C\uAC70
simplyhtml.close=\uB2EB\uAE30
simplyhtml.closeBtnName=\uB2EB\uAE30
simplyhtml.colorLabel=\uC0C9
-simplyhtml.copyLabel=\uBCA0\uAEF4\uB450\uAE30
-simplyhtml.copyTip=\uBCA0\uAEF4\uB450\uAE30
+simplyhtml.copyLabel=\uBCF5\uC0AC
+simplyhtml.copyTip=\uBCF5\uC0AC
simplyhtml.cTagNameHead1=\uC81C\uBAA9 1
simplyhtml.cTagNameHead2=\uC81C\uBAA9 2
simplyhtml.cTagNameHead3=\uC81C\uBAA9 3
@@ -1638,6 +1675,7 @@ simplyhtml.cTagNamePara=\uBB38\uB2E8
simplyhtml.cTagNameUL=\uC21C\uC11C\uC5C6\uB294 \uBAA9\uB85D
simplyhtml.cutLabel=\uC798\uB77C\uB0B4\uAE30
simplyhtml.cutTip=\uC798\uB77C\uB0B4\uAE30
+simplyhtml.decreaseFontSizeLabel=\uB354 \uC791\uC74C
simplyhtml.defaultDocName=\uC81C\uBAA9\uC5C6\uC74C
simplyhtml.deleteTableColLabel=\uCE78 \uC0AD\uC81C
simplyhtml.deleteTableRowLabel=\uC904 \uC0AD\uC81C
@@ -1645,7 +1683,7 @@ simplyhtml.docTitleQuery=\uC81C\uBAA9 \uC124\uC815:
simplyhtml.docTitleTitle=\uBB38\uC11C\uC81C\uBAA9 \uD3B8\uC9D1
simplyhtml.editLabel=\uD3B8\uC9D1
simplyhtml.effectLabel=\uD6A8\uACFC
-simplyhtml.familyLabel=\uAE00\uAF34
+simplyhtml.familyLabel=\uAC00\uC871
simplyhtml.findNext=\uB2E4\uC74C \uCC3E\uAE30...
simplyhtml.findReplaceDialogTitle=\uCC3E\uAE30 \uBC0F \uBC14\uAFB8\uAE30
simplyhtml.findReplaceLabel=\uCC3E\uAE30 \uBC0F \uBC14\uAFB8\uAE30
@@ -1654,12 +1692,12 @@ simplyhtml.fontBoldLabel=\uAC15\uC870
simplyhtml.fontBoldTip=\uAC15\uC870 \uC124\uC815/\uD574\uC81C
simplyhtml.fontColorLabel=\uBB38\uC790 \uC0C9
simplyhtml.fontColorTip=\uBB38\uC790 \uC0C9
-simplyhtml.fontDialogTitle=\uAE00\uC790\uBAA8\uC591
+simplyhtml.fontDialogTitle=\uAE00\uC790 \uD615\uC2DD
simplyhtml.fontItalicLabel=\uAE30\uC6B8\uC784
simplyhtml.fontItalicTip=\uAE30\uC6B8\uC784 \uC124\uC815/\uD574\uC81C
simplyhtml.fontLabel=\uAE00\uAF34...
simplyhtml.fontTabLabel=\uAE00\uAF34
-simplyhtml.fontTip=\uAE00\uC790\uBAA8\uC591 \uC124\uC815...
+simplyhtml.fontTip=\uD615\uC2DD \uAE00\uAF34...
simplyhtml.fontUnderlineLabel=\uBC11\uC904
simplyhtml.fontUnderlineTip=\uBC11\uC904 \uC124\uC815/\uCDE8\uC18C
simplyhtml.foregroundLabel=\uAE00\uC790:
@@ -1670,9 +1708,11 @@ simplyhtml.formatParaLabel=\uBB38\uB2E8...
simplyhtml.formatParaTip=\uBB38\uB2E8 \uBAA8\uC591 \uBCC0\uACBD
simplyhtml.formatTableLabel=\uD45C...
simplyhtml.formatTableTip=\uD45C \uBAA8\uC591
+simplyhtml.greenFontColorLabel=\uB179\uC0C9
simplyhtml.helpLabel=\uB3C4\uC6C0\uB9D0
simplyhtml.htmlTabTitle=HTML \uCF54\uB4DC \uBCF4\uAE30
simplyhtml.imageFileDesc=\uC774\uBBF8\uC9C0 \uD30C\uC77C
+simplyhtml.increaseFontSizeLabel=\uB354 \uD07C
simplyhtml.insertTableColLabel=\uC5F4 \uC0BD\uC785
simplyhtml.insertTableLabel=\uD45C...
simplyhtml.insertTableMsg=\uC5F4 \uC218\uB97C \uC785\uB825\uD558\uC138\uC694?
@@ -1724,8 +1764,10 @@ simplyhtml.previewLabel=\uBBF8\uB9AC\uBCF4\uAE30
simplyhtml.previewText=\uBB38\uC790\uC5F4 \uBBF8\uB9AC\uBCF4\uAE30
simplyhtml.prevTableCellLabel=\uC774\uC804 \uC140
simplyhtml.printLabel=\uC778\uC1C4...
+simplyhtml.redFontColorLabel=\uBE68\uAC15\uC0C9
simplyhtml.redoLabel=\uB2E4\uC2DC \uC2E4\uD589
simplyhtml.redoTip=\uB2E4\uC2DC \uC2E4\uD589
+simplyhtml.removeFontColorLabel=\uC0C9\uC0C1 \uC81C\uAC70
simplyhtml.replace=\uBC14\uAFB8\uAE30...
simplyhtml.replaceAll=\uBAA8\uB450
simplyhtml.replaceDone=\uC644\uB8CC
@@ -1741,6 +1783,7 @@ simplyhtml.searchFromStart.tooltip=\uCEE4\uC11C \uC704\uCE58 \uB300\uC2E0 \uB9E8
simplyhtml.searchUp=\uC704\uB85C \uAC80\uC0C9
simplyhtml.searchUp.tooltip=\uC544\uB798\uC5D0\uC11C \uC704\uB85C \uAC80\uC0C9\uD569\uB2C8\uB2E4.
simplyhtml.selectAllLabel=\uBAA8\uB450 \uC120\uD0DD
+simplyhtml.selectedFontColorLabel=\uC120\uD0DD\uB41C \uAE00\uAF34 \uC0C9\uC0C1
simplyhtml.sizeLabel=\uD06C\uAE30
simplyhtml.standardStyleName=\uD45C\uC900
simplyhtml.strikeLabel=\uCDE8\uC18C\uC120
@@ -1775,11 +1818,11 @@ simplyhtml.valignMiddle=\uC911\uAC04
simplyhtml.valignTop=\uC704
simplyhtml.wholeWordsOnly=\uC804\uCCB4 \uB2E8\uC5B4 \uC77C\uCE58
simplyhtml.wholeWordsOnly.tooltip=\uC77C\uCE58\uD558\uB294 \uD56D\uBAA9\uC744 \uC644\uC804\uD55C \uB2E8\uC5B4\uB9CC\uC73C\uB85C \uC81C\uD55C\uD569\uB2C8\uB2E4.
-SortNodes.text=\uD558\uC704 \uB178\uB4DC \uC815\uB82C(&S)
+SortNodes.text=\uD558\uC704 \uB178\uB4DC \uC815\uB82C
SortNodes.tooltip=\uBAA8\uB4E0 \uD558\uC704 \uB178\uB4DC\uB4E4\uC744 \uC54C\uD30C\uBCB3 \uC21C\uC73C\uB85C \uC815\uB82C\uD569\uB2C8\uB2E4.
split=&\uB098\uB204\uAE30(&S)
SplitConditionAction.text=\uB098\uB204\uAE30
-SplitNode.text=\uB178\uB4DC \uB098\uB204\uAE30(&S)
+SplitNode.text=\uB178\uB4DC \uB098\uB204\uAE30
SplitNode.tooltip=<html>\uB178\uB4DC\uB294 \uB098\uB20C\uC218 \uC5C6\uC2B5\uB2C8\uB2E4.</html>
SplitToWordsAction.text=\uC904\uC5D0\uC11C {0} \uAC1C\uC758 \uB2E8\uC5B4\uB85C \uB098\uB204\uAE30
STANDARD_FORMAT=\uD45C\uC900
@@ -1826,21 +1869,33 @@ TextAlignAction.DEFAULT.text=\uAE30\uBCF8
TextAlignAction.LEFT.text=\uAE00\uC744 \uC67C\uCABD \uC815\uB82C
TextAlignAction.RIGHT.text=\uAE00\uC744 \uC624\uB978\uCABD \uC815\uB82C
textalignment=\uAE00\uC790 \uC815\uB82C
+TextChangeHotKeyAction.text=\uAE00\uC790 \uBCC0\uACBD \uB2E8\uCD95\uD0A4 \uC124\uC815
TimeListAction.text=\uC2DC\uAC04 \uAD00\uB9AC\uBAA9\uB85D\uCC3D \uC5F4\uAE30 ...
TimeListAction.tooltip=\uBAA8\uB4E0 \uC2A4\uCF00\uC904 \uD56D\uBAA9\uACFC \uC774\uC5D0 \uC5F0\uACB0\uB41C \uB178\uB4DC \uBCF4\uC774\uAE30.
TimeManagementAction.text=\uB2EC\uB825 \uBCF4\uC774\uAE30...
TimeManagementAction.tooltip=<html>Kai Toedter\uB2D8\uC774 \uC81C\uACF5\uD55C \uB2EC\uB825 \uBAA8\uB4C8\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4.</html>
+TimePeriodUnits.days=\uC77C
+TimePeriodUnits.hours=\uC2DC
+TimePeriodUnits.minutes=\uBD84
+TimePeriodUnits.ms=\uBC00\uB9AC \uCD08
+TimePeriodUnits.seconds=\uCD08
+TimePeriodUnits.weeks=\uC8FC
ToggleChildrenFoldedAction.text=\uD558\uC704 \uB178\uB4DC\uB97C \uC811\uAE30(\uD3BC\uCE58\uAE30)
ToggleDetailsAction.text=\uC138\uBD80\uC815\uBCF4 \uC228\uAE30\uAE30
ToggleFBarAction.text=F-Bar(\uAE30\uB2A5\uB9C9\uB300)
ToggleFoldedAction.text=\uD558\uC704 \uD56D\uBAA9 \uC811\uAE30
ToggleFullScreenAction.text=\uC804\uCCB4 \uD654\uBA74 \uBAA8\uB4DC
-ToggleLeftToolbarAction.text=\uC544\uC774\uCF58 \uB3C4\uAD6C \uB9C9\uB300(&I)
+ToggleLeftToolbarAction.text=\uC544\uC774\uCF58 \uB3C4\uAD6C \uB9C9\uB300
ToggleMenubarAction.text=\uBA54\uB274 \uBCF4\uC774\uAE30/\uC228\uAE30\uAE30
ToggleScrollbarsAction.text=\uC2A4\uD06C\uB864 \uB9C9\uB300
ToggleStatusAction.text=\uC0C1\uD0DC \uD45C\uC2DC\uC904 \uD45C\uC2DC
ToggleToolbarAction.text=\uB3C4\uAD6C \uB9C9\uB300(T)
toolbars=\uB3C4\uAD6C \uB9C9\uB300
+TranslatedElement.BORDER=\uAE00\uC790 \uD14C\uB450\uB9AC
+TranslatedElement.TEXT=\uAE00\uC790
+TranslatedElement.TOOLTIP=\uB3C4\uAD6C \uB3C4\uC6C0\uB9D0
+uiTextChanger.originalTextIsNotDefined=\uCC98\uC74C \uAE00\uC790\uB294 \uC815\uC758 \uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4
+uiTextChanger.replaceText=UI \uAE00\uC790 \uBC14\uAFB8\uAE30
undefined_error=\uC608\uAE30\uCE58 \uC54A\uC740 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uBC84\uADF8 \uC2E0\uACE0\uB97C \uD574 \uC8FC\uC138\uC694.
underline=\uBC11\uC904
UnderlineAction.text=\uBC11\uC904
@@ -1853,16 +1908,16 @@ UnfoldAllAction.tooltip=<html>\uC120\uD0DD\uD55C \uB178\uB4DC\uC640 \uD558\uC704
UnfoldOneLevelAction.text=1\uB2E8\uACC4\uB9CC \uD3BC\uCE58\uAE30
UnfoldOneLevelAction.tooltip=\uC120\uD0DD\uD55C \uB178\uB4DC\uB85C\uBD80\uD130 \uD55C \uB2E8\uACC4\uB9CC \uD3BC\uCE69\uB2C8\uB2E4.
unparsedLatexPatternFormat=\uAD6C\uBB38 \uBD84\uC11D \uB418\uC9C0\uC54A\uC740 LaTeX
-up=\uC704(&U)
+up=\uC704\uB85C(&U)
UpConditionAction.text=\uC704\uB85C
update_failed={0} \uBA54\uC2DC\uC9C0\uC640 \uD568\uAED8 \uC5C5\uB370\uC774\uD2B8\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4
-UpdateCheckAction.text=\uC0C8\uB85C\uC6B4 \uBC84\uC804 \uD655\uC778
+UpdateCheckAction.text=\uC0C8 \uBC84\uC804 \uD655\uC778
updatecheckdialog=\uC0C8 \uBC84\uC804 \uAC80\uC0AC \uB300\uD654\uC0C1\uC790
updater.component=\uAD6C\uC131 \uC694\uC18C
updater.goToDownload=\uB2E4\uC6B4\uB85C\uB4DC\uB85C \uC774\uB3D9
updater.version.installed=\uC124\uCE58\uB41C \uBC84\uC804
updater.version.latest=\uCD5C\uC2E0 \uBC84\uC804
-updater.version.noUpdateUrl=\uC774 \uBD80\uAC00 \uAE30\uB2A5\uC5D0 \uB300\uD55C \uC5C5\uB370\uC774\uD2B8 URL \uB610\uB294 \uD648\uD398\uC774\uC9C0\uAC00 \uC544\uB2D9\uB2C8\uB2E4.
+updater.version.noUpdateUrl=\uC774 \uBD80\uAC00 \uAE30\uB2A5\uC5D0 \uB300\uD55C \uC0C8 \uBC84\uC804 URL \uB610\uB294 \uD648\uD398\uC774\uC9C0\uAC00 \uC544\uB2D9\uB2C8\uB2E4.
updater.version.unknown=\uC54C \uC218 \uC5C6\uC74C
updater.version.unreachable=\uC5F0\uACB0\uD560 \uC218 \uC5C6\uB294 \uC18C\uC2A4:
updater.viewChangelog=\uBCC0\uACBD \uAE30\uB85D \uBCF4\uAE30
@@ -1878,7 +1933,7 @@ user_defined_zoom=\uC0AC\uC6A9\uC790 \uC815\uC758
user_defined_zoom_status_bar=\uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C {0}%\uC758 \uD655\uB300\uC728\uB85C \uBCC0\uACBD \uC911.
user_icon=\uC0AC\uC6A9\uC790 \uC544\uC774\uCF58 "{0}"
user_template_dir=\uC0AC\uC6A9\uC790 \uC11C\uC2DD
-user_zoom=\uC0AC\uC6A9\uC790 \uC815\uC758 \uD504\uB9B0\uD2B8 \uBE44\uC728 (0.0 - 2.0):
+user_zoom=\uC0AC\uC6A9\uC790 \uC815\uC758 \uC778\uC1C4 \uBE44\uC728 (0.0 - 2.0):
userScripts=\uC2A4\uD06C\uB9BD\uD2B8
value_format=\uAC12 \uD615\uC2DD
version_up_to_date=\uC774\uBBF8 \uCD5C\uC2E0 \uBC84\uC804\uC744 \uC0AC\uC6A9\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4
@@ -1886,6 +1941,7 @@ view=\uBCF4\uAE30(&V)
ViewLayoutTypeAction.OUTLINE.text=\uAC1C\uC694 \uBCF4\uAE30
web_resources=\uC6F9 \uC790\uC6D0
WebDocuAction.text=\uC6F9 \uBB38\uC11C
+WhatsNewAction.text=\uD504\uB9AC \uD50C\uB808\uC778 1.5.x \uC758 \uC0C8\uB85C\uC6B4 \uC18C\uC2DD
width=\uB108\uBE44
wrong_regexp="{0}"\uC740 \uC798\uBABB\uB41C \uC815\uADDC\uC2DD\uC785\uB2C8\uB2E4, \uC624\uB958 {1}
xslt_export.html=Html \uBB38\uC11C
diff --git a/freeplane/resources/translations/Resources_nl.properties b/freeplane/resources/translations/Resources_nl.properties
index 51d83bb..540c314 100644
--- a/freeplane/resources/translations/Resources_nl.properties
+++ b/freeplane/resources/translations/Resources_nl.properties
@@ -113,7 +113,7 @@ attributes_edit=Bewerken attributen
attributes_edit_tooltip=Set bewerken
attributes_for_selected=Geslecteerde knopen
attributes_for_visible=Alle zichtbare knopen
-attributes_import=& Importeren
+attributes_import=Importeren
attributes_import_tooltip=Importeren attributen uit alle geladen mindmaps
attributes_no_import_candidates_found=Geen nieuwe attributen gevonden
attributes_popup_delete=Wissen attribuut
@@ -209,7 +209,7 @@ ClearLinkAnchorAction.tooltip=<html>wis eerder ingesteld knoopanker</html>
CloneAction.text=Plakken kloon
close_btn=Sluiten
CloseAction.text=Sluiten mindmap
-cloud_shapes=cloud vormen
+cloud_shapes=Wolk vormen
CloudAction.text=Maken/verwijderen wolk
CloudColorAction.text=Kleur wolk...
CloudShapeAction.ARC.text=Boog
@@ -435,13 +435,13 @@ filter_match_case_tooltip=Of rekening moet worden gehouden met hoofd/kleine lett
filter_modified_after=Gewijzigd na
filter_modified_before=Gewijzigd voor
filter_no_filtering=Geen filter
-filter_node=Knoopkern
+filter_node=Tekst knoopkern
filter_node_level=Knoopniveau
filter_not=&Niet
filter_note=Knoopnotitie
filter_odd_level=Knoop op even niveau
filter_or=&Of
-filter_parent=Knoopkern van ouder
+filter_parent=Tekst knoopkern ouder
filter_periodic_level=Periodiciteit
filter_priority=Pioriteit
filter_regexp_matches=Komt overeen met reguliere expressie
@@ -470,7 +470,7 @@ fit_background_to_page=Pas achtergrondafbeelding op \u00E9\u00E9n pagina
fit_map_to_page=Op \u00E9\u00E9n pagina laten passen
fit_map_to_page_height=Maak de hoogte passend op de pagina
fit_map_to_page_width=Maak de breedte passend op de pagina
-FitToPage.text=Maak passend op de pagina
+FitToPage.text=Grootte aan de pagina aanpassen
FitToPage.tooltip=Grootte van de mindmap aanpassen aan de huidige venstergrootte.
fold=Dichtvouwen (verbergen)
FoldAllAction.text=Alle afstammelingen dichtvouwen
@@ -493,7 +493,7 @@ FormatCopy.text=Kopi\u00EBren opmaak (kern)
FormatCopy.tooltip=<html> Hiermee kopi\u00EBer je alleen de opmaak van een knoop.</html>
FormatPaste.text=Plakken opmaak
FormatPaste.tooltip=<html> Hiermee plak je de opmaak van een knoop.</html>
-formats_not_loaded=Formaten konden niet worden geladen, bestand is beschadigd
+formats_not_loaded=Bestandsformaat kon niet worden geladen, bestand is beschadigd
formula.error.attributeValueIsNull=Attribuutwaarde "{0}" is leeg na evaluatie.
formula.error.circularReference=Cirkelverwijzing: De formule in knoop "{0}"verwijst naar zichzelf.
formula.EvaluateAllAction.text=Alles uitrekenen
@@ -747,11 +747,11 @@ ManageAddOnsDialog.authored.by=door {0}
ManageAddOnsDialog.cannot.activate=Kan niet aktiveren: {0} is al aktief.
ManageAddOnsDialog.cannot.configure=Kan niet configureren {0}.
ManageAddOnsDialog.cannot.deactivate=Kan niet deactiveren: {0} is niet aktief.
-ManageAddOnsDialog.cannot.deinstall=Kanniet deinstalleren {0}.
+ManageAddOnsDialog.cannot.deinstall=Kan {0} niet verwijderen.
ManageAddOnsDialog.configure=Instellen
-ManageAddOnsDialog.deactivate=Deaktiveren
+ManageAddOnsDialog.deactivate=Deactiveren
ManageAddOnsDialog.deactivation.success={0} wordt uitgeschakeld na een herstart.
-ManageAddOnsDialog.deinstall=Deinstallleren
+ManageAddOnsDialog.deinstall=Verwijderen
ManageAddOnsDialog.deinstallation.success={0} wordt door herstarten gedeinstalleerd.
ManageAddOnsDialog.error=Fout bij installeren: {0}.
ManageAddOnsDialog.install=&Installeren
@@ -838,14 +838,14 @@ ModesMenuAction.Browse.text=Mindmaplezer
ModesMenuAction.File.text=Bestandsverkenner
ModesMenuAction.MindMap.text=Mindmapbewerker
most_recent_files=&Onlangs geopend
-MoveAction.text=Verplaats
+MoveAction.text=Verplaatsen
MoveToRootAction.text=Naar stamknoop
NameConditionAction.text=Naam toekennen
navigate=Navigeren
NavigationNextMapAction.text=Volgende mindmap
NavigationPreviousMapAction.text=Vorige mindmap
new=&Nieuw
-new_map_from_user_templates.text=Nieuwe mindmap met stijl...
+new_map_from_user_templates.text=Nieuwe mindmap op basis van een sjabloon...
new_mindmap=Nieuwe mindmap
new_node=Nieuwe knoop
new_node_as_sibling_not_possible_for_the_root=Nieuwe knoop op dit niveau (stamknoop) is niet mogelijk
@@ -872,7 +872,7 @@ NewParentNode.text=Nieuwe ouderknoop (niveau hoger)
NewParentNode.tooltip=<html> Alle geselecteerde knopen worden naar nieuwe ouderknoop verplaatst.</html>
NewPreviousSiblingAction.text=Nieuwe knoop boven de huidige
NewSiblingAction.text=Nieuwe knoop onder de huidige
-NewSummaryAction.text=Nieuwe groepsknoop met accolade
+NewSummaryAction.text=Nieuwe overzichtsknoop (met accolade om geselecteerde knopen)
NewUserStyleAction.text=Selectie bewaren als nieuwe gebruikerstijl
NextNodeAction.BACK.text=Naar vorige knoop
NextNodeAction.BACK_N_FOLD.text=Naar vorige knoop (dichtvouwen)
@@ -887,6 +887,7 @@ no_found_from=<html>Geen <u>{0}</u> gevonden van "{1}".</html>
no_more_found_from=<html>Geen <u>{0}</u> meer gevonden van "{1}".</html>
no_previous_find=Niet eerder gevonden.
no_styles_found_in_map=Geen stijlen in de mindmap gevonden
+no_translation_strings_found=Geen vertaalbare tekst gevonden
node=Knoop
node_changed_discard_changes=U heeft de knoop gewijzigd. Wilt u de wijzigingen annuleren?
node_is_write_protected=De doelknoop is beveiligd tegen schrijven.
@@ -957,7 +958,6 @@ OptionPanel.antialias_all=Alles verzachten
OptionPanel.antialias_edges=(Afstammings)lijnen verzachten
OptionPanel.antialias_none=Niets verzachten
OptionPanel.Appearance=Voorkomen
-OptionPanel.apply_system_screen_resolution=Toepassen standaard beeldschermresolutie
OptionPanel.approximate_search_threshold=Drempel voor zoeken bij benadering
OptionPanel.approximate_search_threshold.tooltip=<html>Drempel voor benaderend passen<br/><font size="2">zie http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(groter betekent dat de gevonden term meer lijkt op de zoekterm<br/>)</html>
OptionPanel.ar=Arabisch / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
@@ -971,6 +971,10 @@ OptionPanel.automaticFormat_level2=Opmaak van een knoop op niveau 1
OptionPanel.backup_file_number=Aantal permanent bewaarde back-up bestanden
OptionPanel.Behaviour=Gedrag
OptionPanel.bezier=Ronde bocht
+OptionPanel.border_color=Kleur
+OptionPanel.border_color_matches_edge_color=Kleur van tak gebruiken
+OptionPanel.border_width=Lijndikte
+OptionPanel.border_width_matches_edge_width=Takdikte gebruiken
OptionPanel.bubble=Knoopomlijning
OptionPanel.ca=Catalaans / Catal\u00E0
OptionPanel.Cancel=Annuleren
@@ -987,14 +991,15 @@ OptionPanel.combined=Gecombineerd
OptionPanel.compare_as_number=Vergelijken als getallen
OptionPanel.convert_to_current_version=<html> Automatisch oudere Freeplane versies <br> naar de huidige versie converteren ?</html>
OptionPanel.convert_to_current_version.tooltip=<html> Alleen voor gevorderde gebruikers die weten wat ze doen:<br>alleen heel grote mindmaps die niet geconverteerd hoeven worden<br>kun je openen zonder conversie.</html>
+OptionPanel.copyFormatToNewSibling=Kopi\u00EBren opmaak naar nieuwe broers en zussen
OptionPanel.copyFormatToNewSiblingIncludesIcons=Kopieer opmaak met pictogrammen
OptionPanel.cs=Tsjechisch \u010Desky
OptionPanel.cut_nodes_without_question=Knopen knippen zonder bevestiging?
OptionPanel.cut_nodes_without_question.tooltip=Indien het vinkje is gezet worden alle knopen zonder bevestigingsvraag gekipt. Per ongeluk knippen geeft informatieverlies.
OptionPanel.da=Deens / Dansk
-OptionPanel.date_format=Standaard datumformaat
+OptionPanel.date_format=Standaard opmaak datum
OptionPanel.date_format.tooltip=Ofwel SHORT, MEDIUM, LONG of FULL of een patroon zoals "MM/dd/yyyy"
-OptionPanel.datetime_format=Staandaard datum-tijdformaat
+OptionPanel.datetime_format=Staandaard opmaak datum-tijd
OptionPanel.datetime_format.tooltip=<datestyle>,<timestyle> (with KORT, MEDIUM, LONG or FULL as style) or a full pattern like "M/d/yyyy hh:mm"
OptionPanel.de=Duits / Deutsch
OptionPanel.default=Standaard knoopstijl
@@ -1064,7 +1069,7 @@ OptionPanel.fold_on_click_inside=Vouwen na klikken knoopkern
OptionPanel.foldingsymbolwidth=Breedte van het pictogram voor dichtvouwen (verbergen)
OptionPanel.foldingsymbolwidth.tooltip=<html> Breedte van de cirkel die het dichtvouwen (verbergen) markeert</html>
OptionPanel.fork=Geen omlijning
-OptionPanel.format_locale=Plaats voor formaten
+OptionPanel.format_locale=Regionale instellingen voor gegevensopmaak
OptionPanel.format_locale.tooltip=Localisatieinstelling voor opmaak en verwerken van gegevens
OptionPanel.formula_disable_caching=Uitschakelen cache formuleberekening (cache)
OptionPanel.formula_disable_plugin=Uitschakelen formule plugin
@@ -1143,6 +1148,7 @@ OptionPanel.max_shortened_text_length=Maximale beperking knooplengte
OptionPanel.metal=Metaal
OptionPanel.min_node_width=Minimum knoopbreedte
OptionPanel.motif=Motief
+OptionPanel.narrow_hexagon=Nauwe zeshoek
OptionPanel.nb=Noors / Norsk bokm\u00E5l
OptionPanel.never_save_folding=Nooit
OptionPanel.nl=Nederlands, Vlaams / Nederlands, Vlaams
@@ -1156,14 +1162,15 @@ OptionPanel.nodefonthyperlink=Snelkoppeling
OptionPanel.nodefontitalic=Schuin lettertype
OptionPanel.nodefontname=Naam lettertype
OptionPanel.nodefontsize=Grootte lettertype
-OptionPanel.nodeformat=Sjabloon / Formaat
+OptionPanel.nodeformat=Opmaak
OptionPanel.nodeformat.tooltip=<htm>Text replacement and/or formatting:<ul><li><em>Template expansion</em> (<tt>%s</tt> is the original text), e.g. <tt>BEWARE: %s</tt><li><em>Formatting of dates and numbers</em> - see the examples in the selection box</ul></html>
OptionPanel.nodenumbering=Knoop nummering
OptionPanel.nodenumbering.tooltip=Toevoegen volgnummer (b.v. 1.3.1) aan basis knooptekst.
+OptionPanel.nodeshape=Knoopvorm
OptionPanel.nodetext=Basistekst
OptionPanel.nodetext.tooltip=Hier kun je de knooptekst intypen. De tekst die al in de knoop stond wordt daarbij gewist.
OptionPanel.nothing=Niets
-OptionPanel.number_format=Standaard getalformaat
+OptionPanel.number_format=Standaard opmaak getal
OptionPanel.number_format.tooltip=Een patroon met '#' voor optionele of '0' voor verplichte cijfers. Voorbeelden: "0.00", "0.0%", "$#.00", "#0"
OptionPanel.number_of_different_files_for_automatic_save=Aantal verschillende reservebestanden bij automatisch bewaren
OptionPanel.number_of_different_files_for_automatic_save.tooltip=<html> Aantal verschillende reservebestanden dat tijdens het werken automatisch wordt bewaard. De eerste keer automatisch bewaren gebeurt in het eerste bestand enz. Wanneer het laatste bestand gevuld is, wordt het eerste reservebestand overschreven, enz.</html>
@@ -1175,9 +1182,14 @@ OptionPanel.org.freeplane.plugin.bugreport.denied=Nooit verzenden
OptionPanel.org.freeplane.plugin.bugreport.userid=Te verzenden gebruikers-ID (optioneel)
OptionPanel.outline_hgap=Horizontale afstand
OptionPanel.outline_vgap=Verticale afstand
+OptionPanel.oval=Ovaal
OptionPanel.paint_connectors_behind=Tekenen verbinding achter knopen
OptionPanel.parse_data=Herkenning van ivoer van getalen en datum-tijd notatie
-OptionPanel.parse_data.tooltip=Probeer datum, datum-tijd en getalswaarden te vinden en pas hierop de standaardformaten toe. Voorbeelden: 100,000.00, 12/31, 12/31/99, 1999-12-31 and 1999-12-31 23:59
+OptionPanel.parse_data.tooltip=Probeer de invoer van datum, datum-tijd en getallen te verwerken en pas hier de standaard opmaak op toe. Voorbeelden: 100.000,00, 31-12, 31-12-99, 1999-12-31 en 1999-12-31 23:59
+OptionPanel.parse_formulas=Formules herkennen
+OptionPanel.parse_formulas.tooltip=Verwerk formules van knopen of attribuut waarden waarvan de tekst begint met '='. Zie ook http://www.freeplane.org/wiki/index.php/Formulas.
+OptionPanel.parse_latex=LaTeX herkennen
+OptionPanel.parse_latex.tooltip=LaTeX formules herkennen op basis van opmaak of voorvoegsel. Zie http://www.freeplane.org/wiki/index.php/LaTeX_in_Freeplane.
OptionPanel.PASTE_HTML=Plakken als opgemaakte tekst (HTML)
OptionPanel.PASTE_PLAIN_TEXT=Plakken zonder opmaak
OptionPanel.path_property_may_not_be_empty=Pad mag niet leeg zijn!/Wijziging is ongedaan gemaakt.
@@ -1195,9 +1207,13 @@ OptionPanel.printonwhitebackground.tooltip=<html> Altijd een witte achtergrond b
OptionPanel.pt_BR=Portugees (Brazilie) / Portugu\u00EAs (Brasil)
OptionPanel.pt_PT=Portugees (Portugal) / Portugu\u00EAs (Portugal)
OptionPanel.RECT=Rechthoek
+OptionPanel.rectangle=Rechthoek
OptionPanel.relative=Relatief
OptionPanel.remind_type_of_new_nodes.tooltip=<html> "Vragen" vraagt om bevestiging (gebruiken als je twijfelt).<br>"Ja" toont tekstopmaakvenster. <br>"Nee" toont knoopvenster. </html>
OptionPanel.remind_use_rich_text_in_new_nodes=Gebruik uitgebreide tekstopmaak voor geplakte knopen
+OptionPanel.remindersBlink=Herinneringen knipperen
+OptionPanel.remindersShowNotifications=Herinneringen laten een pop-up bericht zien
+OptionPanel.remindersStandardDelay=Uitstel van herinneringen
OptionPanel.remove_notes_without_question=Notitie(venster) verwijderen zonder bevestiging ?
OptionPanel.remove_notes_without_question.tooltip=Indien ingesteld: geselecteerde knopen verwijderen zonder te vragen.
OptionPanel.resources_use_default_font_for_notes_too=Gebruik standaard lettertype ook voor notities
@@ -1206,8 +1222,9 @@ OptionPanel.revision_color=Revisiekleur
OptionPanel.revision_color.tooltip=Achtergrondkleur voor gewijzigde knopen.
OptionPanel.ROUND_RECT=Afgeronde rechthoek
OptionPanel.ru=Russisch / \u0420\u0443\u0441\u0441\u043A\u0438\u0439 \u044F\u0437\u044B\u043A
-OptionPanel.save_folding=Bewaar de situatie van open/dichtvouwen
-OptionPanel.save_folding_if_map_is_changed=Als mindamap is veranderd
+OptionPanel.save_folding=De situatie van open/dichtvouwen bewaren
+OptionPanel.save_folding_if_map_is_changed=Als de mindmap is veranderd
+OptionPanel.save_last_visited_node=De laatste posities in de mindmap bewaren
OptionPanel.save_modification_times=Bewaren bewerkingstijdstippen
OptionPanel.script_cache_compiled_scripts=Cache gecompileerde scripts (zie tooltip)
OptionPanel.script_cache_compiled_scripts.tooltip=<html>Scripts worden alleen gecompileerd als Freeplane wordt uitgevoerd<br> - verwijder vinkje om bij elke uitvoering opnieuw te compileren.</html>
@@ -1221,6 +1238,7 @@ OptionPanel.script_user_key_name_for_signing=Optionele gebruikersleutel voor ond
OptionPanel.script_user_key_name_for_signing.tooltip=<html> Als je je scripts wilt ondertekenen, voer de alias van de sleutel hier in. <br>De sleutel dient zich in de standaard sleutelopslag te bevinden. <br>Het wachtwoord voor de geheime sleutel van de sleutel moet overeenkomen met het wachtwoord van de sleutelopslag (dit is de standaard).</html>
OptionPanel.scrollbar_increment=Snelheid
OptionPanel.scrolling_speed=Automatische scroll-snelheid van mindmap
+OptionPanel.scrollOnUnfold=Mindmap opschuiven na het openvouwen van een knoop
OptionPanel.selection_method=Selectiemethode
OptionPanel.selection_method.tooltip=<html> Met volgende schakelaar kun je het vertraagde selectieschema inschakelen/uitschakelen. Automatische opties. Wijzig deze niet omdat ze toch in auto.properties bewaard zullen worden.</html>
OptionPanel.selection_method_by_click=Door te klikken
@@ -1236,7 +1254,7 @@ OptionPanel.separator.cache=Cache
OptionPanel.separator.CloudControls=Opmaak wolk
OptionPanel.separator.commands_for_the_program=Commando's voor het programma
OptionPanel.separator.connectors=Verbindingslijnen en labels
-OptionPanel.separator.data_formats=Datum herkenning en formatering
+OptionPanel.separator.data_formats=Gegevens opmaak en verwerking
OptionPanel.separator.default_colors=Standaard kleuren
OptionPanel.separator.default_fonts=Standaard lettertype
OptionPanel.separator.default_styles=Standaard stijlen
@@ -1254,6 +1272,7 @@ OptionPanel.separator.icon_properties=Pictogrammen
OptionPanel.separator.icons=Pictogrammen in "Selecteren pictogram..."
OptionPanel.separator.initial_map_size=Initi\u00EBle grootte mindmap
OptionPanel.separator.inline_editor=Geintegreerd knoopbewerkingsvenster
+OptionPanel.separator.JoinNodesAction=Knopen samenvoegen
OptionPanel.separator.key_typing=Typen
OptionPanel.separator.language=Taal
OptionPanel.separator.latex=LaTeX
@@ -1263,6 +1282,7 @@ OptionPanel.separator.mouse_wheel=Muiswiel
OptionPanel.separator.new_node_commands=Commando's voor nieuwe knopen
OptionPanel.separator.node_editing_commands=Commando's voor het bewerken van knopen
OptionPanel.separator.node_navigation_commands=Commando's voor navigatie
+OptionPanel.separator.NodeBorder=Knooprand
OptionPanel.separator.NodeColors=Kleur hele kern
OptionPanel.separator.NodeFont=Lettertype hele kern
OptionPanel.separator.NodeShape=Vorm knoop
@@ -1274,6 +1294,7 @@ OptionPanel.separator.other_defaults=Andere standaardinstellingen
OptionPanel.separator.others=Andere sneltoetsen
OptionPanel.separator.outline_view=Overzichtsweergave
OptionPanel.separator.patterns=Opmaakpatronen
+OptionPanel.separator.reminderOptions=Opties voor herinneringen
OptionPanel.separator.RichTextEditor=Bewerken in dialoogvenster
OptionPanel.separator.root_node_appearance=Opmaak stamknoop
OptionPanel.separator.save=Bewaren...
@@ -1285,6 +1306,7 @@ OptionPanel.separator.selection_method=Selectiemethode
OptionPanel.separator.single_instance_mode=Enkele programma instantie
OptionPanel.separator.size_limits=Grootte beperking
OptionPanel.separator.spelling=Opties voor spellingscontrole
+OptionPanel.separator.SplitToWordsAction=Knopen in woorden splitsen
OptionPanel.separator.status=Statuslijn
OptionPanel.separator.tooltip=Tijdsintervallen voor tooltips
OptionPanel.separator.undo=Ongedaan maken bewerken
@@ -1293,9 +1315,13 @@ OptionPanel.set_property_text=Aanpassen
OptionPanel.set_property_text.tooltip=Vinkje = eigenschap wijzigen
OptionPanel.setscript=Aanpassen?
OptionPanel.setscript.tooltip=Er kan een script worden gekoppeld aan de stijl.
+OptionPanel.shape_horizontal_margin=Horizontale marge
+OptionPanel.shape_vertical_margin=Verticale marge
OptionPanel.sharp_bezier=Taps toelopend bocht
OptionPanel.sharp_linear=Tapstoelopend recht
+OptionPanel.shouldCenterSmallMaps=Kleine mappen centreren
OptionPanel.show_icon_for_attributes=Tonen pictogram voor attributen
+OptionPanel.show_less_than_N_nodes_by_default_after_load=Uit mindmap overnemen of enkele knopen openvouwen
OptionPanel.show_node_tooltips=Tonen tooltip van knoop
OptionPanel.show_note_icons=Tonen notitieicons
OptionPanel.show_styles_in_tooltip=Tonen knoopstijl in tooltip
@@ -1310,15 +1336,22 @@ OptionPanel.single_instance=Open bestanden in een lopende instantie
OptionPanel.single_instance_force=Vermijd in ieder geval tweede instantie
OptionPanel.single_instance_force.tooltip=Voorkom tweede instantie ook als geen file wordt geladen
OptionPanel.sk=Slovaaks / sloven\u010Dina
+OptionPanel.skip_template_selection=Selecteren van sjabloon overslaan
OptionPanel.sl=Slowenisch / sloven\u0161\u010Dina
+OptionPanel.slow_scroll_selected_node=Langzaam naar de geselecteerde knoop scrollen
OptionPanel.spelling_opt_case_sensitive=Hoofdlettergevoelig
OptionPanel.spelling_opt_ignore_all_caps_words=Negeer alle hoofdletterwoorden.
OptionPanel.spelling_opt_ignore_capitalization=Negeer hoofdletter aan het begin van een woord
OptionPanel.spelling_opt_ignore_words_with_numbers=Negeer woorden met een cijfer
OptionPanel.spelling_opt_suggestions_limit_dialog=Maximum aantal suggesties in het dialoogvenster
OptionPanel.spelling_opt_suggestions_limit_menu=Maximum aantal suggesties in het menu
+OptionPanel.SplitToWordsAction.auxiliaryWordList=Lijst van lidwoorden en voorzetsels
+OptionPanel.SplitToWordsAction.charactersAcceptedInWord=Verbindingstekens binnen woorden
+OptionPanel.SplitToWordsAction.leaveOriginalNodeEmpty=De oorspronkelijke knoop leeglaten
+OptionPanel.SplitToWordsAction.nodeNumbersInLine=Aantal woorden per knoop na splitsing
+OptionPanel.SplitToWordsAction.saveOriginalTextAsDetails=Oorspronkelijke tekst als knoopdetail opslaan
OptionPanel.sr=Servisch / \u0441\u0440\u043F\u0441\u043A\u0438
-OptionPanel.standard_template=Standaard stijlbestand
+OptionPanel.standard_template=Standaard sjabloon
OptionPanel.standardbackgroundcolor=Standaard achtergrondkleur
OptionPanel.standardbackgroundcolor.tooltip=<html> De standaard achtergrondkleur in html-notatie </html>
OptionPanel.standardcloudcolor=Standaard wolkkleur
@@ -1336,19 +1369,23 @@ OptionPanel.standardselectednodecolor.tooltip=<html> De standaard tekstkleur ind
OptionPanel.standardselectednoderectanglecolor=Kleur knoopomlijning geselecteerde knoop
OptionPanel.standardselectednoderectanglecolor.tooltip=<html> De kleur van de omlijning van geselecteerde knopen. In HTML notatie (#RRGGBB in hex waarden) </html>
OptionPanel.STAR=Ster
+OptionPanel.statesymbolwidth=Breedte van het symbool voor de staat van de knoop
OptionPanel.structured_html_import=Importeren HTML als knoop structuur
OptionPanel.structured_icon_toolbar=Gestructureerde werkbalk pictogrammenmenu
OptionPanel.summary=Samenvatting/Groep
OptionPanel.sv=Zweeds/ svenska
OptionPanel.text.use_ctrl_key=Gebruik 'Toewijzen sneltoets' van het menu Extra
+OptionPanel.textalignment=Uitlijning tekst
OptionPanel.time_for_automatic_save=Tijdsinterval voor automatisch bewaren
OptionPanel.time_for_automatic_save.tooltip=<html> tussentijd voor automatisch bewaren in miliseconden; Om automatisch bewaren uit te schakelen, zet je dit getal op 2000000000.</html>
OptionPanel.time_for_delayed_selection=Tijd voor vertraagde selectie
OptionPanel.time_for_delayed_selection.tooltip=<html> Tijd voor de vertraagde selectie van knopen wanneer de muis er over gaat (in msec). Wijzig deze waarde naar 1 wanneer je onmiddellijke selectie wil wanneer de muis over een knoop gaat.</html>
OptionPanel.toolTipManager.dismissDelay=Vertraging voor het laten verdwijnen, ms
OptionPanel.toolTipManager.initialDelay=Beginvertraging, ms
-OptionPanel.toolTipManager.max_tooltip_width=Breedte tooltip
-OptionPanel.toolTipManager.max_tooltip_width.tooltip=<html> De standaardbreedte van de tooltip in pixels,</html>
+OptionPanel.toolTipManager.max_tooltip_height=Maximale hoogte knoop tooltip
+OptionPanel.toolTipManager.max_tooltip_height.tooltip=De maximale breedte van een tooltip in pixels.
+OptionPanel.toolTipManager.max_tooltip_width=Maximale breedte knoop tooltip
+OptionPanel.toolTipManager.max_tooltip_width.tooltip=De maximale breedte van een tooltip in pixels.
OptionPanel.toolTipManager.reshowDelay=Vertraging in het opnieuw laten zien, ms
OptionPanel.tr=Turks
OptionPanel.uk_UA=Ukrainisch / \u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430
@@ -1357,21 +1394,25 @@ OptionPanel.undo_levels=Aantal stappen
OptionPanel.undo_levels.tooltip=<html> Bepaalt hoeveel stappen bewaard worden en zo ongedaan kunnen worden gemaakt met de "Ongedaan maken" knop.</html>
OptionPanel.unfold_on_paste=Openvouwen bij plakken
OptionPanel.unfold_on_paste.tooltip=Openvouwen bij plakken of bij verplaatsen
+OptionPanel.uniform_shape=Uniform
OptionPanel.use_common_out_point_for_root_node=Alle takken beginnen bij de stamknoop
OptionPanel.use_common_out_point_for_root_node.tooltip=Alle takken beginnen de stamknoop
OptionPanel.use_tabbed_pane=Gebruiken tabbladen
OptionPanel.use_tabbed_pane.tooltip=Als deze is aangevinkt, worden de mindmaps onder tabbladen weergegeven (net zoals in Firefox :-)).
OptionPanel.user_defined_screen_resolution=Gebruikersinstelling schermresolutie (dpi)
OptionPanel.validate_classpath_needs_readaccess=Scripting: Wanneer je het klassepad instelt moet je ook leestoegang geven!
-OptionPanel.validate_invalid_date_format=Onjuist standaard datumformaat
-OptionPanel.validate_invalid_datetime_format=Onjuist datum-tijdformaat
-OptionPanel.validate_invalid_number_format=Onjuist getalformaat
+OptionPanel.validate_invalid_date_format=Onjuist standaard opmaak datum
+OptionPanel.validate_invalid_datetime_format=Onjuiste standaard opmaak datum-tijd
+OptionPanel.validate_invalid_number_format=Onjuiste standaard opmaak getal
OptionPanel.validate_write_without_read=Scripting: overweeg om Lezen/Bestand toe te voegen aan Schrijven/Bestand.
OptionPanel.validation_error=<html> <body>Controle fouten:<p><em>{0}</em><p>Verander de instellingen om de fout te voorkomen.</body></html>
OptionPanel.validation_warning=<html> <body>Controle foutwaarschuwing:<p><em>{0}</em></body></html>
+OptionPanel.vertical_child_gap=Ruimte tussen kinderen
+OptionPanel.vertical_child_gap.tooltip=Verticale ruimte tussen kind knopen
OptionPanel.vi=Vietnamees / Ti\u1EBFng Vi\u1EC7t
OptionPanel.wheel_velocity=Snelheid
OptionPanel.wheel_velocity.tooltip=Een hogere waarde geeft snellere respons op het muiswiel in de map.
+OptionPanel.wide_hexagon=Brede zeshoek
OptionPanel.windows=Vensters
OptionPanel.zh_CN=Chinees vereenvoudigd / \u7B80\u4F53\u5B57
OptionPanel.zh_TW=Chinees, traditioneel / \u7E41\u9AD4\u5B57
@@ -1475,7 +1516,7 @@ QuickHighlightAction.text=Alle passende knopen selecteren
QuitAction.text=Afsluiten Freeplane
read_only=Alleen lezen
ReadScriptError.text=Fout bij het lezen van het script
-really_convert_to_current_version=<html> Deze mindmap is met een oudere versie van Freeplane gemaakt. <br> Wilt u de mindmap vertalen naar het nieuwste formaat ? <br> Anders wordt het in het oude formaat geladen en kunnen er onverwachte dingen gebeuren.</html>
+really_convert_to_current_version=<html>Deze mindmap is met een oudere versie van Freeplane gemaakt.<br>Wilt u de mindmap vertalen naar het nieuwste formaat? (Aanbevolen)<br> Anders wordt het in het oude formaat geladen en kunnen er onverwachte dingen gebeuren.</html>
really_cut_node=Knoop/knopen werkelijk knippen ?
really_execute_script=Ben je zeker dat je de scripts in deze mindmap wil uitvoeren ? Het is mogelijk dat je computer wordt beschadigd.
really_remove_node=Knopen echt verwijderen ?
@@ -1485,11 +1526,14 @@ red=Rood
RedefineStyleAction.text=Tot standaardknoopstijl maken
RedoAction.text=Filteractie opnieuw doen
RedoFilterAction.text=Herhalen laatste filteractie
-regular_expressions=Gangbare uitdrukking
+regular_expressions=Reguliere expressies
ReminderHookAction.text=Verwijderen herinnering
ReminderHookAction.tooltip=Verwijderen herinnering uit een knoop.
+reminderNotification=Herinneringsbericht
remove_file_from_list_on_error=Bestand (0) kon niet geopend worden. Verwijderen van de laatst gebruikte bestanden lijst?
remove_shortcut_question=Sneltoets verwijderen ?
+RemoveAllAlwaysUnfoldedNodeFlagsAction.text=Opengevouwen knopen resetten
+RemoveAllAlwaysUnfoldedNodeFlagsAction.tooltip=Alle knopen toestaan om dicht te vouwen
RemoveAllIconsAction.text=Verwijderen alle pictogrammen
RemoveConnectorAction.text=Verwijderen verbindindingslijn
RemoveEncryption.text=Verwijderen wachtwoord
@@ -1514,17 +1558,21 @@ RevisionPluginAction.text=Tonen revisies door achtergrondkleur
save=Bewaren
save_failed=Bewaren van mindmap {0} is mislukt.
save_unsaved=De volgende mindmap bewaren?
-save_unsaved_styles=Niet-bewaarde stijlen bewaren?
+save_unsaved_styles=Niet-bewaarde opmaakprofielen bewaren?
SaveAcceleratorPresetsAction.text=Bewaren set sneltoetsen...
SaveAction.text=Bewaren
+SaveAction_readonlyMsg=Deze mindmap is alleen-lezen. 'Bestand -> Bewaren als\u2026' gebruiken om deze mindmap op te slaan.
+SaveAction_readonlyTitle=Poging om een alleen-lezen mindmap op te slaan
SaveAll.text=Bewaren alle open mindmaps
SaveAll.tooltip=Bewaren alle open mindmaps
+SaveAs_toReadonlyMsg={0} is alleen-lezen. Gaarne als een ander bestand bewaren.
+SaveAs_toReadonlyTitle=Poging om een alleen-lezen bestand op te slaan
SaveAsAction.text=Bewaren als...
saved=Opgeslagen
saving_canceled=Bewaren is geannuleerd
scanners_not_loaded=Scanners niet geladen, bestand is beschadigd
scheme_evaluate=Bereken!
-script_execution_disabled=Geen uivoering van script
+script_execution_disabled=Uitvoering van scripts is uitgeschakeld, zie Extra > Instellingen\u2026 > Plugins
ScriptEditor.text=Bewerken scripts...
ScriptEditor.tooltip=Laat toe om grotere scripts te maken in Freeplane.
ScriptEditorPanel.changed_cancel=De scripts werden veranderd. Ben je zeker dat je de aanpassingen niet wil bewaren ?
@@ -1534,12 +1582,16 @@ scripting_api_generator_proxy=Proxy
scripting_api_generator_title=API voor scripts
scripting_api_generator_utilities=Hulpmiddelen
scripting_api_generator_web=Web bronnen
+ScriptsRunToggleAction.ON_SELECTED_NODE.text=Scripts voor alle geselecteerde knopen uitvoeren
+ScriptsRunToggleAction.ON_SELECTED_NODE_RECURSIVELY.text=Scripts recursief voor geselecteerde knopen uitvoeren
+ScriptsRunToggleAction.ON_SINGLE_NODE.text=Scripts voor \u00E9\u00E9n geselecteerde knoop uitvoeren
select_favorites_folder=Selecteren map waarin je favorieten staan
select_file_export_to=Selecteren bestand voor exporteren
select_folder_for_importing=Selecteren map voor importeren
select_icon=Selecteren pictogram
select_menu_item_dialog=Kiezen menuoptie
select_menu_item_root_node=Menu
+select_template=Selecteer sjabloon
SelectAllAction.text=Selecteren alle zichtbare knopen
SelectBranchAction.text=Selecteren zichtbare tak
SelectedPasteAction.text=Plakken als...
@@ -1548,10 +1600,12 @@ selection_method_delayed=Uitgestelde automatische selectie
selection_method_direct=Aanwijzen om te selecteren
SelectNoteAction.text=Bewerken notitiehulpvenster
SelectNoteAction.tooltip=Wissel naar/van notitievenster
-set_accelerator_on_next_click_action=Om eennieuwe sneltoets toe te wijzen: druk op 'Ctr' tijdens het aankikken van het commando.
+set_accelerator_on_next_click_action=Om een nieuwe sneltoets toe te wijzen: druk op 'Ctrl' tijdens het aankikken van het commando.
SetAccelerator.dialogTitle=Definitie sneltoets
SetAccelerator.keystrokeDetected=Toets ''{0}'' is niet aan een menu item toegewezen.
SetAcceleratorOnNextClickAction.text=Toewijzen sneltoets...
+SetAlwaysUnfoldedNodeFlagsAction.text=Opengevouwen knopen behouden
+SetAlwaysUnfoldedNodeFlagsAction.tooltip=Voorkomt dat de knopen die nu zijn opengevouwen worden dichtgevouwen
SetImageByFileChooserAction.text=Toevoegen afbeelding of converteren link...
SetLinkAnchorAction.text=Zetten koppelingsanker
SetLinkAnchorAction.tooltip=<html>instellen geselekteerde knoop als anker voor later te<br/>maken snelkoppeling met andere knoop of mindmap.
@@ -1590,6 +1644,8 @@ simplyhtml.appendTableColLabel=Toevoegen kolom
simplyhtml.appendTableRowLabel=Toevoegen rij
simplyhtml.applyCellAttrLabel=Toepassen op
simplyhtml.backgroundLabel=Achtergrond:
+simplyhtml.blackFontColorLabel=Zwart
+simplyhtml.blueFontColorLabel=Blauw
simplyhtml.boldItalicName=Vet Schuin
simplyhtml.boldName=Vet
simplyhtml.borderColorLabel=Kleur:
@@ -1619,6 +1675,7 @@ simplyhtml.cTagNamePara=Paragraaf
simplyhtml.cTagNameUL=Ongenummerde lijst
simplyhtml.cutLabel=Knippen
simplyhtml.cutTip=Knippen
+simplyhtml.decreaseFontSizeLabel=Kleiner
simplyhtml.defaultDocName=Zonder kern
simplyhtml.deleteTableColLabel=Verwijderen kolom
simplyhtml.deleteTableRowLabel=Verwijderen rij
@@ -1651,9 +1708,11 @@ simplyhtml.formatParaLabel=Paragraaf...
simplyhtml.formatParaTip=Wijzigen paragraafopmaak
simplyhtml.formatTableLabel=Tabel...
simplyhtml.formatTableTip=Tabel opmaken
+simplyhtml.greenFontColorLabel=Groen
simplyhtml.helpLabel=Help
simplyhtml.htmlTabTitle=Venster met HTML
simplyhtml.imageFileDesc=Afbeeldingsbestanden
+simplyhtml.increaseFontSizeLabel=Groter
simplyhtml.insertTableColLabel=Kolom invoegen
simplyhtml.insertTableLabel=Tabel...
simplyhtml.insertTableMsg=Hoeveel kolommen ?
@@ -1705,8 +1764,10 @@ simplyhtml.previewLabel=Voorbeeld
simplyhtml.previewText=Voorbeeld tekst
simplyhtml.prevTableCellLabel=Vorige cel
simplyhtml.printLabel=Afdrukken...
+simplyhtml.redFontColorLabel=Rood
simplyhtml.redoLabel=Opnieuw
simplyhtml.redoTip=Opnieuw
+simplyhtml.removeFontColorLabel=Kleur verwijderen
simplyhtml.replace=Vervangen...
simplyhtml.replaceAll=Selecteren alle attributen
simplyhtml.replaceDone=Uitgevoerd
@@ -1722,12 +1783,13 @@ simplyhtml.searchFromStart.tooltip=Zoeken vanaf het begin in plaats vanaf de cur
simplyhtml.searchUp=Zoek omhoog
simplyhtml.searchUp.tooltip=Terugzoeken (bottom up).
simplyhtml.selectAllLabel=Alles selecteren
+simplyhtml.selectedFontColorLabel=Geselecteerde lettertypekleur
simplyhtml.sizeLabel=Grootte
simplyhtml.standardStyleName=Standaard
simplyhtml.strikeLabel=Doorhaling
simplyhtml.styleLabel=Opmaakprofiel
simplyhtml.styleNameInputText=Naam van het nieuwe opmaakprofiel ?
-simplyhtml.styleNameInputTitle=Bewaar het opmaakprofiel
+simplyhtml.styleNameInputTitle=Het opmaakprofiel bewaren
simplyhtml.tableBgColLabel=Achtergrondkleur:
simplyhtml.tableDialogTitle=Opmaken tabel
simplyhtml.tableLabel=Tabel
@@ -1758,10 +1820,11 @@ simplyhtml.wholeWordsOnly=Alleen volledige woorden
simplyhtml.wholeWordsOnly.tooltip=Beperk het zoeken tot hele woorden.
SortNodes.text=Alfabetisch sorteren kinderen
SortNodes.tooltip=Alfabetisch sorteren alle kindknopen.
-split=&Splitsen
+split=Splitsen
SplitConditionAction.text=Splitsen
SplitNode.text=Splitsen knoop
SplitNode.tooltip=<html> Knoop is gesplitst</html>
+SplitToWordsAction.text=Splitsen met {0} woorden per regel
STANDARD_FORMAT=Standaard
stop_processing=Stoppen
StringFlavorHandler=Van platte tekst naar hi\u00EBrarchie van knopen
@@ -1794,16 +1857,29 @@ styles.subtopic=Deelonderwerp
styles.topic=Onderwerp
styles.user-defined=Gebruikerstijl toepassen
styles.website=Website
+styles_background_html=\n <html>\n <head>\n </head>\n <body>\n <table width="800" style="text-align: left; vertical-align: top">\n <tr valign="top">\n <th>\n <div style="margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: center; font-weight: bold">\nOver deze set opmaakprofielen\n </div>\n <div style="text-align: left; font-weight: normal">\n <div style="margin: 3pt">\n Deze standaard was ontwikkeld na 11 jaar pedagogisch onderzoek over hoe het kennispr [...]
styles_menu=Stijlen
submenu_keystroke_in_use_error=Toets {0} kan niet voor submenu {1} worden gebruikt. Toets vewijderd.
summary_nodes=Groepsknopen
summary_not_possible=Kan voor huidige selectie geen groepsknoop maken
svg=SVG
template_dir=Standaard mindmapstijlen
+TextAlignAction.CENTER.text=Gecentreerde tekst
+TextAlignAction.DEFAULT.text=Standaard
+TextAlignAction.LEFT.text=Links uitgelijnde tekst
+TextAlignAction.RIGHT.text=Rechts uitgelijnde tekst
+textalignment=Teksuitlijning
+TextChangeHotKeyAction.text=Wijzigen sneltoets voor vertaalhulp
TimeListAction.text=Taakbeheer...
TimeListAction.tooltip=Toont alle geplande herinneringen en de bijhorende knopen.
TimeManagementAction.text=Agenda...
TimeManagementAction.tooltip=<html> Start de agendamodule.</html>
+TimePeriodUnits.days=dagen
+TimePeriodUnits.hours=uur
+TimePeriodUnits.minutes=minuten
+TimePeriodUnits.ms=ms
+TimePeriodUnits.seconds=seconden
+TimePeriodUnits.weeks=weken
ToggleChildrenFoldedAction.text=Kleinkinderen open/dichtvouwen
ToggleDetailsAction.text=Tonen knoopdetails
ToggleFBarAction.text=Tonen F-balk (functietoetsen)
@@ -1815,17 +1891,23 @@ ToggleScrollbarsAction.text=Schuifbalken
ToggleStatusAction.text=Tonen statuslijn
ToggleToolbarAction.text=Tonen werkmenu
toolbars=Werkbalken
+TranslatedElement.BORDER=Tekst
+TranslatedElement.TEXT=Tekst
+TranslatedElement.TOOLTIP=Tooltip
+uiTextChanger.originalTextIsNotDefined=Engels brontekst is nog niet gedefinieerd, zie Translate How-To wiki
+uiTextChanger.replaceText=Tekst in de gebruikersinterface vertalen of verbeteren
undefined_error=Er is een onverwachte fout opgetreden. Probeer er een foutmelding van te maken.
underline=Onderstreept
UnderlineAction.text=Onderstrepen
underlined=Onderstreept
-UndoAction.text=Ongedaan maken laatse filteractie
+UndoAction.text=Ongedaan maken
UndoFilterAction.text=Ongedaan maken laatste filteractie
unfold=Openvouwen
UnfoldAllAction.text=Alle afstammelingen openvouwen
UnfoldAllAction.tooltip=<html> Alle afstammelingen openvouwen.</html>
UnfoldOneLevelAction.text=E\u00E9n niveau openvouwen
UnfoldOneLevelAction.tooltip=E\u00E9n niveau openvouwen.
+unparsedLatexPatternFormat=Onverwerkte LaTeX
up=&Op
UpConditionAction.text=Naar boven
update_failed=Het laden van nieuwe onderdelen is mislukt met bericht {0}
@@ -1851,13 +1933,16 @@ user_defined_zoom_status_bar=De zoomfactor wijzigen naar het door de gebruiker o
user_icon=Gebruiker pictogram "{0}"
user_template_dir=Door de gebruiker gedefinieerde mindmapstijlen
user_zoom=Zoomfactor (0.0 - 2.0) voor afdrukken:
-value_format=Waardeformaat
+userScripts=Beschikbare groovy scripts
+value_format=Opmaak waarde
version_up_to_date=Je gebruikt al de meest recente versie
view=Beel&d
ViewLayoutTypeAction.OUTLINE.text=Tonen overzichtsweergave
+web_resources=Bronnen op het web
WebDocuAction.text=Web Documentatie
+WhatsNewAction.text=Wat is nieuw in Freeplane 1.5.x
width=Breedte
-wrong_regexp=Verkeerde reguliere uitdrukking "{0}", fout {1}
+wrong_regexp=Verkeerde reguliere expressie "{0}", fout {1}
xslt_export.html=HTML document
xslt_export.latex=LaTex document
xslt_export.latexbook=LaTex boek
diff --git a/freeplane/resources/translations/Resources_pt_BR.properties b/freeplane/resources/translations/Resources_pt_BR.properties
index 9c787c5..e8c7563 100644
--- a/freeplane/resources/translations/Resources_pt_BR.properties
+++ b/freeplane/resources/translations/Resources_pt_BR.properties
@@ -931,7 +931,6 @@ OptionPanel.antialias_all=Suaviza tudo
OptionPanel.antialias_edges=Suaviza bordas
OptionPanel.antialias_none=Sem suaviza\u00E7\u00E3o
OptionPanel.Appearance=Apar\u00EAncia
-OptionPanel.apply_system_screen_resolution=Aplicar a resolu\u00E7\u00E3o de tela padr\u00E3o do sistema
OptionPanel.approximate_search_threshold=princ\u00EDpio de correspond\u00EAncia aproximada
OptionPanel.approximate_search_threshold.tooltip=<html>Limite para correspond\u00EAncia aproximada<br/><font size\="2">consulte http\://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(quanto maior a varia\u00E7\u00E3o menor<br/>ser\u00E1 o termo encontrado)</html>
OptionPanel.ar=\u00C1rabe
diff --git a/freeplane/resources/translations/Resources_pt_PT.properties b/freeplane/resources/translations/Resources_pt_PT.properties
index 3b2abe5..9077e9a 100644
--- a/freeplane/resources/translations/Resources_pt_PT.properties
+++ b/freeplane/resources/translations/Resources_pt_PT.properties
@@ -376,7 +376,7 @@ ExternalImageAddAction.text=Adicionar imagem...
ExternalImageChangeAction.text=Alterar imagem...
ExternalImageRemoveAction.text=Eliminar imagem
ExtractLinkFromTextAction.text=Converter texto em hiperliga\u00E7\u00E3o
-ExtractLinkFromTextAction.tooltip=Criar uma hiperliga\u00E7\u00E3o a partir do texto mostrado no n\u00F3
+ExtractLinkFromTextAction.tooltip=Criar hiperliga\u00E7\u00E3o de endere\u00E7o no texto do n\u00F3
extras=&Ferramentas
f_button_unassigned=<nenhuma a\u00E7\u00E3o>
FaqOpenURLAction.text=FAQ
@@ -890,6 +890,7 @@ no_found_from=<html>N\u00E3o foi encontrado <u>"{0}"</u> a partir de "{1}".</htm
no_more_found_from=<html>N\u00E3o foram encontrados mais <u>{0}</u> a partir de "{1}".</html>
no_previous_find=Sem ocorr\u00EAncia anterior.
no_styles_found_in_map=N\u00E3o foram encontrados estilos no mapa
+no_translation_strings_found=Sem cadeias para traduzir
node=N\u00F3
node_changed_discard_changes=O n\u00F3 foi modificado. Quer ignorar as altera\u00E7\u00F5es?
node_is_write_protected=O n\u00F3 destino est\u00E1 protegido contra escrita.
@@ -962,7 +963,6 @@ OptionPanel.antialias_all=Suaviza\u00E7\u00E3o total
OptionPanel.antialias_edges=Linhas suavizadas
OptionPanel.antialias_none=Sem suaviza\u00E7\u00E3o
OptionPanel.Appearance=Apar\u00EAncia
-OptionPanel.apply_system_screen_resolution=Aplicar a resolu\u00E7\u00E3o predefinida do ecr\u00E3
OptionPanel.approximate_search_threshold=Limite para coincid\u00EAncias aproximadas
OptionPanel.approximate_search_threshold.tooltip=<html>Limite para coincid\u00EAncias aproximadas<br/>Veja <font size="2">http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(quanto mais alto menos varia\u00E7\u00F5es<br/>do termo procurado ser\u00E3o encontradas)</html>
OptionPanel.ar=\u00C1rabe / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
@@ -976,6 +976,10 @@ OptionPanel.automaticFormat_level2=1. Formato do n\u00EDvel do n\u00F3
OptionPanel.backup_file_number=N\u00FAmero de c\u00F3pias de seguran\u00E7a a manter
OptionPanel.Behaviour=Comportamento
OptionPanel.bezier=Curva suave (B\u00E9zier)
+OptionPanel.border_color=Cor
+OptionPanel.border_color_matches_edge_color=Usar cor da linha
+OptionPanel.border_width=Largura da linha
+OptionPanel.border_width_matches_edge_width=Usar largura da linha
OptionPanel.bubble=Bolha
OptionPanel.ca=Catal\u00E3o, Valencia/Catal\u00E0
OptionPanel.Cancel=Cancelar
@@ -1282,6 +1286,7 @@ OptionPanel.separator.mouse_wheel=Roda do rato
OptionPanel.separator.new_node_commands=Novos comandos do n\u00F3
OptionPanel.separator.node_editing_commands=Comandos de edi\u00E7\u00E3o do n\u00F3
OptionPanel.separator.node_navigation_commands=Comandos de navega\u00E7\u00E3o do n\u00F3
+OptionPanel.separator.NodeBorder=Contorno do n\u00F3
OptionPanel.separator.NodeColors=Cores de todo o n\u00FAcleo
OptionPanel.separator.NodeFont=Tipo de letra do n\u00FAcleo
OptionPanel.separator.NodeShape=Forma do n\u00F3
@@ -1335,6 +1340,7 @@ OptionPanel.single_instance=Abre os ficheiros na inst\u00E2ncia em execu\u00E7\u
OptionPanel.single_instance_force=Evitar uma segunda inst\u00E2ncia em qualquer caso
OptionPanel.single_instance_force.tooltip=Evitar uma segunda inst\u00E2ncia mesmo que n\u00E3o haja ficheiro a carregar
OptionPanel.sk=Eslovaco / sloven\u010Dina
+OptionPanel.skip_template_selection=Saltar di\u00E1logo de selec\u00E7\u00E3o de modelo
OptionPanel.sl=Esloveno / sloven\u0161\u010Dina
OptionPanel.slow_scroll_selected_node=Deslocar lentamente para o n\u00F3 selecionado
OptionPanel.small_bubble=Bolha pequena
@@ -1591,6 +1597,7 @@ select_folder_for_importing=Escolha a pasta para importar
select_icon=Selecione um \u00EDcone
select_menu_item_dialog=Selecione um item de menu
select_menu_item_root_node=Menu
+select_template=Seleccionar modelo
SelectAllAction.text=Selecionar todos os n\u00F3s vis\u00EDveis
SelectBranchAction.text=Selecionar o ramo vis\u00EDvel
SelectedPasteAction.text=Colar como...
@@ -1868,6 +1875,7 @@ TextAlignAction.DEFAULT.text=Predefini\u00E7\u00E3o
TextAlignAction.LEFT.text=Texto alinhado \u00E0 esquerda
TextAlignAction.RIGHT.text=Texto alinhado \u00E0 direita
textalignment=Alinhamento de texto
+TextChangeHotKeyAction.text=Definir atalho de altera\u00E7\u00E3o de texto
TimeListAction.text=Gerir tarefas...
TimeListAction.tooltip=Mostra todos os agendamentos e os n\u00F3s correspondentes.
TimeManagementAction.text=Gerir tempo...
@@ -1889,6 +1897,11 @@ ToggleScrollbarsAction.text=Barras de deslocamento
ToggleStatusAction.text=Mostrar linha de estado
ToggleToolbarAction.text=Barra de ferramentas
toolbars=Barras de ferramentas
+TranslatedElement.BORDER=Texto do contorno
+TranslatedElement.TEXT=Texto
+TranslatedElement.TOOLTIP=Sugest\u00E3o
+uiTextChanger.originalTextIsNotDefined=Texto original n\u00E3o definido
+uiTextChanger.replaceText=Substituir texto do UI
undefined_error=Ocorreu um erro inesperado. Por favor tente criar um relat\u00F3rio de erros.
underline=Sublinhado
UnderlineAction.text=Sublinhado
diff --git a/freeplane/resources/translations/Resources_ru.properties b/freeplane/resources/translations/Resources_ru.properties
index e018fe5..72e8155 100644
--- a/freeplane/resources/translations/Resources_ru.properties
+++ b/freeplane/resources/translations/Resources_ru.properties
@@ -923,7 +923,6 @@ OptionPanel.antialias_all=\u0421\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u0442
OptionPanel.antialias_edges=\u0421\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u0442\u044C \u0440\u0451\u0431\u0440\u0430
OptionPanel.antialias_none=\u041D\u0435 \u0441\u0433\u043B\u0430\u0436\u0438\u0432\u0430\u0442\u044C
OptionPanel.Appearance=\u0412\u043D\u0435\u0448\u043D\u0438\u0439 \u0432\u0438\u0434
-OptionPanel.apply_system_screen_resolution=\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u043E\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0434\u0438\u0441\u043F\u043B\u0435\u044F
OptionPanel.approximate_search_threshold=\u041F\u043E\u0440\u043E\u0433\u043E\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044F
OptionPanel.approximate_search_threshold.tooltip=<html>\u041F\u043E\u0440\u043E\u0433\u043E\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u043F\u0440\u0438\u0431\u043B\u0438\u0437\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u0440\u0430\u0432\u043D\u0435\u043D\u0438\u044F<br/><font size="2">\u0441\u043C. http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(\u0447\u0435\u043C \u0432\u044B\u0448\u0435 \u0437\u043D\u0 [...]
OptionPanel.ar=\u0410\u0440\u0430\u0431\u0441\u043A\u0438\u0439
diff --git a/freeplane/resources/translations/Resources_sr.properties b/freeplane/resources/translations/Resources_sr.properties
index 550ad93..043fc68 100644
--- a/freeplane/resources/translations/Resources_sr.properties
+++ b/freeplane/resources/translations/Resources_sr.properties
@@ -889,7 +889,6 @@ OptionPanel.antialias_all=\u0417\u0430\u0433\u043B\u0430\u0434\u0438 \u0441\u043
OptionPanel.antialias_edges=\u0417\u0430\u0433\u043B\u0430\u0452\u0438\u0432\u0430\u045A\u0435 \u0440\u0443\u0431\u0430
OptionPanel.antialias_none=\u0411\u0435\u0437 \u0437\u0430\u0433\u043B\u0430\u0452\u0438\u0432\u0430\u045A\u0430
OptionPanel.Appearance=\u0418\u0437\u0433\u043B\u0435\u0434
-OptionPanel.apply_system_screen_resolution=\u041F\u0440\u0438\u043C\u0435\u043D\u0438 \u043F\u043E\u0434\u0440\u0430\u0437\u0443\u043C\u0435\u0432\u0430\u043D\u0443 \u0440\u0435\u0437\u043E\u043B\u0443\u0446\u0438\u0458\u0443 \u0435\u043A\u0440\u0430\u043D\u0430
OptionPanel.approximate_search_threshold=\u041F\u0440\u0430\u0433 \u0437\u0430 \u043F\u0440\u0438\u0431\u043B\u0438\u0436\u043D\u043E \u043F\u043E\u0434\u0443\u0434\u0430\u0440\u0430\u045A\u0435
OptionPanel.approximate_search_threshold.tooltip=<html>\u041F\u0440\u0430\u0433 \u0437\u0430 \u043F\u0440\u0438\u0431\u043B\u0438\u0436\u043D\u043E \u043F\u043E\u0434\u0443\u0434\u0430\u0440\u0430\u045A\u0435<br/><\u0432\u0435\u043B\u0438\u0447\u0438\u043D\u0435 \u0441\u043B\u043E\u0432\u0430="2">\u043F\u043E\u0433\u043B\u0435\u0434\u0430\u0458 http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(\u0432\u0435\u045B\u0430 - \u043C\u0430\u045A\u0430 \u043A\u043E\u043B\u043 [...]
OptionPanel.ar=Arabic / \u0410\u0440\u0430\u043F\u0441\u043A\u0438
diff --git a/freeplane/resources/translations/Resources_sv.properties b/freeplane/resources/translations/Resources_sv.properties
index f879245..050721f 100644
--- a/freeplane/resources/translations/Resources_sv.properties
+++ b/freeplane/resources/translations/Resources_sv.properties
@@ -1,30 +1,30 @@
about_text=Freeplane - Fri mjukvara f\u00F6r tankekartor och kunskapsbyggande
-AboutAction.text=Om Freeplane
+AboutAction.text=Om
acceleratorPresets=Snabbtangenter
-accelerators_loading_error=Can not load accelerators from {0}
-accessories/plugins/ApplyFormatPlugin.dialog.title=\u00C4ndra grenformat
+accelerators_loading_error=Kan inte ladda acceleratorer fr\u00E5n {0}
+accessories/plugins/ApplyFormatPlugin.dialog.title=\u00C4ndra nodernas format
accessories/plugins/AutomaticLayout.properties_StyleDialogTitle=\u00C4ndra m\u00F6nster
-accessories/plugins/EncryptNode.properties_0=V\u00E4lj l\u00F6senord f\u00F6r krypterad gren
-accessories/plugins/EncryptNode.properties_1=L\u00F6senordet matchar inte eller \u00E4r f\u00F6r kort.
+accessories/plugins/EncryptNode.properties_0=V\u00E4lj l\u00F6senord f\u00F6r skyddad (krypterad) nod
+accessories/plugins/EncryptNode.properties_1=L\u00F6senorden \u00E4r inte likadana eller s\u00E5 \u00E4r de f\u00F6r korta.
accessories/plugins/EncryptNode.properties_2=Skriv in l\u00F6senord:
accessories/plugins/EncryptNode.properties_3=Skriv in l\u00F6senord igen:
accessories/plugins/EncryptNode.properties_4=Skriv in ditt l\u00F6senord.
-accessories/plugins/EncryptNode.properties_5=<html>Sekretessniv\u00E5n<br>styrs helt och h\u00E5ller av l\u00F6senordets kvalitet.
+accessories/plugins/EncryptNode.properties_5=<html>Kom ih\u00E5g att krypteringens styrka<br> beror n\u00E4stan helt och h\u00E5llet p\u00E5 ditt l\u00F6senords kvalit\u00E9.
accessories/plugins/EncryptNode.properties_6=OK
accessories/plugins/EncryptNode.properties_7=Avbryt
accessories/plugins/EncryptNode.properties_insert_encrypted_node_first=V\u00E4xling av krypteringsniv\u00E5 endast m\u00F6jlig p\u00E5 krypterad gren. Anv\u00E4nd verktygsmenyn f\u00F6r att infoga krypterad gren.
-accessories/plugins/EncryptNode.properties_select_me=V\u00E4lj f\u00F6r att forts\u00E4tta!
-accessories/plugins/EncryptNode.properties_wrong_password=Felaktigt l\u00F6senord.
-accessories/plugins/ExportWithTWiki.text=Som TWiki...
+accessories/plugins/EncryptNode.properties_select_me=V\u00E4lj mig f\u00F6r att forts\u00E4tta!
+accessories/plugins/EncryptNode.properties_wrong_password=L\u00F6senordet \u00E4r inte r\u00E4tt.
+accessories/plugins/ExportWithTWiki.text=TWiki...
accessories/plugins/ExportWithTWiki.tooltip=Exportera kartan som ett TWiki-dokument.
-accessories/plugins/ExportWithXSLT.tooltip=Detta \u00E4r en enhetlig exportmetod - XSLT skript.
-accessories/plugins/ExportWithXSLT_Applet.text=Som Java Applet...
-accessories/plugins/ExportWithXSLT_Applet.tooltip=Exportera tankekartan som Java webbl\u00E4sarapplet.
-accessories/plugins/ExportWithXSLT_Flash.text=Som Flash...
-accessories/plugins/ExportWithXSLT_Flash.tooltip=Exportera kartan som Flashapplikation.
-accessories/plugins/ExportWithXSLT_HTML.text=Som XHTML (JavaScript version)...
-accessories/plugins/ExportWithXSLT_HTML3.text=Som XHTML (Klickbar bildversion)...
-accessories/plugins/ExportWithXSLT_RESOURCESTJI.text=Resurser fr\u00E5n RESOURCES-gren till TaskJuggler fil...
+accessories/plugins/ExportWithXSLT.tooltip=Det h\u00E4r \u00E4r en enhetlig exportmetod.
+accessories/plugins/ExportWithXSLT_Applet.text=Java-applet...
+accessories/plugins/ExportWithXSLT_Applet.tooltip=Exportera kartan som en Java-baserad webbl\u00E4sarapplet.
+accessories/plugins/ExportWithXSLT_Flash.text=Flash...
+accessories/plugins/ExportWithXSLT_Flash.tooltip=Exportera kartan som en Flash-applikation.
+accessories/plugins/ExportWithXSLT_HTML.text=XHTML (JavaScript-version)...
+accessories/plugins/ExportWithXSLT_HTML3.text=XHTML (Klickbar bild-version f\u00F6r karta)...
+accessories/plugins/ExportWithXSLT_RESOURCESTJI.text=Resurser fr\u00E5n RESOURCES-nod till TaskJuggler-fil...
accessories/plugins/ExportWithXSLT_RESOURCESTJI.tooltip=<html>Exporterar resurser from Resurs-gren till Taskjuggler modul. </html>
accessories/plugins/ExportWithXSLT_TASKSTJI.text=Uppgifter fr\u00E5n TASKS-gren till Taskjuggler fil...
accessories/plugins/ExportWithXSLT_TASKSTJI.tooltip=<html>Exporterar uppgifter fr\u00E5n TASKS-gren till Taskjuggler modul. </html>
diff --git a/freeplane/resources/translations/Resources_uk_UA.properties b/freeplane/resources/translations/Resources_uk_UA.properties
index fc91a31..2f3c278 100644
--- a/freeplane/resources/translations/Resources_uk_UA.properties
+++ b/freeplane/resources/translations/Resources_uk_UA.properties
@@ -889,6 +889,7 @@ no_found_from=<html>\u0422\u0435\u043A\u0441\u0442 <u>{0}</u> \u043D\u0435 \u043
no_more_found_from=<html>\u0422\u0435\u043A\u0441\u0442 <u>{0}</u> \u0431\u0456\u043B\u044C\u0448\u0435 \u043D\u0435 \u0437\u0443\u0441\u0442\u0440\u0456\u0447\u0430\u0454\u0442\u044C\u0441\u044F \u0432 "{1}".</html>
no_previous_find=\u0420\u0430\u043D\u0456\u0448\u0438\u0445 \u0437\u0431\u0456\u0433\u0456\u0432 \u043D\u0435\u043C\u0430\u0454.
no_styles_found_in_map=\u0421\u0442\u0438\u043B\u0456\u0432 \u0443 \u043A\u0430\u0440\u0442\u0456 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E
+no_translation_strings_found=\u0420\u044F\u0434\u043A\u0456\u0432 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043A\u043B\u0430\u0434\u0443 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E
node=\u0412\u0443\u0437\u043E\u043B
node_changed_discard_changes=\u0412\u0438 \u0437\u043C\u0456\u043D\u0438\u043B\u0438 \u0432\u0443\u0437\u043E\u043B. \u0425\u043E\u0447\u0435\u0442\u0435 \u0432\u0456\u0434\u043C\u043E\u0432\u0438\u0442\u0438\u0441\u044F \u0432\u0456\u0434 \u0437\u043C\u0456\u043D?
node_is_write_protected=\u0426\u0456\u043B\u044C\u043E\u0432\u0438\u0439 \u0432\u0443\u0437\u043E\u043B \u0437\u0430\u0445\u0438\u0449\u0435\u043D\u0438\u0439 \u0432\u0456\u0434 \u0437\u0430\u043F\u0438\u0441\u0443.
@@ -960,7 +961,6 @@ OptionPanel.antialias_all=\u0417\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430
OptionPanel.antialias_edges=\u0417\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u043D\u0456\u0457
OptionPanel.antialias_none=\u041D\u0435 \u0437\u0433\u043B\u0430\u0434\u0436\u0443\u0432\u0430\u0442\u0438
OptionPanel.Appearance=\u0417\u043E\u0432\u043D\u0456\u0448\u043D\u0456\u0439 \u0432\u0438\u0433\u043B\u044F\u0434
-OptionPanel.apply_system_screen_resolution=\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0442\u0438\u043F\u043E\u0432\u0443 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0443 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u0435\u043A\u0440\u0430\u043D\u0443
OptionPanel.approximate_search_threshold=\u041F\u043E\u0440\u0456\u0433 \u0434\u043B\u044F \u043D\u0430\u0431\u043B\u0438\u0436\u0435\u043D\u043E\u0457 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u043E\u0441\u0442\u0456
OptionPanel.approximate_search_threshold.tooltip=<html>\u041F\u043E\u0440\u0456\u0433 \u0434\u043B\u044F \u043D\u0430\u0431\u043B\u0438\u0436\u0435\u043D\u043E\u0457 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u043E\u0441\u0442\u0456<br/><font size="2">\u0434\u0438\u0432. http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(\u0431\u0456\u043B\u044C\u0448\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F - \u0431\u0456\u043B\u044C\u0448 \u0432\u0456\u0434\ [...]
OptionPanel.ar=\u0410\u0440\u0430\u0431\u0441\u044C\u043A\u0430 / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
@@ -974,6 +974,10 @@ OptionPanel.automaticFormat_level2=\u0424\u043E\u0440\u043C\u0430\u0442 \u0432\u
OptionPanel.backup_file_number=\u041A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u0440\u0435\u0437\u0435\u0440\u0432\u043D\u0438\u0445 \u0444\u0430\u0439\u043B\u0456\u0432, \u0449\u043E \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u044E\u0442\u044C\u0441\u044F
OptionPanel.Behaviour=\u041F\u043E\u0432\u0435\u0434\u0456\u043D\u043A\u0430
OptionPanel.bezier=\u041A\u0440\u0438\u0432\u0430
+OptionPanel.border_color=\u041A\u043E\u043B\u0456\u0440
+OptionPanel.border_color_matches_edge_color=\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u0440\u0435\u0431\u0440\u0430
+OptionPanel.border_width=\u0428\u0438\u0440\u0438\u043D\u0430 \u043B\u0456\u043D\u0456\u0457
+OptionPanel.border_width_matches_edge_width=\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u0442\u0438 \u0448\u0438\u0440\u0438\u043D\u0443 \u0440\u0435\u0431\u0440\u0430
OptionPanel.bubble=\u0411\u0443\u043B\u044C\u0431\u0430\u0448\u043A\u0430
OptionPanel.ca=\u041A\u0430\u0442\u0430\u043B\u0430\u043D\u0441\u044C\u043A\u0430, \u0412\u0430\u043B\u0435\u043D\u0441\u0456\u044F / Catal\u00E0
OptionPanel.Cancel=\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438
@@ -1280,6 +1284,7 @@ OptionPanel.separator.mouse_wheel=\u041A\u043E\u043B\u0456\u0449\u0430\u0442\u04
OptionPanel.separator.new_node_commands=\u0421\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u0432\u0443\u0437\u043B\u0456\u0432
OptionPanel.separator.node_editing_commands=\u0417\u043C\u0456\u043D\u0430 \u0432\u0443\u0437\u043B\u0456\u0432
OptionPanel.separator.node_navigation_commands=\u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F
+OptionPanel.separator.NodeBorder=\u041C\u0435\u0436\u0430 \u0432\u0443\u0437\u043B\u0430
OptionPanel.separator.NodeColors=\u041A\u043E\u043B\u0456\u0440 \u0432\u0441\u044C\u043E\u0433\u043E \u044F\u0434\u0440\u0430
OptionPanel.separator.NodeFont=\u0428\u0440\u0438\u0444\u0442 \u0432\u0441\u044C\u043E\u0433\u043E \u044F\u0434\u0440\u0430
OptionPanel.separator.NodeShape=\u0424\u043E\u0440\u043C\u0430 \u0432\u0443\u0437\u043B\u0430
@@ -1333,6 +1338,7 @@ OptionPanel.single_instance=\u0412\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u04
OptionPanel.single_instance_force=\u0417\u0430\u0432\u0436\u0434\u0438 \u0443\u043D\u0438\u043A\u0430\u0442\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0443 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u043F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A\u0430
OptionPanel.single_instance_force.tooltip=\u0423\u043D\u0438\u043A\u0430\u0442\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0443 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u043F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A\u0430, \u043D\u0430\u0432\u0456\u0442\u044C \u044F\u043A\u0449\u043E \u043D\u0435\u043C\u0430\u0454 \u0444\u0430\u0439\u043B\u0443 \u0434\u043B\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0432\u0430\u043D\u043D\u044F
OptionPanel.sk=\u0421\u043B\u043E\u0432\u0430\u0446\u044C\u043A\u0430 / sloven\u010Dina
+OptionPanel.skip_template_selection=\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433 \u0432\u0438\u0431\u043E\u0440\u0443 \u0448\u0430\u0431\u043B\u043E\u043D\u0430
OptionPanel.sl=\u0421\u043B\u043E\u0432\u0435\u043D\u0441\u044C\u043A\u0430 / sloven\u0161\u010Dina
OptionPanel.slow_scroll_selected_node=\u041F\u043E\u0432\u0456\u043B\u044C\u043D\u0435 \u043F\u0440\u043E\u043A\u0440\u0443\u0447\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0433\u043E \u0432\u0443\u0437\u043B\u0430
OptionPanel.small_bubble=\u041C\u0430\u043B\u0430 \u0431\u0443\u043B\u044C\u0431\u0430\u0448\u043A\u0430
@@ -1587,6 +1593,7 @@ select_folder_for_importing=\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u
select_icon=\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0456\u043A\u0442\u043E\u0433\u0440\u0430\u043C\u0443
select_menu_item_dialog=\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0443\u043D\u043A\u0442 \u043C\u0435\u043D\u044E
select_menu_item_root_node=\u041C\u0435\u043D\u044E
+select_template=\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D
SelectAllAction.text=\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0456 \u0432\u0438\u0434\u0438\u043C\u0456 \u0432\u0443\u0437\u043B\u0438
SelectBranchAction.text=\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0443 \u0433\u0456\u043B\u043A\u0443
SelectedPasteAction.text=\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u044F\u043A...
@@ -1885,6 +1892,10 @@ ToggleScrollbarsAction.text=\u0421\u043C\u0443\u0433\u0438 \u043F\u0440\u043E\u0
ToggleStatusAction.text=\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0440\u044F\u0434\u043E\u043A \u0441\u0442\u0430\u043D\u0443
ToggleToolbarAction.text=\u041F\u0430\u043D\u0435\u043B\u044C \u0437\u0430\u0441\u043E\u0431\u0456\u0432
toolbars=\u041F\u0430\u043D\u0435\u043B\u0456 \u0456\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0456\u0432
+TranslatedElement.TEXT=\u0422\u0435\u043A\u0441\u0442
+TranslatedElement.TOOLTIP=\u041F\u0456\u0434\u043A\u0430\u0437\u043A\u0430
+uiTextChanger.originalTextIsNotDefined=\u041F\u043E\u0447\u0430\u0442\u043A\u043E\u0432\u0438\u0439 \u0442\u0435\u043A\u0441\u0442 \u043D\u0435 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043E
+uiTextChanger.replaceText=\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0442\u0435\u043A\u0441\u0442 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430
undefined_error=\u041D\u0435\u0441\u043F\u043E\u0434\u0456\u0432\u0430\u043D\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430. \u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u0442\u0435 \u0440\u043E\u0437\u0440\u043E\u0431\u043D\u0438\u043A\u0430\u043C.
underline=\u041F\u0456\u0434\u043A\u0440\u0435\u0441\u043B\u0435\u043D\u043D\u044F
UnderlineAction.text=\u041F\u0456\u0434\u043A\u0440\u0435\u0441\u043B\u0435\u043D\u043D\u044F
diff --git a/freeplane/resources/translations/Resources_zh_CN.properties b/freeplane/resources/translations/Resources_zh_CN.properties
index 7ae44f3..4229c29 100644
--- a/freeplane/resources/translations/Resources_zh_CN.properties
+++ b/freeplane/resources/translations/Resources_zh_CN.properties
@@ -958,7 +958,6 @@ OptionPanel.antialias_all=\u5E73\u6ED1\u5168\u90E8
OptionPanel.antialias_edges=\u5E73\u6ED1\u8FDE\u7EBF
OptionPanel.antialias_none=\u4E0D\u5E73\u6ED1
OptionPanel.Appearance=\u5916\u89C2
-OptionPanel.apply_system_screen_resolution=\u5E94\u7528\u7CFB\u7EDF\u9ED8\u8BA4\u7684\u5C4F\u5E55\u5206\u8FA8\u7387
OptionPanel.approximate_search_threshold=\u8FD1\u4F3C\u5339\u914D\u9608\u503C
OptionPanel.approximate_search_threshold.tooltip=<html>\u8FD1\u4F3C\u5339\u914D\u9608\u503C<br/> <font size="2">\u8BE6\u60C5\u8BF7\u81F3 http://freeplane.sf.net/wiki/index.php/Approximate_search </font><br/>\uFF08\u8D8A\u9AD8\u4F1A\u53D1\u73B0\u8D8A\u5C11\u7684\u641C\u7D22\u7ED3\u679C<br/>\uFF09 </html>
OptionPanel.ar=\u963F\u6839\u5EF7\u8BED
diff --git a/freeplane/resources/translations/Resources_zh_TW.properties b/freeplane/resources/translations/Resources_zh_TW.properties
index aa516c7..475ed14 100644
--- a/freeplane/resources/translations/Resources_zh_TW.properties
+++ b/freeplane/resources/translations/Resources_zh_TW.properties
@@ -923,7 +923,6 @@ OptionPanel.antialias_all=\u9664\u53BB\u6240\u6709\u92F8\u9F52\u908A
OptionPanel.antialias_edges=\u9664\u53BB\u92F8\u9F52\u908A
OptionPanel.antialias_none=\u4E0D\u53BB\u92F8\u9F52
OptionPanel.Appearance=\u5916\u89C0\u8A2D\u5B9A
-OptionPanel.apply_system_screen_resolution=\u5957\u7528\u7CFB\u7D71\u87A2\u5E55\u89E3\u6790\u5EA6
OptionPanel.approximate_search_threshold=\u9032\u4F3C\u5339\u914D\u7684\u9580\u6ABB
OptionPanel.approximate_search_threshold.tooltip=<html>\u9032\u4F3C\u5339\u914D\u7684\u9580\u6ABB<br/><font size="2">\u53C3\u95B1 http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(\u503C\u8D8A\u5927\uFF0C\u8D8A\u5C11\u8B8A\u4F8B\u6703\u88AB\u641C\u5C0B\u5230)</html>
OptionPanel.ar=\u0627\u0644\u0639\u0631\u0628\u064A\u0629 (\u963F\u62C9\u4F2F\u6587)
diff --git a/freeplane/src/main/java/org/freeplane/core/resources/ResourceBundles.java b/freeplane/src/main/java/org/freeplane/core/resources/ResourceBundles.java
index 3fa9b08..239d62d 100644
--- a/freeplane/src/main/java/org/freeplane/core/resources/ResourceBundles.java
+++ b/freeplane/src/main/java/org/freeplane/core/resources/ResourceBundles.java
@@ -20,6 +20,10 @@
package org.freeplane.core.resources;
import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
@@ -46,20 +50,23 @@ public class ResourceBundles extends ResourceBundle {
/**
*
*/
- final private ResourceController controller;
+// final private ResourceController controller;
private Map<String, String> defaultResources;
private final MultipleValueMap<String, URL> externalResources;
private String lang;
private Map<String, String> languageResources;
+ final private Properties userLanguageResources;
final private boolean isUserDefined;
+ private boolean userResourcesHaveChanged;
- ResourceBundles(final ResourceController controller) {
- this.controller = controller;
+ ResourceBundles(String language) {
final URL systemResource = getSystemResourceUrl(DEFAULT_LANGUAGE);
isUserDefined = systemResource.getProtocol().equalsIgnoreCase("file");
externalResources = new MultipleValueMap<String, URL>();
+ userLanguageResources = new Properties();
+ userResourcesHaveChanged = false;
try {
- loadLocalLanguageResources();
+ loadLocalLanguageResources(language);
if(lang.equals(DEFAULT_LANGUAGE))
defaultResources = languageResources;
else
@@ -130,7 +137,7 @@ public class ResourceBundles extends ResourceBundle {
return resources;
}
- protected URL getSystemResourceUrl(final String lang) {
+ private URL getSystemResourceUrl(final String lang) {
String resourceName = "/translations/Resources" + "_" + lang + ".properties";
final URL systemResource = ResourceController.getResourceController().getResource(resourceName);
return systemResource;
@@ -163,34 +170,94 @@ public class ResourceBundles extends ResourceBundle {
}
public String getResourceString(final String key, final String resource) {
- String value = languageResources.get(key);
+ String value = getLanguageString(key);
if (value != null) {
return value;
}
- value = defaultResources.get(key);
+ value = getOriginalString(key);
if (value != null) {
return value + ResourceBundles.POSTFIX_TRANSLATE_ME;
}
return resource;
}
+ public String getOriginalString(final String key) {
+ return defaultResources.get(key);
+ }
+
+ private String getLanguageString(final String key) {
+ final String userString = userLanguageResources.getProperty(key);
+ return userString != null ? userString : languageResources.get(key);
+ }
+
public String putResourceString(final String key, final String resource) {
return languageResources.put(key, resource);
}
+ public void putUserResourceString(final String key, final String value) {
+ if(value != null && ! value.isEmpty())
+ addUserDefinedString(key, value);
+ else {
+ removeUserDefinedString(key);
+ }
+ }
+
+ private void addUserDefinedString(final String key, final String value) {
+ if(! value.equals(userLanguageResources.getProperty(key))) {
+ userResourcesHaveChanged = true;
+ userLanguageResources.setProperty(key, value);
+ }
+ }
+
+ private void removeUserDefinedString(final String key) {
+ if (userLanguageResources.contains(key)) {
+ userLanguageResources.remove(key);
+ userResourcesHaveChanged = true;
+ }
+ }
+
@Override
protected Object handleGetObject(final String key) {
try {
- return languageResources.get(key);
+ return getLanguageString(key);
}
catch (final Exception ex) {
LogUtils.severe("Warning - resource string not found:" + key);
- return defaultResources.get(key) + ResourceBundles.POSTFIX_TRANSLATE_ME;
+ return getOriginalString(key) + ResourceBundles.POSTFIX_TRANSLATE_ME;
}
}
- private void loadLocalLanguageResources() throws IOException {
- lang = controller.getProperty(ResourceBundles.RESOURCE_LANGUAGE);
+ private void loadLocalLanguageResources(String newLanguage) throws IOException {
+ loadInternalResources(newLanguage);
+ loadUserResources();
+ }
+
+ private void loadUserResources() throws IOException {
+ userLanguageResources.clear();
+ final File userResourceFile = userResourceFile();
+ if(userResourceFile.exists()) {
+ try (final BufferedInputStream in = new BufferedInputStream(new FileInputStream(userResourceFile))) {
+ userLanguageResources.load(in);
+ }
+ }
+ userResourcesHaveChanged = false;
+ }
+
+ public void saveUserResources() throws IOException {
+ final File userResourceFile = userResourceFile();
+ if(userResourcesHaveChanged) {
+ userLanguageResources.store(new BufferedOutputStream(new FileOutputStream(userResourceFile)), "");
+ userResourcesHaveChanged = false;
+ }
+ }
+
+
+ private File userResourceFile() {
+ return new File(ResourceController.getResourceController().getFreeplaneUserDirectory(), "UserResources_" + lang + ".properties");
+ }
+
+ private void loadInternalResources(String newLanguage) throws IOException {
+ lang = newLanguage;
if (lang == null || lang.equals(LANGUAGE_AUTOMATIC)) {
final String country = Locale.getDefault().getCountry();
if(! country.equals("")){
@@ -226,10 +293,10 @@ public class ResourceBundles extends ResourceBundle {
System.exit(1);
}
- public void loadAnotherLanguage() {
+ public void loadAnotherLanguage(String newLanguage) {
try {
- if(! lang.equals(controller.getProperty(ResourceBundles.RESOURCE_LANGUAGE)))
- loadLocalLanguageResources();
+ if(! lang.equals(newLanguage))
+ loadLocalLanguageResources(newLanguage);
}
catch (final IOException e) {
LogUtils.severe(e);
diff --git a/freeplane/src/main/java/org/freeplane/core/resources/ResourceController.java b/freeplane/src/main/java/org/freeplane/core/resources/ResourceController.java
index c16dda6..6e12f62 100644
--- a/freeplane/src/main/java/org/freeplane/core/resources/ResourceController.java
+++ b/freeplane/src/main/java/org/freeplane/core/resources/ResourceController.java
@@ -35,6 +35,7 @@ import java.util.ResourceBundle;
import java.util.Vector;
import org.freeplane.core.ui.AFreeplaneAction;
+import org.freeplane.core.ui.ActionAcceleratorManager;
import org.freeplane.core.ui.LengthUnits;
import org.freeplane.core.ui.TimePeriodUnits;
import org.freeplane.core.util.FileUtils;
@@ -58,6 +59,8 @@ public abstract class ResourceController {
}
final private List<IFreeplanePropertyListener> propertyChangeListeners = new Vector<IFreeplanePropertyListener>();
+ static private ActionAcceleratorManager acceleratorManager;
+
private ResourceBundles resources;
public static final String FREEPLANE_RESOURCE_URL_PROTOCOL = "freeplaneresource";
public static final String OBJECT_TYPE = "ObjectType";
@@ -72,6 +75,12 @@ public abstract class ResourceController {
public void addLanguageResources(final String language, final Map<String, String> resources) {
this.resources.addResources(language, resources);
}
+
+
+
+ public void putUserResourceString(String key, String value) {
+ resources.putUserResourceString(key, value);
+ }
public void addPropertyChangeListener(final IFreeplanePropertyListener listener) {
propertyChangeListeners.add(listener);
@@ -92,7 +101,7 @@ public abstract class ResourceController {
}
protected void loadAnotherLanguage() {
- resources.loadAnotherLanguage();
+ resources.loadAnotherLanguage(getProperty(ResourceBundles.RESOURCE_LANGUAGE));
}
public void firePropertyChanged(final String property, final String value, final String oldValue) {
@@ -108,6 +117,11 @@ public abstract class ResourceController {
return Boolean.parseBoolean(getProperty(key));
}
+ public boolean getBooleanProperty(final String key, final boolean defaultValue) {
+ final String value = getProperty(key, null);
+ return value != null ? Boolean.parseBoolean(value) : defaultValue;
+ }
+
@SuppressWarnings("unchecked")
public <T extends Enum<T>> T getEnumProperty(String propertyName, Enum<T> defaultValue) {
try{
@@ -232,7 +246,7 @@ public abstract class ResourceController {
/** Returns the ResourceBundle with the current language */
public ResourceBundle getResources() {
if (resources == null) {
- resources = new ResourceBundles(this);
+ resources = new ResourceBundles(getProperty(ResourceBundles.RESOURCE_LANGUAGE));
}
return resources;
}
@@ -317,4 +331,10 @@ public abstract class ResourceController {
}
}
}
+
+ public ActionAcceleratorManager getAcceleratorManager() {
+ if(acceleratorManager == null)
+ acceleratorManager = new ActionAcceleratorManager();
+ return acceleratorManager;
+ }
}
diff --git a/freeplane/src/main/java/org/freeplane/core/resources/SetBooleanPropertyAction.java b/freeplane/src/main/java/org/freeplane/core/resources/SetBooleanPropertyAction.java
index 545bed9..d70a671 100644
--- a/freeplane/src/main/java/org/freeplane/core/resources/SetBooleanPropertyAction.java
+++ b/freeplane/src/main/java/org/freeplane/core/resources/SetBooleanPropertyAction.java
@@ -39,6 +39,7 @@ public class SetBooleanPropertyAction extends AFreeplaneAction{
TextUtils.getRawText("OptionPanel." + propertyName),
null);
this.propertyName = propertyName;
+ setTooltip(getTooltipKey());
}
public void actionPerformed(ActionEvent e) {
@@ -46,11 +47,17 @@ public class SetBooleanPropertyAction extends AFreeplaneAction{
}
+ @Override
public String getTextKey() {
return "OptionPanel." + propertyName;
}
@Override
+ public String getTooltipKey() {
+ return getTextKey() + ".tooltip";
+ }
+
+ @Override
public void setSelected() {
setSelected(isPropertySet());
}
diff --git a/freeplane/src/main/java/org/freeplane/core/resources/WindowConfigurationStorage.java b/freeplane/src/main/java/org/freeplane/core/resources/WindowConfigurationStorage.java
index a6c2fbc..1a7c5b4 100644
--- a/freeplane/src/main/java/org/freeplane/core/resources/WindowConfigurationStorage.java
+++ b/freeplane/src/main/java/org/freeplane/core/resources/WindowConfigurationStorage.java
@@ -1,14 +1,10 @@
package org.freeplane.core.resources;
-import java.awt.Dimension;
-import java.awt.Frame;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import javax.swing.JDialog;
-import javax.swing.JOptionPane;
-
import org.freeplane.core.ui.components.UITools;
import org.freeplane.core.util.LogUtils;
import org.freeplane.n3.nanoxml.IXMLParser;
diff --git a/freeplane/src/main/java/org/freeplane/core/resources/components/OptionPanelBuilder.java b/freeplane/src/main/java/org/freeplane/core/resources/components/OptionPanelBuilder.java
index b3b89c0..68c4ab0 100644
--- a/freeplane/src/main/java/org/freeplane/core/resources/components/OptionPanelBuilder.java
+++ b/freeplane/src/main/java/org/freeplane/core/resources/components/OptionPanelBuilder.java
@@ -20,9 +20,7 @@
package org.freeplane.core.resources.components;
import java.io.BufferedInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
diff --git a/freeplane/src/main/java/org/freeplane/core/resources/components/PropertyAdapter.java b/freeplane/src/main/java/org/freeplane/core/resources/components/PropertyAdapter.java
index 031c6f1..2f3481d 100644
--- a/freeplane/src/main/java/org/freeplane/core/resources/components/PropertyAdapter.java
+++ b/freeplane/src/main/java/org/freeplane/core/resources/components/PropertyAdapter.java
@@ -22,7 +22,7 @@ package org.freeplane.core.resources.components;
import javax.swing.JComponent;
import javax.swing.JLabel;
-import org.freeplane.core.resources.ResourceController;
+import org.freeplane.core.ui.textchanger.TranslatedElement;
import org.freeplane.core.util.TextUtils;
import com.jgoodies.forms.builder.DefaultFormBuilder;
@@ -39,9 +39,6 @@ public class PropertyAdapter {
public PropertyAdapter(final String name) {
this(name, "OptionPanel." + name, "OptionPanel." + name + ".tooltip");
- if (ResourceController.getResourceController().getText(tooltip, null) == null) {
- tooltip = null;
- }
}
public PropertyAdapter(final String name, final String label, final String tooltip) {
@@ -69,8 +66,15 @@ public class PropertyAdapter {
}
protected void layout(DefaultFormBuilder builder, JComponent component){
- final JLabel label = builder.append(TextUtils.getOptionalText(getLabel()), component);
- String tooltip = TextUtils.getOptionalText(getTooltip());
+ final String labelKey = getLabel();
+ final String optionalText = TextUtils.getOptionalText(labelKey);
+ final JLabel label = builder.append(optionalText, component);
+ if(optionalText != null)
+ TranslatedElement.TEXT.setKey(label, labelKey);
+ String tooltipKey = getTooltip();
+ String tooltip = TextUtils.getOptionalText(tooltipKey, null);
+ if (tooltipKey != null)
+ TranslatedElement.TOOLTIP.setKey(label, tooltipKey);
label.setToolTipText(tooltip);
component.setToolTipText(tooltip);
}
diff --git a/freeplane/src/main/java/org/freeplane/core/resources/components/SeparatorProperty.java b/freeplane/src/main/java/org/freeplane/core/resources/components/SeparatorProperty.java
index ecce3a9..6fc0a47 100644
--- a/freeplane/src/main/java/org/freeplane/core/resources/components/SeparatorProperty.java
+++ b/freeplane/src/main/java/org/freeplane/core/resources/components/SeparatorProperty.java
@@ -19,6 +19,12 @@
*/
package org.freeplane.core.resources.components;
+import java.awt.Component;
+
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+
+import org.freeplane.core.ui.textchanger.TranslatedElement;
import org.freeplane.core.util.TextUtils;
import com.jgoodies.forms.builder.DefaultFormBuilder;
@@ -44,7 +50,16 @@ public class SeparatorProperty implements IPropertyControl {
}
public void layout(final DefaultFormBuilder builder) {
- builder.appendSeparator(TextUtils.getOptionalText(getLabel()));
+ final String labelKey = getLabel();
+ final String text = TextUtils.getOptionalText(labelKey);
+ final JComponent separator = builder.appendSeparator(text);
+ if(text != null) {
+ for (Component child : separator.getComponents()) {
+ if(child instanceof JLabel)
+ TranslatedElement.TEXT.setKey((JComponent) child, labelKey);
+ break;
+ }
+ }
}
public void setEnabled(final boolean pEnabled) {
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/AFreeplaneAction.java b/freeplane/src/main/java/org/freeplane/core/ui/AFreeplaneAction.java
index d295fee..eed9701 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/AFreeplaneAction.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/AFreeplaneAction.java
@@ -84,7 +84,12 @@ public abstract class AFreeplaneAction extends AbstractAction implements IFreepl
this.key = key;
rawText = TextUtils.getRawText(getTextKey());
LabelAndMnemonicSetter.setLabelAndMnemonic(this, rawText);
- final String iconKey = getIconKey();
+ setIcon(getIconKey());
+ setTooltip(getTooltipKey());
+ // System.out.println(key);
+ }
+
+ protected void setIcon(final String iconKey) {
final ImageIcon cachedIcon = iconCache.get(iconKey);
if(cachedIcon != null){
putValue(SMALL_ICON, cachedIcon);
@@ -103,12 +108,14 @@ public abstract class AFreeplaneAction extends AbstractAction implements IFreepl
}
}
}
- final String tooltip = TextUtils.getRawText(getTooltipKey(), null);
+ }
+
+ protected void setTooltip(String tooltipKey) {
+ final String tooltip = TextUtils.getRawText(tooltipKey, null);
if (tooltip != null && !"".equals(tooltip)) {
putValue(Action.SHORT_DESCRIPTION, tooltip);
putValue(Action.LONG_DESCRIPTION, tooltip);
}
- // System.out.println(key);
}
// /**
@@ -155,7 +162,7 @@ public abstract class AFreeplaneAction extends AbstractAction implements IFreepl
return key + ".text";
}
- public final String getTooltipKey() {
+ public String getTooltipKey() {
return key + ".tooltip";
}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/AccelerateableAction.java b/freeplane/src/main/java/org/freeplane/core/ui/AccelerateableAction.java
index 73236cf..b961189 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/AccelerateableAction.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/AccelerateableAction.java
@@ -28,6 +28,7 @@ import java.beans.PropertyChangeListener;
import javax.swing.JDialog;
import javax.swing.KeyStroke;
+import org.freeplane.core.resources.ResourceController;
import org.freeplane.core.ui.components.IKeyBindingManager;
import org.freeplane.core.ui.components.UITools;
import org.freeplane.core.util.TextUtils;
@@ -147,6 +148,6 @@ public class AccelerateableAction implements IFreeplaneAction {
}
private ActionAcceleratorManager getAcceleratorManager() {
- return Controller.getCurrentModeController().getUserInputListenerFactory().getAcceleratorManager();
+ return ResourceController.getResourceController().getAcceleratorManager();
}
}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java b/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java
index 79fb5db..6844e81 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java
@@ -117,7 +117,7 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
if(key.startsWith(oldPrefix)){
String newKey = SHORTCUT_PROPERTY_PREFIX + key.substring(oldPrefix.length()).replaceFirst("\\$", "").replaceFirst("\\$\\d", "");
String value = (String)property.getValue();
- loadAcceleratorPreset(newKey, value);
+ loadAcceleratorPreset(newKey, value, new Properties());
propertyIterator.remove();
}
}
@@ -313,7 +313,7 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
else
continue;
}
- loadAcceleratorPreset(updatedShortcutKey, keystrokeString);
+ loadAcceleratorPreset(updatedShortcutKey, keystrokeString, prop);
}
}
catch (final IOException e) {
@@ -332,7 +332,7 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
return updatedShortcutKey;
}
- private void loadAcceleratorPreset(final String shortcutKey, final String keystrokeString) {
+ private void loadAcceleratorPreset(final String shortcutKey, final String keystrokeString, Properties allPresets) {
if (!shortcutKey.startsWith(SHORTCUT_PROPERTY_PREFIX)) {
LogUtils.warn("wrong property key " + shortcutKey);
return;
@@ -352,10 +352,11 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
keyStroke = UITools.getKeyStroke(keystrokeString);
final AFreeplaneAction oldAction = accelerators.get(key(modeController, keyStroke));
if (oldAction != null) {
- setAccelerator(modeController, oldAction, null);
final Object key = oldAction.getKey();
final String oldShortcutKey = getPropertyKey(modeController, key.toString());
- setKeysetProperty(oldShortcutKey, "");
+ final boolean keepOldPreset = allPresets.containsKey(oldShortcutKey);
+ if(! keepOldPreset)
+ setAccelerator(modeController, oldAction, null);
}
}
else {
@@ -481,9 +482,6 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
}
private void setKeysetProperty(String key, String value) {
-// if(! key.startsWith("acceleratorFor.MindMap"))
-// throw new AssertionError(key);
keysetProps.setProperty(key, value);
-
}
}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/IUserInputListenerFactory.java b/freeplane/src/main/java/org/freeplane/core/ui/IUserInputListenerFactory.java
index 0534884..be696f4 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/IUserInputListenerFactory.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/IUserInputListenerFactory.java
@@ -49,8 +49,6 @@ public interface IUserInputListenerFactory {
public FreeplaneMenuBar getMenuBar();
- public ActionAcceleratorManager getAcceleratorManager();
-
public Set<IMouseWheelEventHandler> getMouseWheelEventHandlers();
DragGestureListener getNodeDragListener();
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/LengthUnits.java b/freeplane/src/main/java/org/freeplane/core/ui/LengthUnits.java
index 2a27547..dfcc2f2 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/LengthUnits.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/LengthUnits.java
@@ -20,10 +20,10 @@ public enum LengthUnits implements Convertible{
*/
px(1d),
- in(UITools.getScreenResolution()),
- mm(UITools.getScreenResolution() / 25.4),
- cm(UITools.getScreenResolution() / 2.54),
- pt(UITools.getScreenResolution() / 72.0);
+ in(UITools.FONT_SCALE_FACTOR * 72.0),
+ mm(UITools.FONT_SCALE_FACTOR * 72.0 / 25.4),
+ cm(UITools.FONT_SCALE_FACTOR * 72.0 / 2.54),
+ pt(UITools.FONT_SCALE_FACTOR);
LengthUnits(double factor){
this.factor = factor;
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java b/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java
index 0798ac8..52be386 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java
@@ -28,6 +28,9 @@ import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Frame;
+import java.awt.GraphicsConfiguration;
+import java.awt.GraphicsDevice;
+import java.awt.GraphicsEnvironment;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
@@ -47,6 +50,7 @@ import javax.swing.FocusManager;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JDialog;
+import javax.swing.JEditorPane;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
@@ -237,41 +241,64 @@ public class UITools {
public static Rectangle getValidFrameBounds(final Component frame, int win_x, int win_y, int win_width,
int win_height) {
- final Rectangle desktopBounds = getDesktopBounds(frame);
- int screenWidth = desktopBounds.width;
+ GraphicsConfiguration graphicsConfiguration = findGraphicsConfiguration(frame, win_x, win_y);
+ final Rectangle screenBounds = getScreenBounds(graphicsConfiguration);
+ int screenWidth = screenBounds.width;
if(win_width != -1)
win_width = Math.min(win_width, screenWidth );
else
win_width = screenWidth * 4 / 5;
- int screenHeight = desktopBounds.height;
+ int screenHeight = screenBounds.height;
if(win_height != -1)
win_height = Math.min(win_height, screenHeight);
else
win_height = screenHeight * 4 / 5;
if(win_x != -1){
- win_x = Math.min(screenWidth + desktopBounds.x - win_width, win_x);
- win_x = Math.max(desktopBounds.x, win_x);
+ win_x = Math.min(screenWidth + screenBounds.x - win_width, win_x);
+ win_x = Math.max(screenBounds.x, win_x);
}
else
- win_x = desktopBounds.x + (screenWidth - win_width) / 2;
+ win_x = screenBounds.x + (screenWidth - win_width) / 2;
if(win_y != -1){
- win_y = Math.max(desktopBounds.y, win_y);
- win_y = Math.min(screenHeight + desktopBounds.y - win_height, win_y);
+ win_y = Math.max(screenBounds.y, win_y);
+ win_y = Math.min(screenHeight + screenBounds.y - win_height, win_y);
}
else
- win_y = desktopBounds.y + (screenHeight - win_height) / 2;
+ win_y = screenBounds.y + (screenHeight - win_height) / 2;
final Rectangle frameBounds = new Rectangle( win_x, win_y, win_width, win_height);
return frameBounds;
}
- public static Rectangle getDesktopBounds(Component frame) {
+ private static GraphicsConfiguration findGraphicsConfiguration(final Component component, int x, int y) {
+ GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+ GraphicsDevice[] gs = ge.getScreenDevices();
+ for (int j = 0; j < gs.length; j++) {
+ GraphicsDevice gd = gs[j];
+ GraphicsConfiguration[] gc = gd.getConfigurations();
+ for (int i=0; i < gc.length; i++) {
+ final Rectangle screenBounds = gc[i].getBounds();
+ if(screenBounds.contains(x, y))
+ return gc[i];
+ }
+ }
+ return component != null ? component.getGraphicsConfiguration() : null;
+ }
+
+ public static Rectangle getAvailableScreenBounds(Component frame) {
+ final GraphicsConfiguration graphicsConfiguration = frame.getGraphicsConfiguration();
+ return getScreenBounds(graphicsConfiguration);
+ }
+
+ public static Rectangle getScreenBounds(final GraphicsConfiguration graphicsConfiguration) {
final Toolkit defaultToolkit = Toolkit.getDefaultToolkit();
- final Insets screenInsets = defaultToolkit.getScreenInsets(frame.getGraphicsConfiguration());
- final Dimension screenSize = defaultToolkit.getScreenSize();
+ final Insets screenInsets = defaultToolkit.getScreenInsets(graphicsConfiguration);
+ final Rectangle screenBounds = graphicsConfiguration.getBounds();
+ final Point screenLocation = screenBounds.getLocation();
+ final Dimension screenSize = screenBounds.getSize();
final int screenWidth = screenSize.width - screenInsets.left - screenInsets.right;
final int screenHeight = screenSize.height - screenInsets.top - screenInsets.bottom;
- return new Rectangle(screenInsets.left, screenInsets.top, screenWidth, screenHeight);
- }
+ return new Rectangle(screenLocation.x + screenInsets.left, screenLocation.y + screenInsets.top, screenWidth, screenHeight);
+ }
public static void setDialogLocationRelativeTo(final JDialog dialog, final Component c) {
if (c == null || ! c.isShowing()) {
@@ -286,7 +313,7 @@ public class UITools {
final int ph = parent.getHeight();
final int dw = dialog.getWidth();
final int dh = dialog.getHeight();
- final Rectangle desktopBounds = getDesktopBounds(c);
+ final Rectangle desktopBounds = getAvailableScreenBounds(c);
final int minX = Math.max(parentLocation.x, desktopBounds.x);
final int minY = Math.max(parentLocation.y, desktopBounds.y);
final int maxX = Math.min(parentLocation.x + pw, desktopBounds.x + desktopBounds.width);
@@ -597,22 +624,17 @@ public class UITools {
static {
float factor = 1f;
try {
- factor = UITools.getScreenResolution() / 72f;
+ factor = UITools.getScaleFactor();
}
catch (Exception e) {
}
FONT_SCALE_FACTOR = factor;
}
- public static int getScreenResolution() {
- final int systemScreenResolution = Toolkit.getDefaultToolkit().getScreenResolution();
- if(ResourceController.getResourceController().getBooleanProperty("apply_system_screen_resolution")){
- return systemScreenResolution;
- }
- else
- return ResourceController.getResourceController().getIntProperty("user_defined_screen_resolution", systemScreenResolution);
+ private static float getScaleFactor() {
+ return ResourceController.getResourceController().getIntProperty("user_defined_screen_resolution", 96) / 72f;
}
-
+
public static Font scale(Font font) {
return font.deriveFont(font.getSize2D()*FONT_SCALE_FACTOR);
}
@@ -646,7 +668,7 @@ public class UITools {
public static boolean isEditingText() {
final Component focusOwner = FocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
- final boolean isTextComponentFocused = focusOwner instanceof JTextComponent;
+ final boolean isTextComponentFocused = focusOwner instanceof JEditorPane;
return isTextComponentFocused && focusOwner.isShowing() && ((JTextComponent)focusOwner).isEditable();
}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/Entry.java b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/Entry.java
index d7507ba..bd5fb4c 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/Entry.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/Entry.java
@@ -8,8 +8,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.freeplane.core.util.LogUtils;
-
/**
* @author Dimitry
*
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/EntryAccessor.java b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/EntryAccessor.java
index c255260..712abad 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/EntryAccessor.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/generic/EntryAccessor.java
@@ -77,6 +77,36 @@ public class EntryAccessor {
}
}
+ public String getTextKey(final Entry entry) {
+ if (entry.getAttribute(TEXT) != null)
+ return null;
+ final String textKey = (String) entry.getAttribute(TEXT_KEY);
+ if (textKey != null)
+ return textKey;
+ final AFreeplaneAction action = getAction(entry);
+ if (action != null) {
+ final String actionTextKey = action.getTextKey();
+ if(TextUtils.getRawText(actionTextKey, null) != null)
+ return actionTextKey;
+ else
+ return null;
+ }
+ String name = entry.getName();
+ if (name.isEmpty())
+ return null;
+ else
+ return name;
+ }
+
+ public String getTooltipKey(final Entry entry) {
+ final AFreeplaneAction action = getAction(entry);
+ if (action != null) {
+ final String actionTooltipKey = action.getTooltipKey();
+ return actionTooltipKey;
+ }
+ return null;
+ }
+
public Object getComponent(final Entry entry) {
return entry.getAttribute(COMPONENT);
}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/ConditionalActionBuilder.java b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/ConditionalActionBuilder.java
new file mode 100644
index 0000000..eb605c7
--- /dev/null
+++ b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/ConditionalActionBuilder.java
@@ -0,0 +1,49 @@
+package org.freeplane.core.ui.menubuilders.menu;
+
+import org.freeplane.core.resources.ResourceController;
+import org.freeplane.core.ui.AFreeplaneAction;
+import org.freeplane.core.ui.menubuilders.generic.Entry;
+import org.freeplane.core.ui.menubuilders.generic.EntryAccessor;
+import org.freeplane.core.ui.menubuilders.generic.EntryVisitor;
+import org.freeplane.core.util.LogUtils;
+import org.freeplane.features.mode.FreeplaneActions;
+
+public class ConditionalActionBuilder implements EntryVisitor {
+
+ private FreeplaneActions freeplaneActions;
+
+ public ConditionalActionBuilder(FreeplaneActions freeplaneActions) {
+ this.freeplaneActions = freeplaneActions;
+ }
+
+ @Override
+ public void visit(Entry target) {
+ final String property = (String)target.getAttribute("property");
+ if(ResourceController.getResourceController().getBooleanProperty(property, false)) {
+ try {
+ final String keyName = (String) target.getAttribute("actionKey");
+ final AFreeplaneAction existingAction = freeplaneActions.getAction(keyName);
+ final AFreeplaneAction action;
+ if(existingAction != null)
+ action = existingAction;
+ else {
+ final String className = (String) target.getAttribute("actionClass");
+ final Class<?> classDefinition = getClass().getClassLoader().loadClass(className);
+ action = (AFreeplaneAction) classDefinition.newInstance();
+ freeplaneActions.addAction(action);
+ }
+ new EntryAccessor().setAction(target, action);
+ return;
+ } catch (Exception e) {
+ LogUtils.severe(e);
+ }
+ }
+
+ }
+
+ @Override
+ public boolean shouldSkipChildren(Entry entry) {
+ return false;
+ }
+
+}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/JMenuItemBuilder.java b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/JMenuItemBuilder.java
index 399a304..28a3fda 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/JMenuItemBuilder.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/JMenuItemBuilder.java
@@ -4,9 +4,11 @@ import java.awt.Component;
import java.awt.Container;
import javax.swing.Icon;
+import javax.swing.JComponent;
import javax.swing.JMenu;
import javax.swing.JPopupMenu;
+import org.dpolivaev.mnemonicsetter.MnemonicSetter;
import org.freeplane.core.ui.AFreeplaneAction;
import org.freeplane.core.ui.ActionEnabler;
import org.freeplane.core.ui.LabelAndMnemonicSetter;
@@ -19,7 +21,7 @@ import org.freeplane.core.ui.menubuilders.generic.EntryAccessor;
import org.freeplane.core.ui.menubuilders.generic.EntryPopupListener;
import org.freeplane.core.ui.menubuilders.generic.EntryVisitor;
import org.freeplane.core.ui.menubuilders.generic.ResourceAccessor;
-import org.dpolivaev.mnemonicsetter.MnemonicSetter;
+import org.freeplane.core.ui.textchanger.TranslatedElement;
public class JMenuItemBuilder implements EntryVisitor{
@@ -57,6 +59,7 @@ public class JMenuItemBuilder implements EntryVisitor{
private void addActionItem(Entry entry) {
final Component actionComponent = createActionComponent(entry);
if(actionComponent != null){
+ setTranslationKey(entry, actionComponent);
addComponent(entry, actionComponent);
}
}
@@ -95,9 +98,21 @@ public class JMenuItemBuilder implements EntryVisitor{
final JPopupMenu popupMenu = menu.getPopupMenu();
popupMenu.addPopupMenuListener(new PopupMenuListenerForEntry(entry, popupListener));
popupMenu.addPopupMenuListener(MnemonicSetter.INSTANCE);
+ setTranslationKey(entry, menu);
}
+ private void setTranslationKey(final Entry entry, Component actionComponent) {
+ if(actionComponent instanceof JComponent) {
+ final String textKey = entryAccessor.getTextKey(entry);
+ if (textKey != null)
+ TranslatedElement.TEXT.setKey((JComponent) actionComponent, textKey);
+ String tooltipKey = entryAccessor.getTooltipKey(entry);
+ if (textKey != null)
+ TranslatedElement.TOOLTIP.setKey((JComponent) actionComponent, tooltipKey);
+ }
+ }
+
@Override
public boolean shouldSkipChildren(Entry entry) {
return false;
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/MenuBuildProcessFactory.java b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/MenuBuildProcessFactory.java
index b6752a0..abe7e84 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/MenuBuildProcessFactory.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/menubuilders/menu/MenuBuildProcessFactory.java
@@ -46,6 +46,7 @@ public class MenuBuildProcessFactory implements BuildProcessFactory {
ResourceAccessor resourceAccessor, IAcceleratorMap acceleratorMap, EntriesForAction entries, List<BuildPhaseListener> buildPhaseListeners) {
final RecursiveMenuStructureProcessor actionBuilder = new RecursiveMenuStructureProcessor();
actionBuilder.setDefaultBuilder(new ActionFinder(modeController));
+ actionBuilder.addBuilder("conditionalActionBuilder", new ConditionalActionBuilder(modeController));
final RecursiveMenuStructureProcessor acceleratorBuilder = new RecursiveMenuStructureProcessor();
acceleratorBuilder.setDefaultBuilderPair(new AcceleratorBuilder(acceleratorMap, entries),
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/textchanger/TextChangeHotKeyAction.java b/freeplane/src/main/java/org/freeplane/core/ui/textchanger/TextChangeHotKeyAction.java
new file mode 100644
index 0000000..4ea0fc3
--- /dev/null
+++ b/freeplane/src/main/java/org/freeplane/core/ui/textchanger/TextChangeHotKeyAction.java
@@ -0,0 +1,44 @@
+package org.freeplane.core.ui.textchanger;
+
+import java.awt.KeyboardFocusManager;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.KeyStroke;
+
+import org.freeplane.core.resources.ResourceController;
+import org.freeplane.core.ui.AFreeplaneAction;
+import org.freeplane.core.ui.ActionAcceleratorManager;
+
+public class TextChangeHotKeyAction extends AFreeplaneAction {
+ private boolean isRunning = false;
+ public TextChangeHotKeyAction() {
+ super("TextChangeHotKeyAction");
+ UITextChanger dispatcher = new UITextChanger(this);
+ KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(dispatcher);
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ isRunning = true;
+ getAcceleratorManager().newAccelerator(this, null);
+ isRunning = false;
+ }
+
+ boolean shouldChangeTextOnEvent(KeyEvent e) {
+ if (isRunning)
+ return false;
+ KeyStroke currentAccelerator = getAcceleratorManager().getAccelerator(this);
+ return areEqual(e, currentAccelerator);
+ }
+
+ private boolean areEqual(KeyEvent e, KeyStroke currentAccelerator) {
+ return currentAccelerator != null
+ && e.getKeyCode() == currentAccelerator.getKeyCode()
+ && (e.getModifiers() | e.getModifiersEx()) == currentAccelerator.getModifiers();
+ }
+
+ private ActionAcceleratorManager getAcceleratorManager() {
+ return ResourceController.getResourceController().getAcceleratorManager();
+ }
+}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/textchanger/TranslatedElement.java b/freeplane/src/main/java/org/freeplane/core/ui/textchanger/TranslatedElement.java
new file mode 100644
index 0000000..61f52e2
--- /dev/null
+++ b/freeplane/src/main/java/org/freeplane/core/ui/textchanger/TranslatedElement.java
@@ -0,0 +1,18 @@
+package org.freeplane.core.ui.textchanger;
+
+import javax.swing.JComponent;
+
+public enum TranslatedElement {
+ BORDER, TEXT, TOOLTIP;
+ public String getKey(JComponent component) {
+ return (String) (component).getClientProperty(this);
+ }
+
+ public void setKey(JComponent component, String key) {
+ component.putClientProperty(this, key);
+ }
+
+ public String getTitleKey() {
+ return "TranslatedElement." + name();
+ }
+}
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/textchanger/UITextChanger.java b/freeplane/src/main/java/org/freeplane/core/ui/textchanger/UITextChanger.java
new file mode 100644
index 0000000..ba5d450
--- /dev/null
+++ b/freeplane/src/main/java/org/freeplane/core/ui/textchanger/UITextChanger.java
@@ -0,0 +1,285 @@
+package org.freeplane.core.ui.textchanger;
+
+import java.awt.Component;
+import java.awt.KeyEventDispatcher;
+import java.awt.Point;
+import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusAdapter;
+import java.awt.event.FocusEvent;
+import java.awt.event.HierarchyEvent;
+import java.awt.event.HierarchyListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowFocusListener;
+import java.net.URL;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+
+import javax.swing.AbstractButton;
+import javax.swing.Box;
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JTextField;
+import javax.swing.SwingUtilities;
+import javax.swing.border.Border;
+import javax.swing.border.CompoundBorder;
+import javax.swing.border.TitledBorder;
+import javax.swing.text.JTextComponent;
+
+import org.freeplane.core.resources.ResourceController;
+import org.freeplane.core.ui.LabelAndMnemonicSetter;
+import org.freeplane.core.ui.components.UITools;
+import org.freeplane.core.util.FreeplaneIconUtils;
+import org.freeplane.core.util.LogUtils;
+import org.freeplane.core.util.TextUtils;
+import org.freeplane.features.mode.Controller;
+
+class UITextChanger implements KeyEventDispatcher {
+ private static final String REPLACE_TEXT = "uiTextChanger.replaceText";
+ private static final String ORIGINAL_TEXT_IS_NOT_DEFINED = "uiTextChanger.originalTextIsNotDefined";
+ private static final ImageIcon WEBLATE_ICON = FreeplaneIconUtils.createImageIcon("/images/weblate-32.png");
+ private static final String TEXT_FIELD_TRANSLATION_KEY = TranslatedElement.class.getName() + ".translationKey";
+ private TextChangeHotKeyAction textChangeAcceleratorAction;
+
+ public UITextChanger(TextChangeHotKeyAction textChangeAcceleratorAction) {
+ this.textChangeAcceleratorAction = textChangeAcceleratorAction;
+ }
+
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent e) {
+ if (textChangeAcceleratorAction.shouldChangeTextOnEvent(e)) {
+ if (e.getID() == KeyEvent.KEY_PRESSED) {
+ replaceComponentText();
+ }
+ return true;
+ }
+ return false;
+ }
+
+ private void replaceComponentText() {
+ for (Window window : Window.getWindows()) {
+ final Point mousePosition = window.getMousePosition(true);
+ if (mousePosition != null) {
+ final Component componentUnderMouse = SwingUtilities.getDeepestComponentAt(window, mousePosition.x, mousePosition.y);
+ replaceComponentTexts(componentUnderMouse);
+ }
+ }
+ }
+
+ private void replaceComponentTexts(Component component) {
+ if (component instanceof JComponent)
+ replaceComponentTexts((JComponent) component);
+ else
+ showNoComponentFoundMessage();
+ }
+
+ private void replaceComponentTexts(JComponent c) {
+ ArrayList<JTextField> textFields = createTextEditors(c);
+ if (!textFields.isEmpty())
+ replaceComponentTexts(c, textFields);
+ else
+ showNoComponentFoundMessage();
+ }
+
+ private void showNoComponentFoundMessage() {
+ Controller.getCurrentController().getViewController().out(TextUtils.getRawText("no_translation_strings_found"));
+ }
+
+ private void replaceComponentTexts(JComponent c, ArrayList<JTextField> textFields) {
+ int exitCode = showDialog(c, textFields);
+ if (exitCode == JOptionPane.OK_OPTION) {
+ setEditedTexts(c, textFields);
+ }
+ }
+
+ private int showDialog(Component component, ArrayList<JTextField> textFields) {
+ final JTextField focusOwner = textFields.get(0);
+ setFocusWhenShowed(focusOwner);
+ final String title = TextUtils.getText(REPLACE_TEXT);
+ return JOptionPane.showConfirmDialog(component, createDisplayedComponents(textFields), title,
+ JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
+ }
+
+ private Component[] createDisplayedComponents(ArrayList<JTextField> textFields) {
+ final Box[] components = new Box[textFields.size()];
+ final UrlCreator urlCreator = new UrlCreator();
+ for(int i = 0; i < textFields.size(); i++) {
+ final Box box = Box.createHorizontalBox();
+ final JTextField textField = textFields.get(i);
+ box.add(textField);
+ final String textKey = (String)textField.getClientProperty(TEXT_FIELD_TRANSLATION_KEY);
+ final boolean isTranslationKeyDefined = TextUtils.getRawText(textKey, null) != null;
+ final JComponent weblateButton;
+ if(isTranslationKeyDefined) {
+ final String url = urlCreator.createWeblateUrl(textKey);
+ weblateButton = createGoToUrlButton(url, WEBLATE_ICON);
+ }
+ else {
+ weblateButton = new JButton(WEBLATE_ICON);
+ TranslatedElement.TOOLTIP.setKey(weblateButton, ORIGINAL_TEXT_IS_NOT_DEFINED);
+ weblateButton.setToolTipText(TextUtils.getText(ORIGINAL_TEXT_IS_NOT_DEFINED));
+ weblateButton.setEnabled(false);
+ final ResourceController resourceController = ResourceController.getResourceController();
+ if(! resourceController.getDefaultLanguageCode().equals(resourceController.getLanguageCode()))
+ textField.setEnabled(false);
+ }
+ box.add(weblateButton);
+ components[i] = box;
+ }
+ return components;
+ }
+
+ static class UrlCreator{
+ final ResourceController resourceController = ResourceController.getResourceController();
+ String weblateUrlFormat = resourceController.getProperty("weblateUrlFormat");
+ final MessageFormat urlCreator = new MessageFormat(weblateUrlFormat);
+ final String languageCode = resourceController.getLanguageCode();
+ public String createWeblateUrl(String key) {
+ return urlCreator.format(new String[]{languageCode, key});
+ }
+ }
+
+ private JComponent createGoToUrlButton(final String url, final Icon icon) {
+ final JButton button = new JButton(icon);
+ button.setToolTipText(url);
+ button.addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent event) {
+ try {
+ Controller.getCurrentController().getViewController().openDocument(new URL(url));
+ } catch (Exception e) {
+ LogUtils.severe(e);
+ }
+ }
+ });
+ return button;
+ }
+
+ private void setFocusWhenShowed(final JTextField focusOwner) {
+ focusOwner.addHierarchyListener(new HierarchyListener() {
+ @Override
+ public void hierarchyChanged(HierarchyEvent e) {
+ if (focusOwner.isShowing()) {
+ final Window windowAncestor = SwingUtilities.getWindowAncestor(focusOwner);
+ if (windowAncestor.isFocused()) {
+ focusOwner.requestFocusInWindow();
+ }
+ else {
+ windowAncestor.addWindowFocusListener(new WindowFocusListener() {
+ @Override
+ public void windowLostFocus(WindowEvent e) {
+ // intentionally left blank
+ }
+
+ @Override
+ public void windowGainedFocus(WindowEvent e) {
+ focusOwner.requestFocusInWindow();
+ windowAncestor.removeWindowFocusListener(this);
+ }
+ });
+ }
+ focusOwner.removeHierarchyListener(this);
+ }
+ }
+ });
+ }
+
+ private void setEditedTexts(JComponent component, ArrayList<JTextField> textFields) {
+ for (JTextField textField : textFields) {
+ setEditedText(component, textField);
+ }
+ }
+
+ private void setEditedText(JComponent component, JTextField textField) {
+ String translationKey = (String) textField.getClientProperty(TEXT_FIELD_TRANSLATION_KEY);
+ String newText = textField.getText();
+ if (newText.isEmpty())
+ newText = null;
+ ResourceController.getResourceController().putUserResourceString(translationKey, newText);
+ if (newText == null)
+ newText = TextUtils.getRawText(translationKey, "");
+ TranslatedElement element = (TranslatedElement) textField.getClientProperty(TranslatedElement.class);
+ switch (element) {
+ case TEXT:
+ setNewText(component, newText);
+ break;
+ case BORDER:
+ setNewBorderTitle(component, newText);
+ break;
+ case TOOLTIP:
+ component.setToolTipText(newText);
+ break;
+ }
+ }
+
+ private void setNewBorderTitle(JComponent component, String newText) {
+ Border border = component.getBorder();
+ setNewTitle(border, newText);
+ }
+
+ private void setNewTitle(Border border, String newText) {
+ if (border instanceof TitledBorder) {
+ ((TitledBorder) border).setTitle(newText);
+ }
+ else if (border instanceof CompoundBorder) {
+ CompoundBorder compoundBorder = (CompoundBorder) border;
+ setNewTitle(compoundBorder.getInsideBorder(), newText);
+ setNewTitle(compoundBorder.getOutsideBorder(), newText);
+ }
+ }
+
+ private void setNewText(Component component, String text) {
+ if (component instanceof AbstractButton)
+ LabelAndMnemonicSetter.setLabelAndMnemonic(((AbstractButton) component), text);
+ else if (component instanceof JLabel)
+ ((JLabel) component).setText(TextUtils.removeMnemonic(text));
+ }
+
+ private ArrayList<JTextField> createTextEditors(JComponent component) {
+ ArrayList<JTextField> textFields = new ArrayList<>(TranslatedElement.values().length);
+ for (TranslatedElement element : TranslatedElement.values()) {
+ final String translationKey = element.getKey(component);
+ if (translationKey != null) {
+ JTextField textField = createTextField(element, translationKey);
+ textFields.add(textField);
+ }
+ }
+ return textFields;
+ }
+
+ private static FocusAdapter textFieldTextSelector = new FocusAdapter() {
+
+ @Override
+ public void focusGained(FocusEvent e) {
+ ((JTextComponent) e.getComponent()).selectAll();
+ }
+
+ };
+
+ private JTextField createTextField(TranslatedElement element, final String translationKey) {
+ final String rawText = TextUtils.getRawText(translationKey, "");
+ final JTextField textField = new JTextField(rawText);
+ final String originalRawText = TextUtils.getOriginalRawText(translationKey);
+ if(originalRawText == null) {
+ TranslatedElement.TOOLTIP.setKey(textField, ORIGINAL_TEXT_IS_NOT_DEFINED);
+ textField.setToolTipText(TextUtils.getText(ORIGINAL_TEXT_IS_NOT_DEFINED));
+ }
+ else if(!( originalRawText.isEmpty() || rawText.equals(originalRawText)))
+ textField.setToolTipText(originalRawText);
+ textField.addFocusListener(textFieldTextSelector);
+ String titleKey = element.getTitleKey();
+ UITools.addTitledBorder(textField, TextUtils.getRawText(titleKey), Math.round(UITools.FONT_SCALE_FACTOR*10));
+ textField.putClientProperty(TranslatedElement.class, element);
+ textField.putClientProperty(TEXT_FIELD_TRANSLATION_KEY, translationKey);
+ TranslatedElement.BORDER.setKey(textField, titleKey);
+ return textField;
+ }
+}
+
diff --git a/freeplane/src/main/java/org/freeplane/core/util/ColorUtils.java b/freeplane/src/main/java/org/freeplane/core/util/ColorUtils.java
index 2b4e58e..6ff058e 100644
--- a/freeplane/src/main/java/org/freeplane/core/util/ColorUtils.java
+++ b/freeplane/src/main/java/org/freeplane/core/util/ColorUtils.java
@@ -66,7 +66,7 @@ public class ColorUtils {
return new Color(rgb.getRed(), rgb.getGreen(), rgb.getBlue(), alphaHolder.getAlpha());
}
- protected static boolean isNonTransparent(final Color alphaHolder) {
+ public static boolean isNonTransparent(final Color alphaHolder) {
final boolean isNonTransparent = alphaHolder.getAlpha() == NON_TRANSPARENT_ALPHA;
return isNonTransparent;
}
@@ -94,4 +94,26 @@ public class ColorUtils {
if(! isNonTransparent(color))
writer.addAttribute(alphaAttribute, Integer.toString(color.getAlpha()));
}
+
+ public static Color makeNonTransparent(Color color){
+ return makeNonTransparent(color, Color.WHITE);
+ }
+
+ public static Color makeNonTransparent(Color color, Color background) {
+ if(color == null)
+ return null;
+ if(isNonTransparent(color))
+ return color;
+ final int r1 = color.getRed();
+ final int g1 = color.getGreen();
+ final int b1 = color.getBlue();
+ final int a1 = color.getAlpha();
+ final int r2 = background.getRed();
+ final int g2 = background.getGreen();
+ final int b2 = background.getBlue();
+ final int r3 = r2 + (r1-r2)*a1 / NON_TRANSPARENT_ALPHA;
+ final int g3 = g2 + (g1-g2)*a1 / NON_TRANSPARENT_ALPHA;
+ final int b3 = b2 + (b1-b2)*a1 / NON_TRANSPARENT_ALPHA;
+ return new Color(r3, g3, b3);
+ }
}
diff --git a/freeplane/src/main/java/org/freeplane/core/util/MenuUtils.java b/freeplane/src/main/java/org/freeplane/core/util/MenuUtils.java
index 3f48216..3a2f05d 100644
--- a/freeplane/src/main/java/org/freeplane/core/util/MenuUtils.java
+++ b/freeplane/src/main/java/org/freeplane/core/util/MenuUtils.java
@@ -109,7 +109,7 @@ public class MenuUtils {
private final ActionAcceleratorManager acceleratorManager;
private MenuEntryTreeBuilder() {
- acceleratorManager = userInputFactory().getAcceleratorManager();
+ acceleratorManager = ResourceController.getResourceController().getAcceleratorManager();
}
private DefaultMutableTreeNode build(final String menuRootKey) {
diff --git a/freeplane/src/main/java/org/freeplane/core/util/TextUtils.java b/freeplane/src/main/java/org/freeplane/core/util/TextUtils.java
index d7f3034..6bb1d9e 100644
--- a/freeplane/src/main/java/org/freeplane/core/util/TextUtils.java
+++ b/freeplane/src/main/java/org/freeplane/core/util/TextUtils.java
@@ -5,9 +5,9 @@ import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.regex.Pattern;
-import org.freeplane.core.resources.TranslatedObject;
import org.freeplane.core.resources.ResourceBundles;
import org.freeplane.core.resources.ResourceController;
+import org.freeplane.core.resources.TranslatedObject;
import org.freeplane.features.clipboard.ClipboardController;
import org.freeplane.features.format.FormatController;
@@ -50,6 +50,10 @@ public class TextUtils {
return string == null ? null : TextUtils.getRawText(string);
}
+ public static String getOptionalText(final String string, final String defaultValue) {
+ return string == null ? null : TextUtils.getRawText(string, defaultValue);
+ }
+
public static String removeMnemonic(final String rawLabel) {
final int pos = rawLabel.indexOf('&');
if(pos == -1)
@@ -87,7 +91,14 @@ public class TextUtils {
if (key == null) {
return null;
}
- return ((ResourceBundles) ResourceController.getResourceController().getResources()).getResourceString(key);
+ return getLanguageResources().getResourceString(key);
+ }
+
+ public static String getOriginalRawText(final String key) {
+ if (key == null) {
+ return null;
+ }
+ return getLanguageResources().getOriginalString(key);
}
public static String getText(final String key, final String defaultString) {
@@ -100,8 +111,11 @@ public class TextUtils {
if (key == null) {
return defaultString;
}
- return ((ResourceBundles) ResourceController.getResourceController().getResources()).getResourceString(key,
- defaultString);
+ return getLanguageResources().getResourceString(key, defaultString);
+ }
+
+ private static ResourceBundles getLanguageResources() {
+ return (ResourceBundles) ResourceController.getResourceController().getResources();
}
public static String getOptionalTranslation(String text) {
diff --git a/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java b/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java
index d5e99a1..3c86e54 100644
--- a/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java
+++ b/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java
@@ -26,8 +26,6 @@ import java.util.NoSuchElementException;
import javax.swing.ComboBoxModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
-import javax.swing.event.EventListenerList;
-
import org.freeplane.core.extension.IExtension;
import org.freeplane.core.io.ITreeWriter;
import org.freeplane.core.util.collection.IListModel;
diff --git a/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java b/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java
index b49113e..69f2b98 100644
--- a/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java
+++ b/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java
@@ -19,7 +19,6 @@
*/
package org.freeplane.features.clipboard.mindmapmode;
-import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
@@ -39,7 +38,6 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.text.BadLocationException;
import javax.swing.text.Element;
@@ -79,7 +77,6 @@ import org.freeplane.features.text.TextController;
import org.freeplane.features.text.mindmapmode.MTextController;
import org.freeplane.features.url.UrlManager;
import org.freeplane.n3.nanoxml.XMLException;
-import org.freeplane.view.swing.features.filepreview.ExternalResource;
import org.freeplane.view.swing.features.filepreview.ImageAdder;
import org.freeplane.view.swing.features.filepreview.ViewerController;
import org.freeplane.view.swing.features.filepreview.ViewerController.PasteMode;
diff --git a/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportDialog.java b/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportDialog.java
index b7fa1f4..8b0ffb4 100644
--- a/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportDialog.java
+++ b/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportDialog.java
@@ -28,6 +28,7 @@ import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
+import org.freeplane.core.resources.ResourceController;
import org.freeplane.core.ui.ExampleFileFilter;
import org.freeplane.core.ui.components.UITools;
import org.freeplane.core.util.FileUtils;
@@ -56,6 +57,7 @@ import org.freeplane.features.map.MapModel;
*
*/
public class ExportDialog {
+ private static final String LAST_CHOOSEN_EXPORT_FILE_FILTER = "lastChoosenExportFileFilter";
/** the JFileChooser dialog used to choose filter and the file to export to. */
final private JFileChooser fileChooser = new JFileChooser();
@@ -74,7 +76,19 @@ public class ExportDialog {
for (FileFilter filter : exportEngineRegistry.getFileFilters()) {
fileChooser.addChoosableFileFilter(filter);
}
- final FileFilter fileFilter = fileChooser.getChoosableFileFilters()[0];
+ preselectFileFilter();
+ }
+
+ private void preselectFileFilter() {
+ final String lastChoosenExportFileFilter = ResourceController.getResourceController().getProperty(LAST_CHOOSEN_EXPORT_FILE_FILTER, null);
+ final FileFilter[] choosableFileFilters = fileChooser.getChoosableFileFilters();
+ for (FileFilter f: choosableFileFilters){
+ if(f.getDescription().equals(lastChoosenExportFileFilter)) {
+ fileChooser.setFileFilter(f);
+ return;
+ }
+ }
+ final FileFilter fileFilter = choosableFileFilters[0];
fileChooser.setFileFilter(fileFilter);
}
@@ -143,14 +157,19 @@ public class ExportDialog {
try {
fileChooser.addPropertyChangeListener(filterChangeListener);
final int returnVal = fileChooser.showSaveDialog(parentframe);
+ final FileFilter currentfileFilter = fileChooser.getFileFilter();
+ final String lastFileFilterDescription = currentfileFilter.getDescription();
+ if(currentfileFilter instanceof ExampleFileFilter)
+ ResourceController.getResourceController().setProperty(
+ LAST_CHOOSEN_EXPORT_FILE_FILTER, lastFileFilterDescription);
if (returnVal == JFileChooser.APPROVE_OPTION) {
// we check which filter has been selected by the user and use its
// description as key for the map to get the corresponding XSLT file
- if(! (fileChooser.getFileFilter() instanceof ExampleFileFilter)){
+ if(! (currentfileFilter instanceof ExampleFileFilter)){
UITools.errorMessage(TextUtils.getText("invalid_export_file"));
return;
}
- final ExampleFileFilter fileFilter = (ExampleFileFilter) fileChooser.getFileFilter();
+ final ExampleFileFilter fileFilter = (ExampleFileFilter) currentfileFilter;
final File selectedFile = getAcceptableFile(fileChooser.getSelectedFile(), fileFilter);
if (selectedFile == null) {
return;
diff --git a/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportWithXSLT.java b/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportWithXSLT.java
index 4c7ec42..beb5e1e 100644
--- a/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportWithXSLT.java
+++ b/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/ExportWithXSLT.java
@@ -149,7 +149,7 @@ public class ExportWithXSLT implements IExportEngine {
if (Controller.getCurrentController().getMapViewManager().getMapViewComponent() == null) {
return false;
}
- final RenderedImage image = new ImageCreator(UITools.getScreenResolution()).createBufferedImage(map);
+ final RenderedImage image = new ImageCreator(Math.round(UITools.FONT_SCALE_FACTOR * 72)).createBufferedImage(map);
if(image == null){
return false;
}
diff --git a/freeplane/src/main/java/org/freeplane/features/filter/AFilterComposerDialog.java b/freeplane/src/main/java/org/freeplane/features/filter/AFilterComposerDialog.java
index ac30da8..4df73f5 100644
--- a/freeplane/src/main/java/org/freeplane/features/filter/AFilterComposerDialog.java
+++ b/freeplane/src/main/java/org/freeplane/features/filter/AFilterComposerDialog.java
@@ -576,8 +576,8 @@ public abstract class AFilterComposerDialog extends JDialog implements IMapSelec
final JLabel conditionColumnHeader = new JLabel(TextUtils.getText("filter_conditions"));
conditionColumnHeader.setHorizontalAlignment(SwingConstants.CENTER);
conditionScrollPane.setColumnHeaderView(conditionColumnHeader);
- final Rectangle desktopBounds = UITools.getDesktopBounds(this);
- Dimension preferredSize = new Dimension(desktopBounds.width * 2 / 3, desktopBounds.height * 2 / 3);
+ final Rectangle screenBounds = UITools.getAvailableScreenBounds(this);
+ Dimension preferredSize = new Dimension(screenBounds.width * 2 / 3, screenBounds.height * 2 / 3);
conditionScrollPane.setPreferredSize(preferredSize);
getContentPane().add(conditionScrollPane, BorderLayout.CENTER);
UITools.addEscapeActionToDialog(this);
diff --git a/freeplane/src/main/java/org/freeplane/features/filter/QuickFindAction.java b/freeplane/src/main/java/org/freeplane/features/filter/QuickFindAction.java
index e3771bd..6e73f84 100644
--- a/freeplane/src/main/java/org/freeplane/features/filter/QuickFindAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/filter/QuickFindAction.java
@@ -24,7 +24,6 @@ import java.awt.event.ActionEvent;
import org.freeplane.core.ui.AFreeplaneAction;
import org.freeplane.features.filter.condition.ASelectableCondition;
import org.freeplane.features.map.IMapSelection;
-import org.freeplane.features.map.MapController;
import org.freeplane.features.map.NodeModel;
import org.freeplane.features.map.MapController.Direction;
import org.freeplane.features.mode.Controller;
diff --git a/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionFactory.java b/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionFactory.java
index a8a17d7..1e95aa2 100644
--- a/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionFactory.java
+++ b/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionFactory.java
@@ -24,8 +24,10 @@ import java.util.NoSuchElementException;
import java.util.SortedMap;
import java.util.TreeMap;
+import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JLabel;
+import javax.swing.plaf.basic.BasicLabelUI;
import org.freeplane.core.resources.TranslatedObject;
import org.freeplane.core.util.TextUtils;
@@ -50,11 +52,23 @@ public class ConditionFactory {
static public JComponent createCellRendererComponent(final String description) {
final JCondition component = new JCondition();
- final JLabel label = new JLabel(description);
+ final JLabel label = createConditionLabel(description);
component.add(label);
return component;
}
+ public static JLabel createConditionLabel(final String text) {
+ final JLabel label = new JLabel(text);
+ label.setUI((BasicLabelUI)BasicLabelUI.createUI(label));
+ return label;
+ }
+
+ public static JLabel createConditionLabel(final Icon icon) {
+ final JLabel label = new JLabel(icon);
+ label.setUI((BasicLabelUI)BasicLabelUI.createUI(label));
+ return label;
+ }
+
public static String createDescription(final String attribute, final String simpleCondition, final String value,
final boolean matchCase, final boolean matchApproximately) {
final String description = attribute + " " + simpleCondition + (value != null ? " \"" + value + "\"" : "")
diff --git a/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionNotSatisfiedDecorator.java b/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionNotSatisfiedDecorator.java
index bac3c40..1fd95d3 100644
--- a/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionNotSatisfiedDecorator.java
+++ b/freeplane/src/main/java/org/freeplane/features/filter/condition/ConditionNotSatisfiedDecorator.java
@@ -24,8 +24,6 @@ import java.util.Collection;
import java.util.Vector;
import javax.swing.JComponent;
-import javax.swing.JLabel;
-
import org.freeplane.core.util.TextUtils;
import org.freeplane.features.map.NodeModel;
import org.freeplane.n3.nanoxml.XMLElement;
@@ -76,7 +74,7 @@ public class ConditionNotSatisfiedDecorator extends ASelectableCondition impleme
final JCondition component = new JCondition();
final String not = TextUtils.getText("filter_not");
final String text = not + ' ';
- component.add(new JLabel(text));
+ component.add(ConditionFactory.createConditionLabel(text));
originalCondition.getUserName();
final JComponent renderer = originalCondition.createShortRendererComponent();
component.add(renderer);
diff --git a/freeplane/src/main/java/org/freeplane/features/filter/condition/ConjunctConditions.java b/freeplane/src/main/java/org/freeplane/features/filter/condition/ConjunctConditions.java
index ba35a7c..60c9785 100644
--- a/freeplane/src/main/java/org/freeplane/features/filter/condition/ConjunctConditions.java
+++ b/freeplane/src/main/java/org/freeplane/features/filter/condition/ConjunctConditions.java
@@ -81,7 +81,7 @@ public class ConjunctConditions extends ASelectableCondition implements ICombine
*/
protected JComponent createRendererComponent() {
final JCondition component = new JCondition();
- component.add(new JLabel("("));
+ component.add(ConditionFactory.createConditionLabel("("));
ASelectableCondition cond = conditions[0];
JComponent rendererComponent = cond.createShortRendererComponent();
component.add(rendererComponent);
@@ -93,7 +93,7 @@ public class ConjunctConditions extends ASelectableCondition implements ICombine
rendererComponent = cond.createRendererComponent();
component.add(rendererComponent);
}
- component.add(new JLabel(")"));
+ component.add(ConditionFactory.createConditionLabel(")"));
return component;
}
diff --git a/freeplane/src/main/java/org/freeplane/features/filter/condition/DisjunctConditions.java b/freeplane/src/main/java/org/freeplane/features/filter/condition/DisjunctConditions.java
index a947c27..1dc7445 100644
--- a/freeplane/src/main/java/org/freeplane/features/filter/condition/DisjunctConditions.java
+++ b/freeplane/src/main/java/org/freeplane/features/filter/condition/DisjunctConditions.java
@@ -81,7 +81,7 @@ public class DisjunctConditions extends ASelectableCondition implements ICombine
*/
protected JComponent createRendererComponent() {
final JCondition component = new JCondition();
- component.add(new JLabel("("));
+ component.add(ConditionFactory.createConditionLabel("("));
ASelectableCondition cond = conditions[0];
JComponent rendererComponent = cond.createShortRendererComponent();
component.add(rendererComponent);
@@ -93,7 +93,7 @@ public class DisjunctConditions extends ASelectableCondition implements ICombine
rendererComponent = cond.createRendererComponent();
component.add(rendererComponent);
}
- component.add(new JLabel(")"));
+ component.add(ConditionFactory.createConditionLabel(")"));
return component;
}
diff --git a/freeplane/src/main/java/org/freeplane/features/filter/condition/JCondition.java b/freeplane/src/main/java/org/freeplane/features/filter/condition/JCondition.java
index 9dc52b3..3daded7 100644
--- a/freeplane/src/main/java/org/freeplane/features/filter/condition/JCondition.java
+++ b/freeplane/src/main/java/org/freeplane/features/filter/condition/JCondition.java
@@ -23,6 +23,7 @@ import java.awt.Component;
import javax.swing.BoxLayout;
import javax.swing.JPanel;
+import javax.swing.plaf.basic.BasicPanelUI;
/**
* @author Dimitry Polivaev
@@ -37,6 +38,7 @@ public class JCondition extends JPanel {
*/
public JCondition() {
super();
+ setUI(BasicPanelUI.createUI(this));
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
}
diff --git a/freeplane/src/main/java/org/freeplane/features/help/OnlineDocumentationAction.java b/freeplane/src/main/java/org/freeplane/features/help/OnlineDocumentationAction.java
index 73fdf30..f2e1e87 100644
--- a/freeplane/src/main/java/org/freeplane/features/help/OnlineDocumentationAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/help/OnlineDocumentationAction.java
@@ -22,7 +22,6 @@ package org.freeplane.features.help;
import java.awt.event.ActionEvent;
import java.net.MalformedURLException;
import java.net.URL;
-import javax.swing.SwingUtilities;
import org.freeplane.core.resources.ResourceController;
import org.freeplane.core.ui.AFreeplaneAction;
import org.freeplane.core.ui.components.UITools;
diff --git a/freeplane/src/main/java/org/freeplane/features/icon/IconContainedCondition.java b/freeplane/src/main/java/org/freeplane/features/icon/IconContainedCondition.java
index f556dbe..b6c5acf 100644
--- a/freeplane/src/main/java/org/freeplane/features/icon/IconContainedCondition.java
+++ b/freeplane/src/main/java/org/freeplane/features/icon/IconContainedCondition.java
@@ -26,6 +26,7 @@ import javax.swing.JLabel;
import org.freeplane.core.util.TextUtils;
import org.freeplane.features.filter.condition.ASelectableCondition;
+import org.freeplane.features.filter.condition.ConditionFactory;
import org.freeplane.features.filter.condition.JCondition;
import org.freeplane.features.icon.factory.IconStoreFactory;
import org.freeplane.features.map.NodeModel;
@@ -86,8 +87,8 @@ public class IconContainedCondition extends ASelectableCondition {
public JComponent createRendererComponent() {
final JCondition component = new JCondition();
final String text = TextUtils.getText("filter_icon") + ' ' + TextUtils.getText("filter_contains") + ' ';
- component.add(new JLabel(text));
- JLabel icon = new JLabel(STORE.getUIIcon(getIconName()).getIcon());
+ component.add(ConditionFactory.createConditionLabel(text));
+ JLabel icon = ConditionFactory.createConditionLabel(STORE.getUIIcon(getIconName()).getIcon());
component.add(icon);
icon.setBackground(Color.WHITE);
icon.setOpaque(true);
diff --git a/freeplane/src/main/java/org/freeplane/features/icon/IconGroup.java b/freeplane/src/main/java/org/freeplane/features/icon/IconGroup.java
index 76420ac..a6be8f1 100644
--- a/freeplane/src/main/java/org/freeplane/features/icon/IconGroup.java
+++ b/freeplane/src/main/java/org/freeplane/features/icon/IconGroup.java
@@ -82,11 +82,15 @@ public class IconGroup {
public String getDescription() {
if (description == null) {
- description = TextUtils.getText("IconGroupPopupAction." + name.toLowerCase() + ".text");
+ description = TextUtils.getText(getDescriptionKey());
}
return description;
}
+ public String getDescriptionKey() {
+ return "IconGroupPopupAction." + name.toLowerCase() + ".text";
+ }
+
public void setDescription(final String description) {
this.description = description;
}
diff --git a/freeplane/src/main/java/org/freeplane/features/icon/PriorityCompareCondition.java b/freeplane/src/main/java/org/freeplane/features/icon/PriorityCompareCondition.java
index 85c348c..48dd287 100644
--- a/freeplane/src/main/java/org/freeplane/features/icon/PriorityCompareCondition.java
+++ b/freeplane/src/main/java/org/freeplane/features/icon/PriorityCompareCondition.java
@@ -30,6 +30,7 @@ import org.freeplane.core.io.xml.TreeXmlWriter;
import org.freeplane.core.util.TextUtils;
import org.freeplane.features.filter.condition.ASelectableCondition;
import org.freeplane.features.filter.condition.CompareConditionAdapter;
+import org.freeplane.features.filter.condition.ConditionFactory;
import org.freeplane.features.filter.condition.JCondition;
import org.freeplane.features.icon.factory.IconStoreFactory;
import org.freeplane.features.map.NodeModel;
@@ -66,7 +67,7 @@ public class PriorityCompareCondition extends CompareConditionAdapter {
protected JComponent createRendererComponent() {
final JCondition renderer = new JCondition();
final String string = toString();
- final JLabel label = new JLabel(string.substring(0, string.length() - 3));
+ final JLabel label = ConditionFactory.createConditionLabel(string.substring(0, string.length() - 3));
label.setIcon(STORE.getMindIcon(getIconName()).getIcon());
label.setHorizontalTextPosition(SwingConstants.LEFT);
renderer.add(label);
diff --git a/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/IconAction.java b/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/IconAction.java
index 89f9a1b..a8b46f2 100644
--- a/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/IconAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/IconAction.java
@@ -55,6 +55,11 @@ class IconAction extends AMultipleNodeAction implements IIconInformation {
return icon.getTranslationKeyLabel();
}
+ @Override
+ public String getTextKey() {
+ return getTranslationKeyLabel();
+ }
+
public String getTranslationValueLabel() {
return icon.getTranslationValueLabel();
}
diff --git a/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/MIconController.java b/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/MIconController.java
index ba618a0..d5b5afb 100644
--- a/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/MIconController.java
+++ b/freeplane/src/main/java/org/freeplane/features/icon/mindmapmode/MIconController.java
@@ -105,7 +105,7 @@ public class MIconController extends IconController {
final Entry item = new Entry();
EntryAccessor entryAccessor = new EntryAccessor();
entryAccessor.setIcon(item, group.getGroupIcon().getIcon());
- entryAccessor.setText(item, group.getDescription());
+ item.setName(group.getDescriptionKey());
target.addChild(item);
for (final MindIcon icon : group.getIcons()) {
final String fileName = icon.getFileName();
diff --git a/freeplane/src/main/java/org/freeplane/features/link/LinkController.java b/freeplane/src/main/java/org/freeplane/features/link/LinkController.java
index 53fb3d1..956e1b1 100644
--- a/freeplane/src/main/java/org/freeplane/features/link/LinkController.java
+++ b/freeplane/src/main/java/org/freeplane/features/link/LinkController.java
@@ -67,7 +67,6 @@ import org.freeplane.core.ui.menubuilders.generic.EntryVisitor;
import org.freeplane.core.ui.menubuilders.generic.PhaseProcessor.Phase;
import org.freeplane.core.util.ColorUtils;
import org.freeplane.core.util.Compat;
-import org.freeplane.core.util.FileUtils;
import org.freeplane.core.util.HtmlUtils;
import org.freeplane.core.util.LogUtils;
import org.freeplane.core.util.MenuUtils;
@@ -88,7 +87,6 @@ import org.freeplane.features.styles.IStyle;
import org.freeplane.features.styles.LogicalStyleController;
import org.freeplane.features.styles.MapStyleModel;
import org.freeplane.features.text.TextController;
-import org.freeplane.features.url.FreeplaneUriConverter;
import org.freeplane.features.url.UrlManager;
/**
diff --git a/freeplane/src/main/java/org/freeplane/features/map/AlwaysUnfoldedNode.java b/freeplane/src/main/java/org/freeplane/features/map/AlwaysUnfoldedNode.java
index 8e3474e..f394655 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/AlwaysUnfoldedNode.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/AlwaysUnfoldedNode.java
@@ -20,11 +20,8 @@
package org.freeplane.features.map;
import org.freeplane.core.extension.IExtension;
-import org.freeplane.features.map.mindmapmode.RemoveAllAlwaysUnfoldedNodeFlagsAction;
-import org.freeplane.features.map.mindmapmode.SetAlwaysUnfoldedNodeFlagsAction;
import org.freeplane.features.mode.NodeHookDescriptor;
import org.freeplane.features.mode.PersistentNodeHook;
-import org.freeplane.features.mode.mindmapmode.MModeController;
import org.freeplane.n3.nanoxml.XMLElement;
/**
diff --git a/freeplane/src/main/java/org/freeplane/features/map/MapController.java b/freeplane/src/main/java/org/freeplane/features/map/MapController.java
index 258c757..fb046b3 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/MapController.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/MapController.java
@@ -82,13 +82,14 @@ public class MapController extends SelectionController implements IExtension{
final private Collection<AFreeplaneAction> actions;
final private DelayedRunner runner;
- public ActionEnablerOnChange() {
+ public ActionEnablerOnChange(final ModeController modeController) {
super();
actions = new HashSet<AFreeplaneAction>();
runner = new DelayedRunner(new Runnable() {
@Override
public void run() {
- setActionsEnabledNow();
+ if(modeController == Controller.getCurrentModeController())
+ setActionsEnabledNow();
}
});
}
@@ -152,13 +153,14 @@ public class MapController extends SelectionController implements IExtension{
final private Collection<AFreeplaneAction> actions;
final private DelayedRunner runner;
- public ActionSelectorOnChange() {
+ public ActionSelectorOnChange(final ModeController modeController) {
super();
actions = new HashSet<AFreeplaneAction>();
runner = new DelayedRunner(new Runnable() {
@Override
public void run() {
- setActionsSelectedNow();
+ if(modeController == Controller.getCurrentModeController())
+ setActionsSelectedNow();
}
});
}
@@ -310,8 +312,8 @@ public class MapController extends SelectionController implements IExtension{
writeManager.addExtensionElementWriter(UnknownElements.class, unknownElementWriter);
mapChangeListeners = new LinkedList<IMapChangeListener>();
nodeChangeListeners = new LinkedList<INodeChangeListener>();
- actionEnablerOnChange = new ActionEnablerOnChange();
- actionSelectorOnChange = new ActionSelectorOnChange();
+ actionEnablerOnChange = new ActionEnablerOnChange(modeController);
+ actionSelectorOnChange = new ActionSelectorOnChange(modeController);
addNodeSelectionListener(actionEnablerOnChange);
addNodeChangeListener(actionEnablerOnChange);
addMapChangeListener(actionEnablerOnChange);
diff --git a/freeplane/src/main/java/org/freeplane/features/map/NodeAbsolutePath.java b/freeplane/src/main/java/org/freeplane/features/map/NodeAbsolutePath.java
index 880d1b8..a2d1afa 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/NodeAbsolutePath.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/NodeAbsolutePath.java
@@ -29,7 +29,7 @@ import java.util.ListIterator;
*/
public class NodeAbsolutePath{
final private List<NodeModel> path;
- final private ListIterator<NodeModel> iterator;
+ private ListIterator<NodeModel> iterator;
public NodeAbsolutePath(NodeModel node) {
path = Arrays.asList(node.getPathToRoot());
iterator = path.listIterator();
@@ -50,5 +50,9 @@ public class NodeAbsolutePath{
return iterator.previous();
}
+ public void reset(){
+ iterator = path.listIterator();
+ }
+
}
diff --git a/freeplane/src/main/java/org/freeplane/features/map/NodeRelativePath.java b/freeplane/src/main/java/org/freeplane/features/map/NodeRelativePath.java
index a21fe7a..342db83 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/NodeRelativePath.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/NodeRelativePath.java
@@ -20,6 +20,8 @@
package org.freeplane.features.map;
import java.util.Arrays;
+import java.util.Comparator;
+import java.util.HashMap;
/**
@@ -31,10 +33,42 @@ public class NodeRelativePath {
private final NodeModel commonAncestor;
private final int[] beginPath;
private final int[] endPath;
+
+ public final static Comparator<NodeModel> comparator() {
+ return new Comparator<NodeModel>() {
+ private final HashMap<NodeModel, NodeAbsolutePath> paths = new HashMap<>();
+
+ @Override
+ public int compare(NodeModel o1, NodeModel o2) {
+ if(o1 == o2)
+ return 0;
+ if(o1 == null)
+ return -1;
+ if(o2 == null)
+ return 1;
+ final NodeAbsolutePath absoluteBeginPath = getPath(o1);
+ final NodeAbsolutePath absoluteEndPath = getPath(o2);
+ return new NodeRelativePath(absoluteBeginPath, absoluteEndPath).compareNodePositions();
+ }
+
+ public NodeAbsolutePath getPath(NodeModel node) {
+ NodeAbsolutePath path = paths.get(node);
+ if(path == null) {
+ path = new NodeAbsolutePath(node);
+ paths.put(node, path);
+ }
+ else
+ path.reset();
+ return path;
+ }
+ };
+ }
public NodeRelativePath(NodeModel begin, NodeModel end) {
- final NodeAbsolutePath absoluteBeginPath = new NodeAbsolutePath(begin);
- final NodeAbsolutePath absoluteEndPath = new NodeAbsolutePath(end);
+ this(new NodeAbsolutePath(begin), new NodeAbsolutePath(end));
+ }
+
+ private NodeRelativePath(NodeAbsolutePath absoluteBeginPath, NodeAbsolutePath absoluteEndPath) {
NodeModel commonAncestor = null;
while(absoluteBeginPath.hasNext() && absoluteEndPath.hasNext()){
NodeModel nextNodeOnBeginPath = absoluteBeginPath.next();
@@ -116,5 +150,15 @@ public class NodeRelativePath {
public int getPathLength() {
return beginPath.length + endPath.length;
}
+
+ public int compareNodePositions() {
+ if(beginPath.length == 0 && endPath.length == 0)
+ return 0;
+ if(beginPath.length == 0)
+ return -1;
+ if(endPath.length == 0)
+ return 1;
+ return Integer.compare(beginPath[0], endPath[0]);
+ }
}
diff --git a/freeplane/src/main/java/org/freeplane/features/map/SharedNodeData.java b/freeplane/src/main/java/org/freeplane/features/map/SharedNodeData.java
index 498369f..3275d76 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/SharedNodeData.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/SharedNodeData.java
@@ -75,8 +75,8 @@ public class SharedNodeData {
return xmlText;
}
- public void setXmlText(String xmlText) {
- xmlText = XmlUtils.makeValidXml(xmlText);
+ public void setXmlText(String content) {
+ xmlText = XmlUtils.makeValidXml(content);
userObject = HtmlUtils.toHtml(xmlText);
}
diff --git a/freeplane/src/main/java/org/freeplane/features/map/SummaryNode.java b/freeplane/src/main/java/org/freeplane/features/map/SummaryNode.java
index 8886dd4..cc01507 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/SummaryNode.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/SummaryNode.java
@@ -20,7 +20,6 @@
package org.freeplane.features.map;
import org.freeplane.core.extension.IExtension;
-import org.freeplane.features.map.mindmapmode.MMapController;
import org.freeplane.features.mode.Controller;
import org.freeplane.features.mode.ModeController;
import org.freeplane.features.mode.NodeHookDescriptor;
diff --git a/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/ConvertCloneToIndependentNodeAction.java b/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/ConvertCloneToIndependentNodeAction.java
index 0b0fef4..fb4351b 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/ConvertCloneToIndependentNodeAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/ConvertCloneToIndependentNodeAction.java
@@ -1,8 +1,7 @@
package org.freeplane.features.map.mindmapmode;
import java.awt.event.ActionEvent;
-import java.util.List;
-
+import java.util.Collection;
import org.freeplane.core.ui.AFreeplaneAction;
import org.freeplane.core.ui.EnabledAction;
import org.freeplane.features.map.NodeModel;
@@ -19,14 +18,14 @@ public class ConvertCloneToIndependentNodeAction extends AFreeplaneAction {
@Override
public void actionPerformed(ActionEvent e) {
final MMapController mapController = (MMapController) Controller.getCurrentModeController().getMapController();
- final List<NodeModel> selectedNodes = Controller.getCurrentController().getSelection().getSortedSelection(false);
+ final Collection<NodeModel> selectedNodes = Controller.getCurrentController().getSelection().getSelection();
for(final NodeModel node :selectedNodes)
mapController.convertClonesToIndependentNodes(node);
}
@Override
public void setEnabled() {
- final List<NodeModel> selectedNodes = Controller.getCurrentController().getSelection().getSortedSelection(false);
+ final Collection<NodeModel> selectedNodes = Controller.getCurrentController().getSelection().getSelection();
for(NodeModel node :selectedNodes)
if(! node.isCloneTreeRoot()){
setEnabled(false);
diff --git a/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java b/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java
index 9697d58..08c569f 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java
@@ -43,7 +43,6 @@ import java.util.List;
import java.util.Set;
import java.util.TreeSet;
-import javax.swing.Action;
import javax.swing.JOptionPane;
import org.freeplane.core.extension.IExtension;
diff --git a/freeplane/src/main/java/org/freeplane/features/mode/ModeController.java b/freeplane/src/main/java/org/freeplane/features/mode/ModeController.java
index 50d8693..bac1b37 100644
--- a/freeplane/src/main/java/org/freeplane/features/mode/ModeController.java
+++ b/freeplane/src/main/java/org/freeplane/features/mode/ModeController.java
@@ -382,7 +382,6 @@ public class ModeController extends AController implements FreeplaneActions{
public void updateMenus(String menuStructure, final Set<String> plugins) {
final IUserInputListenerFactory userInputListenerFactory = getUserInputListenerFactory();
userInputListenerFactory.updateMenus(menuStructure, plugins);
- userInputListenerFactory.getAcceleratorManager().loadAcceleratorPresets();
}
public boolean canEdit() {
diff --git a/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/LoadAcceleratorPresetsAction.java b/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/LoadAcceleratorPresetsAction.java
index 31e8ddc..7f8474d 100644
--- a/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/LoadAcceleratorPresetsAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/LoadAcceleratorPresetsAction.java
@@ -36,7 +36,6 @@ import org.freeplane.core.ui.menubuilders.generic.EntryVisitor;
import org.freeplane.core.ui.menubuilders.generic.PhaseProcessor.Phase;
import org.freeplane.core.util.FileUtils;
import org.freeplane.core.util.TextUtils;
-import org.freeplane.features.mode.Controller;
import org.freeplane.features.mode.ModeController;
/**
@@ -131,8 +130,7 @@ public class LoadAcceleratorPresetsAction extends AFreeplaneAction {
InputStream in = null;
try {
in = resource.openStream();
- final ActionAcceleratorManager acclMgr = Controller.getCurrentModeController()
- .getUserInputListenerFactory().getAcceleratorManager();
+ final ActionAcceleratorManager acclMgr = ResourceController.getResourceController().getAcceleratorManager();
acclMgr.loadAcceleratorPresets(in);
acclMgr.saveAcceleratorPresets();
}
diff --git a/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/SaveAcceleratorPresetsAction.java b/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/SaveAcceleratorPresetsAction.java
index d768224..3cefdbf 100644
--- a/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/SaveAcceleratorPresetsAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/mode/mindmapmode/SaveAcceleratorPresetsAction.java
@@ -27,6 +27,7 @@ import java.io.IOException;
import java.io.OutputStream;
import javax.swing.JOptionPane;
+import org.freeplane.core.resources.ResourceController;
import org.freeplane.core.ui.AFreeplaneAction;
import org.freeplane.core.ui.IUserInputListenerFactory;
import org.freeplane.core.ui.components.UITools;
@@ -66,7 +67,7 @@ class SaveAcceleratorPresetsAction extends AFreeplaneAction {
final OutputStream output = new BufferedOutputStream(new FileOutputStream(keysetFile));
final IUserInputListenerFactory userInputListenerFactory = Controller.getCurrentModeController()
.getUserInputListenerFactory();
- userInputListenerFactory.getAcceleratorManager().storeAcceleratorPreset(output);
+ ResourceController.getResourceController().getAcceleratorManager().storeAcceleratorPreset(output);
output.close();
userInputListenerFactory.rebuildMenus("load_accelerator_presets");
}
diff --git a/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/MNoteController.java b/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/MNoteController.java
index 570af1f..ade3abc 100644
--- a/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/MNoteController.java
+++ b/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/MNoteController.java
@@ -325,6 +325,7 @@ public class MNoteController extends NoteController {
public void shutdownController() {
Controller.getCurrentModeController().getMapController().removeNodeSelectionListener(noteManager);
+ Controller.getCurrentController().getMapViewManager().removeMapSelectionListener(noteManager);
if (noteViewerComponent == null) {
return;
}
@@ -341,6 +342,7 @@ public class MNoteController extends NoteController {
showNotesPanel(false);
}
modeController.getMapController().addNodeSelectionListener(noteManager);
+ Controller.getCurrentController().getMapViewManager().addMapSelectionListener(noteManager);
noteManager.mNoteDocumentListener = new NoteDocumentListener();
}
diff --git a/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/NoteManager.java b/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/NoteManager.java
index ef85fd0..3d86542 100644
--- a/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/NoteManager.java
+++ b/freeplane/src/main/java/org/freeplane/features/note/mindmapmode/NoteManager.java
@@ -25,7 +25,9 @@ import java.util.regex.Pattern;
import javax.swing.text.html.HTMLDocument;
import org.freeplane.core.util.HtmlUtils;
+import org.freeplane.features.map.IMapSelectionListener;
import org.freeplane.features.map.INodeSelectionListener;
+import org.freeplane.features.map.MapModel;
import org.freeplane.features.map.NodeModel;
import org.freeplane.features.mode.Controller;
import org.freeplane.features.note.NoteModel;
@@ -33,7 +35,7 @@ import org.freeplane.features.note.mindmapmode.MNoteController.NoteDocumentListe
import com.lightdev.app.shtm.SHTMLPanel;
-final class NoteManager implements INodeSelectionListener {
+final class NoteManager implements INodeSelectionListener, IMapSelectionListener {
public final static Pattern HEAD = Pattern.compile("<head>.*</head>\n", Pattern.DOTALL);
private boolean ignoreEditorUpdate;
NoteDocumentListener mNoteDocumentListener;
@@ -128,4 +130,18 @@ final class NoteManager implements INodeSelectionListener {
noteViewerComponent.setCurrentDocumentContent("");
document.addDocumentListener(mNoteDocumentListener);
}
+
+ @Override
+ public void afterMapChange(MapModel oldMap, MapModel newMap) {
+ if(newMap == null) {
+ node = null;
+ final SHTMLPanel noteViewerComponent = noteController.getNoteViewerComponent();
+ if(noteViewerComponent != null)
+ noteViewerComponent.setCurrentDocumentContent("");
+ }
+ }
+
+ @Override
+ public void beforeMapChange(MapModel oldMap, MapModel newMap) {
+ }
}
diff --git a/freeplane/src/main/java/org/freeplane/features/print/PreviewDialog.java b/freeplane/src/main/java/org/freeplane/features/print/PreviewDialog.java
index 79a6924..0e71491 100644
--- a/freeplane/src/main/java/org/freeplane/features/print/PreviewDialog.java
+++ b/freeplane/src/main/java/org/freeplane/features/print/PreviewDialog.java
@@ -51,8 +51,8 @@ class PreviewDialog extends JDialog implements ActionListener {
public PreviewDialog(final PrintController printController, final String title, final Component c) {
super(JOptionPane.getFrameForComponent(c), title, true);
view = (Printable) c;
- final Rectangle desktopBounds = UITools.getDesktopBounds(c);
- Dimension previewSize = new Dimension(desktopBounds.width * 3/4, desktopBounds.height * 3/4);
+ final Rectangle screenBounds = UITools.getAvailableScreenBounds(c);
+ Dimension previewSize = new Dimension(screenBounds.width * 3/4, screenBounds.height * 3/4);
final Preview preview = new Preview(printController, view, previewSize );
final JScrollPane scrollPane = new JScrollPane(preview, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
UITools.setScrollbarIncrement(scrollPane);
diff --git a/freeplane/src/main/java/org/freeplane/features/styles/MapStyle.java b/freeplane/src/main/java/org/freeplane/features/styles/MapStyle.java
index 1a64cb8..11591f0 100644
--- a/freeplane/src/main/java/org/freeplane/features/styles/MapStyle.java
+++ b/freeplane/src/main/java/org/freeplane/features/styles/MapStyle.java
@@ -245,7 +245,7 @@ public class MapStyle extends PersistentNodeHook implements IExtension, IMapLife
bgColor = null;
}
if (alphaString != null) {
- bgColor = ColorUtils.alphaToColor(alphaString, bgColor);
+ bgColor = ColorUtils.makeNonTransparent(ColorUtils.alphaToColor(alphaString, bgColor));
}
model.setBackgroundColor(bgColor);
final String zoomString = element.getAttribute("zoom", null);
@@ -429,7 +429,7 @@ public class MapStyle extends PersistentNodeHook implements IExtension, IMapLife
super.saveExtension(extension, element);
final Color backgroundColor = mapStyleModel.getBackgroundColor();
if (backgroundColor != null) {
- ColorUtils.setColorAttributes(element, "background", "background_alpha", backgroundColor);
+ element.setAttribute("background", ColorUtils.colorToString(backgroundColor));
}
final float zoom = mapStyleModel.getZoom();
if (zoom != 1f) {
@@ -473,7 +473,8 @@ public class MapStyle extends PersistentNodeHook implements IExtension, IMapLife
Controller.getCurrentModeController().getMapController().setSaved(map, false);
}
- public void setBackgroundColor(final MapStyleModel model, final Color actionColor) {
+ public void setBackgroundColor(final MapStyleModel model, final Color color) {
+ final Color actionColor = ColorUtils.makeNonTransparent(color);
final Color oldColor = model.getBackgroundColor();
if (actionColor == oldColor || actionColor != null && actionColor.equals(oldColor)) {
return;
diff --git a/freeplane/src/main/java/org/freeplane/features/styles/SetBooleanMapPropertyAction.java b/freeplane/src/main/java/org/freeplane/features/styles/SetBooleanMapPropertyAction.java
index 8007d3b..635c092 100644
--- a/freeplane/src/main/java/org/freeplane/features/styles/SetBooleanMapPropertyAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/styles/SetBooleanMapPropertyAction.java
@@ -45,6 +45,7 @@ public class SetBooleanMapPropertyAction extends AFreeplaneAction{
TextUtils.getRawText("OptionPanel." + propertyName),
null);
this.propertyName = propertyName;
+ setTooltip(getTooltipKey());
}
public void actionPerformed(ActionEvent e) {
@@ -58,6 +59,17 @@ public class SetBooleanMapPropertyAction extends AFreeplaneAction{
mapStyleController.setProperty(map, propertyName, Boolean.toString(set));
setSelected(set);
}
+
+ @Override
+ public String getTextKey() {
+ return "OptionPanel." + propertyName;
+ }
+
+ @Override
+ public String getTooltipKey() {
+ return getTextKey() + ".tooltip";
+ }
+
@Override
public void setSelected() {
try {
diff --git a/freeplane/src/main/java/org/freeplane/features/styles/mindmapmode/StyleEditorPanel.java b/freeplane/src/main/java/org/freeplane/features/styles/mindmapmode/StyleEditorPanel.java
index 6501c0a..941129e 100644
--- a/freeplane/src/main/java/org/freeplane/features/styles/mindmapmode/StyleEditorPanel.java
+++ b/freeplane/src/main/java/org/freeplane/features/styles/mindmapmode/StyleEditorPanel.java
@@ -45,8 +45,8 @@ import javax.swing.SwingConstants;
import javax.swing.plaf.basic.BasicButtonUI;
import org.freeplane.core.extension.IExtension;
-import org.freeplane.core.resources.TranslatedObject;
import org.freeplane.core.resources.ResourceController;
+import org.freeplane.core.resources.TranslatedObject;
import org.freeplane.core.resources.components.BooleanProperty;
import org.freeplane.core.resources.components.ColorProperty;
import org.freeplane.core.resources.components.ComboProperty;
@@ -61,6 +61,7 @@ import org.freeplane.core.ui.AFreeplaneAction;
import org.freeplane.core.ui.LengthUnits;
import org.freeplane.core.ui.components.JComboBoxWithBorder;
import org.freeplane.core.ui.components.UITools;
+import org.freeplane.core.ui.textchanger.TranslatedElement;
import org.freeplane.core.util.ColorUtils;
import org.freeplane.core.util.HtmlUtils;
import org.freeplane.core.util.Quantity;
@@ -842,7 +843,7 @@ public class StyleEditorPanel extends JPanel {
final FormLayout rightLayout = new FormLayout(form, "");
final DefaultFormBuilder rightBuilder = new DefaultFormBuilder(rightLayout);
rightBuilder.border(Borders.DLU2);
- rightBuilder.appendSeparator(TextUtils.getText("OptionPanel.separator.NodeStyle"));
+ new SeparatorProperty("OptionPanel.separator.NodeStyle").layout(rightBuilder);
if (addStyleBox) {
addAutomaticLayout(rightBuilder);
addStyleBox(rightBuilder);
@@ -872,6 +873,7 @@ public class StyleEditorPanel extends JPanel {
button.setHorizontalAlignment(SwingConstants.LEFT);
final String labelText = TextUtils.getText(label);
UITools.addTitledBorder(button, labelText, FONT_SIZE);
+ TranslatedElement.BORDER.setKey(button, label);
rightBuilder.append(button, rightBuilder.getColumnCount());
rightBuilder.nextLine();
return button;
@@ -913,10 +915,7 @@ public class StyleEditorPanel extends JPanel {
}
});
}
- final String label = TextUtils.getText("AutomaticLayoutAction.text");
- rightBuilder.append(new JLabel(label), 5);
- rightBuilder.append(mAutomaticLayoutComboBox);
- rightBuilder.nextLine();
+ appendLabeledComponent(rightBuilder, "AutomaticLayoutAction.text", mAutomaticLayoutComboBox);
}
{
@@ -945,13 +944,19 @@ public class StyleEditorPanel extends JPanel {
}
});
}
- final String label = TextUtils.getText("AutomaticEdgeColorHookAction.text");
- rightBuilder.append(new JLabel(label), 5);
- rightBuilder.append(mAutomaticEdgeColorComboBox);
- rightBuilder.nextLine();
+ appendLabeledComponent(rightBuilder, "AutomaticEdgeColorHookAction.text", mAutomaticEdgeColorComboBox);
}
}
+ private void appendLabeledComponent(final DefaultFormBuilder rightBuilder, String labelKey, Component component) {
+ final String text = TextUtils.getText(labelKey);
+ final JLabel label = new JLabel(text);
+ TranslatedElement.TEXT.setKey(label, labelKey);
+ rightBuilder.append(label, 5);
+ rightBuilder.append(component);
+ rightBuilder.nextLine();
+ }
+
private void setFont(Container c, float size) {
c.setFont(c.getFont().deriveFont(size));
for(int i = 0; i < c.getComponentCount(); i++){
diff --git a/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/EditNodeWYSIWYG.java b/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/EditNodeWYSIWYG.java
index 90d4926..80ef178 100644
--- a/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/EditNodeWYSIWYG.java
+++ b/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/EditNodeWYSIWYG.java
@@ -48,8 +48,6 @@ import org.freeplane.core.util.HtmlUtils;
import org.freeplane.core.util.LogUtils;
import org.freeplane.core.util.TextUtils;
import org.freeplane.features.map.NodeModel;
-import org.freeplane.features.mode.Controller;
-import org.freeplane.features.mode.ModeController;
import org.freeplane.features.nodestyle.NodeStyleModel.TextAlign;
import org.freeplane.features.spellchecker.mindmapmode.SpellCheckerController;
@@ -85,8 +83,7 @@ public class EditNodeWYSIWYG extends EditNodeBase {
final SplitAction splitAction = new SplitAction();
splitButton.addActionListener(splitAction);
UITools.addKeyActionToDialog(getDialog(), submitAction, "alt ENTER", "submit");
- final ModeController modeController = Controller.getCurrentModeController();
- final KeyStroke splitNodeHotKey = modeController.getUserInputListenerFactory().getAcceleratorManager().getAccelerator("SplitNode");
+ final KeyStroke splitNodeHotKey = ResourceController.getResourceController().getAcceleratorManager().getAccelerator("SplitNode");
if(splitNodeHotKey != null)
UITools.addKeyActionToDialog(getDialog(), splitAction, splitNodeHotKey.toString(), "split");
final JPanel buttonPane = new JPanel();
diff --git a/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java b/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java
index e1925d1..289faa6 100644
--- a/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java
+++ b/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java
@@ -32,6 +32,8 @@ import java.awt.KeyboardFocusManager;
import java.awt.LayoutManager;
import java.awt.Rectangle;
import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.net.URI;
@@ -57,6 +59,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.LookAndFeel;
import javax.swing.RootPaneContainer;
+import javax.swing.Timer;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
@@ -77,6 +80,7 @@ import org.freeplane.features.format.FormattedObject;
import org.freeplane.features.format.ScannerController;
import org.freeplane.features.mode.Controller;
import org.freeplane.features.mode.ModeController;
+import org.freeplane.features.mode.mindmapmode.MModeController;
import org.freeplane.features.styles.StyleTranslatedObject;
import org.freeplane.features.time.TimeComboBoxEditor;
@@ -169,6 +173,13 @@ abstract public class FrameController implements ViewController {
statusPanel.add(status);
statusInfos = new HashMap<String, Component>();
statusInfos.put(STANDARD_STATUS_INFO_KEY, status);
+ statusTextCleaner = new Timer(10000, new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ status.setText(null);
+ }
+ });
+ statusTextCleaner.setRepeats(false);
// this.controller = controller;
controller.setViewController(this);
controller.addAction(new ToggleFullScreenAction(this));
@@ -261,8 +272,11 @@ abstract public class FrameController implements ViewController {
abstract public void openDocument(URL fileToUrl) throws Exception;
+ final private Timer statusTextCleaner;
+
public void out(final String msg) {
status.setText(msg);
+ statusTextCleaner.restart();
}
public void addStatusInfo(final String key, final String info) {
@@ -666,6 +680,7 @@ abstract public class FrameController implements ViewController {
}
public boolean quit() {
+ Controller.getCurrentController().selectMode(MModeController.MODENAME);
final boolean allMapsClosed = Controller.getCurrentModeController().getMapController().closeAllMaps();
if(allMapsClosed)
getController().getMapViewManager().onQuitApplication();
diff --git a/freeplane/src/main/java/org/freeplane/features/ui/ViewController.java b/freeplane/src/main/java/org/freeplane/features/ui/ViewController.java
index 30883c3..65c5409 100644
--- a/freeplane/src/main/java/org/freeplane/features/ui/ViewController.java
+++ b/freeplane/src/main/java/org/freeplane/features/ui/ViewController.java
@@ -67,7 +67,7 @@ public interface ViewController {
public void openDocument(URI uri) throws IOException;
- public void openDocument(URL fileToUrl) throws Exception;
+ public void openDocument(URL url) throws Exception;
public void out(final String msg);
diff --git a/freeplane/src/main/java/org/freeplane/features/url/UrlManager.java b/freeplane/src/main/java/org/freeplane/features/url/UrlManager.java
index 5f00b95..6ef154c 100644
--- a/freeplane/src/main/java/org/freeplane/features/url/UrlManager.java
+++ b/freeplane/src/main/java/org/freeplane/features/url/UrlManager.java
@@ -61,7 +61,6 @@ import org.freeplane.features.map.NodeModel;
import org.freeplane.features.mapio.MapIO;
import org.freeplane.features.mode.Controller;
import org.freeplane.features.mode.ModeController;
-import org.freeplane.main.application.ApplicationResourceController;
import org.freeplane.n3.nanoxml.XMLException;
import org.freeplane.n3.nanoxml.XMLParseException;
@@ -370,7 +369,10 @@ public class UrlManager implements IExtension {
if (!FileUtils.isAbsolutePath(map)) {
map = System.getProperty("user.dir") + System.getProperty("file.separator") + map;
}
- loadURL(new File(map).toURI());
+ final NodeAndMapReference nodeAndMapReference = new NodeAndMapReference(map);
+ final URI uri = new File(nodeAndMapReference.getMapReference()).toURI();
+ final URI uriWithNodeReference = new URI(uri.getScheme(), null, uri.getPath(), nodeAndMapReference.getNodeReference());
+ loadURL(uriWithNodeReference);
}
}
diff --git a/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/MFileManager.java b/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/MFileManager.java
index e482bd5..0975bb8 100644
--- a/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/MFileManager.java
+++ b/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/MFileManager.java
@@ -44,11 +44,15 @@ import java.net.URL;
import java.nio.channels.FileLock;
import java.nio.charset.Charset;
import java.util.Arrays;
+import java.util.Collection;
import java.util.LinkedList;
import java.util.Set;
import java.util.TreeSet;
+import java.util.Vector;
import java.util.regex.Pattern;
+import javax.swing.Box;
+import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFileChooser;
@@ -64,6 +68,7 @@ import org.freeplane.core.resources.components.IPropertyControlCreator;
import org.freeplane.core.resources.components.OptionPanelBuilder;
import org.freeplane.core.ui.FileOpener;
import org.freeplane.core.ui.IndexedTree;
+import org.freeplane.core.ui.LabelAndMnemonicSetter;
import org.freeplane.core.ui.components.JComboBoxWithBorder;
import org.freeplane.core.ui.components.OptionalDontShowMeAgainDialog;
import org.freeplane.core.ui.components.UITools;
@@ -270,22 +275,14 @@ public class MFileManager extends UrlManager implements IMapViewChangeListener {
return new ComboProperty("default_charset", charsetList, charsetTranslationList);
}
}, IndexedTree.AS_CHILD);
- optionPanelBuilder.addCreator("Environment/files", new IPropertyControlCreator() {
+ optionPanelBuilder.addCreator("Environment/files/skip_template_selection", new IPropertyControlCreator() {
public IPropertyControl createControl() {
- final TreeSet<String> templates = new TreeSet<String>();
- for (File dir : new File[]{defaultStandardTemplateDir(), defaultUserTemplateDir()})
- if(dir.isDirectory())
- templates.addAll(Arrays.asList(dir.list(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.endsWith(FREEPLANE_FILE_EXTENSION);
- }
- })));
+ final Collection<String> templates = collectAvailableMapTemplates();
ComboProperty comboProperty = new ComboProperty(STANDARD_TEMPLATE, templates, templates);
comboProperty.setEditable(true);
return comboProperty;
}
- }, IndexedTree.AS_CHILD);
+ }, IndexedTree.BEFORE);
}
private void backup(final File file) {
@@ -583,7 +580,7 @@ public class MFileManager extends UrlManager implements IMapViewChangeListener {
/**@deprecated -- use MMapIO*/
@Deprecated
public MapModel newMapFromDefaultTemplate() {
- final File file = defaultTemplateFile();
+ final File file = chosenTemplateFile();
if (file != null) {
return newMapFromTemplate(file);
}
@@ -593,10 +590,45 @@ public class MFileManager extends UrlManager implements IMapViewChangeListener {
return map;
}
+ protected File chosenTemplateFile() {
+ final ResourceController resourceController = ResourceController.getResourceController();
+ boolean skipTemplateSelection = resourceController.getBooleanProperty("skip_template_selection");
+ if(skipTemplateSelection)
+ return defaultTemplateFile();
+ final String standardTemplatePath = resourceController.getProperty(STANDARD_TEMPLATE);
+ final TreeSet<String> availableMapTemplates = collectAvailableMapTemplates();
+ availableMapTemplates.add(standardTemplatePath);
+
+ final Box verticalBox = Box.createVerticalBox();
+
+ final JComboBox<String> templateComboBox = new JComboBox<>(new Vector<>(availableMapTemplates));
+ templateComboBox.setSelectedItem(standardTemplatePath);
+ templateComboBox.setAlignmentX(0f);
+ verticalBox.add(templateComboBox);
+
+ final String checkBoxText = TextUtils.getRawText("OptionalDontShowMeAgainDialog.rememberMyDescision");
+ final JCheckBox mDontShowAgainBox = new JCheckBox();
+ mDontShowAgainBox.setAlignmentX(0f);
+ LabelAndMnemonicSetter.setLabelAndMnemonic(mDontShowAgainBox, checkBoxText);
+ verticalBox.add(mDontShowAgainBox);
+
+ JOptionPane.showMessageDialog(UITools.getCurrentFrame(), verticalBox, TextUtils.getText("select_template"), JOptionPane.PLAIN_MESSAGE);
+ final String selectedTemplate = (String)templateComboBox.getSelectedItem();
+ if(mDontShowAgainBox.isSelected()) {
+ resourceController.setProperty("skip_template_selection", true);
+ resourceController.setProperty(STANDARD_TEMPLATE, selectedTemplate);
+ }
+ return templateFile(selectedTemplate);
+ }
+
@Override
public File defaultTemplateFile() {
+ final String userDefinedTemplateFilePath = ResourceController.getResourceController().getProperty(STANDARD_TEMPLATE);
+ return templateFile(userDefinedTemplateFilePath);
+ }
+
+ private File templateFile(final String userDefinedTemplateFilePath) {
final ResourceController resourceController = ResourceController.getResourceController();
- final String userDefinedTemplateFilePath = resourceController.getProperty(STANDARD_TEMPLATE);
final File userDefinedTemplateFile = new File(userDefinedTemplateFilePath);
if(userDefinedTemplateFile.isAbsolute() && userDefinedTemplateFile.exists() && ! userDefinedTemplateFile.isDirectory()){
return userDefinedTemplateFile;
@@ -909,6 +941,19 @@ public class MFileManager extends UrlManager implements IMapViewChangeListener {
public void beforeViewChange(final Component oldView, final Component newView) {
}
+ protected TreeSet<String> collectAvailableMapTemplates() {
+ final TreeSet<String> templates = new TreeSet<String>();
+ for (File dir : new File[]{defaultStandardTemplateDir(), defaultUserTemplateDir()})
+ if(dir.isDirectory())
+ templates.addAll(Arrays.asList(dir.list(new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ return name.endsWith(FREEPLANE_FILE_EXTENSION);
+ }
+ })));
+ return templates;
+ }
+
public static MFileManager getController(ModeController modeController) {
return (MFileManager) modeController.getExtension(UrlManager.class);
}
diff --git a/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java b/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java
index dabbdeb..d5f72c8 100644
--- a/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java
+++ b/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java
@@ -38,6 +38,7 @@ import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.text.html.parser.ParserDelegator;
+import org.freeplane.core.resources.ResourceController;
import org.freeplane.core.ui.ShowSelectionAsRectangleAction;
import org.freeplane.features.attribute.ModelessAttributeController;
import org.freeplane.features.filter.FilterController;
@@ -158,6 +159,8 @@ public class FreeplaneApplet extends JApplet {
controller.addAction(new NextNodeAction(Direction.BACK_N_FOLD));
controller.addAction(new NextPresentationItemAction());
browseController.updateMenus("/xml/appletmenu.xml", emptySet);
+ ResourceController.getResourceController().getAcceleratorManager().loadAcceleratorPresets();
+
controller.selectMode(browseController);
appletResourceController.setPropertyByParameter(this, "browsemode_initial_map");
appletViewController.init(controller);
diff --git a/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java b/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java
index 1ccce5c..7b3ef6e 100644
--- a/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java
+++ b/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java
@@ -247,6 +247,7 @@ public class ApplicationResourceController extends ResourceController {
outputStreamWriter.write('\n');
outputStreamWriter.flush();
props.store(out, null);
+ ((ResourceBundles)getResources()).saveUserResources();
}
catch (final Exception ex) {
}
diff --git a/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java b/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java
index f08288e..12ed021 100644
--- a/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java
+++ b/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java
@@ -26,13 +26,9 @@ import java.awt.Frame;
import java.awt.Window;
import java.awt.event.KeyEvent;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
import java.util.Collections;
-import java.util.Locale;
import java.util.Set;
import javax.swing.JFrame;
@@ -49,7 +45,6 @@ import org.freeplane.core.ui.components.UITools;
import org.freeplane.core.ui.menubuilders.generic.ChildActionEntryRemover;
import org.freeplane.core.ui.menubuilders.generic.PhaseProcessor.Phase;
import org.freeplane.core.util.Compat;
-import org.freeplane.core.util.ConfigurationUtils;
import org.freeplane.core.util.FreeplaneVersion;
import org.freeplane.core.util.LogUtils;
import org.freeplane.core.util.MenuUtils;
@@ -84,7 +79,6 @@ import org.freeplane.main.application.CommandLineParser.Options;
import org.freeplane.main.browsemode.BModeControllerFactory;
import org.freeplane.main.filemode.FModeControllerFactory;
import org.freeplane.main.mindmapmode.MModeControllerFactory;
-import org.freeplane.n3.nanoxml.XMLException;
import org.freeplane.view.swing.features.nodehistory.NodeHistory;
import org.freeplane.view.swing.map.MapView;
import org.freeplane.view.swing.map.ViewLayoutTypeAction;
@@ -245,6 +239,7 @@ public class FreeplaneGUIStarter implements FreeplaneStarter {
buildMenus(controller, plugins, MModeController.MODENAME, "/xml/mindmapmodemenu.xml");
buildMenus(controller, plugins, BModeController.MODENAME, "/xml/browsemodemenu.xml");
buildMenus(controller, plugins, FModeController.MODENAME, "/xml/filemodemenu.xml");
+ ResourceController.getResourceController().getAcceleratorManager().loadAcceleratorPresets();
}
private void buildMenus(final Controller controller, final Set<String> plugins, String mode, String xml) {
diff --git a/freeplane/src/main/java/org/freeplane/main/mindmapmode/MModeControllerFactory.java b/freeplane/src/main/java/org/freeplane/main/mindmapmode/MModeControllerFactory.java
index 08bab78..b428fe5 100644
--- a/freeplane/src/main/java/org/freeplane/main/mindmapmode/MModeControllerFactory.java
+++ b/freeplane/src/main/java/org/freeplane/main/mindmapmode/MModeControllerFactory.java
@@ -275,7 +275,7 @@ public class MModeControllerFactory {
userInputListenerFactory.setKeyEventProcessor(new IKeyStrokeProcessor() {
@Override
public boolean processKeyBinding(KeyStroke ks, KeyEvent e) {
- return userInputListenerFactory.getAcceleratorManager().processKeyBinding(ks, e) || fButtonToolBar.processKeyBinding(ks, e);
+ return ResourceController.getResourceController().getAcceleratorManager().processKeyBinding(ks, e) || fButtonToolBar.processKeyBinding(ks, e);
}
});
controller.addAction(new ToggleToolbarAction("ToggleFBarAction", "/fbuttons"));
@@ -283,7 +283,7 @@ public class MModeControllerFactory {
modeController.addAction(new SetAcceleratorOnNextClickAction());
modeController.addAction(new ShowNotesInMapAction());
//userInputListenerFactory.getMenuBuilder().setAcceleratorChangeListener(fButtonToolBar);
- userInputListenerFactory.getAcceleratorManager().addAcceleratorChangeListener(modeController, fButtonToolBar);
+ ResourceController.getResourceController().getAcceleratorManager().addAcceleratorChangeListener(modeController, fButtonToolBar);
userInputListenerFactory.addToolBar("/icon_toolbar", ViewController.LEFT, ((MIconController) IconController
.getController()).getIconToolBarScrollPane());
modeController.addAction(new ToggleToolbarAction("ToggleLeftToolbarAction", "/icon_toolbar"));
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImagePreview.java b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImagePreview.java
index c808b28..4cf8fc4 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImagePreview.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImagePreview.java
@@ -8,8 +8,6 @@ import java.net.MalformedURLException;
import javax.swing.JComponent;
import javax.swing.JFileChooser;
-import javax.swing.filechooser.FileFilter;
-
import org.freeplane.core.ui.components.BitmapImagePreview;
import org.freeplane.core.util.LogUtils;
import org.freeplane.view.swing.features.filepreview.ViewerController.FactoryFileFilter;
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ViewerController.java b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ViewerController.java
index bf00b7e..e65b854 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ViewerController.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ViewerController.java
@@ -41,7 +41,6 @@ import org.freeplane.features.mode.Controller;
import org.freeplane.features.mode.ModeController;
import org.freeplane.features.mode.NodeHookDescriptor;
import org.freeplane.features.mode.PersistentNodeHook;
-import org.freeplane.features.mode.PersistentNodeHook.HookAction;
import org.freeplane.features.ui.INodeViewLifeCycleListener;
import org.freeplane.features.ui.ViewController;
import org.freeplane.features.url.UrlManager;
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java b/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java
index 750859a..b02c4ef 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java
@@ -36,7 +36,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.EventListener;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -59,8 +58,6 @@ import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.Timer;
import javax.swing.WindowConstants;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java
index 8a8d965..423ebf2 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java
@@ -10,7 +10,6 @@ import javax.swing.JViewport;
import org.freeplane.core.ui.components.UITools;
import org.freeplane.features.map.NodeModel;
-import org.freeplane.features.mode.ModeController;
import org.freeplane.features.ui.ViewController;
class MapScroller {
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java
index ba10034..f17c0e6 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java
@@ -56,10 +56,9 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
-import java.util.LinkedList;
import java.util.List;
import java.util.Set;
-import java.util.TreeMap;
+import java.util.TreeSet;
import java.util.Vector;
import javax.swing.JComponent;
@@ -95,6 +94,7 @@ import org.freeplane.features.map.NodeChangeEvent;
import org.freeplane.features.map.NodeDeletionEvent;
import org.freeplane.features.map.NodeModel;
import org.freeplane.features.map.NodeMoveEvent;
+import org.freeplane.features.map.NodeRelativePath;
import org.freeplane.features.map.SummaryNode;
import org.freeplane.features.mode.Controller;
import org.freeplane.features.mode.ModeController;
@@ -875,40 +875,31 @@ public class MapView extends JPanel implements Printable, Autoscroll, IMapChange
*/
ArrayList<NodeModel> getSelectedNodesSortedByY(final boolean differentSubtrees) {
validateSelecteds();
- final TreeMap<Integer, LinkedList<NodeModel>> sortedNodes = new TreeMap<Integer, LinkedList<NodeModel>>();
+ final TreeSet<NodeModel> sortedNodes = new TreeSet<NodeModel>(NodeRelativePath.comparator());
for (final NodeView view : selection.getSelectedSet()) {
- if (differentSubtrees) {
- if(viewBelongsToSelectedSubtreeOrItsClone(view))
- continue;
- }
- final Point point = new Point();
- UITools.convertPointToAncestor(view.getParent(), point, this);
- final NodeModel node = view.getModel();
- if(node.getParentNode() != null){
- point.y += node.getParentNode().getIndex(node);
- }
- LinkedList<NodeModel> nodeList = sortedNodes.get(point.y);
- if (nodeList == null) {
- nodeList = new LinkedList<NodeModel>();
- sortedNodes.put(point.y, nodeList);
+ if (! ( differentSubtrees && viewBelongsToSelectedSubtreeOrItsClone(view))) {
+ sortedNodes.add(view.getModel());
}
- nodeList.add(node);
}
- final ArrayList<NodeModel> selectedNodes = new ArrayList<NodeModel>();
- for (final LinkedList<NodeModel> nodeList : sortedNodes.values()) {
- ADD_NODES: for (final NodeModel nodeModel : nodeList) {
- if(differentSubtrees){
- final NodeModel parentNode = nodeModel.getParentNode();
- if(parentNode != null){
- final int index = parentNode.getIndex(nodeModel);
- for(NodeModel parentClone : parentNode.subtreeClones())
- if(selectedNodes.contains(parentClone.getChildAt(index)))
- continue ADD_NODES;
- }
+ if(differentSubtrees){
+ return getUniqueNodes(sortedNodes);
+ }
+ else
+ return new ArrayList<NodeModel>(sortedNodes);
+ }
- }
- selectedNodes.add(nodeModel);
+ private ArrayList<NodeModel> getUniqueNodes(final Collection<NodeModel> sortedNodes) {
+ final ArrayList<NodeModel> selectedNodes = new ArrayList<NodeModel>();
+ ADD_NODES: for (final NodeModel nodeModel : sortedNodes) {
+ final NodeModel parentNode = nodeModel.getParentNode();
+ if(parentNode != null){
+ final int index = parentNode.getIndex(nodeModel);
+ for(NodeModel parentClone : parentNode.subtreeClones())
+ if(selectedNodes.contains(parentClone.getChildAt(index)))
+ continue ADD_NODES;
}
+
+ selectedNodes.add(nodeModel);
}
return selectedNodes;
}
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java
index 6ef18b0..184681e 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java
@@ -326,7 +326,7 @@ public class MapViewController implements IMapViewManager , IMapViewChangeListen
view.preparePrinting();
final Rectangle innerBounds = view.getInnerBounds();
- double scaleFactor = (double) dpi / (double) UITools.getScreenResolution();
+ double scaleFactor = (double) dpi / (double) (UITools.FONT_SCALE_FACTOR * 72);
int imageWidth = (int) Math.ceil(innerBounds.width * scaleFactor);
int imageHeight = (int) Math.ceil(innerBounds.height * scaleFactor);
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewScrollPane.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewScrollPane.java
index fb6d38a..54f222e 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewScrollPane.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewScrollPane.java
@@ -193,7 +193,7 @@ public class MapViewScrollPane extends JScrollPane implements IFreeplaneProperty
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
if(viewport != null){
MapView mapView = (MapView) viewport.getView();
- final ActionAcceleratorManager acceleratorManager = mapView.getModeController().getUserInputListenerFactory().getAcceleratorManager();
+ final ActionAcceleratorManager acceleratorManager = ResourceController.getResourceController().getAcceleratorManager();
if(acceleratorManager.canProcessKeyEvent(e))
return false;
}
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java b/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java
index a4ae1ae..e1baaa5 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java
@@ -78,7 +78,6 @@ import org.freeplane.features.nodestyle.NodeStyleModel.Shape;
import org.freeplane.features.nodestyle.ShapeConfigurationModel;
import org.freeplane.features.styles.AutomaticLayoutController;
import org.freeplane.features.styles.MapViewLayout;
-import org.freeplane.features.text.ShortenedTextModel;
import org.freeplane.features.text.TextController;
import org.freeplane.view.swing.map.attribute.AttributeView;
import org.freeplane.view.swing.map.cloud.CloudView;
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/VerticalNodeViewLayoutStrategy.java b/freeplane/src/main/java/org/freeplane/view/swing/map/VerticalNodeViewLayoutStrategy.java
index 09a0886..3287c33 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/VerticalNodeViewLayoutStrategy.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/VerticalNodeViewLayoutStrategy.java
@@ -188,6 +188,10 @@ class VerticalNodeViewLayoutStrategy {
contentHeightSumAtGroupStart[level] = contentHeightSumAtGroupStart[itemLevel];
groupStartIndex[level] = groupStartIndex[itemLevel];
}
+ if(groupUpperYCoordinate[itemLevel] == Integer.MAX_VALUE){
+ groupUpperYCoordinate[itemLevel] = y;
+ groupLowerYCoordinate[itemLevel] = y;
+ }
int summaryY = (groupUpperYCoordinate[itemLevel] + groupLowerYCoordinate[itemLevel]) / 2
- childContentHeight / 2 + childShiftY
- (child.getContent().getY() - childCloudHeigth / 2 - spaceAround);
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java b/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java
index 453fc4e..1f7393a 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java
@@ -402,8 +402,7 @@ public class EditNodeTextField extends EditNodeBase {
final int keyCode = e.getKeyCode();
if (keyCode == SPLIT_KEY_CODE && keyCode != -1 && e.isAltDown() && ! Compat.isMacOsX())
return true;
- final ModeController modeController = Controller.getCurrentModeController();
- final KeyStroke splitNodeHotKey = modeController.getUserInputListenerFactory().getAcceleratorManager().getAccelerator("SplitNode");
+ final KeyStroke splitNodeHotKey = ResourceController.getResourceController().getAcceleratorManager().getAccelerator("SplitNode");
return splitNodeHotKey != null && splitNodeHotKey.getKeyCode() == keyCode &&
(e.getModifiersEx() & KEYSTROKE_MODIFIERS) == (splitNodeHotKey.getModifiers() & KEYSTROKE_MODIFIERS);
}
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMapMouseListener.java b/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMapMouseListener.java
index 51d5a85..f58b5e0 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMapMouseListener.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMapMouseListener.java
@@ -27,14 +27,17 @@ import java.awt.event.MouseEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
+import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
+import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import org.freeplane.core.ui.ControllerPopupMenuListener;
import org.freeplane.core.ui.IMouseListener;
+import org.freeplane.core.ui.components.JAutoScrollBarPane;
import org.freeplane.core.ui.components.UITools;
import org.freeplane.features.link.LinkController;
import org.freeplane.features.map.IMapSelection;
@@ -86,7 +89,15 @@ public class DefaultMapMouseListener implements IMouseListener {
window= popup;
}
else{
- JOptionPane pane = new JOptionPane(popup);
+ final Component optionComponent;
+ if(popup instanceof JScrollPane)
+ optionComponent = popup;
+ else {
+ final JAutoScrollBarPane scrollPane = new JAutoScrollBarPane(popup);
+ scrollPane.setBorder( BorderFactory.createEmptyBorder() );
+ optionComponent = scrollPane;
+ }
+ JOptionPane pane = new JOptionPane(optionComponent);
final JDialog d = pane.createDialog(UITools.getMenuComponent(), popup.getName());
final Window frame = d.getOwner();
d.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultNodeKeyListener.java b/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultNodeKeyListener.java
index d98a70c..0cd84ed 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultNodeKeyListener.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultNodeKeyListener.java
@@ -34,7 +34,7 @@ public class DefaultNodeKeyListener implements KeyListener {
final MapView mapView = (MapView) Controller.getCurrentController().getMapViewManager().getMapViewComponent();
if (mapView == null || SwingUtilities.isDescendingFrom(mapView, e.getComponent()))
return;
- final ActionAcceleratorManager acceleratorManager = mapView.getModeController().getUserInputListenerFactory().getAcceleratorManager();
+ final ActionAcceleratorManager acceleratorManager = ResourceController.getResourceController().getAcceleratorManager();
if(acceleratorManager.canProcessKeyEvent(e))
return;
if(checkForScrollMap){
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/ui/UserInputListenerFactory.java b/freeplane/src/main/java/org/freeplane/view/swing/ui/UserInputListenerFactory.java
index 553e5c5..f395faa 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/ui/UserInputListenerFactory.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/ui/UserInputListenerFactory.java
@@ -99,7 +99,6 @@ public class UserInputListenerFactory implements IUserInputListenerFactory {
private JPopupMenu nodePopupMenu;
private final Map<String, JComponent> toolBars;
private final List<JComponent>[] toolbarLists;
- static private ActionAcceleratorManager acceleratorManager;
final private List<Map<String, BuilderDestroyerPair>> customBuilders;
final private List<BuildPhaseListener> buildPhaseListeners;
private Entry genericMenuStructure;
@@ -108,7 +107,7 @@ public class UserInputListenerFactory implements IUserInputListenerFactory {
final static private IKeyStrokeProcessor DEFAULT_PROCESSOR = new IKeyStrokeProcessor() {
@Override
public boolean processKeyBinding(KeyStroke ks, KeyEvent e) {
- return acceleratorManager.processKeyBinding(ks, e);
+ return ResourceController.getResourceController().getAcceleratorManager().processKeyBinding(ks, e);
}
};
final private IKeyStrokeProcessor delegateProcessor = new IKeyStrokeProcessor() {
@@ -192,14 +191,6 @@ public class UserInputListenerFactory implements IUserInputListenerFactory {
return null;
}
- public ActionAcceleratorManager getAcceleratorManager() {
- if(acceleratorManager == null) {
- acceleratorManager = new ActionAcceleratorManager();
- }
- return acceleratorManager;
- }
-
-
public void setKeyEventProcessor(IKeyStrokeProcessor keyEventProcessor) {
this.keyEventProcessor = keyEventProcessor;
@@ -447,7 +438,7 @@ public class UserInputListenerFactory implements IUserInputListenerFactory {
try {
final FreeplaneResourceAccessor resourceAccessor = new FreeplaneResourceAccessor();
final EntriesForAction entries = new EntriesForAction();
- final ActionAcceleratorManager acceleratorManager = getAcceleratorManager();
+ final ActionAcceleratorManager acceleratorManager = ResourceController.getResourceController().getAcceleratorManager();
final BuildProcessFactory buildProcessFactory = new MenuBuildProcessFactory(this, modeController,
resourceAccessor, acceleratorManager, entries, buildPhaseListeners);
final PhaseProcessor buildProcessor = buildProcessFactory.getBuildProcessor();
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java b/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java
index 9221518..097d2fa 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java
@@ -312,7 +312,7 @@ public class MNodeMotionListener extends DefaultNodeMouseMotionListener implemen
private NodeModel[] adjustNodeIndexBackupSelection(final NodeView nodeV, NodeModel[] selectedsBackup) {
final NodeModel node = nodeV.getModel();
boolean isLeft = nodeV.isLeft();
- final int newIndex = calculateNewNodeIndex(nodeV, isLeft, 0, node.getParentNode().getChildCount());
+ final int newIndex = calculateNewFreeNodeIndex(nodeV);
if (newIndex != -1) {
final ModeController modeController = nodeV.getMap().getModeController();
MMapController mapController = (MMapController) modeController.getMapController();
@@ -329,36 +329,45 @@ public class MNodeMotionListener extends DefaultNodeMouseMotionListener implemen
return node.getContent().getX() + node.getContent().getWidth() / 2;
}
- private int calculateNewNodeIndex(final NodeView nodeV, final boolean left, final int start, final int end) {
+ private int calculateNewFreeNodeIndex(final NodeView nodeV) {
final NodeModel node = nodeV.getModel();
- if (SummaryNode.isSummaryNode(node))
+ if (SummaryNode.isHidden(node))
return -1;
+ final boolean left = nodeV.isLeft();
final int nodeY = getRefY(nodeV);
final NodeView parent = nodeV.getParentView();
int newIndex = 0;
int oldIndex = -1;
int wrondSideCount = 0;
- for (int i = start; i < end; i++) {
+ int hiddenNodeCount = 0;
+ final int childCount = node.getParentNode().getChildCount();
+ for (int i = 0; i < childCount; i++) {
final Component component = parent.getComponent(i);
if (!(component instanceof NodeView))
continue;
- NodeView sibling = (NodeView) component;
- if (sibling.isLeft() == left && !SummaryNode.isSummaryNode(sibling.getModel()) && getRefY(sibling) > nodeY)
+ NodeView siblingV = (NodeView) component;
+ final NodeModel sibling = siblingV.getModel();
+ if (siblingV.isLeft() == left && !SummaryNode.isHidden(sibling) && getRefY(siblingV) > nodeY)
break;
else {
- if (sibling != nodeV) {
+ if (siblingV != nodeV) {
newIndex++;
- if (sibling.isLeft() != left)
+ if (siblingV.isLeft() != left)
wrondSideCount++;
- else
+ else {
wrondSideCount = 0;
+ if(oldIndex >= 0 && SummaryNode.isHidden(sibling))
+ hiddenNodeCount++;
+ else
+ hiddenNodeCount = 0;
+ }
}
else {
oldIndex = i;
}
}
}
- final int result = newIndex - wrondSideCount;
+ final int result = newIndex - wrondSideCount - hiddenNodeCount;
if (result == oldIndex)
return -1;
return result;
diff --git a/freeplane/src/test/java/org/freeplane/core/ui/menubuilders/MenuBuilderAcceptanceTest.java b/freeplane/src/test/java/org/freeplane/core/ui/menubuilders/MenuBuilderAcceptanceTest.java
index e099ee0..341a3eb 100644
--- a/freeplane/src/test/java/org/freeplane/core/ui/menubuilders/MenuBuilderAcceptanceTest.java
+++ b/freeplane/src/test/java/org/freeplane/core/ui/menubuilders/MenuBuilderAcceptanceTest.java
@@ -12,7 +12,6 @@ import javax.swing.JPopupMenu;
import javax.swing.JToolBar;
import org.freeplane.core.ui.IUserInputListenerFactory;
-import org.freeplane.core.ui.components.FreeplaneMenuBar;
import org.freeplane.core.ui.menubuilders.action.EntriesForAction;
import org.freeplane.core.ui.menubuilders.action.IAcceleratorMap;
import org.freeplane.core.ui.menubuilders.generic.BuildPhaseListener;
diff --git a/freeplane/src/test/java/org/freeplane/features/map/NodeRelativePathTest.java b/freeplane/src/test/java/org/freeplane/features/map/NodeRelativePathTest.java
index 4839374..20b5e7e 100644
--- a/freeplane/src/test/java/org/freeplane/features/map/NodeRelativePathTest.java
+++ b/freeplane/src/test/java/org/freeplane/features/map/NodeRelativePathTest.java
@@ -134,4 +134,52 @@ public class NodeRelativePathTest {
final NodeRelativePath nodeRelativePath = new NodeRelativePath(node1, node2);
assertThat(nodeRelativePath.endPathElement(1), equalTo(node2));
}
+
+ @Test
+ public void compareNodesWithSameParent(){
+ final NodeModel parent = root();
+ final NodeModel node1 = new NodeModel("node1", map);
+ parent.insert(node1);
+ final NodeModel node2 = new NodeModel("node2", map);
+ parent.insert(node2);
+ final int compared = new NodeRelativePath(node1, node2).compareNodePositions();
+ assertTrue(compared < 0);
+ }
+
+
+ @Test
+ public void compareNodesWithSameParentUsingComparator(){
+ final NodeModel parent = root();
+ final NodeModel node1 = new NodeModel("node1", map);
+ parent.insert(node1);
+ final NodeModel node2 = new NodeModel("node2", map);
+ parent.insert(node2);
+ final int compared = NodeRelativePath.comparator().compare(node2, node1);
+ assertTrue(compared > 0);
+ }
+
+ @Test
+ public void compareSameNode(){
+ final NodeModel parent = root();
+ final int compared = new NodeRelativePath(parent, parent).compareNodePositions();
+ assertTrue(compared == 0);
+ }
+
+ @Test
+ public void compareParentToDescendantNode(){
+ final NodeModel parent = root();
+ final NodeModel node1 = new NodeModel("node1", map);
+ parent.insert(node1);
+ final int compared = new NodeRelativePath(parent, node1).compareNodePositions();
+ assertTrue(compared < 0);
+ }
+
+ @Test
+ public void compareDescendantNodeToParent(){
+ final NodeModel parent = root();
+ final NodeModel node1 = new NodeModel("node1", map);
+ parent.insert(node1);
+ final int compared = new NodeRelativePath(parent, node1).compareNodePositions();
+ assertTrue(compared < 0);
+ }
}
diff --git a/freeplane/viewer-resources/freeplane.properties b/freeplane/viewer-resources/freeplane.properties
index 1e5ab23..8d0beea 100644
--- a/freeplane/viewer-resources/freeplane.properties
+++ b/freeplane/viewer-resources/freeplane.properties
@@ -164,7 +164,6 @@ ZoomOutAction.icon=/images/ZoomOut24.png
acceleratorPresets.icon=/images/acceleratorPresets.png
always_load_last_maps=false
antialias=antialias_all
-apply_system_screen_resolution=true
approximate_search_threshold=0.65
backup_file_number=2
browsemode_initial_map=map.mm
@@ -501,3 +500,4 @@ filter.showDescendants=false
locales=ar,ca,cs,da,de,el,es,et,eu,fr,gl,hr,hu,id,it,ja,ko,lt,nb,nl,nn,pl,pt_BR,pt_PT,ru,sk,sl,sr,sv,tr,uk_UA,zh_CN,zh_TW,en
org.freeplane.plugin.bugreport.dialog.disabled=false
lookandfeel.scaleuifonts=true
+weblateUrlFormat=https://hosted.weblate.org/translate/freeplane/translation/{0}/?q={1}&search=exact&context=on&type=all&ignored=False
diff --git a/freeplane/viewer-resources/translations/Resources_en.properties b/freeplane/viewer-resources/translations/Resources_en.properties
index 3f20969..0af6d8f 100644
--- a/freeplane/viewer-resources/translations/Resources_en.properties
+++ b/freeplane/viewer-resources/translations/Resources_en.properties
@@ -887,6 +887,7 @@ no_found_from=<html>No <u>{0}</u> found from "{1}".</html>
no_more_found_from=<html>No more <u>{0}</u> found from "{1}".</html>
no_previous_find=No previous find.
no_styles_found_in_map=No styles found in map
+no_translation_strings_found=No translatable strings found
node=Node
node_changed_discard_changes=You have changed the node. Do you want to discard changes?
node_is_write_protected=Target node is write protected.
@@ -957,7 +958,6 @@ OptionPanel.antialias_all=Antialias all
OptionPanel.antialias_edges=Antialias edges
OptionPanel.antialias_none=No antialias
OptionPanel.Appearance=Appearance
-OptionPanel.apply_system_screen_resolution=Apply system screen resolution default
OptionPanel.approximate_search_threshold=Threshold for approximate matching
OptionPanel.approximate_search_threshold.tooltip=<html>Threshold for approximate matching<br/><font size="2">see http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(the higher the fewer variations<br/>of the search term will be found)</html>
OptionPanel.ar=Arabic / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
@@ -971,6 +971,10 @@ OptionPanel.automaticFormat_level2=1. Level node format
OptionPanel.backup_file_number=Number of kept backup files
OptionPanel.Behaviour=Behaviour
OptionPanel.bezier=Smoothly curved (bezier)
+OptionPanel.border_color=Color
+OptionPanel.border_color_matches_edge_color=Use edge color
+OptionPanel.border_width=Line width
+OptionPanel.border_width_matches_edge_width=Use edge width
OptionPanel.bubble=Bubble
OptionPanel.ca=Catalan, Valencian / Catal\u00E0
OptionPanel.Cancel=Cancel
@@ -1276,6 +1280,7 @@ OptionPanel.separator.mouse_wheel=Mouse wheel
OptionPanel.separator.new_node_commands=New node commands
OptionPanel.separator.node_editing_commands=Node editing commands
OptionPanel.separator.node_navigation_commands=Node navigation commands
+OptionPanel.separator.NodeBorder=Node border
OptionPanel.separator.NodeColors=Color of whole core
OptionPanel.separator.NodeFont=Font of whole core
OptionPanel.separator.NodeShape=Node shape
@@ -1329,6 +1334,7 @@ OptionPanel.single_instance=Open files in a running instance
OptionPanel.single_instance_force=Avoid a second instance in any case
OptionPanel.single_instance_force.tooltip=Avoid a second instance even if there is no file to load
OptionPanel.sk=Slovak / sloven\u010Dina
+OptionPanel.skip_template_selection=Skip template selection dialog
OptionPanel.sl=Slovene / sloven\u0161\u010Dina
OptionPanel.slow_scroll_selected_node=Slow scrolling to selected node
OptionPanel.spelling_opt_case_sensitive=Case sensitive
@@ -1583,6 +1589,7 @@ select_folder_for_importing=Select the folder to import
select_icon=Select an Icon
select_menu_item_dialog=Select a menu item
select_menu_item_root_node=Menu
+select_template=Select template
SelectAllAction.text=Select all visible nodes
SelectBranchAction.text=Select visible branch
SelectedPasteAction.text=Paste as...
@@ -1860,6 +1867,7 @@ TextAlignAction.DEFAULT.text=Default
TextAlignAction.LEFT.text=Left aligned text
TextAlignAction.RIGHT.text=Right aligned text
textalignment=Text alignment
+TextChangeHotKeyAction.text=Set text change hot key
TimeListAction.text=Manage tasks ...
TimeListAction.tooltip=Shows all scheduled times and the corresponding nodes.
TimeManagementAction.text=Manage time...
@@ -1881,6 +1889,11 @@ ToggleScrollbarsAction.text=Scrollbars
ToggleStatusAction.text=Display status line
ToggleToolbarAction.text=Toolbar
toolbars=Toolbars
+TranslatedElement.BORDER=Border text
+TranslatedElement.TEXT=Text
+TranslatedElement.TOOLTIP=Tool tip
+uiTextChanger.originalTextIsNotDefined=Original text is not defined
+uiTextChanger.replaceText=Replace UI text
undefined_error=An unexpected error occured. Please try to make a bug report.
underline=Underline
UnderlineAction.text=Underline
diff --git a/freeplane/viewer-resources/version.properties b/freeplane/viewer-resources/version.properties
index 22b25d1..338d569 100644
--- a/freeplane/viewer-resources/version.properties
+++ b/freeplane/viewer-resources/version.properties
@@ -1,2 +1,2 @@
-freeplane_version=1.5.15
+freeplane_version=1.5.16
freeplane_version_status=
diff --git a/freeplane_framework/src/main/java/org/freeplane/launcher/Launcher.java b/freeplane_framework/src/main/java/org/freeplane/launcher/Launcher.java
index 1658f94..547592e 100644
--- a/freeplane_framework/src/main/java/org/freeplane/launcher/Launcher.java
+++ b/freeplane_framework/src/main/java/org/freeplane/launcher/Launcher.java
@@ -63,10 +63,17 @@ public class Launcher {
public static void main(String[] args) {
fixX11AppName();
+ workAroundForDataFlavorComparator_JDK8130242();
new Launcher().launch(args);
}
+ private static void workAroundForDataFlavorComparator_JDK8130242() {
+ final String javaVersion = System.getProperty("java.version");
+ if(javaVersion.startsWith("1.7.") || javaVersion.startsWith("1.8."))
+ System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
+ }
+
private void launch(String[] args) {
setDefines();
setArgProperties(args);
diff --git a/freeplane_framework/windows-installer/Freeplane_without_Java.iss b/freeplane_framework/windows-installer/Freeplane_without_Java.iss
index 7885b3d..8283fab 100644
--- a/freeplane_framework/windows-installer/Freeplane_without_Java.iss
+++ b/freeplane_framework/windows-installer/Freeplane_without_Java.iss
@@ -11,7 +11,7 @@
; Predrag Cuklin 18/06/2009 - Universial Version
;****************************************************************************
-#define MyVersion "1.5.15"
+#define MyVersion "1.5.16"
#define MyStatus ""
#define MyAppName "Freeplane"
#define MyAppPublisher "Open source"
diff --git a/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini b/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini
index a6a6e7e..00843dd 100644
--- a/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini
+++ b/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini
@@ -21,8 +21,8 @@ CommercialUse=true
EULAVersion=1
[Version]
-PackageVersion=1.5.15.1
-DisplayVersion=1.5.15
+PackageVersion=1.5.16.1
+DisplayVersion=1.5.16
[SpecialPaths]
Plugins=NONE
diff --git a/freeplane_plugin_script/scripts/installScriptAddOn.groovy b/freeplane_plugin_script/scripts/installScriptAddOn.groovy
index 71ca4af..dc0eee2 100644
--- a/freeplane_plugin_script/scripts/installScriptAddOn.groovy
+++ b/freeplane_plugin_script/scripts/installScriptAddOn.groovy
@@ -318,7 +318,7 @@ void createKeyboardShortcut(ScriptAddOnProperties.Script script) {
def action = new AFreeplaneAction(menuItemKey, menuItemKey, null) {
public void actionPerformed(ActionEvent e) {}
};
- def acceleratorManager = Controller.currentModeController.userInputListenerFactory.acceleratorManager
+ def acceleratorManager = ResourceController.resourceController.acceleratorManager
acceleratorManager.newAccelerator(action, newKeyStroke)
}
diff --git a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/addons/AddOnDetailsPanel.java b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/addons/AddOnDetailsPanel.java
index 1d5b7ba..bc7a308 100644
--- a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/addons/AddOnDetailsPanel.java
+++ b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/addons/AddOnDetailsPanel.java
@@ -13,6 +13,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
+import org.freeplane.core.resources.ResourceController;
import org.freeplane.core.ui.ActionAcceleratorManager;
import org.freeplane.core.ui.components.UITools;
import org.freeplane.core.ui.menubuilders.FreeplaneResourceAccessor;
@@ -155,7 +156,7 @@ public class AddOnDetailsPanel extends JPanel {
private String formatShortcut(final Script script) {
final String menuItemKey = ExecuteScriptAction.makeMenuItemKey(script.menuTitleKey, script.executionMode);
- final ActionAcceleratorManager acceleratorManager = Controller.getCurrentModeController().getUserInputListenerFactory().getAcceleratorManager();
+ final ActionAcceleratorManager acceleratorManager = ResourceController.getResourceController().getAcceleratorManager();
final KeyStroke userDefinedKeystroke = acceleratorManager.getAccelerator(menuItemKey);
final KeyStroke keyStroke = userDefinedKeystroke != null ? userDefinedKeystroke : UITools.getKeyStroke(script.keyboardShortcut);
return UITools.keyStrokeToString(keyStroke);
diff --git a/gitinfo.properties b/gitinfo.properties
index 7b3786d..12e2391 100644
--- a/gitinfo.properties
+++ b/gitinfo.properties
@@ -1 +1 @@
-git-revision=f4eeab8f72ddb6eee3ce419ba60c44a50045a176 Volker Boerchers 2016-08-18 23:51:01 +0200
\ No newline at end of file
+git-revision=34552bb3e49d7f4626fd03c87306a1c89f4e25e9 Dimitry Polivaev 2016-09-17 10:32:23 +0200
\ No newline at end of file
diff --git a/gitinfo.txt b/gitinfo.txt
index 7b3786d..12e2391 100644
--- a/gitinfo.txt
+++ b/gitinfo.txt
@@ -1 +1 @@
-git-revision=f4eeab8f72ddb6eee3ce419ba60c44a50045a176 Volker Boerchers 2016-08-18 23:51:01 +0200
\ No newline at end of file
+git-revision=34552bb3e49d7f4626fd03c87306a1c89f4e25e9 Dimitry Polivaev 2016-09-17 10:32:23 +0200
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/freeplane.git
More information about the pkg-java-commits
mailing list